POV-Ray : Newsgroups : povray.general : Does POV not use Intel's "performance" cores? Server Time
13 Aug 2022 10:40:47 EDT (-0400)
  Does POV not use Intel's "performance" cores? (Message 1 to 7 of 7)  
From: Scott
Subject: Does POV not use Intel's "performance" cores?
Date: 28 Jul 2022 03:05:00
Message: <web.62e234725b4be65419ad958a2fdca92@news.povray.org>
So I just got a new CPU (i9-12900) and it seems POV only uses 8 out of the 24
threads available, no matter what setting of +wt or menu option for thread
usage.

This CPU has 8 "efficiency" cores (with no hyperthreading, so 8 threads), and 8
"performance" cores (with hyperthreading, so 16 threads). This gives the total
of 24 threads, and POV correctly detects this as it tells me the benchmark is
going to use 24 threads.

However, it only ever uses 8 logical cores (as seen in task manager), which
leads me to believe it's using only the efficiency cores? See attached
screenshot of task manager, and below is the text from the benchmark:

CPU time used: kernel 0.19 seconds, user 700.03 seconds, total 700.22 seconds.
Elapsed time 90.20 seconds, CPU vs elapsed time ratio 7.76.
Render averaged 2906.28 PPS (374.37 PPS CPU time) over 262144 pixels using 24
thread(s).

Is this a known issue, or am I missing something?


Post a reply to this message


Attachments:
Download 'task manager.png' (67 KB)

Preview of image 'task manager.png'
task manager.png


 

From: Thorsten
Subject: Re: Does POV not use Intel's "performance" cores?
Date: 28 Jul 2022 03:31:44
Message: <62e23b60$1@news.povray.org>
Hello,

it is the operating system, not the application that decides which cores 
get used by which thread. You may want to check the energy efficiency 
settings of your operating system as they might assign all threads to 
just 8 of the cores for some reason.

Thorsten

On 28.07.2022 09:02, Scott wrote:
> So I just got a new CPU (i9-12900) and it seems POV only uses 8 out of the 24
> threads available, no matter what setting of +wt or menu option for thread
> usage.

> However, it only ever uses 8 logical cores (as seen in task manager), which
> leads me to believe it's using only the efficiency cores? See attached
> screenshot of task manager, and below is the text from the benchmark:

> CPU time used: kernel 0.19 seconds, user 700.03 seconds, total 700.22 seconds.
> Elapsed time 90.20 seconds, CPU vs elapsed time ratio 7.76.
> Render averaged 2906.28 PPS (374.37 PPS CPU time) over 262144 pixels using 24
> thread(s).
> 
> Is this a known issue, or am I missing something?


Post a reply to this message

From: Scott
Subject: Re: Does POV not use Intel's "performance" cores?
Date: 28 Jul 2022 04:30:00
Message: <web.62e24819ac2f40e419ad958a2fdca92@news.povray.org>
Thorsten <tho### [at] trfde> wrote:
> Hello,
>
> it is the operating system, not the application that decides which cores
> get used by which thread. You may want to check the energy efficiency
> settings of your operating system as they might assign all threads to
> just 8 of the cores for some reason.

Other applications use all 24 logical cores (Keyshot and CFD simulation tool),
and I certainly haven't made any changes in the OS specifically for POV as I
just installed it fresh. I'll carry on with some googling to find out what's
going on and if others have seen this with other apps.


Post a reply to this message

From: Scott
Subject: Re: Does POV not use Intel's "performance" cores?
Date: 28 Jul 2022 04:40:00
Message: <web.62e24a68ac2f40e419ad958a2fdca92@news.povray.org>
Thorsten <tho### [at] trfde> wrote:
> Hello,
>
> it is the operating system, not the application that decides which cores
> get used by which thread. You may want to check the energy efficiency
> settings of your operating system as they might assign all threads to
> just 8 of the cores for some reason.

OK I found the issue.

Render Priority in POV menu of "Normal" (the default) sets the render priority
as "Below Normal" in task manager, which limits it to only using Efficiency
cores.

If I set Render Priority to "High" in POV, this corresponds to "Above Normal" in
task manager, which makes the whole system quite unresponsive, but does use all
cores.

The solution is to keep priority as "Normal" in POV, then immediately after
starting the render, go into Task Manager and change the priority of the POV
process to Normal. This then makes it use all logical cores.

A bit inconvenient, I wonder why "Normal" in POV is converted to "Below Normal"
in task manager?


Post a reply to this message

From: Scott
Subject: Re: Does POV not use Intel's "performance" cores?
Date: 28 Jul 2022 08:15:00
Message: <web.62e27d4fac2f40e419ad958a2fdca92@news.povray.org>
"Scott" <spa### [at] spamcom> wrote:
> Thorsten <tho### [at] trfde> wrote:
> > Hello,
> >
> > it is the operating system, not the application that decides which cores
> > get used by which thread. You may want to check the energy efficiency
> > settings of your operating system as they might assign all threads to
> > just 8 of the cores for some reason.
>
> OK I found the issue.
>
> Render Priority in POV menu of "Normal" (the default) sets the render priority
> as "Below Normal" in task manager, which limits it to only using Efficiency
> cores.
>
> If I set Render Priority to "High" in POV, this corresponds to "Above Normal" in
> task manager, which makes the whole system quite unresponsive, but does use all
> cores.
>
> The solution is to keep priority as "Normal" in POV, then immediately after
> starting the render, go into Task Manager and change the priority of the POV
> process to Normal. This then makes it use all logical cores.
>
> A bit inconvenient, I wonder why "Normal" in POV is converted to "Below Normal"
> in task manager?

According to POV source code (windows/pvengine.cpp line 1029) this is the
defined behaviour, the default "Normal" priority within POV in fact sets the
Windows process priority to BELOW_NORMAL_PRIORITY_CLASS, which in turn means
Windows treats this as a low priority task and will only schedule it on
efficiency cores, leaving the performance cores sat idle. I can compile a new
version to get around this once I get VS installed, but others may not be
capable of doing this. I assume this is going to become more of an issue once
Intel's efficiency/performance core architecture filters down to more CPUs.


Post a reply to this message

From: Alain Martel
Subject: Re: Does POV not use Intel's "performance" cores?
Date: 28 Jul 2022 12:10:13
Message: <62e2b4e5$1@news.povray.org>
Le 2022-07-28 à 04:35, Scott a écrit :
> Thorsten <tho### [at] trfde> wrote:
>> Hello,
>>
>> it is the operating system, not the application that decides which cores
>> get used by which thread. You may want to check the energy efficiency
>> settings of your operating system as they might assign all threads to
>> just 8 of the cores for some reason.
> 
> OK I found the issue.
> 
> Render Priority in POV menu of "Normal" (the default) sets the render priority
> as "Below Normal" in task manager, which limits it to only using Efficiency
> cores.
> 
> If I set Render Priority to "High" in POV, this corresponds to "Above Normal" in
> task manager, which makes the whole system quite unresponsive, but does use all
> cores.
> 
> The solution is to keep priority as "Normal" in POV, then immediately after
> starting the render, go into Task Manager and change the priority of the POV
> process to Normal. This then makes it use all logical cores.
> 
> A bit inconvenient, I wonder why "Normal" in POV is converted to "Below Normal"
> in task manager?
> 
> 
> 
Use the high priority with +wt22. That'll leave two cores for other 
tasks. Or, use +wt23, leaving 1 core for the OS and other processes. You 
may want to add that switch directly in quickres.ini


Post a reply to this message

From: Scott
Subject: Re: Does POV not use Intel's "performance" cores?
Date: 2 Aug 2022 05:40:00
Message: <web.62e8f0d4ac2f40e419ad958a2fdca92@news.povray.org>
> > The solution is to keep priority as "Normal" in POV, then immediately after
> > starting the render, go into Task Manager and change the priority of the POV
> > process to Normal. This then makes it use all logical cores.
> >
> > A bit inconvenient, I wonder why "Normal" in POV is converted to "Below Normal"
> > in task manager?
> >
> >
> >
> Use the high priority with +wt22. That'll leave two cores for other
> tasks. Or, use +wt23, leaving 1 core for the OS and other processes. You
> may want to add that switch directly in quickres.ini

Good idea, I found I need to go down to +wt20 to keep the OS properly responsive
(+wt22 is still very slow for opening apps etc). Going down from +wt24 to +wt20
increases render times on an example from 67 to 74 seconds, which is fine for
short test renders.


Post a reply to this message

Copyright 2003-2021 Persistence of Vision Raytracer Pty. Ltd.