O3ASE1 - Windows versus Linux comparison on GTX 1650 Super

Gary Roberts
Gary Roberts
Moderator
Joined: 9 Feb 05
Posts: 5842
Credit: 109395583376
RAC: 35786582

Jim1348 wrote: Jim1348

Jim1348 wrote:

Jim1348 wrote:
I was reserving one CPU core also, though it used only 18% ...

It seems that one core was a problem.

With the GW GPU app, one thread (rather than a full core) in support will probably always be a problem since there is so much that is handed off by the GPU to the CPU.  You might think that 18% of a thread is low use but it obviously is a much higher percentage of those subsystems needed by compute operations.  Multi-threading really only works if the processes sharing the core are using different subsystems and not overly competing with each other.

You really need to make a distinction between cores and threads.  By reserving two threads, hopefully the OS is smart enough to make those two come from the one physical core.  If you reserve three threads and you happen to get a further improvement, that might indicate that the two thread case wasn't using the one physical core.

Careful experiments should tell you what is going on.

Cheers,
Gary.

Jim1348
Jim1348
Joined: 19 Jan 06
Posts: 463
Credit: 257957147
RAC: 0

mikey wrote:Einstein always

mikey wrote:
Einstein always reserves a core for the gpu did you perhaps override that and now by giving it back it works like it should

Yes, it reserves a core, but it is the same thing if I use an app_config.xml.

The result is 1C + 1ATI in either case.

But I just ran one without an app_config just to check, and seem to get the same times on the 301.50 Hz work units.

I also tried going back to the 20.50 drivers, but that did not change the time either.

I think it has something to do with the other project I am running (QuChemPedIA), and may try something else.  Thanks for your input.

 

 

 

 

 

Jim1348
Jim1348
Joined: 19 Jan 06
Posts: 463
Credit: 257957147
RAC: 0

Jim1348 wrote: mikey

Jim1348 wrote:

mikey wrote:
Einstein always reserves a core for the gpu did you perhaps override that and now by giving it back it works like it should

Yes, it reserves a core, but it is the same thing if I use an app_config.xml.

The result is 1C + 1ATI in either case.

NO, I am wrong.  That must have been the setting left over from the app_config.xml.  After a reboot, I see that it is running 0.9C + 1ATI, and it is NOT reservring a CPU core.  So I am running 12 CPU work units plus 1 GPU work unit.

That is why I use the app_config, to make sure that I am reserving a core.  (The measurement I did was before the reboot, and the core was still being reserved.)

At any rate, I am going to let the CPU work units slowly run out, and see how (and if) the GPU speeds up to try and find out what is really going on.

 

mikey
mikey
Joined: 22 Jan 05
Posts: 11889
Credit: 1828125638
RAC: 206202

Jim1348 wrote: Jim1348

Jim1348 wrote:

Jim1348 wrote:

mikey wrote:
Einstein always reserves a core for the gpu did you perhaps override that and now by giving it back it works like it should

Yes, it reserves a core, but it is the same thing if I use an app_config.xml.

The result is 1C + 1ATI in either case.

NO, I am wrong.  That must have been the setting left over from the app_config.xml.  After a reboot, I see that it is running 0.9C + 1ATI, and it is NOT reservring a CPU core.  So I am running 12 CPU work units plus 1 GPU work unit.

That is why I use the app_config, to make sure that I am reserving a core.  (The measurement I did was before the reboot, and the core was still being reserved.)

At any rate, I am going to let the CPU work units slowly run out, and see how (and if) the GPU speeds up to try and find out what is really going on.

A more instant way is to go into the Boinc Manager and under Options, computing preferences change the top box from 100 to 99, that will tell the pc to leave one cpu core free. Be sure to save at the bottom of that box and Boinc will instantly put one cpu task into a 'waiting to run status'.

Ian&Steve C.
Ian&Steve C.
Joined: 19 Jan 20
Posts: 3681
Credit: 33832856596
RAC: 37679406

Jim1348 wrote: Jim1348

Jim1348 wrote:

Jim1348 wrote:

mikey wrote:
Einstein always reserves a core for the gpu did you perhaps override that and now by giving it back it works like it should

Yes, it reserves a core, but it is the same thing if I use an app_config.xml.

The result is 1C + 1ATI in either case.

NO, I am wrong.  That must have been the setting left over from the app_config.xml.  After a reboot, I see that it is running 0.9C + 1ATI, and it is NOT reservring a CPU core.  So I am running 12 CPU work units plus 1 GPU work unit.

That is why I use the app_config, to make sure that I am reserving a core.  (The measurement I did was before the reboot, and the core was still being reserved.)

At any rate, I am going to let the CPU work units slowly run out, and see how (and if) the GPU speeds up to try and find out what is really going on.

 

 

this is well documented BOINC behavior. BOINC won’t account for <1 CPU when there’s only 1 GPU. You need to use the app_config to force 1CPU + 1GPU as you had done for BOINC to properly reserve the core. 0.9 means 0.0 to BOINC. 

_________________________________________________________________________

Jim1348
Jim1348
Joined: 19 Jan 06
Posts: 463
Credit: 257957147
RAC: 0

Ian&Steve C. wrote:this is

Ian&Steve C. wrote:
this is well documented BOINC behavior. BOINC won’t account for <1 CPU when there’s only 1 GPU. You need to use the app_config to force 1CPU + 1GPU as you had done for BOINC to properly reserve the core. 0.9 means 0.0 to BOINC. 

Of course.  I have been doing it for years, I just was mislead on this a little.

By the way, I am now running 11 cores on SiDock and reserving one for O3ASE1, and getting times of a little under 15 minutes (1X).  That is the way it should be, and shows that the projects you are running on the other cores does make a difference, even if you reserve one (or more) cores.  

This is largely solved, though I will experiment a bit more.

Jim1348
Jim1348
Joined: 19 Jan 06
Posts: 463
Credit: 257957147
RAC: 0

Ian&Steve C. wrote:this is

Ian&Steve C. wrote:
this is well documented BOINC behavior. BOINC won’t account for <1 CPU when there’s only 1 GPU. You need to use the app_config to force 1CPU + 1GPU as you had done for BOINC to properly reserve the core. 0.9 means 0.0 to BOINC. 

Of course.  I have been doing it for years, I just didn't think about it for a while.

By the way, I am now running 11 cores on SiDock and reserving one for O3ASE1, and getting times of a little under 15 minutes (1X).  That is the way it should be, and shows that the projects you are running on the other cores does make a difference, even if you reserve one (or more) cores.  

This is largely solved, though I will experiment a bit more, and probably end up running 2X, which is more efficient overall.  (But the GPU power at 2X is averaging around 100 watts, which is more than I want for the summer.)

Ian&Steve C.
Ian&Steve C.
Joined: 19 Jan 20
Posts: 3681
Credit: 33832856596
RAC: 37679406

It's been my experience with

It's been my experience with GW GPU, that they routinely use MORE than 100% CPU thread, which realistically means the load flows over into a second thread. you should reserve more than one thread for best performance. a 99% CPU load setting combined with 1CPU+1GPU app_config will accomplish this well enough. especially with only one or even a handful of GPUs. even the most capable of CPUs (5950X) can't quite keep up to keep CPU thread load below 100% (~105% during the main crunching part, ~115% in the beginning, lower CPUs will have more load).

On my systems, I always leave 2-4 threads free anyway even after BOINC resources are allocated, I only run them with 95-98% CPU load setting in BOINC (depending on how many threads the system has), so the CPU load never or very rarely hits 100%, even with the extra load from the GW tasks.

_________________________________________________________________________

Jim1348
Jim1348
Joined: 19 Jan 06
Posts: 463
Credit: 257957147
RAC: 0

Ian&Steve C. wrote: It's

Ian&Steve C. wrote:

It's been my experience with GW GPU, that they routinely use MORE than 100% CPU thread, which realistically means the load flows over into a second thread. you should reserve more than one thread for best performance. a 99% CPU load setting combined with 1CPU+1GPU app_config will accomplish this well enough. especially with only one or even a handful of GPUs. even the most capable of CPUs (5950X) can't quite keep up to keep CPU thread load below 100% (~105% during the main crunching part, ~115% in the beginning, lower CPUs will have more load).

You can always optimize for GPU at the expense of CPU, but running 2X with the support of two cores (and the other ten on SiDock) is working fine for me.  I am getting times of 18 minutes, or 9 minutes per WU as CECHT was getting.  That is good enough for Einstein.

If anything, I am tending more towards the CPUs these days, as they usually have more interesting projects.  I use cores to support GPUs only when it is efficient overall.

mikey
mikey
Joined: 22 Jan 05
Posts: 11889
Credit: 1828125638
RAC: 206202

Jim1348 wrote: If anything,

Jim1348 wrote:

If anything, I am tending more towards the CPUs these days, as they usually have more interesting projects.  I use cores to support GPUs only when it is efficient overall. 

The really good gpu's are too damn expensive these days anyway.

Comment viewing options

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