Intel® Xeon® Processor Skylake-SP Product Families Based Platform Linux* PTU., Rev 1.3
Intel Confidential
*** Non-Disclosure Agreement (NDA) Required ***
Installing the Program
Log into your Linux system as root, and extract the archive into
root’s home directory:
tar xvfz ptu_xeon_skx_rev?.?.tgz
Running the program
cd [installed directory>]
./ptugen
or
./ptumon
PTU Usage - ptugen
NAME:
ptugen - PTU power generator for CPU & Memory.
COMMAND-LINE Options:
The command-line syntax for ./ptugen consists of:
-h | [-cpu bitmask] [-core bitmask] [-p power_level] [-ct cpu_test] [-mt mem_test] [-t run_time]
[-b core_turbo] [-u uncore_turbo] [-s1 pmax_pre-sync] [-s2 pmax_post-sync] [-y] [-q] [-n] [-av avx_version]
Example#1 (Run TDP test on all sockets until ctrl-c is applied to stop): ./ptugen
Example#2 (Run nearTDP test on all sockets until ctrl-c is applied to stop): ./ptugen -n 1
Example#3 (Run TDP on CPU 0 only for 30 secs): ./ptugen -cpu 0x1 -t 30
Example#4 (Run Core Power Level on CPU 0 & 1 for 60 secs and 50% power): ./ptugen -cpu 0x3 -ct 2 -t 60 -p 50
Example#5 (Run CoreAVX on CPU 1 only for 10sec and turn off turbo): ./ptugen -cpu 0x2 -ct 3 -t 10 -b 0
Example#6 (Run Pmax on all CPUs for 30 mins): ./ptugen -ct 4 -t 1800
Example#7 (Run Pmax with Turbo & AVX3/AVX512): ./ptugen -ct 4 -b 1 -av 3
Example#8 (Run Pmax with Turbo & AVX2/AVX256): ./ptugen -ct 4 -b 1 -av 2
Example#9 (Run TDP and memory write test together): ./ptugen -ct 1 -mt 2
-cpu : CPU bitmask (in hex)
Specify the cpu(s) in bitmask to run the test.
The default value is all 1's (64-bit).
-core : Core bitmask (in hex)
Specify the core(s) in bitmask to run the test.
The default value is all 1's (64-bit).
-p : Power level <100, 90, 80, 70, 60, 50>
Specify the power level to stress the target device.
The default value is 100.
-ct : CPU test selection
Specify the cpu test value.
0 = None.
1 = TDP test.
2 = Core power Level Test.
3 = Core AVX test.
4 = PMAX test.
5 = PMAX.App test.
The default value is 1.
-mt : Memory test selection
Specify the memory test value.
0 = none.
1 = Read test.
2 = Write test.
3 = Read/Write test.
The default value is 0.
-t : Run time
Specify the time in seconds to run the test.
Test will run forever when the value is 0.
The default value is 0.
-b : Core Turbo
Specify 0 or 1 (0=Disable Turbo, 1=Enable Turbo).
-u : Uncore Turbo
Specify 0 or 1 (0=Disable Turbo, 1=Enable Turbo).
-n : Enable near-TDP
This option is to enable near-TDP.
NOTE: Near-TDP feature is valid for TDP test only (-ct 1).
-s1 : Pmax Pre-Sync Time
Enter 1 - 60 (in seconds), 0=Random.
-s2 : Pmax Post-Sync Time
Enter 1 - 300 (in seconds), 0=Random.
-y : License acceptance
Specify this option to accept the license agreement.
-q : Quiet
Suppress output messages.
-h : Help
Shows the version and usage.
-av : AVX version for CoreAVX and Pmax tests
Specify value 1 - 3. (1=AVX128; 2=AVX256; 3=AVX512)
PTU Usage - ptumon
NAME:
ptumon - PTU power monitor for CPU & Memory.
COMMAND-LINE Options:
The command-line syntax for ./ptumon consists of:
-h | [-cpu bitmask] [-core bitmask] [-d CPU|MEM|CPUMEM] [-i time] [-l] [-t time] [-y] [-csv]
Example#1 (Run PTUMON to show detailed on both CPU & MEM): ./ptumon -l
Example#2 (Run PTUMON in short version for 1 sec): ./ptumon -t 1
Example#3 (Run PTUMON to show CPU device only): ./ptumon -d CPU
Example#4 (Run PTUMON to show in CSV format and save to a log file): ./ptumon -csv | tee ptu_log.csv
Example#5 (Run PTUMON for 30 secs to log only): ./ptumon -t 30 &> ptu_30s.log
Example#6 (Run PTUMON for 15 secs on Memory device only): ./ptumon -t 15 -d MEM
Example#7 (Run PTUMON on socket 1 only and core 4 only): ./ptumon -cpu 0x2 -core 0x10
-cpu : CPU bitmask (in hex)
Specify the cpu(s) in bitmask to run the test.
The default value is all 1's (64-bit).
-core : Core bitmask (in hex)
Specify the core(s) in bitmask to run the test.
The default value is all 1's (64-bit).
-d : Target device
Specify the target device that will be monitored.
The accepted values for this option are CPU, MEM or CPUMEM.
The default value is CPUMEM.
-i : Interval time
Specify the interval time in milliseconds.
The accepted values for this option are 100 to 5000.
The default value is 1000.
-l : Long version
Displays detailed information of the monitored device.
-t : Run time
Specify the time in seconds to run the monitor.
Monitor will run forever when the value is 0.
The default value is 0.
-y : License acceptance
Specify this option to accept the license agreement.
-csv : Comma-separated values format
Specify this option to output data in csv format.
-h : Help
Shows the version and usage.
FIELDS / Columns
TIME -- The time in local time of the monitored machine.
CPU -- The CPU number of the monitored CPU/memory.
CORE -- The core number of the monitored CPU.
THREAD -- The thread number of the monitored core.
C-FREQ -- The current frequency in Gigahertz (GHz) for CPU/core. * means Turbo enabled,
U-FREQ -- The current frequency in Gigahertz (GHz) for uncore.
USAGE -- The current utilization in Percentage (%) for CPU/core.
TEMP -- The current temperature in Celsius (C) degrees for CPU/core/memory.
DTS -- The current DTS in Celsius degrees for CPU/core.
VOLT -- The current voltage in Volts (V) for CPU.
POWER -- The current power in Watts (W) for CPU/memory.
T_STAT -- This indicates the thermal status of the monitored CPU.
For CPU device, it monitors thermal throttle, PROCHOT, critical temperature, Pmax detector.
T_LOG -- This indicates the thermal status log of the monitored CPU.
For CPU device, it monitors thermal throttle log, PROCHOT log, critical temperature log, Pmax status log.
STAT & T-LOG Bit Desctiption:
Bit[0] Thermal Throttle - this indicates whether the thermal sensor high temperature signal is active.
Bit[1] PROCHOT - this indicates whether PROCHOT# signal is asserted.
Bit[2] Critical Temperature - this indicates whether the temperature is above the max. operating temperature.
Bit[3] Pmax - this indicates whether PMAX detector circuit has asserted.
T_MARGIN -- This indicates the thermal margin of the monitored CPU.
MC -- The memory controller number of the monitored memory.
CHNL -- The memory channel number of the monitored memory.
DIMM -- The DIMM slot number of the monitored memory.