• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.
  • The forums have been upgraded with support for dark mode. By default it will follow the setting on your system/browser. You may override it by scrolling to the end of the page and clicking the gears icon.

Guide to running multiple GPU work units

Linux users can now join in on the GPU action! BETA WU's for now:

http://www.worldcommunitygrid.org/forums/wcg/viewthread_thread,34356_offset,0#403554
We are releasing a batch of work units for beta test on Linux GPU only. This will include 64 bit ATI and NVIDIA as well as 32 bit ATI and NVIDIA.

There will be 5 batches released with a total of 3840 work units sent with a quorum of 2. These will have double images in them similar to how they are being run on production right now.

Thanks,
-Uplinger
 
Well, I got it working properly. It seems that you need to let the manager download at least one of all of the types of work units mentioned in the app_info file before you actually put the file into place.

Yeah you have to let it download work before adding the app info file now for some weird reason.
 
Here's a tip to add: BOINC will consider only two decimal places. For example, if you set the GPU to 0.166, it will round it up to 0.17. Technically, that will put you over 100%. Just round it down to the last hundredth and you shuld be fine.

EDIT: I should clarify my statement above and say if you're only running GPU WU's and are running more WU's than you have cores/threads. If you are running mixed CPU & GPU WU's, then see Ion's tip below:

http://www.techpowerup.com/forums/showpost.php?p=2795584&postcount=433
 
Last edited:
AthlonX2, I think you need to start with this:

Code:
<app_info>
   <app>
      <name>hcc1</name>
      <user_friendly_name>Help Conquer Cancer</user_friendly_name>
   </app>
   <file_info>
      <name>wcg_hcc1_img_7.05_windows_intelx86__nvidia_hcc1</name>
      <executable/> 
   </file_info>
   <file_info>
      <name>hcckernel.cl.7.05</name>
      <executable/>
   </file_info>
      <app_version>
      <app_name>hcc1</app_name>
      <version_num>705</version_num>
      <platform>windows_intelx86</platform>
      <plan_class>nvidia_hcc1</plan_class>
      <avg_ncpus>1.0</avg_ncpus>
      <max_ncpus>2.0</max_ncpus>
      <coproc>
         <type>CUDA</type>
         <count>.5</count>
      </coproc>
      <file_ref>
          <file_name>wcg_hcc1_img_7.05_windows_intelx86__nvidia_hcc1</file_name>
          <main_program/>
      </file_ref>
      <file_ref>
         <file_name>hcckernel.cl.7.05</file_name>
         <open_name>hcckernel.cl</open_name>
      </file_ref>
   </app_version>
</app_info>

IIRC, that will give you two WU's per card and should work on multiple cards - if I'm wrong, please correct me guys.
 
Where do paste this? local prefs?
 
Where do paste this? local prefs?

That goes into the app_info.xml file. Check the OP for location and step to avoid errors.
 
This:

You create a file called app_info.xml inside the project folder of your BOINC Data folder (normally: C:\Program Data\BOINC\Data\projects\www.worldcommunitygrid.org).

You want to install the program, open it, attach to the project, then hit "get no new work." You will need to download two files (which happens when you attach to the project) in order for the app_info file to work, and it won't happen if the app_info file is already in place.* Once everything's downloaded, close the BOINC manager completely and insert the file into that folder, then launch the client. Watch your messages for errors and post them here if you get them.


* There is a work-around for this if you have already installed the client on another machine: you can copy the files from that other installation. I have done this with 100% success, as long as the app_info file is calling the file by the same name/version.
 
Here's a tip to add: BOINC will consider only two decimal places. For example, if you set the GPU to 0.166, it will round it up to 0.17. Technically, that will put you over 100%. Just round it down to the last hundredth and you shuld be fine.

Really? On my i920, I've set each GPU WU to use .875 CPU cores--and it reports in the manager that that's what it's doing. It also leaves a thread open then for the CPU to run a WU of its own.
 
You must be running mixed WU's then. I should clarify my statement above then and say if you're only running GPU WU's and are running more WU's than you have cores/threads.

I edited my post above. Maybe it depends on the client then if it gives you three decimal places. I'm only seeing two on mine.
 
I set it up using that xml you referenced. Im getting an error that hcckernel.cl.7.05 doesnt exist
 
Yep, that's one of the files that needs to download before you can insert that app_info file. Send that file to the recycle bin, open the client and watch the messages or downloads to see when that file is received (the other is "WCG-something-hcc"), then close the client and restore the app_info file from the recycle bin.
 
I set it up using that xml you referenced. Im getting an error that hcckernel.cl.7.05 doesnt exist

Might be the same as this:

Well, I got it working properly. It seems that you need to let the manager download at least one of all of the types of work units mentioned in the app_info file before you actually put the file into place.

Close BOINC, remove app_info. Open BOINC, let it download what it needs, hit "no new tasks".

Once those tasks are cleared, close BOINC, then put the app_info file again and should be sorted next time you open it up.
 
Ok it download the cores and is running but just says waiting to run (1CPUS + 2 NVIDIA GPUS) been like this for 5 minutes or so
 
Ok it download the cores and is running but just says waiting to run (1CPUS + 2 NVIDIA GPUS) been like this for 5 minutes or so

You probably have it set to only run the GPU while you aren't touching the computer. Either set it to use the GPU always or wait a bit.
And you set that wrong--you want it to say 1 CPUs + .5 nVidia GPUs. That's something you need to fix in the app_info file--I assume you said '2' instead of '.5' for the GPU requirements ;)
 
You probably have it set to only run the GPU while you aren't touching the computer. Either set it to use the GPU always or wait a bit.
And you set that wrong--you want it to say 1 CPUs + .5 nVidia GPUs. That's something you need to fix in the app_info file--I assume you said '2' instead of '.5' for the GPU requirements ;)

Fixed..but its only using one GPU now,but it is running
 
Fixed..but its only using one GPU now,but it is running

Check the Event Log (Ctrl+Shift+E)--at the top it should say that it detects two GPUs but one of them is "not used". If so, create a file named cc_config.xml in the BOINC Data folder, and paste in the following:
Code:
<cc_config> <options> <use_all_gpus>1</use_all_gpus> </options> </cc_config>
 
I have a question:

Can you change the CPU/GPU values live in the app_info and just restart BOINC or do you need to go through the whole process from scratch?

i.e.- If I wanted to increase/decrease the # GPU wu's per card or adjust the # of CPU cores reserved for the GPU's (with no other changes)
 
Thanks for all the help guys! its working as intended now. Hopefully Ill start returning WUs soon!
 
I have a question:

Can you change the CPU/GPU values live in the app_info and just restart BOINC or do you need to go through the whole process from scratch?

i.e.- If I wanted to increase/decrease the # GPU wu's per card or adjust the # of CPU cores reserved for the GPU's (with no other changes)

No, you can just close the client, edit the file and then restart the client. if you have WU's in progess, they will complete under the new adjusted ratios when you restart.

Thanks for all the help guys! its working as intended now. Hopefully Ill start returning WUs soon!

Cool :toast:
 
No, you can just close the client, edit the file and then restart the client. if you have WU's in progess, they will complete under the new adjusted ratios when you restart

Very good! :toast:

Thanks for the info!
 
You're welcome - I've done this a few times playing with the WU count lately :)

If you are completely changing up the setup (like adding in the all-projects file or going from GPU only to CPU + GPU, it may or may not work - I have never tested that.
 
so now the question is can i get more Wus done by running 2 per gpu or 1 per gpu. right now its 5m10s for 1 Wu per card. I can feel a very expensive addiction coming into play here
 
so now the question is can i get more Wus done by running 2 per gpu or 1 per gpu. right now its 5m10s for 1 Wu per card.

You have to test it and find the balance, especially with how you want to use the PC and how you want to cope with the heat/noise. I had a dual-thread P4 running with the GTX 280. I could do one GPU WU in about 8 minutes, and the CPU WU in hours. I took it to two GPU WU's, using one thread from the CPU for each, and was still kinking out WU's in faster time than just a single.

I think you're best bet would be two WU's per card, each using their own core or thread from the CPU. Ion says watch the heat output though.

I can feel a very expensive addiction coming into play here

Yes, very much so... :laugh:
 
I have a question:

Can you change the CPU/GPU values live in the app_info and just restart BOINC or do you need to go through the whole process from scratch?

i.e.- If I wanted to increase/decrease the # GPU wu's per card or adjust the # of CPU cores reserved for the GPU's (with no other changes)

I have never tried it live. If you do I presume you'd need to just hit the "Read prefs" option from the menu. I rather stick to the safe method of closing to avoid errors though.
 
I have never tried it live. If you do I presume you'd need to just hit the "Read prefs" option from the menu. I rather stick to the safe method of closing to avoid errors though.

When you click "Read local prefs file" it reads from global_prefs_override.xml

So I think you'd have to close BOINC and re-launch for it to take effect ;)
 
Back
Top