wRTOSProcHybridInfo

Beginning with Raptor Lake (13th/14th Gen) and Alder Lake (12th Gen), Intel® provides a performance hybrid architecture combining Performance-cores (P-cores) and Efficient-cores (E-cores). UEFI BIOS orders the active cores on the system from P-cores to E-cores; i.e., if you have 4 P-cores and 4 E-cores, the processor numbers assigned to P-cores will be 0, 1, 2, 3 and the E-cores will be 4, 5, 6, 7.

To optimize wRTOS performance on a hybrid architecture, run the wRTOSProcHybridInfo utility before you design wRTOS applications. You may need to assign (affine) P-cores to those processes/threads with high priority and requiring intensive computing. Assign (affine) E-cores to those processes/threads with low priority and executing background tasks.

Intel® also provides a new hardware feature called Thread Director, which monitors thread run time instructions to determine a thread’s workload, which is then assigned to a class. Thread Director uses its energy and performance core scoring logic to help determine the optimal cores on which to run a given thread.

The wRTOSProcHybridInfo utility displays core type, performance capability for each active system core, and thread class ID for different sets of assembly instructions when running on each RTSS core. You can use this information when deciding which cores to run threads on.

Instruction set Class ID

Default

0

Integer Registers

1

AVX/AVX2

2

Pause

3

Running the Utility

Note: Run wRTOSProcHybridInfo after wRTOS starts.

In a Command Prompt, type: RtssRun wRTOSProcHybridInfo.rtss

Output

Output

Meaning

The processor is a hybrid part

The processor is Intel® Raptor Lake (13th/14th Gen) or Alder Lake (12th Gen).

Intel Thread Director (ITD) is supported

The processor has Thread Director capability.

Intel Thread Director (ITD) is enabled at package scope

The Thread Director is enabled at package scope by wRTOS.

Number of classes in hardware feedback structure

The number of thread characteristic classes in each capability.

Number of capabilities in hardware feedback structure

The number of available capabilities (usually 2).

HRESET Enabled

Allows history to be reset upon thread switching.

ProcIndex

The index in the hardware feed structure for the specified core.

The processor is not a hybrid part

The system is not a performance hybrid architecture.

Example

These results were generated by running wRTOSProcHybridInfo on an Intel Core i7 (12th Gen) i7_12700 processor with 2 cores assigned to Windows (W) and 10 cores assigned to RTSS (R).

C:\>RtssRun wRTOSProcHybridInfo
The processor is a hybrid part.
Intel Thread Director (ITD) is supported.
Intel Thread Director (ITD) is enabled at package scope.
Number of classes in hardware feedback structure: 4
Number of capabilities in hardware feedback structure: 2
------------------------------------
Performance cores and Efficiency cores layout. ITD, HRESET, Processor index
Core- 0 W: P_Core, ITD Enabled, HRESET Enabled, ProcIndex 0
Core- 1 W: P_Core, ITD Enabled, HRESET Enabled, ProcIndex 1
Core- 2 R: P_Core, ITD Enabled, HRESET Enabled, ProcIndex 2
Core- 3 R: P_Core, ITD Enabled, HRESET Enabled, ProcIndex 3
Core- 4 R: P_Core, ITD Enabled, HRESET Enabled, ProcIndex 4
Core- 5 R: P_Core, ITD Enabled, HRESET Enabled, ProcIndex 5
Core- 6 R: P_Core, ITD Enabled, HRESET Enabled, ProcIndex 6
Core- 7 R: P_Core, ITD Enabled, HRESET Enabled, ProcIndex 7
Core- 8 R: E_Core, ITD Enabled, HRESET Enabled, ProcIndex 9
Core- 9 R: E_Core, ITD Enabled, HRESET Enabled, ProcIndex 9
Core-10 R: E_Core, ITD Enabled, HRESET Enabled, ProcIndex 9
Core-11 R: E_Core, ITD Enabled, HRESET Enabled, ProcIndex 9
------------------------------------
Performance Capability (0 ... 255), higher values indicate higher performance
Core- 0 W: Class 0: 0x3d, Class 1: 0x48, Class 2: 0x60, Class 3: 0x30
Core- 1 W: Class 0: 0x3d, Class 1: 0x48, Class 2: 0x60, Class 3: 0x30
Core- 2 R: Class 0: 0x3d, Class 1: 0x48, Class 2: 0x60, Class 3: 0x30
Core- 3 R: Class 0: 0x3d, Class 1: 0x48, Class 2: 0x60, Class 3: 0x30
Core- 4 R: Class 0: 0x3f, Class 1: 0x4a, Class 2: 0x62, Class 3: 0x31
Core- 5 R: Class 0: 0x3d, Class 1: 0x48, Class 2: 0x60, Class 3: 0x30
Core- 6 R: Class 0: 0x3f, Class 1: 0x4a, Class 2: 0x62, Class 3: 0x31
Core- 7 R: Class 0: 0x3d, Class 1: 0x48, Class 2: 0x60, Class 3: 0x30
Core- 8 R: Class 0: 0x24, Class 1: 0x24, Class 2: 0x24, Class 3: 0x24
Core- 9 R: Class 0: 0x24, Class 1: 0x24, Class 2: 0x24, Class 3: 0x24
Core-10 R: Class 0: 0x24, Class 1: 0x24, Class 2: 0x24, Class 3: 0x24
Core-11 R: Class 0: 0x24, Class 1: 0x24, Class 2: 0x24, Class 3: 0x24
------------------------------------
Thread class ID and ideal core per ISA instruction type running on RTSS cores
Core- 2 R: INTEGER: 1, Ideal-Core: 4, AVX2: 2, Ideal-Core: 4, PAUSE: 3, Ideal-Core: 4
Core- 3 R: INTEGER: 1, Ideal-Core: 4, AVX2: 2, Ideal-Core: 4, PAUSE: 3, Ideal-Core: 4
Core- 4 R: INTEGER: 1, Ideal-Core: 4, AVX2: 2, Ideal-Core: 4, PAUSE: 3, Ideal-Core: 4
Core- 5 R: INTEGER: 1, Ideal-Core: 4, AVX2: 2, Ideal-Core: 4, PAUSE: 3, Ideal-Core: 4
Core- 6 R: INTEGER: 1, Ideal-Core: 6, AVX2: 2, Ideal-Core: 6, PAUSE: 3, Ideal-Core: 6
Core- 7 R: INTEGER: 1, Ideal-Core: 4, AVX2: 2, Ideal-Core: 4, PAUSE: 3, Ideal-Core: 4
Core- 8 R: INTEGER: 0, Ideal-Core: 4, AVX2: 0, Ideal-Core: 4, PAUSE: 0, Ideal-Core: 4
Core- 9 R: INTEGER: 0, Ideal-Core: 4, AVX2: 0, Ideal-Core: 4, PAUSE: 0, Ideal-Core: 4
Core-10 R: INTEGER: 0, Ideal-Core: 4, AVX2: 0, Ideal-Core: 4, PAUSE: 0, Ideal-Core: 4
Core-11 R: INTEGER: 0, Ideal-Core: 4, AVX2: 0, Ideal-Core: 4, PAUSE: 0, Ideal-Core: 4

Related topics: