# More than one task on GPU ?



## RejZoR (Dec 13, 2012)

After crunching for Rosetta@home for quite some time i've decided to go with WCG because they also offer GPU computation for certain projects. However i've noticed that no matter how i set it, it always performs just 1 task at once using GPU and like 8 on my CPU (where is the GPU parallelism here!?). Is there any special reason for such behavior or can i force it to use more of my GPU ? I mean, after all i do have the HD7950 and i'd like to run max lets say 4 tasks on it at the same time. Is it possible?


----------



## Norton (Dec 13, 2012)

RejZoR said:


> After crunching for Rosetta@home for quite some time i've decided to go with WCG because they also offer GPU computation for certain projects. However i've noticed that no matter how i set it, it always performs just 1 task at once using GPU and like 8 on my CPU (where is the GPU parallelism here!?). Is there any special reason for such behavior or can i force it to use more of my GPU ? I mean, after all i do have the HD7950 and i'd like to run max lets say 4 tasks on it at the same time. Is it possible?



Check/post on this thread and one of our Team members should be able to assist:

http://www.techpowerup.com/forums/showthread.php?t=174138

*Note- 1st post has some pretty good info


----------



## RejZoR (Dec 13, 2012)

Ok, thx. I've removed pending tasks and will leave those in progress to finish. Then i'll try the tweaks.


----------



## RejZoR (Dec 13, 2012)

The above thread doesn't really help me. I don't want to run only HCC. I have other projects as well. I just want to dedicate more tasks to the GPU.

Assuming if i only change the GPU tasks setting, others will stick to default. However when i changed XML file to this:



> <app_info>
> <app_version>
> <coproc>
> <type>ATI</type>
> ...



BOINC runs but even though i've allowed new tasks, nothing gets downloaded. Apparently i haven't done something right...


----------



## RejZoR (Dec 13, 2012)

Those configs are useless. I've used one template and now all it does is cruch HCC even though i also work on other projects... it's crunching 10 tasks at once at incredible speed but CPU is not being used for other projects... can someone help me out with this thing?

*I'm working with:*
Help Conquer cancer
FightAIDS
Fold Human Proteom


----------



## KieX (Dec 13, 2012)

RejZoR said:


> Those configs are useless. I've used one template and now all it does is cruch HCC even though i also work on other projects... it's crunching 10 tasks at once at incredible speed but CPU is not being used for other projects... can someone help me out with this thing?
> 
> *I'm working with:*
> Help Conquer cancer
> ...



I've only posted configs that have been tested and confirmed working on that page. I did link to XS where OldChap has put a lot of work getting the information for other projects: http://www.xtremesystems.org/forums/showthread.php?283509-Working-app_info-files

BOINC will only crunch whatever is on app_info so your projects need to be specified inside. I've gone and put together the app_info code you need to run the projects you listed. Asuming this is for your i7/HD7970 setup I made this file use 4 GPU WU (locked to a CPU thread each) for HCC, and to then the remaining 4 CPU threads to work on the FAAH and HPF2 project.



Spoiler





```
<app_info>
<!-- Start of the HCC app definition -->
   <app>
      <name>hcc1</name>
      <user_friendly_name>Help Conquer Cancer</user_friendly_name>
   </app>
<! End of the HCC app definition -->
<!-- Start of files required for HCC GPU -->
   <file_info>
      <name>wcg_hcc1_img_7.05_windows_intelx86__ati_hcc1</name>
      <executable/> 
   </file_info>
   <file_info>
      <name>hcckernel.cl.7.05</name>
      <executable/>
   </file_info>
<!-- End of files required for HCC GPU -->
<!-- Start of app_version for HCC GPU -->
   <app_version>
      <app_name>hcc1</app_name>
      <version_num>705</version_num>
      <platform>windows_intelx86</platform>
      <plan_class>ati_hcc1</plan_class>
      <avg_ncpus>1.000000</avg_ncpus>
      <max_ncpus>1.000000</max_ncpus>
      <coproc>
         <type>ATI</type>
         <count>0.250000</count>
      </coproc>
      <file_ref>
          <file_name>wcg_hcc1_img_7.05_windows_intelx86__ati_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>
<!-- End of app info for HCC GPU -->
<!-- Start of Fight Aids at Home -->
<app>
    <name>faah</name>
    <user_friendly_name>FightAIDS@Home</user_friendly_name>
</app>
<file_info>
    <name>wcg_faah_autodock_6.40_windows_intelx86</name>
    <executable/>
</file_info>
<file_info>
    <name>wcg_faah_autodock_graphics_6.40_windows_intelx86</name>
    <executable/>
</file_info>
<file_info>
    <name>faah_protease_6.40.dat</name>
</file_info>
<file_info>
    <name>faah_image_6.40.tga</name>
</file_info>
<app_version>
    <app_name>faah</app_name>
    <version_num>640</version_num>
    <platform>windows_intelx86</platform>
    <avg_ncpus>1.000000</avg_ncpus>
    <max_ncpus>1.000000</max_ncpus>
    <flops>3894434573.022523</flops>
    <api_version>6.3.3</api_version>
    <file_ref>
        <file_name>wcg_faah_autodock_6.40_windows_intelx86</file_name>
        <main_program/>
    </file_ref>
    <file_ref>
        <file_name>wcg_faah_autodock_graphics_6.40_windows_intelx86</file_name>
        <open_name>graphics_app</open_name>
    </file_ref>
    <file_ref>
        <file_name>faah_protease_6.40.dat</file_name>
        <open_name>protease.dat</open_name>
    </file_ref>
    <file_ref>
        <file_name>faah_image_6.40.tga</file_name>
        <open_name>wc_grid_s1b2.tga</open_name>
    </file_ref>
</app_version>
<!-- End of Fight Aids at Home -->
<!-- Start of Human Proteome Folding -->
<app>
    <name>hpf2</name>
    <user_friendly_name>Human Proteome Folding - Phase 2</user_friendly_name>
</app>
<file_info>
    <name>wcg_hpf2_rosetta_6.40_windows_intelx86</name>
    <executable/>
</file_info>
<file_info>
    <name>wcg_hpf2_6.40.tga</name>
    <executable/>
</file_info>
<file_info>
    <name>wcg_hpf2_rosetta_graphics_6.40_windows_intelx86</name>
    <executable/>
</file_info>
<file_info>
    <name>hpf2_6.40_win_paths.txt</name>
    <executable/>
</file_info>

<app_version>
    <app_name>hpf2</app_name>
    <version_num>640</version_num>
    <platform>windows_intelx86</platform>
    <avg_ncpus>1.000000</avg_ncpus>
    <max_ncpus>1.000000</max_ncpus>
    <flops>3570131549.238372</flops>
    <api_version>6.3.3</api_version>
    <file_ref>
        <file_name>wcg_hpf2_rosetta_6.40_windows_intelx86</file_name>
        <main_program/>
    </file_ref>
    <file_ref>
        <file_name>wcg_hpf2_6.40.tga</file_name>
        <open_name>wc_grid_hpf2.tga</open_name>
    </file_ref>
    <file_ref>
        <file_name>wcg_hpf2_rosetta_graphics_6.40_windows_intelx86</file_name>
        <open_name>graphics_app</open_name>
    </file_ref>
    <file_ref>
        <file_name>hpf2_6.40_win_paths.txt</file_name>
        <open_name>paths.txt</open_name>
    </file_ref>
</app_version>

<app_version>
    <app_name>hpf2</app_name>
    <version_num>640</version_num>
    <platform>windows_x86_64</platform>
    <avg_ncpus>1.000000</avg_ncpus>
    <max_ncpus>1.000000</max_ncpus>
    <flops>3570131549.238372</flops>
    <api_version>6.3.3</api_version>
    <file_ref>
        <file_name>wcg_hpf2_rosetta_6.40_windows_intelx86</file_name>
        <main_program/>
    </file_ref>
    <file_ref>
        <file_name>wcg_hpf2_6.40.tga</file_name>
        <open_name>wc_grid_hpf2.tga</open_name>
    </file_ref>
    <file_ref>
        <file_name>wcg_hpf2_rosetta_graphics_6.40_windows_intelx86</file_name>
        <open_name>graphics_app</open_name>
    </file_ref>
    <file_ref>
        <file_name>hpf2_6.40_win_paths.txt</file_name>
        <open_name>paths.txt</open_name>
    </file_ref>
</app_version>
<!-- End of Fight Aids at Home -->
</app_info>
```



I think you already have a good grasp of how this works, but for posteriety I'll write down the steps needed to make the change minimising the chance of errors.

Before you install it:
1) Hit "no new tasks" in BOINC. Wait to finish or abort (send back to server) the WU in the task list.
2) Once clear, close BOINC and remove your app_info.
3) Start BOINC without any app_info. Hit the update button, wait for BOINC to download everything it needs to run normally.
4) Repeat step 1) at this point
5) Close BOINC, put in this new app_info file and restart it.

Remember, this file is untested! But let me know if you encounter any problems.


----------



## RejZoR (Dec 13, 2012)

Yeah, only problem is that you have to explicitly specify everything. I thought it only reads stuff that you specify and the rest remains default. But it seems that app_info.xml overrides everything.

One more question, does the GPU WU have to be locked to 1 CPU core as well (1 CPU + 1 GPU)?

I'd dedicate just GPU for like 10 HCC WU's (without any CPU assist) and the remaining 8 threads for FightAIDS and HumanProteome

Is this even possible?


----------



## Jstn7477 (Dec 13, 2012)

By default each GPU WU needs a CPU core to assist it. You can subdivide the cores but it may impact your WU completion times.


----------



## [Ion] (Dec 13, 2012)

RejZoR said:


> Yeah, only problem is that you have to explicitly specify everything. I thought it only reads stuff that you specify and the rest remains default. But it seems that app_info.xml overrides everything.
> 
> One more question, does the GPU WU have to be locked to 1 CPU core as well (1 CPU + 1 GPU)?
> 
> ...


On my i7-920, I'm running 12 GPU WUs (4/card) and 1 CPU WU.  This is probably about as hard as you'd want to push it.  The output of the CPU is low enough (at least compared to a GPU) that you don't want to make the GPUs wait any longer by throwing in more CPU tasks


----------



## RejZoR (Dec 13, 2012)

Thx for all the effort but after poking with this thing for a while i've decided to stop all other projects for now and will only continue to work on HCC using 8 CPU + GPU threads (0.125 GPU load). When other projects will start using GPU, i'll add those as well.

Using CPU seems such a waste of energy. It's crunching data for 4 hours at 100% load where GPU does like 10 WU's in 10 minutes. It's just not comparable.


----------



## [Ion] (Dec 13, 2012)

RejZoR said:


> Thx for all the effort but after poking with this thing for a while i've decided to stop all other projects for now and will only continue to work on HCC using 8 CPU + GPU threads (0.125 GPU load). When other projects will start using GPU, i'll add those as well.
> 
> Using CPU seems such a waste of energy. It's crunching data for 4 hours at 100% load where GPU does like 10 WU's in 10 minutes. It's just not comparable.



Fair enough.  I like to support other projects as well, but in terms of work done/watt consumed, it's hard to beat a GPU right now.

I'm glad to have you running your GPU for the Team


----------



## johnspack (Dec 13, 2012)

Yeah,  I've found my output is higher if I just use the cpu to feed my gpus.  Plus my work cache would get overfilled with slow cpu wus and keep running out of gpu wus.


----------

