Question about dedicating CPU cores to GPU support w/Lunatics apps.


log in

Advanced search

Message boards : Number crunching : Question about dedicating CPU cores to GPU support w/Lunatics apps.

1 · 2 · 3 · Next
Author Message
juan BFBProject donor
Volunteer tester
Avatar
Send message
Joined: 16 Mar 07
Posts: 5486
Credit: 316,116,997
RAC: 145,396
Brazil
Message 1465169 - Posted: 16 Jan 2014, 20:22:37 UTC

Go to Mike site, DL the latest build (R2058 actualy in Beta), install and follow the configuration instructions, i´m sure the kitties will love that!
____________

Profile Fred E.Project donor
Volunteer tester
Send message
Joined: 22 Jul 99
Posts: 768
Credit: 24,139,004
RAC: 0
United States
Message 1465233 - Posted: 16 Jan 2014, 23:11:11 UTC

I think it was suggested that by modifying app_info, one could basically get Boinc to 'auto switch', and dedicate the CPU cores to the GPUs when needed, but release them for CPU MB or AP work when the GPUs are doing MB and don't need them.
If so, that would make better use of my CPU resources between AP splitting runs.

How would that work with multiple GPUs? And with 2 AP tasks per GPU? It the setting per GPU? Per running instance of the app?


Edit app_info.xml and change the "avg CPU" and "max CPU" lines as follows:

<app_version>
<app_name>astropulse_v6</app_name>
<version_num>604</version_num>
<avg_ncpus>1.0</avg_ncpus>
<max_ncpus>1.0</max_ncpus>

There are two app sections for 1843, so either pick the right plan class or just do both of them.

This will reserve 1 cpu core for each task running and release them when not needed. A value of .5 will reserve 1 for every two tasks running - you might want to try that if you install the Beta Juan mentioned. I use .5 for cuda 50 tasks (2 at a time) and do not reserve any cores in BOINC's computing preferences. I use app_config.xml for these settings but you can't do that with your version of BOINC.
____________
Another Fred
Support SETI@home when you search the Web with GoodSearch or shop online with GoodShop.

jravin
Send message
Joined: 25 Mar 02
Posts: 991
Credit: 106,209,201
RAC: 84,841
United States
Message 1465266 - Posted: 17 Jan 2014, 1:34:07 UTC
Last modified: 17 Jan 2014, 1:39:54 UTC

If you have more GPU threads than CPU threads available (e.g., quad-core CPU and 2 GPUs running 3 tasks each) you also want to have an app_config.xml that limits the number of APs on GPU to the number of cores you are using. (If you don't do this, you will grossly over commit your CPU resources, and spend a good deal of time swapping WUs rather than getting work done).

When running an AP on GPU, BOINC will then pause running one of the CPU WUs and reserve its resources for the GPU AP. The WU that was running on the CPU will go to "Waiting to Run" until the GPU AP finishes.

Use the <max_concurrent> parm in app_config.xml for this under astropulse_v6.
____________

Profile Fred E.Project donor
Volunteer tester
Send message
Joined: 22 Jul 99
Posts: 768
Credit: 24,139,004
RAC: 0
United States
Message 1465272 - Posted: 17 Jan 2014, 2:10:25 UTC - in response to Message 1465266.

Use the <max_concurrent> parm in app_config.xml for this under astropulse_v6.


Mark runs BOINC 6.10.58 on all his rigs, so he can't use the max concurrent setting. Support for app_config.xml began with version 7.0.40. His post says he runs 2 AP at a time on 2 gpu's. One rig has only 2 cpu cores but the others have 4. And one has 3 gpu's, so there's not enough cores there. I don't know a good solution for the two rigs without enough cpu cores. Maybe BOINC will limit the number of concurrent AP tasks with the cpu usage values I suggested, but I haven't tested that.
____________
Another Fred
Support SETI@home when you search the Web with GoodSearch or shop online with GoodShop.

juan BFBProject donor
Volunteer tester
Avatar
Send message
Joined: 16 Mar 07
Posts: 5486
Credit: 316,116,997
RAC: 145,396
Brazil
Message 1465274 - Posted: 17 Jan 2014, 2:23:32 UTC - in response to Message 1465272.
Last modified: 17 Jan 2014, 2:24:59 UTC

One rig has only 2 cpu cores but the others have 4. And one has 3 gpu's, so there's not enough cores there. I don't know a good solution for the two rigs without enough cpu cores.

That´s not totaly true, go for the beta version i talk before, it uses very few cores to crunch AP. I use on a slow old I5 with only 4 cores with 3 gpus running 2 WU at a time on each GPU. With no problem.
____________

jravin
Send message
Joined: 25 Mar 02
Posts: 991
Credit: 106,209,201
RAC: 84,841
United States
Message 1465281 - Posted: 17 Jan 2014, 2:55:23 UTC
Last modified: 17 Jan 2014, 2:57:07 UTC

Mark runs BOINC 6.10.58 on all his rigs, so he can't use the max concurrent setting.


Then Mark is screwed, because I don't believe there's any way to specifically limit the APs crunched by his GPUs when he has them. And each one realistically requires a full CPU core. At least until the Beta mentioned above is released for general use. Unless, of course, he upgrades his BOINCs.
____________

Profile jason_gee
Volunteer developer
Volunteer tester
Avatar
Send message
Joined: 24 Nov 06
Posts: 5087
Credit: 74,232,236
RAC: 7,090
Australia
Message 1465307 - Posted: 17 Jan 2014, 5:31:40 UTC
Last modified: 17 Jan 2014, 5:34:50 UTC

Mark, just, preferably with the newer build as Juan described, adjust the ncpus app_info fields in the astropulse section to 1.0 [...as Fred described]
____________
"It is not the strongest of the species that survives, nor the most intelligent that survives. It is the one that is the most adaptable to change."
Charles Darwin

TBar
Volunteer tester
Send message
Joined: 22 May 99
Posts: 1534
Credit: 54,181,546
RAC: 61,536
United States
Message 1466922 - Posted: 21 Jan 2014, 8:19:00 UTC - in response to Message 1466918.

I'm not sure if you realize it, but, you have 3 Instant Invalids on the one machine I browsed. Seems a few people are getting these and it's a mystery as far as I know.
Check the first 3, http://setiathome.berkeley.edu/results.php?hostid=5082339&offset=0&show_names=0&state=5&appid=

TBar
Volunteer tester
Send message
Joined: 22 May 99
Posts: 1534
Credit: 54,181,546
RAC: 61,536
United States
Message 1466927 - Posted: 21 Jan 2014, 8:33:34 UTC - in response to Message 1466924.
Last modified: 21 Jan 2014, 8:58:54 UTC

Look at this machine; http://setiathome.berkeley.edu/results.php?hostid=6407690&offset=0&show_names=0&state=5&appid=

Your task is being marked before the second wingman reports. That shouldn't happen. I'm seeing this pop up all around. Seems to be increasing...

More, Invalid before second wingman reports, http://setiathome.berkeley.edu/results.php?hostid=2909037&offset=0&show_names=0&state=5&appid=

Profile HelliProject donor
Volunteer tester
Avatar
Send message
Joined: 15 Dec 99
Posts: 705
Credit: 92,900,353
RAC: 59,248
Germany
Message 1467239 - Posted: 22 Jan 2014, 11:01:27 UTC - in response to Message 1465233.

I think it was suggested that by modifying app_info, one could basically get Boinc to 'auto switch', and dedicate the CPU cores to the GPUs when needed, but release them for CPU MB or AP work when the GPUs are doing MB and don't need them.
If so, that would make better use of my CPU resources between AP splitting runs.

How would that work with multiple GPUs? And with 2 AP tasks per GPU? It the setting per GPU? Per running instance of the app?


Edit app_info.xml and change the "avg CPU" and "max CPU" lines as follows:

<app_version>
<app_name>astropulse_v6</app_name>
<version_num>604</version_num>
<avg_ncpus>1.0</avg_ncpus>
<max_ncpus>1.0</max_ncpus>

There are two app sections for 1843, so either pick the right plan class or just do both of them.

This will reserve 1 cpu core for each task running and release them when not needed. A value of .5 will reserve 1 for every two tasks running - you might want to try that if you install the Beta Juan mentioned. I use .5 for cuda 50 tasks (2 at a time) and do not reserve any cores in BOINC's computing preferences. I use app_config.xml for these settings but you can't do that with your version of BOINC.




Thank you, I have been waiting for this. :-)

Helli

Profile MikeProject donor
Volunteer tester
Avatar
Send message
Joined: 17 Feb 01
Posts: 25181
Credit: 34,736,839
RAC: 19,518
Germany
Message 1467260 - Posted: 22 Jan 2014, 12:27:55 UTC - in response to Message 1467239.

I think it was suggested that by modifying app_info, one could basically get Boinc to 'auto switch', and dedicate the CPU cores to the GPUs when needed, but release them for CPU MB or AP work when the GPUs are doing MB and don't need them.
If so, that would make better use of my CPU resources between AP splitting runs.

How would that work with multiple GPUs? And with 2 AP tasks per GPU? It the setting per GPU? Per running instance of the app?


Edit app_info.xml and change the "avg CPU" and "max CPU" lines as follows:

<app_version>
<app_name>astropulse_v6</app_name>
<version_num>604</version_num>
<avg_ncpus>1.0</avg_ncpus>
<max_ncpus>1.0</max_ncpus>

There are two app sections for 1843, so either pick the right plan class or just do both of them.

This will reserve 1 cpu core for each task running and release them when not needed. A value of .5 will reserve 1 for every two tasks running - you might want to try that if you install the Beta Juan mentioned. I use .5 for cuda 50 tasks (2 at a time) and do not reserve any cores in BOINC's computing preferences. I use app_config.xml for these settings but you can't do that with your version of BOINC.




Thank you, I have been waiting for this. :-)

Helli


@Helli
On your system i would suggest to set it like this.

<avg_ncpus>0.5</avg_ncpus>
<max_ncpus>0.5</max_ncpus>

Also add this to the comandline or ap_cmdline_win_x86_SSE2_OpenCL_NV.txt file

-unroll 12 -ffa_block 12288 -ffa_block_fetch 6144

This should speed your 780 up.
____________

juan BFBProject donor
Volunteer tester
Avatar
Send message
Joined: 16 Mar 07
Posts: 5486
Credit: 316,116,997
RAC: 145,396
Brazil
Message 1467285 - Posted: 22 Jan 2014, 14:29:16 UTC
Last modified: 22 Jan 2014, 15:03:55 UTC

Mike

I use -use_sleep -unroll 18 -ffa_block 8192 -ffa_block_fetch 2048 on my 780, as sugested by someone else in other thread, and i see you sugest a different setting for the 780. As i´m sure you have a lot more experience than me, could you tell me what is the best setting? If not to much work, you know the setting for the 670 or the 690 too? Thanks in advance.

As a sugestion somebody could make a table with the optimal setting for each card, i´m sure that will be very wellcomed by the comunity.
____________

Profile Fred E.Project donor
Volunteer tester
Send message
Joined: 22 Jul 99
Posts: 768
Credit: 24,139,004
RAC: 0
United States
Message 1467288 - Posted: 22 Jan 2014, 14:31:52 UTC

Also add this to the comandline or ap_cmdline_win_x86_SSE2_OpenCL_NV.txt file

-unroll 12 -ffa_block 12288 -ffa_block_fetch 6144

This should speed your 780 up.

Mike, any reason you didn't include the -hp switch to bump the priority up above the default of "below normal"? I usually recommend that for the AP/Nvidia apps.
____________
Another Fred
Support SETI@home when you search the Web with GoodSearch or shop online with GoodShop.

Profile HelliProject donor
Volunteer tester
Avatar
Send message
Joined: 15 Dec 99
Posts: 705
Credit: 92,900,353
RAC: 59,248
Germany
Message 1467315 - Posted: 22 Jan 2014, 15:43:15 UTC - in response to Message 1467260.

I think it was suggested that by modifying app_info, one could basically get Boinc to 'auto switch', and dedicate the CPU cores to the GPUs when needed, but release them for CPU MB or AP work when the GPUs are doing MB and don't need them.
If so, that would make better use of my CPU resources between AP splitting runs.

How would that work with multiple GPUs? And with 2 AP tasks per GPU? It the setting per GPU? Per running instance of the app?


Edit app_info.xml and change the "avg CPU" and "max CPU" lines as follows:

<app_version>
<app_name>astropulse_v6</app_name>
<version_num>604</version_num>
<avg_ncpus>1.0</avg_ncpus>
<max_ncpus>1.0</max_ncpus>

There are two app sections for 1843, so either pick the right plan class or just do both of them.

This will reserve 1 cpu core for each task running and release them when not needed. A value of .5 will reserve 1 for every two tasks running - you might want to try that if you install the Beta Juan mentioned. I use .5 for cuda 50 tasks (2 at a time) and do not reserve any cores in BOINC's computing preferences. I use app_config.xml for these settings but you can't do that with your version of BOINC.




Thank you, I have been waiting for this. :-)

Helli


@Helli
On your system i would suggest to set it like this.

<avg_ncpus>0.5</avg_ncpus>
<max_ncpus>0.5</max_ncpus>

Also add this to the comandline or ap_cmdline_win_x86_SSE2_OpenCL_NV.txt file

-unroll 12 -ffa_block 12288 -ffa_block_fetch 6144

This should speed your 780 up.



Thanks Mike, i will try your advise immediately.


Depends....
Helli has 8 cores available, not just 4.
......


Mark, i had disabled HT as Mike has viewed my Setup. The last weeks
i had run the GTX780 alone because i wanted to know how much the
GTX780 can do... (38k) ;-)

Helli

1 · 2 · 3 · Next

Message boards : Number crunching : Question about dedicating CPU cores to GPU support w/Lunatics apps.

Copyright © 2014 University of California