Message boards :
Number crunching :
Multi WUs on a Mixed System
Message board moderation
Author | Message |
---|---|
killabytes Send message Joined: 17 Feb 11 Posts: 23 Credit: 1,147,682 RAC: 0 |
Hey all, I'd like to throw more WUs at my R9 390, maybe 2 or 3. But at the same time, I want to leave my NVS 510 at 1 WU. Is this possible? Most of the posts/info I see are a catch all for GPUs. Thanks, |
Keith Myers Send message Joined: 29 Apr 01 Posts: 13164 Credit: 1,160,866,277 RAC: 1,873 |
You could do it with an app_config.xml file. Define two gpu sections, one for the AMD and one for the Nvidia card. You would put in different gpu_usage numbers for each app. Something like this format. <app_config> <app_name>setiathome_v8</app_name> <plan_class>opencl_ati_100</plan_class> <type>ATI_gpu</type> <gpu_versions> <gpu_usage>.5</gpu_usage> <cpu_usage>1</cpu_usage> </gpu_versions> <plan_class>opencl_nvidia_100</plan_class> <type>NVIDIA_gpu</type> <gpu_versions> <gpu_usage>1</gpu_usage> <cpu_usage>1</cpu_usage> </gpu_versions> </app_config> The reference document is here Seti@Home classic workunits:20,676 CPU time:74,226 hours A proud member of the OFA (Old Farts Association) |
killabytes Send message Joined: 17 Feb 11 Posts: 23 Credit: 1,147,682 RAC: 0 |
You could do it with an app_config.xml file. Define two gpu sections, one for the AMD and one for the Nvidia card. You would put in different gpu_usage numbers for each app. Something like this format. Awesome, thanks for the reply. I tried the parameters you provided and received many errors in the Event Log, I think some of the formatting isn't working. 11/8/2018 10:13:36 PM | SETI@home | Unknown tag in app_config.xml: app_name 11/8/2018 10:13:36 PM | SETI@home | Unknown tag in app_config.xml: plan_class 11/8/2018 10:13:36 PM | SETI@home | Unknown tag in app_config.xml: type 11/8/2018 10:13:36 PM | SETI@home | Unknown tag in app_config.xml: gpu_versions 11/8/2018 10:13:36 PM | SETI@home | Unknown tag in app_config.xml: plan_class 11/8/2018 10:13:36 PM | SETI@home | Unknown tag in app_config.xml: type 11/8/2018 10:13:36 PM | SETI@home | Unknown tag in app_config.xml: gpu_versions |
Keith Myers Send message Joined: 29 Apr 01 Posts: 13164 Credit: 1,160,866,277 RAC: 1,873 |
What I posted was not a complete app_config. I was just showing how the format would work. You will have to compose a proper app_config based on all the syntax rules for proper open and closing statements. Why I posted the link to the reference document. Seti@Home classic workunits:20,676 CPU time:74,226 hours A proud member of the OFA (Old Farts Association) |
Keith Myers Send message Joined: 29 Apr 01 Posts: 13164 Credit: 1,160,866,277 RAC: 1,873 |
I'm not sure whether the card type is required or not since you already are specifying the plan_class which differentiates the card type anyway. Also probably could get rid of the <gpu_versions> statements. I don't have the <gpu_versions> statements in my app_config and BOINC has no problem without them. The likely reason you had all the syntax errors was because of the missing <app_version> statements. Also you will need to write the AstroPulse section for gpu usage also if you run AP. Again, refer to the reference document for proper syntax. This would be closer to the proper syntax. <app_config> <app_version> <app_name>setiathome_v8</app_name> <plan_class>opencl_ati_100</plan_class> <gpu_versions> <gpu_usage>.5</gpu_usage> <cpu_usage>1</cpu_usage> </gpu_versions> </app_version> <app_version> <app_name>setiathome_v8</app_name> <plan_class>opencl_nvidia_100</plan_class> <gpu_versions> <gpu_usage>1</gpu_usage> <cpu_usage>1</cpu_usage> </gpu_versions> </app_version> </app_config> Seti@Home classic workunits:20,676 CPU time:74,226 hours A proud member of the OFA (Old Farts Association) |
killabytes Send message Joined: 17 Feb 11 Posts: 23 Credit: 1,147,682 RAC: 0 |
That's what I figured. I'll fiddle around with it. Thanks for the help. |
killabytes Send message Joined: 17 Feb 11 Posts: 23 Credit: 1,147,682 RAC: 0 |
So this is what I put in the app_config: <app_config> <app_version> <app_name>setiathome_v8</app_name> <plan_class>opencl_ati5_nocal</plan_class> <gpu_versions> <gpu_usage>.5</gpu_usage> <cpu_usage>1</cpu_usage> </gpu_versions> </app_version> <app_version> <app_name>setiathome_v8</app_name> <plan_class>cuda42</plan_class> <gpu_versions> <gpu_usage>1</gpu_usage> <cpu_usage>1</cpu_usage> </gpu_versions> </app_version> </app_config> The AMD card still only processes 1 job at a time. I tried it with the <plan_class>opencl_ati_100</plan_class> and <plan_class>opencl_nvidia_100</plan_class> and got the following errors: 11/9/2018 5:55:55 PM | SETI@home | Entry in app_config.xml for app 'setiathome_v8', plan class 'opencl_ati_100' doesn't match any app versions 11/9/2018 5:55:55 PM | SETI@home | Entry in app_config.xml for app 'setiathome_v8', plan class 'opencl_nvidia_100' doesn't match any app versions |
Tom M Send message Joined: 28 Nov 02 Posts: 5124 Credit: 276,046,078 RAC: 462 |
So where would you locate "plan class" at? The docs link seems to assume we know what it means/wherever it is? Tom A proud member of the OFA (Old Farts Association). |
Keith Myers Send message Joined: 29 Apr 01 Posts: 13164 Credit: 1,160,866,277 RAC: 1,873 |
So this is what I put in the app_config: See that you are using older apps. You have to match the plan class with the application type. Try using this tag for usage instead. <ngpus>1</ngpus> and <avg_ncpus>1</avg_ncpus> Also if you are using the old CUDA42 app then you can really cut back on the cpu usage as that app hardly uses any cpu to support the gpu task. I assumed you were running the SoG app and needed the full cpu core to support the gpu task as usual. I don't have any idea of the cpu usage for the ati5_nocal app. Mike is always the expert on tuning for ATI apps. I'm afraid I'm out of suggestions. The docs say it is supposed to work. But if it doesn't I don't have anymore suggestions to troubleshoot why it doesn't work. You will just have to experiment and work it out or hope somebody that has already achieved what you want to do chimes in with their solution. Seti@Home classic workunits:20,676 CPU time:74,226 hours A proud member of the OFA (Old Farts Association) |
Keith Myers Send message Joined: 29 Apr 01 Posts: 13164 Credit: 1,160,866,277 RAC: 1,873 |
So where would you locate "plan class" at? The docs link seems to assume we know what it means/wherever it is? Plan class is in every task's list of parameters in the client_state. It is how the task is identified and how to run it with the correct application. The plan class is identified in the Applications chart for each application in the tag in parentheses following the application version level. https://setiathome.berkeley.edu/apps.php Seti@Home classic workunits:20,676 CPU time:74,226 hours A proud member of the OFA (Old Farts Association) |
Tom M Send message Joined: 28 Nov 02 Posts: 5124 Credit: 276,046,078 RAC: 462 |
So where would you locate "plan class" at? The docs link seems to assume we know what it means/wherever it is? Thank you, Keith. A proud member of the OFA (Old Farts Association). |
killabytes Send message Joined: 17 Feb 11 Posts: 23 Credit: 1,147,682 RAC: 0 |
I tried changing the GPU & CPU usage to <ngpus>.5</ngpus> <avg_ncpus>1</avg_ncpus> No difference. I am using cuda42 since it seems to get me the best result, although I only got access to SoG due to OpenCL now being installed. Either way, no matter what setting I use under the ATI/AMD one, I cannot get it to run two jobs. BOINC seems to accept the settings, but doesn't apply them. Not even the CPU usage is reflecting properly. |
Keith Myers Send message Joined: 29 Apr 01 Posts: 13164 Credit: 1,160,866,277 RAC: 1,873 |
I would have said the SoG OpenCL app would be the fastest but I can't identify the specifications of that NVS510 card at all on the Nvidia site. OK, found a pdf on it. 192 CUDA cores or 3 CU's and only 2GB of RAM. Pretty low end. Might be too weak to run the SoG app after all and the CUDA42 or CUDA50 app is best. I don't know whether adding the <device_num>N</device_num> tag for each card would make any difference. You could at least try it and see. You would assign the device number based on how BOINC identifies each card. That is shown in the beginning startup of the Event Log as GPU 0, GPU 1 etc. The last time I tried this exercise, I too was unsuccessful in having separate parameters for different cards. I just think BOINC doesn't allow it and the docs haven't been updated to show the true realities of the BOINC configuration. Seti@Home classic workunits:20,676 CPU time:74,226 hours A proud member of the OFA (Old Farts Association) |
Keith Myers Send message Joined: 29 Apr 01 Posts: 13164 Credit: 1,160,866,277 RAC: 1,873 |
I just thought of another possible way to do what you want. Run two instances of BOINC. Exclude the Nvidia card in the first one and put in your <ngpus>.5</ngpus> <avg_ncpus>1</avg_ncpus> in an app_config for the ATI card. In the other instance of BOINC, exclude the ATI card and put in<ngpus>1</ngpus> <avg_ncpus>1</avg_ncpus> for the Nvidia card in its app_config. Seti@Home classic workunits:20,676 CPU time:74,226 hours A proud member of the OFA (Old Farts Association) |
killabytes Send message Joined: 17 Feb 11 Posts: 23 Credit: 1,147,682 RAC: 0 |
Thanks for the assistance Keith. After reading the config guide, again and again. I came up with this <app_config> <app> <name>setiathome_v8</name> <max_concurrent>3</max_concurrent> <gpu_versions> <gpu_usage>1</gpu_usage> <cpu_usage>1</cpu_usage> </gpu_versions> </app> <app_version> <app_name>setiathome_v8</app_name> <plan_class>opencl_ati5_nocal</plan_class> <gpu_versions> <avg_ncpus>1</avg_ncpus> <ngpus>0.5</ngpus> </gpu_versions> </app_version> <app_version> <app_name>setiathome_v8</app_name> <plan_class>cuda42</plan_class> <gpu_versions> <avg_ncpus>0.125</avg_ncpus> <ngpus>1</ngpus> </gpu_versions> </app_version> </app_config> There's two bullet points mentioned in the docs: Each <app> element specifies parameters for a given application: and Each <app_version> element specifies parameters for a given app version; it overrides <app>. So I assumed it meant that each level would just set a new setting for the <plan_class> in question. When it fact, it does nothing but read the first <app> section and run it as such. |
Brent Norman Send message Joined: 1 Dec 99 Posts: 2786 Credit: 685,657,289 RAC: 835 |
You didn't actual say ... Did that work for 1 NVidia task, and 2 ATI tasks? |
killabytes Send message Joined: 17 Feb 11 Posts: 23 Credit: 1,147,682 RAC: 0 |
You didn't actual say ... Did that work for 1 NVidia task, and 2 ATI tasks? Oh haha whoops. No, I'm still trying to find a solution besides 2 BOINC instances. |
Brent Norman Send message Joined: 1 Dec 99 Posts: 2786 Credit: 685,657,289 RAC: 835 |
I was wondering with your first version if removing (from the middle: </app_version> <app_version> <app_name>setiathome_v8</app_name> ... so that there is only 1 app_name. EDIT: And I think a BOINC restart is in order for this degree of a change, I'm not sure if just a file read would do it - like normal. |
Keith Myers Send message Joined: 29 Apr 01 Posts: 13164 Credit: 1,160,866,277 RAC: 1,873 |
We tried that in a very early iteration and it didn't work. But the overall syntax was wrong to begin with and not a valid test. Should give it a try. Seti@Home classic workunits:20,676 CPU time:74,226 hours A proud member of the OFA (Old Farts Association) |
killabytes Send message Joined: 17 Feb 11 Posts: 23 Credit: 1,147,682 RAC: 0 |
When removing the second reference to the <app_name> I get the follow error in the Event Log: 11/10/2018 6:50:23 PM | SETI@home | Your app_config.xml file refers to an unknown application ''. Known applications: 'setiathome_v8', 'astropulse_v7' <app_config> <app_version> <app_name>setiathome_v8</app_name> <plan_class>opencl_ati5_nocal</plan_class> <gpu_versions> <gpu_usage>.5</gpu_usage> <cpu_usage>1</cpu_usage> </gpu_versions> </app_version> <app_version> <plan_class>cuda42</plan_class> <gpu_versions> <gpu_usage>1</gpu_usage> <cpu_usage>.125</cpu_usage> </gpu_versions> </app_version> </app_config> |
©2024 University of California
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.