tasks being sent to wrong gpu card

Message boards : BOINC client : tasks being sent to wrong gpu card
Message board moderation

To post messages, you must log in.

AuthorMessage
Profile Joseph Stateson
Volunteer tester
Avatar

Send message
Joined: 27 Jun 08
Posts: 641
United States
Message 37961 - Posted: 24 May 2011, 12:59:41 UTC
Last modified: 24 May 2011, 13:50:38 UTC

Is there any way to direct milkyway tasks to my gtx460 and avoid the 9800gtx card which is single precision? I had 3 tasks fail within seconds because they were assigned the wrong card. Here is one of them and the card is only single precision capable. The Computer ID shows a pair of gtx460 but that is not true, there is only one and the other is 9800gtx. This combination works fine for primegrid and collatz but not milkyway.

I recently added some single slot gtx460s to my systems and now have double precision math capability with these newer cards.

[EDIT] I saved the result image since milkyway deletes results usually within minutes. Click here for result http://stateson.net/images/milkyway_save_result.png

According to this thread http://forums.nvidia.com/index.php?showtopic=173877 the gtx460 has only 1/6 or maybe 1/12 the double precision capability of other cards.
ID: 37961 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15480
Netherlands
Message 37965 - Posted: 24 May 2011, 14:24:01 UTC - in response to Message 37961.  
Last modified: 19 Jun 2011, 20:58:30 UTC

The project should be able to do a check on which GPUs are in your system and send work accordingly. However, BOINC is not able to say which task is done by which GPU. The only way to do that is by putting hardware into the system that is capable of actually doing the tasks.

There is the option to run with multiple clients on one system, though, using the --run_multiple_clients option on the BOINC binary. This requires that you have two BOINC Data directories, two cc_config.xml files.

This should, theoretically, go something like this:

Make one Data directory for the GTX460, called C:\BOINC Data_GPU 460\
In the example cc_config.xml below, I assume that the GTX460 is GPU 1, so device 0.
Make a second Data directory for the 9800GTX, called C:\BOINC Data_GPU 9800\
In the example cc_config.xml below, I assume that the 9800GTX is GPU 2, so device 1.

Copy the account_*.xml files and only the client_state.xml file from your present data directory to these two data directories.

The one client will run with a cc_config.xml containing:
<cc_config>
<options>
<data_dir>C:\BOINC Data_GPU 460</data_dir>
<ignore_cuda_dev>1</ignore_cuda_dev>
</options>
</cc_config>

Save this cc_config.xml file in your C:\BOINC Data_GPU 460 data directory.


The second one will run with a cc_config.xml containing:
<cc_config>
<options>
<data_dir>C:\BOINC Data_GPU 9800</data_dir>
<ignore_cuda_dev>0</ignore_cuda_dev>
</options>
</cc_config>

Save this cc_config.xml file in your C:\BOINC Data_GPU 9800 data directory.

Make a batch file called boinc_double.bat and save it on your desktop.
In it place the following lines:
ECHO OFF
c:\program files\boinc\boinc.exe --allow_multiple_clients --gui_rpc_port 31416 --detach
c:\program files\boinc\boincmgr.exe -m -g 31416 -n localhost
c:\program files\boinc\boinc.exe --allow_multiple_clients --gui_rpc_port 31418 --detach
c:\program files\boinc\boincmgr.exe -m -g 31418 -n localhost

Yes, that's those start-ups double. I'm not sure if the second BOINC Manager will work, though if it's a 6.12 client.
This is assuming that your installed the BOINC program files in C:\Program Files\BOINC\ .. If you use a 64bit Windows with 32bit BOINC, it'll be C:\Program Files (x86)\BOINC\
It's also assuming you use Windows.

Now start double_boinc.bat and see what it does.

I have never run with such a setup before, so it's totally possible it won't work, although the BOINC devs assure me it will work this way... well, but for a doubly starting BM, perhaps. ;-)
ID: 37965 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15480
Netherlands
Message 37980 - Posted: 25 May 2011, 1:25:10 UTC - in response to Message 37965.  
Last modified: 25 May 2011, 10:36:09 UTC

Make a batch file called boinc_double.bat and save it on your desktop.
In it place the following lines:
ECHO OFF
c:\program files\boinc\boinc.exe --allow_multiple_clients --detach
c:\program files\boinc\boincmgr.exe 
c:\program files\boinc\boinc.exe --allow_multiple_clients --detach
c:\program files\boinc\boincmgr.exe 


Ok, apparently it's to do with the --gui_rpc_port <port> switch.
So make that:

ECHO OFF
c:\program files\boinc\boinc.exe --allow_multiple_clients --gui_rpc_port 31416 --detach
c:\program files\boinc\boincmgr.exe -m -g 31416 -n localhost
c:\program files\boinc\boinc.exe --allow_multiple_clients --gui_rpc_port 31418 --detach
c:\program files\boinc\boincmgr.exe -m -g 31418 -n localhost


By using two different GUI RPC ports, both BOINC Managers should find a running client on the same machine.
ID: 37980 · Report as offensive
Profile Joseph Stateson
Volunteer tester
Avatar

Send message
Joined: 27 Jun 08
Posts: 641
United States
Message 37983 - Posted: 25 May 2011, 2:15:43 UTC - in response to Message 37980.  

Thanks Jord.

I have not decided what to do as I was hoping the project would fix the problem.

I also want to correct the computer id I listed above. It should have been
http://milkyway.cs.rpi.edu/milkyway/show_host_detail.php?hostid=258308

Having two BOINCs running complicate stopping / suspending them when I want to use an application that uses CUDA such as DVDFab.

ID: 37983 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15480
Netherlands
Message 37986 - Posted: 25 May 2011, 10:38:39 UTC - in response to Message 37983.  

Having two BOINCs running complicate stopping / suspending them when I want to use an application that uses CUDA such as DVDFab.

That's what the <exclusive_gpu_app> option of cc_config.xml is for. :-)
And if that one is in both cc_config.xml files, both BOINC will stop using their individual GPU as soon as the new program is detected in memory.
ID: 37986 · Report as offensive
aLGee

Send message
Joined: 23 Feb 06
Posts: 3
Germany
Message 38564 - Posted: 19 Jun 2011, 19:30:54 UTC - in response to Message 37965.  


c:\program files\boinc\boinc.exe --allow_multiple_clients --detach
c:\program files\boinc\boincmgr.exe
c:\program files\boinc\boinc.exe --allow_multiple_clients --detach
c:\program files\boinc\boincmgr.exe


please correct me if i'm missing something,

both calls on boinc.exe look identical to me, how will both instances find the proper data directory to run from?

i'd assume you will also have to tell both instances where to look specifically, using

--dir "C:\BOINC Data_GPU 460"
--dir "C:\BOINC Data_GPU 9800"
(based on the example by ageless)

i will try to run a similiar setup soon, thats why i wonder.
ID: 38564 · Report as offensive

Message boards : BOINC client : tasks being sent to wrong gpu card

Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.