Multi WUs on a Mixed System

Message boards : Number crunching : Multi WUs on a Mixed System
Message board moderation

To post messages, you must log in.

1 · 2 · 3 · Next

AuthorMessage
killabytes

Send message
Joined: 17 Feb 11
Posts: 23
Credit: 1,147,682
RAC: 0
Canada
Message 1964019 - Posted: 9 Nov 2018, 1:21:40 UTC

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,
ID: 1964019 · Report as offensive
Profile Keith Myers Special Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 29 Apr 01
Posts: 13164
Credit: 1,160,866,277
RAC: 1,873
United States
Message 1964025 - Posted: 9 Nov 2018, 1:54:29 UTC - in response to Message 1964019.  

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)
ID: 1964025 · Report as offensive
killabytes

Send message
Joined: 17 Feb 11
Posts: 23
Credit: 1,147,682
RAC: 0
Canada
Message 1964032 - Posted: 9 Nov 2018, 2:18:32 UTC - in response to Message 1964025.  

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


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
ID: 1964032 · Report as offensive
Profile Keith Myers Special Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 29 Apr 01
Posts: 13164
Credit: 1,160,866,277
RAC: 1,873
United States
Message 1964036 - Posted: 9 Nov 2018, 2:25:21 UTC - in response to Message 1964032.  

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)
ID: 1964036 · Report as offensive
Profile Keith Myers Special Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 29 Apr 01
Posts: 13164
Credit: 1,160,866,277
RAC: 1,873
United States
Message 1964037 - Posted: 9 Nov 2018, 2:38:06 UTC
Last modified: 9 Nov 2018, 2:45:52 UTC

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)
ID: 1964037 · Report as offensive
killabytes

Send message
Joined: 17 Feb 11
Posts: 23
Credit: 1,147,682
RAC: 0
Canada
Message 1964125 - Posted: 9 Nov 2018, 12:51:24 UTC - in response to Message 1964037.  

That's what I figured. I'll fiddle around with it. Thanks for the help.
ID: 1964125 · Report as offensive
killabytes

Send message
Joined: 17 Feb 11
Posts: 23
Credit: 1,147,682
RAC: 0
Canada
Message 1964217 - Posted: 9 Nov 2018, 22:04:45 UTC

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
ID: 1964217 · Report as offensive
Profile Tom M
Volunteer tester

Send message
Joined: 28 Nov 02
Posts: 5124
Credit: 276,046,078
RAC: 462
Message 1964406 - Posted: 10 Nov 2018, 16:38:18 UTC

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).
ID: 1964406 · Report as offensive
Profile Keith Myers Special Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 29 Apr 01
Posts: 13164
Credit: 1,160,866,277
RAC: 1,873
United States
Message 1964417 - Posted: 10 Nov 2018, 16:57:16 UTC - in response to Message 1964217.  

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

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)
ID: 1964417 · Report as offensive
Profile Keith Myers Special Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 29 Apr 01
Posts: 13164
Credit: 1,160,866,277
RAC: 1,873
United States
Message 1964419 - Posted: 10 Nov 2018, 17:02:37 UTC - in response to Message 1964406.  

So where would you locate "plan class" at? The docs link seems to assume we know what it means/wherever it is?

Tom

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)
ID: 1964419 · Report as offensive
Profile Tom M
Volunteer tester

Send message
Joined: 28 Nov 02
Posts: 5124
Credit: 276,046,078
RAC: 462
Message 1964439 - Posted: 10 Nov 2018, 18:32:55 UTC - in response to Message 1964419.  

So where would you locate "plan class" at? The docs link seems to assume we know what it means/wherever it is?

Tom

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


Thank you, Keith.
A proud member of the OFA (Old Farts Association).
ID: 1964439 · Report as offensive
killabytes

Send message
Joined: 17 Feb 11
Posts: 23
Credit: 1,147,682
RAC: 0
Canada
Message 1964453 - Posted: 10 Nov 2018, 20:21:23 UTC
Last modified: 10 Nov 2018, 20:22:21 UTC

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.
ID: 1964453 · Report as offensive
Profile Keith Myers Special Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 29 Apr 01
Posts: 13164
Credit: 1,160,866,277
RAC: 1,873
United States
Message 1964456 - Posted: 10 Nov 2018, 20:36:38 UTC - in response to Message 1964453.  

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)
ID: 1964456 · Report as offensive
Profile Keith Myers Special Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 29 Apr 01
Posts: 13164
Credit: 1,160,866,277
RAC: 1,873
United States
Message 1964460 - Posted: 10 Nov 2018, 20:41:35 UTC

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)
ID: 1964460 · Report as offensive
killabytes

Send message
Joined: 17 Feb 11
Posts: 23
Credit: 1,147,682
RAC: 0
Canada
Message 1964470 - Posted: 10 Nov 2018, 21:56:52 UTC

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.
ID: 1964470 · Report as offensive
Profile Brent Norman Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor
Volunteer tester

Send message
Joined: 1 Dec 99
Posts: 2786
Credit: 685,657,289
RAC: 835
Canada
Message 1964473 - Posted: 10 Nov 2018, 22:08:21 UTC - in response to Message 1964470.  

You didn't actual say ... Did that work for 1 NVidia task, and 2 ATI tasks?
ID: 1964473 · Report as offensive
killabytes

Send message
Joined: 17 Feb 11
Posts: 23
Credit: 1,147,682
RAC: 0
Canada
Message 1964474 - Posted: 10 Nov 2018, 22:10:37 UTC - in response to Message 1964473.  

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.
ID: 1964474 · Report as offensive
Profile Brent Norman Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor
Volunteer tester

Send message
Joined: 1 Dec 99
Posts: 2786
Credit: 685,657,289
RAC: 835
Canada
Message 1964475 - Posted: 10 Nov 2018, 22:14:56 UTC - in response to Message 1964474.  
Last modified: 10 Nov 2018, 22:16:43 UTC

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.
ID: 1964475 · Report as offensive
Profile Keith Myers Special Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 29 Apr 01
Posts: 13164
Credit: 1,160,866,277
RAC: 1,873
United States
Message 1964477 - Posted: 10 Nov 2018, 22:20:27 UTC - in response to Message 1964475.  

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)
ID: 1964477 · Report as offensive
killabytes

Send message
Joined: 17 Feb 11
Posts: 23
Credit: 1,147,682
RAC: 0
Canada
Message 1964480 - Posted: 10 Nov 2018, 22:51:52 UTC
Last modified: 10 Nov 2018, 23:00:18 UTC

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>
ID: 1964480 · Report as offensive
1 · 2 · 3 · Next

Message boards : Number crunching : Multi WUs on a Mixed System


 
©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.