Join PrimeGrid
Returning Participants
Community
Leader Boards
Results
Other
drummers-lowrise
|
Message boards :
Number crunching :
Which PrimeGrid CPU Projects Support Threading or have optimized app_config settings?
Author |
Message |
|
Which CPU projects support threading and or have optimized app_config settings? I would like to enable my CPU to crunch the tasks that do not have GPU support, but would like to optimize them for a quick turn around by enabling threading or other optimizations via the app_config.xml file if the threading support is available.
Thanks for any help, and any examples from your own app_config file. | |
|
|
Which CPU projects support threading and or have optimized app_config settings? I would like to enable my CPU to crunch the tasks that do not have GPU support, but would like to optimize them for a quick turn around by enabling threading or other optimizations via the app_config.xml file if the threading support is available.
Thanks for any help, and any examples from your own app_config file.
I assume you read the prior thread "App names" (including the follow-up responses). If the app begins with "llr", e.g. "llr321", it can make use of multithreading.
The different projects scale differently. For example, llrCUL is going to scale better to more threads (assuming you have the cores available) than llrTPS (generally, larger tasks scale better in my experience).
Below is my "generic" app_config.xml, set up for a quad core, with no GPU tasks. If you are going to run GPU tasks, you want to make sure leave enough CPU cores free (HT cores may be enough) to keep the GPU fed.
You will probably want to experiment to see what works best on your hardware. On the machine this app_config.xml came from, llrMEGA doesn't scale well beyond 3 cores, but if I run 3 cores, I have one sitting idle (hence running 2 2-thread tasks concurrently). On another of my machines it scales well up to 6.
<app_config>
<app>
<name>llr321</name>
<fraction_done_exact/>
<max_concurrent>1</max_concurrent>
</app>
<app_version>
<app_name>llr321</app_name>
<cmdline>-t 4</cmdline>
<avg_ncpus>4</avg_ncpus>
<max_ncpus>4</max_ncpus>
</app_version>
<app>
<name>llrCUL</name>
<fraction_done_exact/>
<max_concurrent>1</max_concurrent>
</app>
<app_version>
<app_name>llrCUL</app_name>
<cmdline>-t 4</cmdline>
<avg_ncpus>4</avg_ncpus>
<max_ncpus>4</max_ncpus>
</app_version>
<app>
<name>llrESP</name>
<fraction_done_exact/>
<max_concurrent>1</max_concurrent>
</app>
<app_version>
<app_name>llrESP</app_name>
<cmdline>-t 4</cmdline>
<avg_ncpus>4</avg_ncpus>
<max_ncpus>4</max_ncpus>
</app_version>
<app>
<name>llrGCW</name>
<fraction_done_exact/>
<max_concurrent>1</max_concurrent>
</app>
<app_version>
<app_name>llrGCW</app_name>
<cmdline>-t 4</cmdline>
<avg_ncpus>4</avg_ncpus>
<max_ncpus>4</max_ncpus>
</app_version>
<app>
<name>llrPSP</name>
<fraction_done_exact/>
<max_concurrent>1</max_concurrent>
</app>
<app_version>
<app_name>llrPSP</app_name>
<cmdline>-t 4</cmdline>
<avg_ncpus>4</avg_ncpus>
<max_ncpus>4</max_ncpus>
</app_version>
<app>
<name>llrPPS</name>
<fraction_done_exact/>
<max_concurrent>1</max_concurrent>
</app>
<app_version>
<app_name>llrPPS</app_name>
<cmdline>-t 4</cmdline>
<avg_ncpus>4</avg_ncpus>
<max_ncpus>4</max_ncpus>
</app_version>
<app>
<name>llrPPSE</name>
<fraction_done_exact/>
<max_concurrent>2</max_concurrent>
</app>
<app_version>
<app_name>llrPPSE</app_name>
<cmdline>-t 2</cmdline>
<avg_ncpus>2</avg_ncpus>
<max_ncpus>2</max_ncpus>
</app_version>
<app>
<name>llrMEGA</name>
<fraction_done_exact/>
<max_concurrent>2</max_concurrent>
</app>
<app_version>
<app_name>llrMEGA</app_name>
<cmdline>-t 2</cmdline>
<avg_ncpus>2</avg_ncpus>
<max_ncpus>2</max_ncpus>
</app_version>
<app>
<name>llrSOB</name>
<fraction_done_exact/>
<max_concurrent>1</max_concurrent>
</app>
<app_version>
<app_name>llrSOB</app_name>
<cmdline>-t 4</cmdline>
<avg_ncpus>4</avg_ncpus>
<max_ncpus>4</max_ncpus>
</app_version>
<app>
<name>llrSR5</name>
<fraction_done_exact/>
<max_concurrent>1</max_concurrent>
</app>
<app_version>
<app_name>llrSR5</app_name>
<cmdline>-t 4</cmdline>
<avg_ncpus>4</avg_ncpus>
<max_ncpus>4</max_ncpus>
</app_version>
<app>
<name>llrTPS</name>
<fraction_done_exact/>
<max_concurrent>2</max_concurrent>
</app>
<app_version>
<app_name>llrTPS</app_name>
<cmdline>-t 2</cmdline>
<avg_ncpus>2</avg_ncpus>
<max_ncpus>2</max_ncpus>
</app_version>
<app>
<name>llrTRP</name>
<fraction_done_exact/>
<max_concurrent>1</max_concurrent>
</app>
<app_version>
<app_name>llrTRP</app_name>
<cmdline>-t 4</cmdline>
<avg_ncpus>4</avg_ncpus>
<max_ncpus>4</max_ncpus>
</app_version>
<app>
<name>llrWOO</name>
<fraction_done_exact/>
<max_concurrent>1</max_concurrent>
</app>
<app_version>
<app_name>llrWOO</app_name>
<cmdline>-t 4</cmdline>
<avg_ncpus>4</avg_ncpus>
<max_ncpus>4</max_ncpus>
</app_version>
</app_config>
| |
|
|
Below is my "generic" app_config.xml, set up for a quad core, with no GPU tasks. If you are going to run GPU tasks, you want to make sure leave enough CPU cores free (HT cores may be enough) to keep the GPU fed.
I've noticed that AP27 speeds aren't slowed on GPU with no CPU cores free. It seems to be the only one though.
____________
| |
|
|
Thank you for the information. I didn't know the "llr" meant it supported threading. I'll get my config all setup now. | |
|
GDBSend message
Joined: 15 Nov 11 Posts: 284 ID: 119185 Credit: 3,910,972,995 RAC: 2,068,808
                      
|
Only the avg_cpus is needed. The max_cpus is useless in app_config multi-threading. | |
|
|
Anticipating a nightmare, last night I sat down and thought I'd have a go at getting multi-threading going, after a big wait because of that nightmarish anticipation. I thought I was definitely going to have to start a forum thread and basically plead everyone to cobble together a guide for me, in the form of links to the best forum threads, complete with customised and updated notes, just for me.
But I bunged Van Z's app_config file in there, modifying the relevant entries for the SoB bit, and it's doing what I want it to. I just told it to re-read the config files, didn't even close BOINC.
So cheers Van Z. and everyone else whose posts I read quickly last night.
So why do some people use a cc_config file? Would that be for a different platform, e.g. Linix? or can a cc_config file do something which app_config doesn't? | |
|
Michael Goetz Volunteer moderator Project administrator
 Send message
Joined: 21 Jan 10 Posts: 13951 ID: 53948 Credit: 390,667,618 RAC: 107,419
                               
|
So why do some people use a cc_config file? Would that be for a different platform, e.g. Linix? or can a cc_config file do something which app_config doesn't?
cc_config.xml is a lot harder to configure correctly than app_config.xml. If app_config.xml does what you need, you should always use it in preference over cc_config.xml.
cc_config.xml is the "anonymous platform" mechanism, where you must supply your own apps. If you want to run a custom app, that's how you do it. But you've got to configure it correctly and make sure all the files (including the app itself) are in the correct locations.
____________
My lucky number is 75898524288+1 | |
|
|
Ah I see, cheers Michael.
I should have proof-read my post before throwing caution to the wind and pressing "OK" up there, I wrote "Linix" and forgot how to use capitals. | |
|
|
So why do some people use a cc_config file? Would that be for a different platform, e.g. Linix? or can a cc_config file do something which app_config doesn't?
cc_config.xml is a lot harder to configure correctly than app_config.xml. If app_config.xml does what you need, you should always use it in preference over cc_config.xml.
cc_config.xml is the "anonymous platform" mechanism, where you must supply your own apps. If you want to run a custom app, that's how you do it. But you've got to configure it correctly and make sure all the files (including the app itself) are in the correct locations.
Anonymous platform is configured using app_info.xml. cc_config.xml is used to configure BOINC client itself and it allows to configure additional things, mostly advanced or rarely used ones.
____________
| |
|
Michael Goetz Volunteer moderator Project administrator
 Send message
Joined: 21 Jan 10 Posts: 13951 ID: 53948 Credit: 390,667,618 RAC: 107,419
                               
|
So why do some people use a cc_config file? Would that be for a different platform, e.g. Linix? or can a cc_config file do something which app_config doesn't?
cc_config.xml is a lot harder to configure correctly than app_config.xml. If app_config.xml does what you need, you should always use it in preference over cc_config.xml.
cc_config.xml is the "anonymous platform" mechanism, where you must supply your own apps. If you want to run a custom app, that's how you do it. But you've got to configure it correctly and make sure all the files (including the app itself) are in the correct locations.
Anonymous platform is configured using app_info.xml. cc_config.xml is used to configure BOINC client itself and it allows to configure additional things, mostly advanced or rarely used ones.
Blech. You're 100% correct, of course.
____________
My lucky number is 75898524288+1 | |
|
|
Before the Boinc client defaulted to use all GPUs, cc_config.xml was where you set the flag to do so.
Currently, I use it to force a client to allow remote rpcs, as one of the steps to control my clients with a manager.
There are other more esoteric uses, but for most folks, it probably isn't necessary. | |
|
mikey Send message
Joined: 17 Mar 09 Posts: 1645 ID: 37043 Credit: 733,135,347 RAC: 134,296
                     
|
I assume you read the prior thread "App names" (including the follow-up responses). If the app begins with "llr", e.g. "llr321", it can make use of multithreading.
The different projects scale differently. For example, llrCUL is going to scale better to more threads (assuming you have the cores available) than llrTPS (generally, larger tasks scale better in my experience).
Below is my "generic" app_config.xml, set up for a quad core, with no GPU tasks. If you are going to run GPU tasks, you want to make sure leave enough CPU cores free (HT cores may be enough) to keep the GPU fed.
You will probably want to experiment to see what works best on your hardware. On the machine this app_config.xml came from, llrMEGA doesn't scale well beyond 3 cores, but if I run 3 cores, I have one sitting idle (hence running 2 2-thread tasks concurrently). On another of my machines it scales well up to 6.
<app_config>...
Thank you VERY much for posting this, it has helped me ALOT as I am working my way thru my Silver badges of these long cpu only workunits!!! I got to Silver doing one unit at a time but multi-threading them has made them much faster for me, not that they are 'short' now but faster is progress.
| |
|
Message boards :
Number crunching :
Which PrimeGrid CPU Projects Support Threading or have optimized app_config settings? |