How do I restrict BRP4A cpu-only tasks from running?

chilina
chilina
Joined: 27 Sep 14
Posts: 22
Credit: 28737263
RAC: 37815
Topic 231292

Hey, how do I keep the cpu-only BRP4A tasks from running on my m1 mac?  I only want to run FGRP5 tasks on the cpu, and BRP4A tasks that use the gpu.  In my project settings, I have "no" checked for "Run CPU versions of applications for which GPU versions are available".

Also, are the cpu-only results particularly helpful, say for reasons of validation of gpu tasks or quality control or some other aspect of the project?

Thanks for any advice!

mikey
mikey
Joined: 22 Jan 05
Posts: 12750
Credit: 1839152474
RAC: 3460

chilina wrote: Hey, how do I

chilina wrote:

Hey, how do I keep the cpu-only BRP4A tasks from running on my m1 mac?  I only want to run FGRP5 tasks on the cpu, and BRP4A tasks that use the gpu.  In my project settings, I have "no" checked for "Run CPU versions of applications for which GPU versions are available".

Also, are the cpu-only results particularly helpful, say for reasons of validation of gpu tasks or quality control or some other aspect of the project?

Thanks for any advice!

Go into your venue setting where you select the type of tasks you want to run and uncheck the box asking if it's okay to run 'non preferred apps:

Allow non-preferred apps:
yes

no

If no work for selected applications are available, accept tasks from other applications?

 

chilina
chilina
Joined: 27 Sep 14
Posts: 22
Credit: 28737263
RAC: 37815

Hey Mikey thanks for the

Hey Mikey thanks for the reply.  On my Preferences > Project page, the item "Allow non-preferred apps" was already set to "no".

GWGeorge007
GWGeorge007
Joined: 8 Jan 18
Posts: 3105
Credit: 4990977266
RAC: 1187413

chilina wrote: Hey, how do I

chilina wrote:

Hey, how do I keep the cpu-only BRP4A tasks from running on my m1 mac?  I only want to run FGRP5 tasks on the cpu, and BRP4A tasks that use the gpu.  In my project settings, I have "no" checked for "Run CPU versions of applications for which GPU versions are available".

Also, are the cpu-only results particularly helpful, say for reasons of validation of gpu tasks or quality control or some other aspect of the project?

Thanks for any advice!

Hi Chilina!

Let me guide to some resources to use.  I see that you are a relatively newcomer to BOINC, so I'll assume that your preferences are set correctly, and that you do have a cc_config.xml file and an app_config.xml file.

Also, if I understand you correctly, BRP4A has BOTH a CPU app and a GPU app.  Correct?  (Personally I don't run this app)  You can eliminate the CPU app from running by declaring statements such as:

gpu_usage

The number of GPU instances (possibly fractional) used by GPU versions of this app. For example, .5 means that two jobs of this application can run at once on a single GPU.

cpu_usage

The number of CPU instances (possibly fractional) used by GPU versions of this app.

<no_gpus>0|1</no_gpus>

If 1, don't use GPUs even if they're present. Requires a client restart.

 

Have you searched through the web pages:

https://boinc.berkeley.edu/wiki/User_manual

https://boinc.berkeley.edu/wiki/Client_configuration

The statements I made above and MANY more can be found in the web pages I just mentioned.  They will give some examples of how to configure them.

Good luck!

George

Proud member of the Old Farts Association

chilina
chilina
Joined: 27 Sep 14
Posts: 22
Credit: 28737263
RAC: 37815

Hey George this is great and

Hey George this is great and I had thought about adding to my app_config.xml file.  There is a tag for <gpu_versions>, but I'm not sure if there is something analogous like <cpu_versions>.  And then how do I fractionally define 0 cpus for a cpu-only task?  But then after thinking a bit, the app_config.xml tells boinc "how" to run applications, and not really "if" they should be downloaded in the first place, right?

It seems like I should be able to set this in my project preferences, that cpu-only tasks should be enabled by selecting "yes" for "Run CPU versions of applications for which GPU versions are available".

Maybe its simpler to just look periodically at downloaded tasks and abort them.

 

 

GWGeorge007
GWGeorge007
Joined: 8 Jan 18
Posts: 3105
Credit: 4990977266
RAC: 1187413

chilina wrote:Hey George

chilina wrote:

Hey George this is great and I had thought about adding to my app_config.xml file.  There is a tag for <gpu_versions>, but I'm not sure if there is something analogous like <cpu_versions>.  And then how do I fractionally define 0 cpus for a cpu-only task?  But then after thinking a bit, the app_config.xml tells boinc "how" to run applications, and not really "if" they should be downloaded in the first place, right?

It seems like I should be able to set this in my project preferences, that cpu-only tasks should be enabled by selecting "yes" for "Run CPU versions of applications for which GPU versions are available".

Maybe its simpler to just look periodically at downloaded tasks and abort them.

Chilina, the preferences in each and every project tell BOINC "what" to run, and the app_config.xml file for each project tells BOINC "how" to run what is set in the preferences.  And no, BOINC has no configuration (analogous like <cpu_versions>) for the CPU as everything (all PC's) have a CPU, some even have two CPU's.  But not every PC even has a GPU, and some PC's (like mine) have more than one GPU.

Some, if not many, project tasks will use the GPU for most of the calculations for tasks, and then switch to the CPU for the remainder of that task.  Some will even do this sporadically doing some GPU, then CPU, then GPU and then again CPU - all for the same single task.  This (I think) is what your comment "fractionally define 0 cpus for a cpu-only task" comes from in the Client Configuration web page I showed you.


EXAMPLE:
<app_config>
   [<app>
      <name>Application_Name</name>
      <max_concurrent>1</max_concurrent>
      [<report_results_immediately/>]
      [<fraction_done_exact/>]
      <gpu_versions>
          <gpu_usage>.5</gpu_usage>
          <cpu_usage>.4</cpu_usage>
      </gpu_versions>
    </app>]
   ...


The GPU is going to use 0.5 of it's resources for each tasks, with 2 tasks available to do within the GPU.

The same GPU will also be using 0.4 CPU cores (or threads if your computer does have threading available) for the same task.

Also, you should select "NO" in "Run CPU versions of applications for which GPU versions are available".  Selecting "YES" may be why you are having BRP4A downloading into your CPU tasks.  If I'm not mistaken, I think the the only difference between the two BRP4A apps is that one BRP4A app is used per CPU core task, where 4(?) BRP4A apps are compiled together to make up a GPU task.

I know that you are relatively new to Einstein@Home, or at least I think so by what your computer's profile reads for all computers since you first signed into BOINC during 2014.  Einstein is one of the more consistent projects and will always have work - almost without exception.  Some of the sub-projects require more GPU resources than others as does the CPU projects.  I am not familiar with Apple PC's at all, never had one and never used one, so I know nothing of your "Apple" GPU with 5461MB of VRAM.

That being said, for NVIDIA GPUs (which are easier to set up and deal with than AMD/ATI's or even Intel's) I have no problems with doing so.  When you get more experienced with BOINC you may want to start using an app_info.xml file, and then you can even have your wishes be a bit more exacting.

HTH

George

Proud member of the Old Farts Association

chilina
chilina
Joined: 27 Sep 14
Posts: 22
Credit: 28737263
RAC: 37815

OK well I don't have a clear

OK well I don't have a clear path forward so I'm just going to continue to abort the cpu-only tasks for the BRP4A application.

Unless there are special reasons for running a cpu-only task, it doesn't really make any sense to run cpu-only BRP4A tasks.  An m1 can run a gpu task in just under 6 minutes, where it takes 30 minutes for the cpu-only task to run.  My aborted cpu-only tasks are typically reassigned as a gpu task for a different user.  Mac cpus are really really good (fast + efficient, relative to x86-64) at running the FGRP5 tasks, and the project developers have created an arm-native variant just for macs (hooray!).

So it makes far more sense to have the cpu run FGRP5 tasks exclusively, and let the gpu (+ 0.5 cpu cores) handle the BRP4A tasks.

I just wish there were a way to set this in the project preferences, so that only gpu tasks are downloaded.  I have "no" checked for "Run CPU versions of applications for which GPU versions are available", and I still get the cpu-only tasks.

GWGeorge007
GWGeorge007
Joined: 8 Jan 18
Posts: 3105
Credit: 4990977266
RAC: 1187413

chilina wrote: I just wish

chilina wrote:

I just wish there were a way to set this in the project preferences, so that only gpu tasks are downloaded.  I have "no" checked for "Run CPU versions of applications for which GPU versions are available", and I still get the cpu-only tasks.

Did you ever have the "Run CPU versions of applications for which GPU versions are available" set to "YES"?

If you did at one time in your past, you may be dealing with some of the previous downloads to the CPU.

If that is the case, you may want to "reset" the project which clears out everything in your Einstein folder but your existing points/credits, or let it run with "'no new tasks" until your cache dies down to 'zero'.  In either case, then restart BOINC Manager and de-select "no new tasks" by selecting "resume" in BOINC Manager.

George

Proud member of the Old Farts Association

chilina
chilina
Joined: 27 Sep 14
Posts: 22
Credit: 28737263
RAC: 37815

GWGeorge007 wrote:chilina

GWGeorge007 wrote:

Did you ever have the "Run CPU versions of applications for which GPU versions are available" set to "YES"?

I did at one time but it's been at least a few weeks since it's been set to "no".  But I will try resetting by one of the above methods and see if that helps.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.