Suspend GPU processing but not CPU processing based on time of day

Tom M
Tom M
Joined: 2 Feb 06
Posts: 1,153
Credit: 2,163,372,226
RAC: 4,599,140
Topic 225942

The problem is my gpus make my house too hot during the day.

I suspect I could run my cpus all day.

What would Linux/Ubuntu script look like?

Tom M

As a self-interested person, I aspire to be a Humane.
In detail, I am a BIG Picture person.

 

 

 

 

mikey
mikey
Joined: 22 Jan 05
Posts: 7,760
Credit: 623,127,097
RAC: 145,803

Tom M wrote: The problem is

Tom M wrote:

The problem is my gpus make my house too hot during the day.

I suspect I could run my cpus all day.

What would Linux/Ubuntu script look like?

Tom M 

No clue but what I do is first I never run cpu and gpu tasks from the same project on the same machine making it easy for me to have a zero resource share gpu project and then hit no new tasks when I wake up in the morning, after allowing new tasks when I go to bed.

Ian&Steve C.
Ian&Steve C.
Joined: 19 Jan 20
Posts: 921
Credit: 6,776,552,655
RAC: 17,771,611

mikey wrote: Tom M

mikey wrote:

Tom M wrote:

The problem is my gpus make my house too hot during the day.

I suspect I could run my cpus all day.

What would Linux/Ubuntu script look like?

Tom M 

No clue but what I do is first I never run cpu and gpu tasks from the same project on the same machine making it easy for me to have a zero resource share gpu project and then hit no new tasks when I wake up in the morning, after allowing new tasks when I go to bed.

this made me think of another thing you could do. 
 

run the CPU work and the GPU on separate client instances on the same physical host. Then use BOINCs own scheduling function on the GPU client, but not the CPU client. 
 

you could also use a short script with boinccmd. The boinccmd tool has the --set_gpu_mode {always | auto | never} [duration] command. 

the duration option makes this particularly useful. If duration is zero or absent, the mode is permanent, otherwise, after ‘duration’ seconds elapse, revert to last permanent mode. 
 

this would let you combine the boinccmd with a useful Linux function like watch to do what you want in just a single looping terminal command. No script needed. 

example:

watch -n 86400 ./boinccmd --set_gpu_mode never 28800 

 

execute this command in a terminal window from within whatever directory contains your boinccmd executable, at the time that you want to suspend GPUs (12noon). What this command will do is suspend GPU processing for 8hrs (28800 seconds), after that time, the command “expires” and BOINC will revert to GPU processing. The watch command will re-execute after 24hrs (86400 seconds) sending the command again the next day at 12noon again. Rinse repeat. 
 

you could add some more logic in a script to make it check the actual time instead of being based on wait times from initial execution. 

_____________________________________________

Comment viewing options

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