CPU / GPU Multithreading

Hypernova
Hypernova
Joined: 3 Mar 13
Posts: 23
Credit: 29,930
RAC: 0
Topic 196835

Hello, I am new on einstein@home. I have a personal built rig, with a 980X six core CPU running at 4 Ghz. It is multithreaded so 12 cores are available. I use the Win7/Ultimate 64 bit version OS. I have an AMD Radeon 7970 GPU with the latest Catalyst drivers.
I use Boinc version 7.0.52.

When istalled in default mode I get 1 GPU thread running in the (0.5 CPU + 1 GPU) mode for the Binary Radio Pulsar application.

I have then 11 other threads that crunch Gravitation Wave Line6..... application that seems to be CPU only.

I have devices crunching for WCG projects. There is also a GPU enable project. To use the peak performance that the 7970 GPU can offer I have it configured to run multithreaded with 10 GPU threads. I use an app_info.xml file for that.

The optimal configuration that uses the 12 CPU threads available and fully the GPU is to have ten GPU threads (1 CPU + 0.1 GPU) and 2 CPU only threads.

I would like to have the possibility to configure the einstein@home applications so as to maximise the computing power available and thus test various combinations of GPU and CPU through a specific app_info file.

I have put here under a sample app_info file with ??? question marks that crrespond to the instein application specific file names or data. If someone could help me into finding this information, or if such a file for einstein@home is already existing then to direct me where I can find it. I looked in the forums and FAQ but did not succeed.

????

????.exe

????.exe

????
???
???

ATI
0.1

ati???
3200000000.0
1.0
1.0

???



???
???

Richard Haselgrove
Richard Haselgrove
Joined: 10 Dec 05
Posts: 1,973
Credit: 397,962,584
RAC: 1,364,651

CPU / GPU Multithreading

Quote:
I have devices crunching for WCG projects. There is also a GPU enable project. To use the peak performance that the 7970 GPU can offer I have it configured to run multithreaded with 10 GPU threads. I use an app_info.xml file for that.


At Einstein, you can do it directly from your Einstein@Home preferences page - final entry, "GPU utilization factor of BRP apps".

Holmis
Joined: 4 Jan 05
Posts: 1,118
Credit: 822,888,487
RAC: 201,161

Start with following

Start with following Richard's advise and look at the prefs page.

Then when you are ready to change the number of simultaneous BRP task on the GPU consider this:

The value to use on the prefs page is the same as the "count" value one uses in a app_info file. So set it to 0.5 to run x2, 0.33 for x3 and so on.

If you try to run 10 tasks at the same time here on einstein then either your GPU will run out of memory or at least it will not be optimal.
Use GPU-Z to check on the GPU load and when it gets up to about 95% or above further increase in the number of simultaneous task will not be of benefit. You might be able to run them but I strongly suspect that the overhead of task switching will be to great.

For more info on performance check out the sticky thread called "CUDA and OpenCL Benchmarks", there is a link in that tread to a document of how different cards perform with different number of simultaneous task run.

Hypernova
Hypernova
Joined: 3 Mar 13
Posts: 23
Credit: 29,930
RAC: 0

Thanks for your quick

Thanks for your quick replies. Let's give it a try.

Holmis
Joined: 4 Jan 05
Posts: 1,118
Credit: 822,888,487
RAC: 201,161

Oh, one more thing, the

Oh, one more thing, the setting doesn't take effect until you ask for and are assigned more BRP4 tasks. Then the setting will apply to all BRP4 tasks in your cache.

Hypernova
Hypernova
Joined: 3 Mar 13
Posts: 23
Credit: 29,930
RAC: 0

I have made some tries. It

I have made some tries. It does work with some hiccups and computation errors, but now it has stabilized.
It seems I can only influence the GPU threads.
I have now a factor of 0.2, which means 5 GPU threads.
When I look at the task list to see what is running I have in total 5 GPU threads running with (0.5 CPU + 0.2 GPU)and then an additional 10 CPU threads. This is strange as it makes a total of 12.5 cores. I have only 12 available. Sure one core can be splitted among two threads but i prefer to devote one full core to one thread.

So how to configure to get the following situation (1 CPU + 0.2GPU). In this way they should be 5 GPU threads and 7 CPU threads. Is this doable?

Nobody316
Nobody316
Joined: 14 Jan 13
Posts: 141
Credit: 2,008,126
RAC: 0

RE: I have made some tries.

Quote:

I have made some tries. It does work with some hiccups and computation errors, but now it has stabilized.
It seems I can only influence the GPU threads.
I have now a factor of 0.2, which means 5 GPU threads.
When I look at the task list to see what is running I have in total 5 GPU threads running with (0.5 CPU + 0.2 GPU)and then an additional 10 CPU threads. This is strange as it makes a total of 12.5 cores. I have only 12 available. Sure one core can be splitted among two threads but i prefer to devote one full core to one thread.

So how to configure to get the following situation (1 CPU + 0.2GPU). In this way they should be 5 GPU threads and 7 CPU threads. Is this doable?

http://einstein.phys.uwm.edu/prefs.php?subset=global

On multiprocessors, use at most
Enforced by version 6.1+ 100% of the processors

will change how many cores you run.

http://einsteinathome.org/node/196749&nowrap=true#122263

PC setup MSI-970A-G46 AMD FX-8350 8 core OC'd 4.45GHz 16GB ram PC3-10700 Geforce GTX 650Ti Windows 7 x64 Einstein@Home

Horacio
Horacio
Joined: 3 Oct 11
Posts: 205
Credit: 80,557,243
RAC: 0

RE: I have made some tries.

Quote:

I have made some tries. It does work with some hiccups and computation errors, but now it has stabilized.
It seems I can only influence the GPU threads.
I have now a factor of 0.2, which means 5 GPU threads.
When I look at the task list to see what is running I have in total 5 GPU threads running with (0.5 CPU + 0.2 GPU)and then an additional 10 CPU threads. This is strange as it makes a total of 12.5 cores. I have only 12 available. Sure one core can be splitted among two threads but i prefer to devote one full core to one thread.

So how to configure to get the following situation (1 CPU + 0.2GPU). In this way they should be 5 GPU threads and 7 CPU threads. Is this doable?


You can do it as Nobody said, which will reserve a fixed number of cores, but also, as you are running BOINC 7.52, you can use an app_config.xml file (not app_info), which will allow you to set the CPU usage for the GPU app and then it will reserve de CPU cores dinamically.

The content of that file should be:

[pre]

einsteinbinary_BRP4
N

0.2
1


[/pre]
The N in max concurrent is the maximun number of BRP4 tasks that you want to be running systemwide (CPU + GPU Tasks) You should set this at least at a value of 5 if you dont crunch BRPs on the CPUs, or you can set it lower if you want your GPU to be used also for other project. More details in Application configuration (at the end of the page)

The CPU cores usage is calculated adding the usage of each the taks running and rounding the total to the least integer. Dont know why they round it down instead of up, but as the nowadays OS are multitasking they can handle the overload preempting the tasks as needed.

EDIT: Oops... I didnt noticed that the second link in Nobody's post was this other option...

Hypernova
Hypernova
Joined: 3 Mar 13
Posts: 23
Credit: 29,930
RAC: 0

Thanks Horacio and Nobody for

Thanks Horacio and Nobody for the help. I do manage to have some control now. Lets see what will the best configuration be.

Hypernova
Hypernova
Joined: 3 Mar 13
Posts: 23
Credit: 29,930
RAC: 0

I run now with three GPU

I run now with three GPU threads (1CPU + 0.33 GPU) and 9 other CPU threads for a total of 12 CPU threads which is the 980X CPU's full capability.

But I still have an issue. From time to time (one hour) Windows is restarted due to a an unexpected event. In short I have not reached real stability.

I have also experienced conflicts with my Kaspersky Pure 2.0 kit.

I have switched to the latest 2013 Kaspersky Security Kit. See if this improves things.

Nobody316
Nobody316
Joined: 14 Jan 13
Posts: 141
Credit: 2,008,126
RAC: 0

RE: I run now with three

Quote:

I run now with three GPU threads (1CPU + 0.33 GPU) and 9 other CPU threads for a total of 12 CPU threads which is the 980X CPU's full capability.

But I still have an issue. From time to time (one hour) Windows is restarted due to a an unexpected event. In short I have not reached real stability.

I have also experienced conflicts with my Kaspersky Pure 2.0 kit.

I have switched to the latest 2013 Kaspersky Security Kit. See if this improves things.

Check your computer for heat issues.

PC setup MSI-970A-G46 AMD FX-8350 8 core OC'd 4.45GHz 16GB ram PC3-10700 Geforce GTX 650Ti Windows 7 x64 Einstein@Home

Comment viewing options

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