Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

UMC H264 Processor Resource Usage

david_jacksonipfx_co
376 Views
In the process of testing the UMC H246 encoder, we have noticed that as we increase the video resolution the encoding process becomes more time-consuming and CPU intensive, this is obviously be expected.

The problem is that when we try running this code on multi-cored machines, the encoder only ever seems to use 1 core at a time, effectively serializing the encode process and forming a bottleneck.

We have tried altering the number of threads/slices in the encoder parameters; however this makes no difference to the number of threads created and the encoder still only uses a single core.

Can you please advise if it is possible to configure the H246 encoder to make more effective usage of the available processor resources? If so, is a possible to supply an example configuration.
0 Kudos
3 Replies
PaulF_IntelCorp
Employee
376 Views
Hello David,

The H.264 encoder should, by default, utilize as many threads as you have logical cores (via OpenMP). Can you confirm that your system "sees" multiple cores? (Note that an HT physical core should appear as two logical cores.)

On a Windows system the easiest way to confirm that your system sees multiple logical cores is to bring up the Task Manager and look at the Performance tab. In the CPU Usage History area of the dialog box you'll have one graph per logical core.

Are you using the dynamic linking model? Which version of the IPP library are you using?

Regards,

Paul
0 Kudos
david_jacksonipfx_co
376 Views
Hello David,

The H.264 encoder should, by default, utilize as many threads as you have logical cores (via OpenMP). Can you confirm that your system "sees" multiple cores? (Note that an HT physical core should appear as two logical cores.)

On a Windows system the easiest way to confirm that your system sees multiple logical cores is to bring up the Task Manager and look at the Performance tab. In the CPU Usage History area of the dialog box you'll have one graph per logical core.

Are you using the dynamic linking model? Which version of the IPP library are you using?

Regards,

Paul

Hi Paul,
The Task Manager displays 4 CPU Usage History Graphs and we are using IPP 6.1 with dynamic linking.
Regards
David
0 Kudos
shyaki
Beginner
376 Views

Hi Paul,
The Task Manager displays 4 CPU Usage History Graphs and we are using IPP 6.1 with dynamic linking.
Regards
David

As I know, the IntelH264threading is mainly slice-based. Unless your file has multiple slices per frame, as AVCHD, the IntelH264Encoder won't able to take advantage of multiple cores.
0 Kudos
Reply