Running different Nvidia architectures optimal in same host with seti@home and other BOINC projects.

I was having a major headache.

Struggling with the issue that Fermi boards can effeciently run more than one application per GPU board and the GTX 2xx architecture which slows down made me think of a way to get around this issue.
I came up with an idea to have two different BOINC directorys which could run hand in hand with eachother.

The purpose of this was in my case to have the orginal installation modifed to run the Fermi board and the CPU’s most optimal and the other installation would run my Nvidia 2xx generation card by itself..

In that way i could configure app_info.xml to make the fermi board run two WU’s at once and not even bother trying to use the 2xx board for crunching and 2xx board 1 WU at once with another executable which is more suitable for that board.

Example below:

Start with creating a new directory in which your new standalone boincdata directory should be. In my example that catalogue is called “tst”

Open a command prompt and type this:
“c:\Program Files\BOINC\boinc.exe” –allow_multiple_clients –dir c:\tst

What happens is that boinc starts to build up a structure in that directory which you entered, and also you get the message that one of the last lines should say “This computer is not attached to any projects”

If you got that you’re on the right track :), Press Ctrl+C to break it.

Edit the file gui_rpc_auth.cfg in that directory and choose a password. In my example i use the password “1”, Close and save it!
From the command prompt run this: “c:\Program Files\BOINC\boinc.exe” –allow_multiple_clients –dir c:\tst –gui_rpc_port 9999

Now you have initiated so far that you can do with the console easily. Fire up boinc manager!

If you have a regular boinc installation it would automatically start that one so the easiest way is to choose suspend all projects.
Choose to manage another computer and choose localhost:9999
Enter the password 1 in that box.
If everything is working the attach to project window should appear.

Choose to connect to seti@home or another project of choice.

When everything has started so it has created that directory you easily can start to do the magic stuff in your seti project directory. Chosing right executable of choice etc.

After the project has initiated and downloaded executables and work you can monitor your messages directory so you can see which CUDA unit number is assigned to which graphics card.

In my case i wanted to single out my GTX2xx generation card so that this special boinc installation only uses that board/boards for computation.
Create a cc_config.xml in that directory and choose which/what GPUs you want to exclude, in my example i don’t want that installation to use device 0 and 1.

CC_CONFIG.XML:

<cc_config>
  <options>
     <allow_multiple_clients>1</allow_multiple_clients>
 <use_all_gpus>1</use_all_gpus>
 <ignore_cuda_dev>0</ignore_cuda_dev>
 <ignore_cuda_dev>1</ignore_cuda_dev>
 <ncpus>0</ncpus>
  </options>

Save that file.

Now edit your regular boinc directorys cc_config.xml, in my example i wanted the original boinc installation to ignore CUDA device 2 and it worked best if the allow_multiple_clients parameter was set to 0 in my case, look in my example below:

<cc_config>
<options>
<allow_multiple_clients>0</allow_multiple_clients>
<use_all_gpus>1</use_all_gpus>
<ignore_cuda_dev>2</ignore_cuda_dev>
</options>

Save the file..

All the customizations you can do in each separate boinc directory

Now it’s only to start the custom installation with a shortcut with:
“c:\Program Files\BOINC\boinc.exe” –allow_multiple_clients –dir c:\tst –gui_rpc_port 9999

Voila!!
Now you can make the most use of both architectures with most optimal executables and configurations.