Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Video Encoding > High Efficiency Video Coding (HEVC)

Reply
 
Thread Tools Search this Thread Display Modes
Old 13th March 2019, 19:43   #1  |  Link
blublub
Registered User
 
Join Date: Jan 2015
Posts: 62
HEVC CPU load with Threadripper - "threading" it right?!

Hi

it has been posted a couple of times that HEVC doesn't fully utilize high core count CPUs in 1080p and even 2160p.

Today I did some testing and I was really surprised at the outcome:

x265 "defaults":
numa-pools=32
frame threads=6

CPU load: 60-75%
Encoding at FPS = 5,9


x265 settings I had used for the last months to improve quality:

numa-pools=32
frame threads=2

CPU load: 65%
Encoding at FPS = 6,2


Since the CPU load was far from utilized 100% I thought it is time to RTFM again. After reading it I set "numa pools = 1" since I have only a 1 Socket CPU.


x265 "numa 1":
numa-pools=1
frame threads=1

CPU load = 2-3%
Encoding at FPS = 0,3


x265 "numa 48":
numa-pools=48
frame threads=1

CPU load = 88%
Encoding at FPS = 7,3


x265 "numa 48 - II":
numa-pools=48
frame threads=2

CPU load = 100%
Encoding at FPS = 7,8


x265 "numa 48 - III":
numa-pools=48
frame threads=3

CPU load = 100%
Encoding at FPS = 8,2


So increasing numa-pools does help with CPU utilization and speed. With frame-thread=2 the load was 100%.
Increasing numa-pools over 48 did not increase CPU load or speed in FPS any further for me.

Also when using standard numa-pools of 32 increasing frame-threads over 1 only seems to speed up the encode until a value of 2 as it can be seen that the encode with frame-thread 6 is a tad slower than with 2.
But a frame-thread value of 2 or 3 can see a real benefit after increasing the number of numa-pool to 48 since FPS maximum was 8,2 with frame-threads=3 and numa-pools=48.
Further increasing frame-threads to 5 did not result in higher FPS.

So question is: Is there any disadvantage with using high numa-pools as there is quality degradation when using higher frame-threads?

cheers

Last edited by blublub; 14th March 2019 at 13:21. Reason: Added more results and re-run 1st batch. Removed erronous result with 9fps.
blublub is offline   Reply With Quote
Old 13th March 2019, 20:22   #2  |  Link
sneaker_ger
Registered User
 
Join Date: Dec 2002
Posts: 5,267
Which Threadripper do you have? What OS?

Have you tried something like --numa-pools "12,12,12,12" ? --pmode? --pme? Reduced CTU max size?


I guess with that many threads it might be time to switch to running parallel instances running on different parts of a movie (like RipBot implements).

Last edited by sneaker_ger; 13th March 2019 at 20:29.
sneaker_ger is offline   Reply With Quote
Old 13th March 2019, 20:43   #3  |  Link
blublub
Registered User
 
Join Date: Jan 2015
Posts: 62
Quote:
Originally Posted by sneaker_ger View Post
Which Threadripper do you have? What OS?

Have you tried something like --numa-pools "12,12,12,12" ? --pmode? --pme? Reduced CTU max size?


I guess with that many threads it might be time to switch to running parallel instances running on different parts of a movie (like RipBot implements).
Hi I have the 16c 2950x and use Win 10 Prof.

I already used CTU=32 and qg-size=16 in all my tests and all previous encodes.
I tried pme and pmode but I did neither observe more FPS or or a really higher CPU load.
That's why I started fiddling with numa-pools.

What does "--numa-pools "12,12,12,12" do?

EDIT: found it in the PDF. But I still have no idea which setting is a wise choice ;-)

EDIT2: "--numa-pools "12,12,12,12" only results in a CPU load around 50%

Last edited by blublub; 13th March 2019 at 20:57.
blublub is offline   Reply With Quote
Old 13th March 2019, 21:36   #4  |  Link
Selur
Registered User
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 5,799
@blublub: out of curiosity: What CPU usage do you get when not specifying numa-pools and frame threads? (not sure whether the 'defaults' referred to this or if you explicitly specified the values)
__________________
Hybrid here in the forum, homepage
Selur is offline   Reply With Quote
Old 13th March 2019, 22:09   #5  |  Link
blublub
Registered User
 
Join Date: Jan 2015
Posts: 62
Quote:
Originally Posted by Selur View Post
@blublub: out of curiosity: What CPU usage do you get when not specifying numa-pools and frame threads? (not sure whether the 'defaults' referred to this or if you explicitly specified the values)

The defaults I posted in my 1st post are the x265 default for those2 options ;-)

Last edited by blublub; 13th March 2019 at 22:52.
blublub is offline   Reply With Quote
Old 13th March 2019, 22:59   #6  |  Link
blublub
Registered User
 
Join Date: Jan 2015
Posts: 62
Ok after a little more testing:

numa-pools = 36 or 38 does max out the CPU with frame-threads=2. With frame-threads=1 it pretty much takes numa-pools to be 48.
When I lower numa-pools and enable "pme" the CPU load does go up by about 5-8% but speed seems to be reduced by a lot - so that hurts encoding speed it seems.

Is anyone using high core count Xeons, maybe a 3175x? I am interested what other users do to max out the CPU. I just have hard time to believe that encoding multiple jobs at the same time is the only solution.
blublub is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 18:45.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.