# Invocation command line:
# /home/cpu2017-1.1.9-amd-aocc500_znver5_A1.2/bin/harness/runcpu --configfile amd_rate_aocc500_znver5_A1.cfg --tune all --reportable --iterations 3 --nopower --runmode rate --tune base:peak --size test:train:refrate fprate
# output_root was not used for this run
############################################################################
## edit energy analyzer information
power_analyzer = WIN:9888
temp_meter = WIN:9889
################################################################################
# AMD AOCC 500 SPEC CPU 2017 V1.1.9 Rate Configuration File for 64-bit Linux
#
# File name : amd_rate_aocc500_znver5_A1.cfg
# Creation Date : September 12, 2024
# CPU 2017 Version : 1.1.9
# Supported benchmarks : All Rate benchmarks (intrate, fprate)
# Compiler name/version : AOCC 5.0.0
# Operating system version : RHEL 8.6
# Supported OS's : SLE 15 SP6, Ubuntu 22.04-24.04, RHEL 9.x, RHEL 8.6
# Hardware : AMD Turin (AMD64)
# FP Base Pointer Size : 64-bit
# FP Peak Pointer Size : 64-bit
# INT Base Pointer Size : 64-bit
# INT Peak Pointer Size : 32/64-bit
# Auto Parallelization : No
#
# Note: DO NOT EDIT THIS FILE, the only edits required to properly run these
# binaries are made in the ini Python file. Please consult Readme.amd_rate_aocc500_znver5_A1.txt
# for a few uncommon exceptions which require edits to this file.
#
# Description:
#
# This binary package automates away many of the complexities necessary to set
# up and run SPEC CPU 2017 under optimized conditions on AMD Turin-based
# server platforms within Linux (AMD64).
#
# The binary package was built specifically for AMD Turin microprocessors and
# is not intended to run on other products.
#
# Please install the binary package by following the instructions in
# "Readme.amd_rate_aocc500_znver5_A1.txt" under the "How To Use the Binaries" section.
#
# The binary package is designed to work without alteration on two socket AMD
# Turin-based servers with 96 cores per socket, SMT enabled and 1.5 TiB of DDR5
# memory distributed evenly among all 24 channels using 64 GiB DIMMs.
#
# To run the binary package on other Turin configurations, please review
# "Readme.amd_rate_aocc500_znver5_A1.txt". In general, Turin CPUs
# should be autodetected with no action required by the user.
#
# In most cases, it should be unnecessary to edit "amd_rate_aocc500_znver5_A1.cfg" or any
# other file besides "ini_amd_rate_aocc500_znver5_A1.py" where reporting fields
# and run conditions are set.
#
# The run script automatically sets the optimal number of rate copies and binds
# them appropriately.
#
# The run script and accompanying binary package are designed to work on Ubuntu
# 22.04-24.04, SLE 15 SP6, RHEL 9.x, RHEL 8.6.
#
# Important! If you write your own run script, please set the stack size to
# "unlimited" when executing this binary package. Failure to do so may cause
# some benchmarks to overflow the stack. For example, to set stack size within
# the bash shell, include the following line somewhere at the top of your run
# script before the runcpu invocation:
#
# ulimit -s unlimited
#
# Modification of this config file should only be necessary if you intend to
# rebuild the binaries. General instructions for rebuilding the binaries are
# found in-line below.
#
################################################################################
# Modifiable macros:
################################################################################
# "allow_build"" switch:
# Change the following line to true if you intend to REBUILD the binaries (AMD
# does not support this). Valid values are "true" or "false" (no quotes).
%define allow_build false
# Only change these macros if you are rebuilding the binary package:
%define compiler_name aocc500
%define binary_package_name amd_rate_%{compiler_name}_znver5_A
%define binary_package_ext %{binary_package_name}
%define binary_package_revision 1
%define build_path /home/work/cpu2017/v119/aocc5/1316
%define flags_file_name %{compiler_name}-flags-A1.xml
# Do NOT change build_lib_dir after the build or it will trigger a
# rebuild of the xalanc. It should also remain literal:
%define build_lib_dir %{binary_package_name}_lib
# To enable the platform file, be sure to uncomment the flagsurl02 header line
# below in the Header settings.
%define platform_file_name INVALID_platform_%{binary_package_name}.xml
################################################################################
# You should never have to change binary_package_full_name:
%define binary_package_full_name %{binary_package_name}%{binary_package_revision}
################################################################################
# Include file names
################################################################################
# The include file contains fields that are commonly changed. This file is auto-
# generated based upon INI file settings and should not need user modification
# for runs. The flags include file contains all of the compiler flags.
%define inc_file_name %{binary_package_full_name}.inc
%define flags_inc_file_name %{binary_package_full_name}_flags.inc
%define port_flags_inc_file_name %{binary_package_full_name}_flags_portability.inc
%define workaround_flags_inc_file_name %{binary_package_full_name}_flags_workaround.inc
# Binary label extension:
# Only modify the binary label extension if you plan to rebuild the binaries.
# If you plan to recompile these CPU 2017 binaries, please choose a new extension
# name below to avoid confusion with the current binary set on your system
# under test, and to avoid confusion for SPEC submission reviewers. You will
# also need to set "allow_build" to true above. Finally, you must modify the
# Paths section below to point to your library locations if the paths are not
# already set up in your build environment.
# Note that AMD calls an external script to set up the compiler and library
# paths before initiating the build.
%define ext %{binary_package_ext}
################################################################################
# Paths and Environment Variables
# ** MODIFY AS NEEDED (modification should not be necessary for runs) **
################################################################################
# Allow environment variables to be set before runs:
preenv = 1
# Necessary to avoid out-of-memory exceptions on certain SUTs:
preENV_MALLOC_CONF = retain:true
# Define the name of the directory that holds AMD library files:
%define lib_dir %{binary_package_name}_lib
# Set the shared object library path for runs and builds:
preENV_LD_LIBRARY_PATH = $[top]/%{lib_dir}/lib:$[top]/%{lib_dir}/lib32:%{ENV_LD_LIBRARY_PATH}
# Define 32-bit library build paths:
# Do NOT use $[top] with the 32-bit libraries because doing so will cause an
# options checksum error triggering a xalanc recompile attempt on SUTs having
# different file paths.
# Do NOT change build_lib_dir after the build or it will also trigger a
# rebuild of the xalanc:
AMDALLOC_LIB32_PATH = %{build_path}/%{build_lib_dir}/lib32
%if '%{allow_build}' eq 'false'
# The include file is only needed for runs, but not for builds.
# include: %{inc_file_name}
# ----- Begin inclusion of 'amd_rate_aocc500_znver5_A1.inc'
############################################################################
################################################################################
################################################################################
# File name: amd_rate_aocc500_znver5_A1.inc
# File generation code date: September 23, 2022
# File generation date/time: March 23, 2025 / 06:25:36
#
# This file is automatically generated during a SPEC CPU2017 run.
#
# To modify inc file generation, please consult the readme file or the run
# script.
################################################################################
################################################################################
################################################################################
################################################################################
# The following macros are generated for use in the cfg file.
################################################################################
################################################################################
%define logical_core_count 128
%define physical_core_count 128
################################################################################
# The following inc blocks set the rate copy counts and affinity settings.
#
# intrate benchmarks: 500.perlbench_r,502.gcc_r,505.mcf_r,520.omnetpp_r,
# 523.xalancbmk_r,525.x264_r,531.deepsjeng_r,541.leela_r,548.exchange2_r,
# 557.xz_r
# fpspeed benchmarks: 503.bwaves_r,507.cactuBSSN_r,519.lbm_r,521.wrf_r,
# 527.cam4_r,538.imagick_r,544.nab_r,549.fotonik3d_r,554.roms_r
#
# Selected copy counts from '9745' section of CPU info
################################################################################
# default copy counts:
default:
copies = 128
# Bind commands for assigning affinity:
bind0 = numactl --localalloc --physcpubind=0
bind1 = numactl --localalloc --physcpubind=1
bind2 = numactl --localalloc --physcpubind=2
bind3 = numactl --localalloc --physcpubind=3
bind4 = numactl --localalloc --physcpubind=4
bind5 = numactl --localalloc --physcpubind=5
bind6 = numactl --localalloc --physcpubind=6
bind7 = numactl --localalloc --physcpubind=7
bind8 = numactl --localalloc --physcpubind=8
bind9 = numactl --localalloc --physcpubind=9
bind10 = numactl --localalloc --physcpubind=10
bind11 = numactl --localalloc --physcpubind=11
bind12 = numactl --localalloc --physcpubind=12
bind13 = numactl --localalloc --physcpubind=13
bind14 = numactl --localalloc --physcpubind=14
bind15 = numactl --localalloc --physcpubind=15
bind16 = numactl --localalloc --physcpubind=16
bind17 = numactl --localalloc --physcpubind=17
bind18 = numactl --localalloc --physcpubind=18
bind19 = numactl --localalloc --physcpubind=19
bind20 = numactl --localalloc --physcpubind=20
bind21 = numactl --localalloc --physcpubind=21
bind22 = numactl --localalloc --physcpubind=22
bind23 = numactl --localalloc --physcpubind=23
bind24 = numactl --localalloc --physcpubind=24
bind25 = numactl --localalloc --physcpubind=25
bind26 = numactl --localalloc --physcpubind=26
bind27 = numactl --localalloc --physcpubind=27
bind28 = numactl --localalloc --physcpubind=28
bind29 = numactl --localalloc --physcpubind=29
bind30 = numactl --localalloc --physcpubind=30
bind31 = numactl --localalloc --physcpubind=31
bind32 = numactl --localalloc --physcpubind=32
bind33 = numactl --localalloc --physcpubind=33
bind34 = numactl --localalloc --physcpubind=34
bind35 = numactl --localalloc --physcpubind=35
bind36 = numactl --localalloc --physcpubind=36
bind37 = numactl --localalloc --physcpubind=37
bind38 = numactl --localalloc --physcpubind=38
bind39 = numactl --localalloc --physcpubind=39
bind40 = numactl --localalloc --physcpubind=40
bind41 = numactl --localalloc --physcpubind=41
bind42 = numactl --localalloc --physcpubind=42
bind43 = numactl --localalloc --physcpubind=43
bind44 = numactl --localalloc --physcpubind=44
bind45 = numactl --localalloc --physcpubind=45
bind46 = numactl --localalloc --physcpubind=46
bind47 = numactl --localalloc --physcpubind=47
bind48 = numactl --localalloc --physcpubind=48
bind49 = numactl --localalloc --physcpubind=49
bind50 = numactl --localalloc --physcpubind=50
bind51 = numactl --localalloc --physcpubind=51
bind52 = numactl --localalloc --physcpubind=52
bind53 = numactl --localalloc --physcpubind=53
bind54 = numactl --localalloc --physcpubind=54
bind55 = numactl --localalloc --physcpubind=55
bind56 = numactl --localalloc --physcpubind=56
bind57 = numactl --localalloc --physcpubind=57
bind58 = numactl --localalloc --physcpubind=58
bind59 = numactl --localalloc --physcpubind=59
bind60 = numactl --localalloc --physcpubind=60
bind61 = numactl --localalloc --physcpubind=61
bind62 = numactl --localalloc --physcpubind=62
bind63 = numactl --localalloc --physcpubind=63
bind64 = numactl --localalloc --physcpubind=64
bind65 = numactl --localalloc --physcpubind=65
bind66 = numactl --localalloc --physcpubind=66
bind67 = numactl --localalloc --physcpubind=67
bind68 = numactl --localalloc --physcpubind=68
bind69 = numactl --localalloc --physcpubind=69
bind70 = numactl --localalloc --physcpubind=70
bind71 = numactl --localalloc --physcpubind=71
bind72 = numactl --localalloc --physcpubind=72
bind73 = numactl --localalloc --physcpubind=73
bind74 = numactl --localalloc --physcpubind=74
bind75 = numactl --localalloc --physcpubind=75
bind76 = numactl --localalloc --physcpubind=76
bind77 = numactl --localalloc --physcpubind=77
bind78 = numactl --localalloc --physcpubind=78
bind79 = numactl --localalloc --physcpubind=79
bind80 = numactl --localalloc --physcpubind=80
bind81 = numactl --localalloc --physcpubind=81
bind82 = numactl --localalloc --physcpubind=82
bind83 = numactl --localalloc --physcpubind=83
bind84 = numactl --localalloc --physcpubind=84
bind85 = numactl --localalloc --physcpubind=85
bind86 = numactl --localalloc --physcpubind=86
bind87 = numactl --localalloc --physcpubind=87
bind88 = numactl --localalloc --physcpubind=88
bind89 = numactl --localalloc --physcpubind=89
bind90 = numactl --localalloc --physcpubind=90
bind91 = numactl --localalloc --physcpubind=91
bind92 = numactl --localalloc --physcpubind=92
bind93 = numactl --localalloc --physcpubind=93
bind94 = numactl --localalloc --physcpubind=94
bind95 = numactl --localalloc --physcpubind=95
bind96 = numactl --localalloc --physcpubind=96
bind97 = numactl --localalloc --physcpubind=97
bind98 = numactl --localalloc --physcpubind=98
bind99 = numactl --localalloc --physcpubind=99
bind100 = numactl --localalloc --physcpubind=100
bind101 = numactl --localalloc --physcpubind=101
bind102 = numactl --localalloc --physcpubind=102
bind103 = numactl --localalloc --physcpubind=103
bind104 = numactl --localalloc --physcpubind=104
bind105 = numactl --localalloc --physcpubind=105
bind106 = numactl --localalloc --physcpubind=106
bind107 = numactl --localalloc --physcpubind=107
bind108 = numactl --localalloc --physcpubind=108
bind109 = numactl --localalloc --physcpubind=109
bind110 = numactl --localalloc --physcpubind=110
bind111 = numactl --localalloc --physcpubind=111
bind112 = numactl --localalloc --physcpubind=112
bind113 = numactl --localalloc --physcpubind=113
bind114 = numactl --localalloc --physcpubind=114
bind115 = numactl --localalloc --physcpubind=115
bind116 = numactl --localalloc --physcpubind=116
bind117 = numactl --localalloc --physcpubind=117
bind118 = numactl --localalloc --physcpubind=118
bind119 = numactl --localalloc --physcpubind=119
bind120 = numactl --localalloc --physcpubind=120
bind121 = numactl --localalloc --physcpubind=121
bind122 = numactl --localalloc --physcpubind=122
bind123 = numactl --localalloc --physcpubind=123
bind124 = numactl --localalloc --physcpubind=124
bind125 = numactl --localalloc --physcpubind=125
bind126 = numactl --localalloc --physcpubind=126
bind127 = numactl --localalloc --physcpubind=127
submit = echo "$command" > run.sh ; $BIND bash run.sh
################################################################################
################################################################################
# fprate copy counts:
fprate:
copies = 128
# Bind commands for assigning affinity:
bind0 = numactl --localalloc --physcpubind=0
bind1 = numactl --localalloc --physcpubind=1
bind2 = numactl --localalloc --physcpubind=2
bind3 = numactl --localalloc --physcpubind=3
bind4 = numactl --localalloc --physcpubind=4
bind5 = numactl --localalloc --physcpubind=5
bind6 = numactl --localalloc --physcpubind=6
bind7 = numactl --localalloc --physcpubind=7
bind8 = numactl --localalloc --physcpubind=8
bind9 = numactl --localalloc --physcpubind=9
bind10 = numactl --localalloc --physcpubind=10
bind11 = numactl --localalloc --physcpubind=11
bind12 = numactl --localalloc --physcpubind=12
bind13 = numactl --localalloc --physcpubind=13
bind14 = numactl --localalloc --physcpubind=14
bind15 = numactl --localalloc --physcpubind=15
bind16 = numactl --localalloc --physcpubind=16
bind17 = numactl --localalloc --physcpubind=17
bind18 = numactl --localalloc --physcpubind=18
bind19 = numactl --localalloc --physcpubind=19
bind20 = numactl --localalloc --physcpubind=20
bind21 = numactl --localalloc --physcpubind=21
bind22 = numactl --localalloc --physcpubind=22
bind23 = numactl --localalloc --physcpubind=23
bind24 = numactl --localalloc --physcpubind=24
bind25 = numactl --localalloc --physcpubind=25
bind26 = numactl --localalloc --physcpubind=26
bind27 = numactl --localalloc --physcpubind=27
bind28 = numactl --localalloc --physcpubind=28
bind29 = numactl --localalloc --physcpubind=29
bind30 = numactl --localalloc --physcpubind=30
bind31 = numactl --localalloc --physcpubind=31
bind32 = numactl --localalloc --physcpubind=32
bind33 = numactl --localalloc --physcpubind=33
bind34 = numactl --localalloc --physcpubind=34
bind35 = numactl --localalloc --physcpubind=35
bind36 = numactl --localalloc --physcpubind=36
bind37 = numactl --localalloc --physcpubind=37
bind38 = numactl --localalloc --physcpubind=38
bind39 = numactl --localalloc --physcpubind=39
bind40 = numactl --localalloc --physcpubind=40
bind41 = numactl --localalloc --physcpubind=41
bind42 = numactl --localalloc --physcpubind=42
bind43 = numactl --localalloc --physcpubind=43
bind44 = numactl --localalloc --physcpubind=44
bind45 = numactl --localalloc --physcpubind=45
bind46 = numactl --localalloc --physcpubind=46
bind47 = numactl --localalloc --physcpubind=47
bind48 = numactl --localalloc --physcpubind=48
bind49 = numactl --localalloc --physcpubind=49
bind50 = numactl --localalloc --physcpubind=50
bind51 = numactl --localalloc --physcpubind=51
bind52 = numactl --localalloc --physcpubind=52
bind53 = numactl --localalloc --physcpubind=53
bind54 = numactl --localalloc --physcpubind=54
bind55 = numactl --localalloc --physcpubind=55
bind56 = numactl --localalloc --physcpubind=56
bind57 = numactl --localalloc --physcpubind=57
bind58 = numactl --localalloc --physcpubind=58
bind59 = numactl --localalloc --physcpubind=59
bind60 = numactl --localalloc --physcpubind=60
bind61 = numactl --localalloc --physcpubind=61
bind62 = numactl --localalloc --physcpubind=62
bind63 = numactl --localalloc --physcpubind=63
bind64 = numactl --localalloc --physcpubind=64
bind65 = numactl --localalloc --physcpubind=65
bind66 = numactl --localalloc --physcpubind=66
bind67 = numactl --localalloc --physcpubind=67
bind68 = numactl --localalloc --physcpubind=68
bind69 = numactl --localalloc --physcpubind=69
bind70 = numactl --localalloc --physcpubind=70
bind71 = numactl --localalloc --physcpubind=71
bind72 = numactl --localalloc --physcpubind=72
bind73 = numactl --localalloc --physcpubind=73
bind74 = numactl --localalloc --physcpubind=74
bind75 = numactl --localalloc --physcpubind=75
bind76 = numactl --localalloc --physcpubind=76
bind77 = numactl --localalloc --physcpubind=77
bind78 = numactl --localalloc --physcpubind=78
bind79 = numactl --localalloc --physcpubind=79
bind80 = numactl --localalloc --physcpubind=80
bind81 = numactl --localalloc --physcpubind=81
bind82 = numactl --localalloc --physcpubind=82
bind83 = numactl --localalloc --physcpubind=83
bind84 = numactl --localalloc --physcpubind=84
bind85 = numactl --localalloc --physcpubind=85
bind86 = numactl --localalloc --physcpubind=86
bind87 = numactl --localalloc --physcpubind=87
bind88 = numactl --localalloc --physcpubind=88
bind89 = numactl --localalloc --physcpubind=89
bind90 = numactl --localalloc --physcpubind=90
bind91 = numactl --localalloc --physcpubind=91
bind92 = numactl --localalloc --physcpubind=92
bind93 = numactl --localalloc --physcpubind=93
bind94 = numactl --localalloc --physcpubind=94
bind95 = numactl --localalloc --physcpubind=95
bind96 = numactl --localalloc --physcpubind=96
bind97 = numactl --localalloc --physcpubind=97
bind98 = numactl --localalloc --physcpubind=98
bind99 = numactl --localalloc --physcpubind=99
bind100 = numactl --localalloc --physcpubind=100
bind101 = numactl --localalloc --physcpubind=101
bind102 = numactl --localalloc --physcpubind=102
bind103 = numactl --localalloc --physcpubind=103
bind104 = numactl --localalloc --physcpubind=104
bind105 = numactl --localalloc --physcpubind=105
bind106 = numactl --localalloc --physcpubind=106
bind107 = numactl --localalloc --physcpubind=107
bind108 = numactl --localalloc --physcpubind=108
bind109 = numactl --localalloc --physcpubind=109
bind110 = numactl --localalloc --physcpubind=110
bind111 = numactl --localalloc --physcpubind=111
bind112 = numactl --localalloc --physcpubind=112
bind113 = numactl --localalloc --physcpubind=113
bind114 = numactl --localalloc --physcpubind=114
bind115 = numactl --localalloc --physcpubind=115
bind116 = numactl --localalloc --physcpubind=116
bind117 = numactl --localalloc --physcpubind=117
bind118 = numactl --localalloc --physcpubind=118
bind119 = numactl --localalloc --physcpubind=119
bind120 = numactl --localalloc --physcpubind=120
bind121 = numactl --localalloc --physcpubind=121
bind122 = numactl --localalloc --physcpubind=122
bind123 = numactl --localalloc --physcpubind=123
bind124 = numactl --localalloc --physcpubind=124
bind125 = numactl --localalloc --physcpubind=125
bind126 = numactl --localalloc --physcpubind=126
bind127 = numactl --localalloc --physcpubind=127
submit = echo "$command" > run.sh ; $BIND bash run.sh
################################################################################
################################################################################
# peak copy counts: 128
507.cactuBSSN_r,508.namd_r,511.povray_r,526.blender_r,527.cam4_r,538.imagick_r,544.nab_r=peak:
copies = 128
# Bind commands for assigning affinity:
bind0 = numactl --localalloc --physcpubind=0
bind1 = numactl --localalloc --physcpubind=1
bind2 = numactl --localalloc --physcpubind=2
bind3 = numactl --localalloc --physcpubind=3
bind4 = numactl --localalloc --physcpubind=4
bind5 = numactl --localalloc --physcpubind=5
bind6 = numactl --localalloc --physcpubind=6
bind7 = numactl --localalloc --physcpubind=7
bind8 = numactl --localalloc --physcpubind=8
bind9 = numactl --localalloc --physcpubind=9
bind10 = numactl --localalloc --physcpubind=10
bind11 = numactl --localalloc --physcpubind=11
bind12 = numactl --localalloc --physcpubind=12
bind13 = numactl --localalloc --physcpubind=13
bind14 = numactl --localalloc --physcpubind=14
bind15 = numactl --localalloc --physcpubind=15
bind16 = numactl --localalloc --physcpubind=16
bind17 = numactl --localalloc --physcpubind=17
bind18 = numactl --localalloc --physcpubind=18
bind19 = numactl --localalloc --physcpubind=19
bind20 = numactl --localalloc --physcpubind=20
bind21 = numactl --localalloc --physcpubind=21
bind22 = numactl --localalloc --physcpubind=22
bind23 = numactl --localalloc --physcpubind=23
bind24 = numactl --localalloc --physcpubind=24
bind25 = numactl --localalloc --physcpubind=25
bind26 = numactl --localalloc --physcpubind=26
bind27 = numactl --localalloc --physcpubind=27
bind28 = numactl --localalloc --physcpubind=28
bind29 = numactl --localalloc --physcpubind=29
bind30 = numactl --localalloc --physcpubind=30
bind31 = numactl --localalloc --physcpubind=31
bind32 = numactl --localalloc --physcpubind=32
bind33 = numactl --localalloc --physcpubind=33
bind34 = numactl --localalloc --physcpubind=34
bind35 = numactl --localalloc --physcpubind=35
bind36 = numactl --localalloc --physcpubind=36
bind37 = numactl --localalloc --physcpubind=37
bind38 = numactl --localalloc --physcpubind=38
bind39 = numactl --localalloc --physcpubind=39
bind40 = numactl --localalloc --physcpubind=40
bind41 = numactl --localalloc --physcpubind=41
bind42 = numactl --localalloc --physcpubind=42
bind43 = numactl --localalloc --physcpubind=43
bind44 = numactl --localalloc --physcpubind=44
bind45 = numactl --localalloc --physcpubind=45
bind46 = numactl --localalloc --physcpubind=46
bind47 = numactl --localalloc --physcpubind=47
bind48 = numactl --localalloc --physcpubind=48
bind49 = numactl --localalloc --physcpubind=49
bind50 = numactl --localalloc --physcpubind=50
bind51 = numactl --localalloc --physcpubind=51
bind52 = numactl --localalloc --physcpubind=52
bind53 = numactl --localalloc --physcpubind=53
bind54 = numactl --localalloc --physcpubind=54
bind55 = numactl --localalloc --physcpubind=55
bind56 = numactl --localalloc --physcpubind=56
bind57 = numactl --localalloc --physcpubind=57
bind58 = numactl --localalloc --physcpubind=58
bind59 = numactl --localalloc --physcpubind=59
bind60 = numactl --localalloc --physcpubind=60
bind61 = numactl --localalloc --physcpubind=61
bind62 = numactl --localalloc --physcpubind=62
bind63 = numactl --localalloc --physcpubind=63
bind64 = numactl --localalloc --physcpubind=64
bind65 = numactl --localalloc --physcpubind=65
bind66 = numactl --localalloc --physcpubind=66
bind67 = numactl --localalloc --physcpubind=67
bind68 = numactl --localalloc --physcpubind=68
bind69 = numactl --localalloc --physcpubind=69
bind70 = numactl --localalloc --physcpubind=70
bind71 = numactl --localalloc --physcpubind=71
bind72 = numactl --localalloc --physcpubind=72
bind73 = numactl --localalloc --physcpubind=73
bind74 = numactl --localalloc --physcpubind=74
bind75 = numactl --localalloc --physcpubind=75
bind76 = numactl --localalloc --physcpubind=76
bind77 = numactl --localalloc --physcpubind=77
bind78 = numactl --localalloc --physcpubind=78
bind79 = numactl --localalloc --physcpubind=79
bind80 = numactl --localalloc --physcpubind=80
bind81 = numactl --localalloc --physcpubind=81
bind82 = numactl --localalloc --physcpubind=82
bind83 = numactl --localalloc --physcpubind=83
bind84 = numactl --localalloc --physcpubind=84
bind85 = numactl --localalloc --physcpubind=85
bind86 = numactl --localalloc --physcpubind=86
bind87 = numactl --localalloc --physcpubind=87
bind88 = numactl --localalloc --physcpubind=88
bind89 = numactl --localalloc --physcpubind=89
bind90 = numactl --localalloc --physcpubind=90
bind91 = numactl --localalloc --physcpubind=91
bind92 = numactl --localalloc --physcpubind=92
bind93 = numactl --localalloc --physcpubind=93
bind94 = numactl --localalloc --physcpubind=94
bind95 = numactl --localalloc --physcpubind=95
bind96 = numactl --localalloc --physcpubind=96
bind97 = numactl --localalloc --physcpubind=97
bind98 = numactl --localalloc --physcpubind=98
bind99 = numactl --localalloc --physcpubind=99
bind100 = numactl --localalloc --physcpubind=100
bind101 = numactl --localalloc --physcpubind=101
bind102 = numactl --localalloc --physcpubind=102
bind103 = numactl --localalloc --physcpubind=103
bind104 = numactl --localalloc --physcpubind=104
bind105 = numactl --localalloc --physcpubind=105
bind106 = numactl --localalloc --physcpubind=106
bind107 = numactl --localalloc --physcpubind=107
bind108 = numactl --localalloc --physcpubind=108
bind109 = numactl --localalloc --physcpubind=109
bind110 = numactl --localalloc --physcpubind=110
bind111 = numactl --localalloc --physcpubind=111
bind112 = numactl --localalloc --physcpubind=112
bind113 = numactl --localalloc --physcpubind=113
bind114 = numactl --localalloc --physcpubind=114
bind115 = numactl --localalloc --physcpubind=115
bind116 = numactl --localalloc --physcpubind=116
bind117 = numactl --localalloc --physcpubind=117
bind118 = numactl --localalloc --physcpubind=118
bind119 = numactl --localalloc --physcpubind=119
bind120 = numactl --localalloc --physcpubind=120
bind121 = numactl --localalloc --physcpubind=121
bind122 = numactl --localalloc --physcpubind=122
bind123 = numactl --localalloc --physcpubind=123
bind124 = numactl --localalloc --physcpubind=124
bind125 = numactl --localalloc --physcpubind=125
bind126 = numactl --localalloc --physcpubind=126
bind127 = numactl --localalloc --physcpubind=127
submit = echo "$command" > run.sh ; $BIND bash run.sh
################################################################################
################################################################################
# peak copy counts: 128
510.parest_r,519.lbm_r,521.wrf_r,549.fotonik3d_r,554.roms_r=peak:
copies = 128
# Bind commands for assigning affinity:
bind0 = numactl --localalloc --physcpubind=0
bind1 = numactl --localalloc --physcpubind=1
bind2 = numactl --localalloc --physcpubind=2
bind3 = numactl --localalloc --physcpubind=3
bind4 = numactl --localalloc --physcpubind=4
bind5 = numactl --localalloc --physcpubind=5
bind6 = numactl --localalloc --physcpubind=6
bind7 = numactl --localalloc --physcpubind=7
bind8 = numactl --localalloc --physcpubind=8
bind9 = numactl --localalloc --physcpubind=9
bind10 = numactl --localalloc --physcpubind=10
bind11 = numactl --localalloc --physcpubind=11
bind12 = numactl --localalloc --physcpubind=12
bind13 = numactl --localalloc --physcpubind=13
bind14 = numactl --localalloc --physcpubind=14
bind15 = numactl --localalloc --physcpubind=15
bind16 = numactl --localalloc --physcpubind=16
bind17 = numactl --localalloc --physcpubind=17
bind18 = numactl --localalloc --physcpubind=18
bind19 = numactl --localalloc --physcpubind=19
bind20 = numactl --localalloc --physcpubind=20
bind21 = numactl --localalloc --physcpubind=21
bind22 = numactl --localalloc --physcpubind=22
bind23 = numactl --localalloc --physcpubind=23
bind24 = numactl --localalloc --physcpubind=24
bind25 = numactl --localalloc --physcpubind=25
bind26 = numactl --localalloc --physcpubind=26
bind27 = numactl --localalloc --physcpubind=27
bind28 = numactl --localalloc --physcpubind=28
bind29 = numactl --localalloc --physcpubind=29
bind30 = numactl --localalloc --physcpubind=30
bind31 = numactl --localalloc --physcpubind=31
bind32 = numactl --localalloc --physcpubind=32
bind33 = numactl --localalloc --physcpubind=33
bind34 = numactl --localalloc --physcpubind=34
bind35 = numactl --localalloc --physcpubind=35
bind36 = numactl --localalloc --physcpubind=36
bind37 = numactl --localalloc --physcpubind=37
bind38 = numactl --localalloc --physcpubind=38
bind39 = numactl --localalloc --physcpubind=39
bind40 = numactl --localalloc --physcpubind=40
bind41 = numactl --localalloc --physcpubind=41
bind42 = numactl --localalloc --physcpubind=42
bind43 = numactl --localalloc --physcpubind=43
bind44 = numactl --localalloc --physcpubind=44
bind45 = numactl --localalloc --physcpubind=45
bind46 = numactl --localalloc --physcpubind=46
bind47 = numactl --localalloc --physcpubind=47
bind48 = numactl --localalloc --physcpubind=48
bind49 = numactl --localalloc --physcpubind=49
bind50 = numactl --localalloc --physcpubind=50
bind51 = numactl --localalloc --physcpubind=51
bind52 = numactl --localalloc --physcpubind=52
bind53 = numactl --localalloc --physcpubind=53
bind54 = numactl --localalloc --physcpubind=54
bind55 = numactl --localalloc --physcpubind=55
bind56 = numactl --localalloc --physcpubind=56
bind57 = numactl --localalloc --physcpubind=57
bind58 = numactl --localalloc --physcpubind=58
bind59 = numactl --localalloc --physcpubind=59
bind60 = numactl --localalloc --physcpubind=60
bind61 = numactl --localalloc --physcpubind=61
bind62 = numactl --localalloc --physcpubind=62
bind63 = numactl --localalloc --physcpubind=63
bind64 = numactl --localalloc --physcpubind=64
bind65 = numactl --localalloc --physcpubind=65
bind66 = numactl --localalloc --physcpubind=66
bind67 = numactl --localalloc --physcpubind=67
bind68 = numactl --localalloc --physcpubind=68
bind69 = numactl --localalloc --physcpubind=69
bind70 = numactl --localalloc --physcpubind=70
bind71 = numactl --localalloc --physcpubind=71
bind72 = numactl --localalloc --physcpubind=72
bind73 = numactl --localalloc --physcpubind=73
bind74 = numactl --localalloc --physcpubind=74
bind75 = numactl --localalloc --physcpubind=75
bind76 = numactl --localalloc --physcpubind=76
bind77 = numactl --localalloc --physcpubind=77
bind78 = numactl --localalloc --physcpubind=78
bind79 = numactl --localalloc --physcpubind=79
bind80 = numactl --localalloc --physcpubind=80
bind81 = numactl --localalloc --physcpubind=81
bind82 = numactl --localalloc --physcpubind=82
bind83 = numactl --localalloc --physcpubind=83
bind84 = numactl --localalloc --physcpubind=84
bind85 = numactl --localalloc --physcpubind=85
bind86 = numactl --localalloc --physcpubind=86
bind87 = numactl --localalloc --physcpubind=87
bind88 = numactl --localalloc --physcpubind=88
bind89 = numactl --localalloc --physcpubind=89
bind90 = numactl --localalloc --physcpubind=90
bind91 = numactl --localalloc --physcpubind=91
bind92 = numactl --localalloc --physcpubind=92
bind93 = numactl --localalloc --physcpubind=93
bind94 = numactl --localalloc --physcpubind=94
bind95 = numactl --localalloc --physcpubind=95
bind96 = numactl --localalloc --physcpubind=96
bind97 = numactl --localalloc --physcpubind=97
bind98 = numactl --localalloc --physcpubind=98
bind99 = numactl --localalloc --physcpubind=99
bind100 = numactl --localalloc --physcpubind=100
bind101 = numactl --localalloc --physcpubind=101
bind102 = numactl --localalloc --physcpubind=102
bind103 = numactl --localalloc --physcpubind=103
bind104 = numactl --localalloc --physcpubind=104
bind105 = numactl --localalloc --physcpubind=105
bind106 = numactl --localalloc --physcpubind=106
bind107 = numactl --localalloc --physcpubind=107
bind108 = numactl --localalloc --physcpubind=108
bind109 = numactl --localalloc --physcpubind=109
bind110 = numactl --localalloc --physcpubind=110
bind111 = numactl --localalloc --physcpubind=111
bind112 = numactl --localalloc --physcpubind=112
bind113 = numactl --localalloc --physcpubind=113
bind114 = numactl --localalloc --physcpubind=114
bind115 = numactl --localalloc --physcpubind=115
bind116 = numactl --localalloc --physcpubind=116
bind117 = numactl --localalloc --physcpubind=117
bind118 = numactl --localalloc --physcpubind=118
bind119 = numactl --localalloc --physcpubind=119
bind120 = numactl --localalloc --physcpubind=120
bind121 = numactl --localalloc --physcpubind=121
bind122 = numactl --localalloc --physcpubind=122
bind123 = numactl --localalloc --physcpubind=123
bind124 = numactl --localalloc --physcpubind=124
bind125 = numactl --localalloc --physcpubind=125
bind126 = numactl --localalloc --physcpubind=126
bind127 = numactl --localalloc --physcpubind=127
submit = echo "$command" > run.sh ; $BIND bash run.sh
################################################################################
################################################################################
# peak copy counts: 32
503.bwaves_r=peak:
copies = 32
# Bind commands for assigning affinity:
bind0 = numactl --localalloc --physcpubind=0
bind1 = numactl --localalloc --physcpubind=4
bind2 = numactl --localalloc --physcpubind=8
bind3 = numactl --localalloc --physcpubind=12
bind4 = numactl --localalloc --physcpubind=16
bind5 = numactl --localalloc --physcpubind=20
bind6 = numactl --localalloc --physcpubind=24
bind7 = numactl --localalloc --physcpubind=28
bind8 = numactl --localalloc --physcpubind=32
bind9 = numactl --localalloc --physcpubind=36
bind10 = numactl --localalloc --physcpubind=40
bind11 = numactl --localalloc --physcpubind=44
bind12 = numactl --localalloc --physcpubind=48
bind13 = numactl --localalloc --physcpubind=52
bind14 = numactl --localalloc --physcpubind=56
bind15 = numactl --localalloc --physcpubind=60
bind16 = numactl --localalloc --physcpubind=64
bind17 = numactl --localalloc --physcpubind=68
bind18 = numactl --localalloc --physcpubind=72
bind19 = numactl --localalloc --physcpubind=76
bind20 = numactl --localalloc --physcpubind=80
bind21 = numactl --localalloc --physcpubind=84
bind22 = numactl --localalloc --physcpubind=88
bind23 = numactl --localalloc --physcpubind=92
bind24 = numactl --localalloc --physcpubind=96
bind25 = numactl --localalloc --physcpubind=100
bind26 = numactl --localalloc --physcpubind=104
bind27 = numactl --localalloc --physcpubind=108
bind28 = numactl --localalloc --physcpubind=112
bind29 = numactl --localalloc --physcpubind=116
bind30 = numactl --localalloc --physcpubind=120
bind31 = numactl --localalloc --physcpubind=124
submit = echo "$command" > run.sh ; $BIND bash run.sh
################################################################################
# Switch back to the default block after the include file:
default:
################################################################################
################################################################################
################################################################################
################################################################################
# The remainder of this file defines CPU2017 report parameters.
################################################################################
################################################################################
################################################################################
# SPEC CPU 2017 report header
################################################################################
license_num =9017
tester =Lenovo Global Technology
test_sponsor =Lenovo Global Technology
hw_vendor =Lenovo Global Technology
hw_model000 =ThinkSystem SR635 V3
hw_model001 =(2.40 GHz, AMD EPYC 9745)
#--------- If you install new compilers, edit this section --------------------
sw_compiler =C/C++/Fortran: Version 5.0.0 of AOCC
################################################################################
################################################################################
# Hardware, firmware and software information
################################################################################
hw_avail =Feb-2025
sw_avail =Oct-2024
hw_cpu_name =AMD EPYC 9745
hw_cpu_nominal_mhz =2400
hw_cpu_max_mhz =3700
hw_ncores =128
hw_nthreadspercore =1
hw_ncpuorder =1 chip
hw_other =CPU Cooling: Air
fw_bios =Lenovo BIOS Version KAE131I 5.30 released Dec-2024
sw_base_ptrsize =64-bit
hw_pcache =32 KB I + 48 KB D on chip per core
hw_scache =1 MB I+D on chip per core
hw_tcache000 =256 MB I+D on chip per chip,
hw_tcache001 = 32 MB shared / 16 cores
hw_ocache =None
sw_other =None
################################################################################
# Notes
################################################################################
# Enter notes_000 through notes_100 here.
notes_000 =Binaries were compiled on a system with 2x AMD EPYC 9174F CPU + 1.5TiB Memory using RHEL 8.6
notes_005 =
notes_010 =NA: The test sponsor attests, as of date of publication, that CVE-2017-5754 (Meltdown)
notes_015 =is mitigated in the system as tested and documented.
notes_020 =Yes: The test sponsor attests, as of date of publication, that CVE-2017-5753 (Spectre variant 1)
notes_025 =is mitigated in the system as tested and documented.
notes_030 =Yes: The test sponsor attests, as of date of publication, that CVE-2017-5715 (Spectre variant 2)
notes_035 =is mitigated in the system as tested and documented.
notes_040 =
notes_submit_000 ='numactl' was used to bind copies to the cores.
notes_submit_005 =See the configuration file for details.
notes_submit_010 =
notes_os_000 ='ulimit -s unlimited' was used to set environment stack size limit
notes_os_005 ='ulimit -l 2097152' was used to set environment locked pages in memory limit
notes_os_010 =
notes_os_015 =runcpu command invoked through numactl i.e.:
notes_os_020 =numactl --interleave=all runcpu <etc>
notes_os_025 =
notes_os_030 =To limit dirty cache to 8% of memory, 'sysctl -w vm.dirty_ratio=8' run as root.
notes_os_035 =To limit swap usage to minimum necessary, 'sysctl -w vm.swappiness=1' run as root.
notes_os_040 =To free node-local memory and avoid remote memory usage,
notes_os_045 ='sysctl -w vm.zone_reclaim_mode=1' run as root.
notes_os_050 =To clear filesystem caches, 'sync; sysctl -w vm.drop_caches=3' run as root.
notes_os_055 =To disable address space layout randomization (ASLR) to reduce run-to-run
notes_os_060 =variability, 'sysctl -w kernel.randomize_va_space=0' run as root.
notes_os_065 =
notes_comp_000 =The AMD64 AOCC Compiler Suite is available at
notes_comp_005 =http://developer.amd.com/amd-aocc/
notes_comp_010 =
# notes_jemalloc_000 =jemalloc: configured and built with GCC v4.8.2 in RHEL 7.4 (No options specified)
# notes_jemalloc_005 =jemalloc 5.1.0 is available here:
# notes_jemalloc_010 =https://github.com/jemalloc/jemalloc/releases/download/5.1.0/jemalloc-5.1.0.tar.bz2
# notes_jemalloc_015 =
# sw_other000 =jemalloc: jemalloc memory allocator library v5.1.0
################################################################################
# The following note fields describe platorm settings.
################################################################################
# example: (edit and uncomment as necessary)
# notes_plat_000 =BIOS settings:
# notes_plat_002 = TDP: 400
# notes_plat_004 = Determinism Slider set to Power
# notes_plat_006 = PPT: 400
# notes_plat_010 = NPS: 4
# notes_plat_011 = Workload Profile = CPU Intensive
# notes_plat_012 = TSME = Disabled
# notes_plat_014 = SEV Control = Disabled
# notes_plat_015 = Fan Speed: Maximum
################################################################################
# The following are custom fields:
################################################################################
# Use custom_fields to enter lines that are not listed here. For example:
# notes_plat_100 = Energy Bias set to Max Performance
# new_field = Ambient temperature set to 10C
################################################################################
# The following fields must be set here for only Int benchmarks.
################################################################################
intrate:
sw_peak_ptrsize =32/64-bit
notes_os_thp_000 =To enable Transparent Hugepages (THP) for all allocations,
notes_os_thp_001 ='echo always > /sys/kernel/mm/transparent_hugepage/enabled' and
notes_os_thp_002 ='echo always > /sys/kernel/mm/transparent_hugepage/defrag' run as root.
notes_os_thp_003 =
################################################################################
# The following fields must be set here for FP benchmarks.
################################################################################
fprate:
sw_peak_ptrsize =64-bit
notes_os_thp_000 =To enable Transparent Hugepages (THP) for all allocations:
notes_os_thp_005 ='echo always > /sys/kernel/mm/transparent_hugepage/enabled' and
notes_os_thp_010 ='echo always > /sys/kernel/mm/transparent_hugepage/defrag' run as root.
################################################################################
# The following fields must be set here or they will be overwritten by sysinfo.
################################################################################
intrate,fprate:
hw_disk =1 x 480 GB SATA SSD
hw_memory000 =384 GB (12 x 32 GB 2Rx8 PC5-6400B-R, running at
hw_memory001 =6000)
hw_memory002 =
hw_nchips =1
prepared_by =Lenovo Global Technology
sw_file =xfs
sw_os000 =Red Hat Enterprise Linux 9.4 (Plow)
sw_os001 =Kernel 5.14.0-427.13.1.el9_4.x86_64
sw_state =Run level 3 (multi-user)
################################################################################
# End of inc file
################################################################################
# Switch back to the default block after the include file:
default:
# ---- End inclusion of '/home/cpu2017-1.1.9-amd-aocc500_znver5_A1.2/config/amd_rate_aocc500_znver5_A1.inc'
# Switch back to default block after the include file:
default:
fail_build = yes # FIX THIS SO THAT CHECKSUMS WILL BE ENFORCED!
%elif '%{allow_build}' eq 'true'
# If you intend to rebuild, be sure to set the library paths either in the
# build script or here:
preENV_LIBRARY_PATH = $[top]/%{build_lib_dir}/lib:$[top]/%{build_lib_dir}/lib32:%{ENV_LIBRARY_PATH}
% define build_ncpus 64 # controls number of simultaneous compiles
fail_build = 0
makeflags = --jobs=%{build_ncpus} --load-average=%{build_ncpus}
%else
% error The value of "allow_build" is %{allow_build}, but it can only be "true" or "false". This error was generated
%endif
################################################################################
# Enable automated data collection per benchmark
################################################################################
# Data collection is not enabled for reportable runs.
# teeout is necessary to get data collection stdout into the logs. Best
# practices for the individual data collection items would be to have
# them store important output in separate files. Filenames could be
# constructed from $SPEC (environment), $lognum (result number from runcpu),
# and benchmark name/number.
teeout = yes
# Run runcpu with '-v 35' (or greater) to log lists of variables which can
# be used in substitutions as below.
# For CPU2006, change $label to $ext
%define data-collection-parameters benchname='$name' benchnum='$num' benchmark='$benchmark' iteration=$iter size='$size' tune='$tune' label='$label' log='$log' lognum='$lognum' from_runcpu='$from_runcpu'
%define data-collection-start $[top]/data-collection/data-collection start %{data-collection-parameters}
%define data-collection-stop $[top]/data-collection/data-collection stop %{data-collection-parameters}
monitor_specrun_wrapper = %{data-collection-start} ; $command ; %{data-collection-stop}
################################################################################
# Header settings
################################################################################
backup_config = 0 # set to 0 if you do not want backup files
bench_post_setup = sync
# command_add_redirect: If set, the generated ${command} will include
# redirection operators (stdout, stderr), which are passed along to the shell
# that executes the command. If this variable is not set, specinvoke does the
# redirection.
command_add_redirect = yes
env_vars = yes
flagsurl000 = http://www.spec.org/cpu2017/flags/Lenovo-Platform-SPECcpu2017-Flags-V1.2-Turin-E.xml
flagsurl001 = http://www.spec.org/cpu2017/flags/aocc500-flags.2024-10-10.xml
#flagsurl02 = $[top]/%{platform_file_name}
# label: User defined extension string that tags your binaries & directories:
label = %{ext}
line_width = 1020
log_line_width = 1020
mean_anyway = yes
output_format = all
reportable = yes
size = test,train,ref
teeout = yes
teerunout = yes
tune = base,peak
################################################################################
# Include the flags file:
################################################################################
#include: %{flags_inc_file_name}
# ----- Begin inclusion of 'amd_rate_aocc500_znver5_A1_flags.inc'
############################################################################
################################################################################
# AMD AOCC 5.0.0 SPEC CPU2017 V1.1.9 Rate Configuration Flags for AMD64 Linux
################################################################################
# Compilers
################################################################################
default:
CC = clang -m64
CXX = clang++ -m64 -std=c++14
FC = flang -m64
CLD = clang -m64
CXXLD = clang++ -m64 -std=c++14
FLD = flang -m64
CC_VERSION_OPTION = --version
CXX_VERSION_OPTION = --version
FC_VERSION_OPTION = --version
################################################################################
# Default libraries and variables
################################################################################
default:
# Libraries:
EXTRA_LIBS = -lamdalloc \
-lamdlibm \
-lm \
-ldl
MATHLIBOPT = #clearing this variable or else SPEC will set it to -lm
VECMATHLIB = -fveclib=AMDLIBM
# Variables:
OPT_ROOT = -march=znver5 \
$(VECMATHLIB) \
-ffast-math
OPT_ROOT_BASE = -O3 \
$(OPT_ROOT)
OPT_ROOT_PEAK = -Ofast \
$(OPT_ROOT) \
-flto
################################################################################
# Portability and workaround include files
################################################################################
# Portability flags include file:
#include: %{port_flags_inc_file_name}
# ----- Begin inclusion of 'amd_rate_aocc500_znver5_A1_flags_portability.inc'
############################################################################
################################################################################
# AMD AOCC 5.0.0 SPEC CPU2017 V1.1.9 Rate Portability Flags for AMD64 Linux
################################################################################
default:
# data model applies to all benchmarks
EXTRA_PORTABILITY = -DSPEC_LP64
# *** Benchmark-specific portability ***
# Anything other than the data model is only allowed where a need is proven.
# (ordered by last 2 digits of benchmark number)
500.perlbench_r: #lang='C'
PORTABILITY = -DSPEC_LINUX_X64
521.wrf_r: #lang='F,C'
CPORTABILITY = -DSPEC_CASE_FLAG
FPORTABILITY = -Mbyteswapio
523.xalancbmk_r: #lang='CXX'
PORTABILITY = -DSPEC_LINUX
526.blender_r: #lang='CXX,C'
CPORTABILITY = -funsigned-char
527.cam4_r: #lang='F,C'
PORTABILITY = -DSPEC_CASE_FLAG
################################################################################
# End Portability Flags
################################################################################
# ---- End inclusion of '/home/cpu2017-1.1.9-amd-aocc500_znver5_A1.2/config/amd_rate_aocc500_znver5_A1_flags_portability.inc'
# Workaround flags include file:
#include: %{workaround_flags_inc_file_name}
# ----- Begin inclusion of 'amd_rate_aocc500_znver5_A1_flags_workaround.inc'
############################################################################
################################################################################
# AMD AOCC 5.0.0 SPEC CPU2017 V1.1.9 Rate Workaround Flags for AMD64 Linux
################################################################################
# The workarounds in this section would not qualify under the SPEC CPU
# PORTABILITY rule.
# - In peak, they can be set as needed for individual benchmarks.
# - In base, individual settings are not allowed; set for whole suite.
# Use EXTRA_CFLAGS, EXTRA_CXXFLAGS, and EXTRA_FFLAGS for them.
#
# See:
# https://www.spec.org/cpu2017/Docs/runrules.html#portability
# https://www.spec.org/cpu2017/Docs/runrules.html#BaseFlags
#######################
# Default workarounds #
#######################
default:
# Allow unused compile/link arguments without triggering warnings during build:
EXTRA_CFLAGS = -Wno-unused-command-line-argument
EXTRA_CXXFLAGS = -Wno-unused-command-line-argument
EXTRA_FFLAGS = -Wno-unused-command-line-argument
LDOPTIONS = -Wno-unused-command-line-argument
####################
# Base workarounds #
####################
#
# *** NONE ***
#
##############################
# Integer workarounds - base #
##############################
#
intrate=base:
# The following is necessary for 502/602 gcc:
EXTRA_LDFLAGS = -z muldefs
#########################
# FP workarounds - base #
#########################
#
# *** NONE ***
#
####################
# Peak workarounds #
####################
#
# *** NONE ***
#
##############################
# Integer workarounds - peak #
##############################
502.gcc_r=peak: #lang='C'
EXTRA_CFLAGS = -Wno-unused-command-line-argument \
-fgnu89-inline
EXTRA_LDFLAGS = -z muldefs
#####################################
# Floating Point workarounds - peak #
#####################################
#
# *** NONE ***
#
# ---- End inclusion of '/home/cpu2017-1.1.9-amd-aocc500_znver5_A1.2/config/amd_rate_aocc500_znver5_A1_flags_workaround.inc'
################################################################################
# Tuning Flags
################################################################################
#####################
# Base tuning flags #
#####################
default=base:
COPTIMIZE = $(OPT_ROOT_BASE) \
-fno-PIE \
-no-pie \
-flto \
-fstruct-layout=7 \
-mllvm -unroll-threshold=50 \
-mllvm -inline-threshold=1000 \
-fremap-arrays \
-fstrip-mining \
-mllvm -reduce-array-computations=3 \
-zopt
CXXOPTIMIZE = $(OPT_ROOT_BASE) \
-flto \
-mllvm -unroll-threshold=100 \
-mllvm -loop-unswitch-threshold=200000 \
-mllvm -reduce-array-computations=3 \
-zopt
FOPTIMIZE = $(OPT_ROOT_BASE) \
-flto \
-Mrecursive \
-funroll-loops \
-mllvm -lsr-in-nested-loop \
-mllvm -reduce-array-computations=3 \
-fepilog-vectorization-of-inductions \
-zopt
LDCXXFLAGS = -Wl,-mllvm -Wl,-x86-use-vzeroupper=false \
-Wl,-mllvm -Wl,-extra-inliner
LDCFLAGS = -Wl,-mllvm -Wl,-ldist-scalar-expand \
-fenable-aggressive-gather
LDFLAGS = -Wl,-mllvm -Wl,-align-all-nofallthru-blocks=6 \
-Wl,-mllvm -Wl,-reduce-array-computations=3
LDFFLAGS = -Wl,-mllvm -Wl,-enable-X86-prefetching \
-Wl,-mllvm -Wl,-enable-aggressive-gather=true \
-Wl,-mllvm -Wl,-enable-masked-gather-sequence=false
# Libraries:
EXTRA_LIBS = -lamdlibm \
-lm \
-lamdalloc \
-lflang \
-ldl
EXTRA_FLIBS =
# Don't put the AMD and mvec math libraries in MATH_LIBS because it will trigger a reporting issue
# because GCC won't use them. Forcefeed all benchmarks the math libraries in EXTRA_LIBS and clear
# out MATH_LIBS.
MATH_LIBS =
########################
# intrate tuning flags #
########################
intrate:
FOPTIMIZE = $(OPT_ROOT_BASE) \
-flto \
-fepilog-vectorization-of-inductions \
-mllvm -optimize-strided-mem-cost \
-floop-transform \
-mllvm -unroll-aggressive \
-mllvm -unroll-threshold=500
EXTRA_CXXOPTIMIZE = -fno-PIE \
-no-pie \
-fvirtual-function-elimination \
-fvisibility=hidden \
-mllvm -do-block-reorder=advanced
LDCFLAGS = -Wl,-mllvm -Wl,-ldist-scalar-expand \
-fenable-aggressive-gather \
-Wl,-mllvm -Wl,-extra-inliner
LDCXXFLAGS = -Wl,-mllvm -Wl,-do-block-reorder=advanced
LDFFLAGS = -Wl,-mllvm -Wl,-inline-recursion=4 \
-Wl,-mllvm -Wl,-lsr-in-nested-loop \
-Wl,-mllvm -Wl,-enable-iv-split
# Libraries:
EXTRA_LIBS = -lamdlibm \
-lm \
-lflang
EXTRA_CLIBS = -lamdalloc-ext \
-ldl
EXTRA_CXXLIBS = -lamdalloc-ext \
-ldl
EXTRA_FLIBS = -lamdalloc \
-ldl
#####################
# Peak tuning flags #
#####################
default=peak:
COPTIMIZE = $(OPT_ROOT_PEAK) \
-fstruct-layout=7 \
-mllvm -unroll-threshold=50 -fremap-arrays \
-fstrip-mining \
-mllvm -inline-threshold=1000 \
-mllvm -reduce-array-computations=3 \
-zopt
CXXOPTIMIZE = $(OPT_ROOT_PEAK) \
-mllvm -unroll-threshold=100 \
-mllvm -reduce-array-computations=3 \
-zopt
FOPTIMIZE = $(OPT_ROOT_PEAK) \
-Mrecursive \
-mllvm -reduce-array-computations=3 \
-fepilog-vectorization-of-inductions \
-zopt
LDFLAGS = -Wl,-mllvm -Wl,-align-all-nofallthru-blocks=6 \
-Wl,-mllvm -Wl,-reduce-array-computations=3
LDCXXFLAGS = -Wl,-mllvm -Wl,-x86-use-vzeroupper=false
feedback = 0
PASS1_CFLAGS = -fprofile-instr-generate
PASS2_CFLAGS = -fprofile-instr-use
PASS1_FFLAGS = -fprofile-generate
PASS2_FFLAGS = -fprofile-use
PASS1_CXXFLAGS = -fprofile-instr-generate
PASS2_CXXFLAGS = -fprofile-instr-use
PASS1_LDFLAGS = -fprofile-instr-generate
PASS2_LDFLAGS = -fprofile-instr-use
fdo_run1 = $command ; llvm-profdata merge --output=default.profdata *.profraw
#libraries:
EXTRA_LIBS = -lamdlibm \
-lm \
-lamdalloc \
-ldl
EXTRA_FLIBS = -lflang
########################################
# Benchmark specific peak tuning flags #
########################################
500.perlbench_r=peak: #lang='C'
COPTIMIZE = $(OPT_ROOT_PEAK) \
-fstruct-layout=7 \
-mllvm -unroll-threshold=50 \
-fremap-arrays \
-mllvm -inline-threshold=1000 \
-mllvm -reduce-array-computations=3 \
-faggressive-loop-transform \
-fvector-transform \
-fscalar-transform
feedback = 1
502.gcc_r=peak: #lang='C'
EXTRA_PORTABILITY = -D_FILE_OFFSET_BITS=64
CC = clang -m32
CLD = clang -m32 -L/usr/lib32
EXTRA_LIBS =
EXTRA_CLIBS = -L$[AMDALLOC_LIB32_PATH] -lamdalloc
MATHLIBOPT = -lm
LDFLAGS = -flto
505.mcf_r=peak: #lang='C'
LDCFLAGS = -Wl,-mllvm -Wl,-extra-inliner
507.cactuBSSN_r=peak:
CXXOPTIMIZE = $(OPT_ROOT_PEAK) \
-mllvm -unroll-threshold=100 \
-mllvm -loop-unswitch-threshold=200000 \
-mllvm -reduce-array-computations=3 \
-faggressive-loop-transform \
-fvector-transform \
-fscalar-transform
EXTRA_LIBS += $(EXTRA_FLIBS) #adding flang libs to cxx linker
510.parest_r=peak:
LDFLAGS = -flto \
-Wl,-mllvm -Wl,-suppress-fmas
511.povray_r=peak: #lang='CXX,C'
COPTIMIZE = $(OPT_ROOT_PEAK) \
-fstruct-layout=7 \
-mllvm -unroll-threshold=50 \
-mllvm -inline-threshold=1000 \
-fremap-arrays \
-mllvm -reduce-array-computations=3 \
-zopt
CXXOPTIMIZE = $(OPT_ROOT_PEAK) \
-mllvm -unroll-threshold=100 \
-mllvm -loop-unswitch-threshold=200000 \
-mllvm -reduce-array-computations=3 \
-zopt
LDCXXFLAGS = -Wl,-mllvm -Wl,-x86-use-vzeroupper=false \
-Wl,-mllvm -Wl,-extra-inliner
LDCFLAGS = -Wl,-mllvm -Wl,-ldist-scalar-expand \
-fenable-aggressive-gather
EXTRA_LIBS = -lamdlibm -lm -lamdalloc -ldl
520.omnetpp_r=peak: #lang='CXX`
EXTRA_LIBS = -lamdlibm -lm -lamdalloc-ext -ldl
523.xalancbmk_r=peak: #lang='CXX`
EXTRA_CXXOPTIMIZE = -fvirtual-function-elimination \
-fvisibility=hidden \
-mllvm -do-block-reorder=advanced
LDCXXFLAGS = -Wl,-mllvm -Wl,-do-block-reorder=advanced
EXTRA_LIBS = -lamdlibm -lm -lflang
EXTRA_CXXLIBS = -lamdalloc-ext -ldl
ENV_MALLOC_CONF = thp:always
525.x264_r=peak: #lang='C'
basepeak = yes
527.cam4_r=peak:
COPTIMIZE = $(OPT_ROOT_PEAK) \
-fstruct-layout=7 \
-mllvm -unroll-threshold=50 \
-mllvm -inline-threshold=1000 \
-fremap-arrays \
-mllvm -reduce-array-computations=3 \
-zopt
FOPTIMIZE = $(OPT_ROOT_PEAK) \
-Mrecursive \
-funroll-loops \
-mllvm -lsr-in-nested-loop \
-mllvm -reduce-array-computations=3 \
-fepilog-vectorization-of-inductions \
-zopt
LDCFLAGS = -Wl,-mllvm -Wl,-ldist-scalar-expand \
-fenable-aggressive-gather
LDFFLAGS = -Wl,-mllvm -Wl,-enable-X86-prefetching
531.deepsjeng_r=peak: #lang='CXX'
CXXOPTIMIZE = $(OPT_ROOT_PEAK) \
-mllvm -unroll-threshold=100\
-mllvm -loop-unswitch-threshold=200000 \
-mllvm -reduce-array-computations=3 \
-zopt
EXTRA_CXXOPTIMIZE = -fvirtual-function-elimination \
-fvisibility=hidden
LDCXXFLAGS =
EXTRA_LIBS = -lamdlibm -lm
EXTRA_CXXLIBS = -lamdalloc-ext -ldl
544.nab_r=peak:
LDFLAGS = -flto \
-Wl,-mllvm -Wl,-ldist-scalar-expand \
-fenable-aggressive-gather
549.fotonik3d_r=peak:
FOPTIMIZE = $(OPT_ROOT_PEAK) \
-Mrecursive \
-mllvm -reduce-array-computations=3 \
-fepilog-vectorization-of-inductions \
-fvector-transform \
-fscalar-transform
521.wrf_r=peak:
FOPTIMIZE = $(OPT_ROOT) \
-Ofast \
-Mrecursive \
-funroll-loops \
-mllvm -lsr-in-nested-loop \
-mllvm -reduce-array-computations=3 \
-Wno-unused-command-line-argument \
-fepilog-vectorization-of-inductions \
-zopt
554.roms_r=peak:
FOPTIMIZE = $(OPT_ROOT_PEAK) \
-Mrecursive \
-mllvm -reduce-array-computations=3 \
-fepilog-vectorization-of-inductions \
-zopt
# ---- End inclusion of '/home/cpu2017-1.1.9-amd-aocc500_znver5_A1.2/config/amd_rate_aocc500_znver5_A1_flags.inc'
# The following settings were obtained by running the sysinfo_program
# 'specperl $[top]/bin/sysinfo' (sysinfo:SHA:2eb381fc1a58eb8122e4a1b875c1e38b3489dac84088192aa0ec6d157b084d06)
default:
notes_plat_sysinfo_000 =
notes_plat_sysinfo_005 = Sysinfo program /home/cpu2017-1.1.9-amd-aocc500_znver5_A1.2/bin/sysinfo
notes_plat_sysinfo_010 = Rev: r6732 of 2022-11-07 fe91c89b7ed5c36ae2c92cc097bec197
notes_plat_sysinfo_015 = running on localhost.localdomain Sun Mar 23 06:25:54 2025
notes_plat_sysinfo_020 =
notes_plat_sysinfo_025 = SUT (System Under Test) info as seen by some common utilities.
notes_plat_sysinfo_030 =
notes_plat_sysinfo_035 = ------------------------------------------------------------
notes_plat_sysinfo_040 = Table of contents
notes_plat_sysinfo_045 = ------------------------------------------------------------
notes_plat_sysinfo_050 = 1. uname -a
notes_plat_sysinfo_055 = 2. w
notes_plat_sysinfo_060 = 3. Username
notes_plat_sysinfo_065 = 4. ulimit -a
notes_plat_sysinfo_070 = 5. sysinfo process ancestry
notes_plat_sysinfo_075 = 6. /proc/cpuinfo
notes_plat_sysinfo_080 = 7. lscpu
notes_plat_sysinfo_085 = 8. numactl --hardware
notes_plat_sysinfo_090 = 9. /proc/meminfo
notes_plat_sysinfo_095 = 10. who -r
notes_plat_sysinfo_100 = 11. Systemd service manager version: systemd 252 (252-32.el9_4)
notes_plat_sysinfo_105 = 12. Failed units, from systemctl list-units --state=failed
notes_plat_sysinfo_110 = 13. Services, from systemctl list-unit-files
notes_plat_sysinfo_115 = 14. Linux kernel boot-time arguments, from /proc/cmdline
notes_plat_sysinfo_120 = 15. cpupower frequency-info
notes_plat_sysinfo_125 = 16. sysctl
notes_plat_sysinfo_130 = 17. /sys/kernel/mm/transparent_hugepage
notes_plat_sysinfo_135 = 18. /sys/kernel/mm/transparent_hugepage/khugepaged
notes_plat_sysinfo_140 = 19. OS release
notes_plat_sysinfo_145 = 20. Disk information
notes_plat_sysinfo_150 = 21. /sys/devices/virtual/dmi/id
notes_plat_sysinfo_155 = 22. dmidecode
notes_plat_sysinfo_160 = 23. BIOS
notes_plat_sysinfo_165 = ------------------------------------------------------------
notes_plat_sysinfo_170 =
notes_plat_sysinfo_175 = ------------------------------------------------------------
notes_plat_sysinfo_180 = 1. uname -a
notes_plat_sysinfo_185 = Linux localhost.localdomain 5.14.0-427.13.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Apr 10 10:29:16 EDT
notes_plat_sysinfo_190 = 2024 x86_64 x86_64 x86_64 GNU/Linux
notes_plat_sysinfo_195 =
notes_plat_sysinfo_200 = ------------------------------------------------------------
notes_plat_sysinfo_205 = 2. w
notes_plat_sysinfo_210 = 06:25:54 up 7:50, 0 users, load average: 22.57, 89.99, 113.64
notes_plat_sysinfo_215 = USER TTY LOGIN@ IDLE JCPU PCPU WHAT
notes_plat_sysinfo_220 =
notes_plat_sysinfo_225 = ------------------------------------------------------------
notes_plat_sysinfo_230 = 3. Username
notes_plat_sysinfo_235 = From environment variable $USER: root
notes_plat_sysinfo_240 =
notes_plat_sysinfo_245 = ------------------------------------------------------------
notes_plat_sysinfo_250 = 4. ulimit -a
notes_plat_sysinfo_255 = real-time non-blocking time (microseconds, -R) unlimited
notes_plat_sysinfo_260 = core file size (blocks, -c) 0
notes_plat_sysinfo_265 = data seg size (kbytes, -d) unlimited
notes_plat_sysinfo_270 = scheduling priority (-e) 0
notes_plat_sysinfo_275 = file size (blocks, -f) unlimited
notes_plat_sysinfo_280 = pending signals (-i) 1545891
notes_plat_sysinfo_285 = max locked memory (kbytes, -l) 2097152
notes_plat_sysinfo_290 = max memory size (kbytes, -m) unlimited
notes_plat_sysinfo_295 = open files (-n) 1024
notes_plat_sysinfo_300 = pipe size (512 bytes, -p) 8
notes_plat_sysinfo_305 = POSIX message queues (bytes, -q) 819200
notes_plat_sysinfo_310 = real-time priority (-r) 0
notes_plat_sysinfo_315 = stack size (kbytes, -s) unlimited
notes_plat_sysinfo_320 = cpu time (seconds, -t) unlimited
notes_plat_sysinfo_325 = max user processes (-u) 1545891
notes_plat_sysinfo_330 = virtual memory (kbytes, -v) unlimited
notes_plat_sysinfo_335 = file locks (-x) unlimited
notes_plat_sysinfo_340 =
notes_plat_sysinfo_345 = ------------------------------------------------------------
notes_plat_sysinfo_350 = 5. sysinfo process ancestry
notes_plat_sysinfo_355 = /usr/lib/systemd/systemd --switched-root --system --deserialize 31
notes_plat_sysinfo_360 = sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
notes_plat_sysinfo_365 = sshd: root [priv]
notes_plat_sysinfo_370 = sshd: root@notty
notes_plat_sysinfo_375 = /bin/bash ./02.remote_local_SPECcpu_1.01.sh
notes_plat_sysinfo_380 = /bin/bash ./Run026-compliant-amd-ratefp.sh
notes_plat_sysinfo_385 = python3 ./run_amd_rate_aocc500_znver5_A1.py
notes_plat_sysinfo_390 = /bin/bash ./amd_rate_aocc500_znver5_A1.sh
notes_plat_sysinfo_395 = runcpu --config amd_rate_aocc500_znver5_A1.cfg --tune all --reportable --iterations 3 fprate
notes_plat_sysinfo_400 = runcpu --configfile amd_rate_aocc500_znver5_A1.cfg --tune all --reportable --iterations 3 --nopower
notes_plat_sysinfo_405 = --runmode rate --tune base:peak --size test:train:refrate fprate --nopreenv --note-preenv --logfile
notes_plat_sysinfo_410 = $SPEC/tmp/CPU2017.439/templogs/preenv.fprate.439.0.log --lognum 439.0 --from_runcpu 2
notes_plat_sysinfo_415 = specperl $SPEC/bin/sysinfo
notes_plat_sysinfo_420 = $SPEC = /home/cpu2017-1.1.9-amd-aocc500_znver5_A1.2
notes_plat_sysinfo_425 =
notes_plat_sysinfo_430 = ------------------------------------------------------------
notes_plat_sysinfo_435 = 6. /proc/cpuinfo
notes_plat_sysinfo_440 = model name : AMD EPYC 9745 128-Core Processor
notes_plat_sysinfo_445 = vendor_id : AuthenticAMD
notes_plat_sysinfo_450 = cpu family : 26
notes_plat_sysinfo_455 = model : 17
notes_plat_sysinfo_460 = stepping : 0
notes_plat_sysinfo_465 = microcode : 0xb101025
notes_plat_sysinfo_470 = bugs : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass
notes_plat_sysinfo_475 = TLB size : 192 4K pages
notes_plat_sysinfo_480 = cpu cores : 128
notes_plat_sysinfo_485 = siblings : 128
notes_plat_sysinfo_490 = 1 physical ids (chips)
notes_plat_sysinfo_495 = 128 processors (hardware threads)
notes_plat_sysinfo_500 = physical id 0: core ids 0-127
notes_plat_sysinfo_505 = physical id 0: apicids 0-127
notes_plat_sysinfo_510 = Caution: /proc/cpuinfo data regarding chips, cores, and threads is not necessarily reliable, especially for
notes_plat_sysinfo_515 = virtualized systems. Use the above data carefully.
notes_plat_sysinfo_520 =
notes_plat_sysinfo_525 = ------------------------------------------------------------
notes_plat_sysinfo_530 = 7. lscpu
notes_plat_sysinfo_535 =
notes_plat_sysinfo_540 = From lscpu from util-linux 2.37.4:
notes_plat_sysinfo_545 = Architecture: x86_64
notes_plat_sysinfo_550 = CPU op-mode(s): 32-bit, 64-bit
notes_plat_sysinfo_555 = Address sizes: 52 bits physical, 57 bits virtual
notes_plat_sysinfo_560 = Byte Order: Little Endian
notes_plat_sysinfo_565 = CPU(s): 128
notes_plat_sysinfo_570 = On-line CPU(s) list: 0-127
notes_plat_sysinfo_575 = Vendor ID: AuthenticAMD
notes_plat_sysinfo_580 = BIOS Vendor ID: Advanced Micro Devices, Inc.
notes_plat_sysinfo_585 = Model name: AMD EPYC 9745 128-Core Processor
notes_plat_sysinfo_590 = BIOS Model name: AMD EPYC 9745 128-Core Processor
notes_plat_sysinfo_595 = CPU family: 26
notes_plat_sysinfo_600 = Model: 17
notes_plat_sysinfo_605 = Thread(s) per core: 1
notes_plat_sysinfo_610 = Core(s) per socket: 128
notes_plat_sysinfo_615 = Socket(s): 1
notes_plat_sysinfo_620 = Stepping: 0
notes_plat_sysinfo_625 = BogoMIPS: 4792.61
notes_plat_sysinfo_630 = Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36
notes_plat_sysinfo_635 = clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp
notes_plat_sysinfo_640 = lm constant_tsc rep_good amd_lbr_v2 nopl nonstop_tsc cpuid extd_apicid
notes_plat_sysinfo_645 = aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 pcid sse4_1 sse4_2
notes_plat_sysinfo_650 = x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm
notes_plat_sysinfo_655 = extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit
notes_plat_sysinfo_660 = wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb
notes_plat_sysinfo_665 = cat_l3 cdp_l3 hw_pstate ssbd mba perfmon_v2 ibrs ibpb stibp
notes_plat_sysinfo_670 = ibrs_enhanced vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms
notes_plat_sysinfo_675 = invpcid cqm rdt_a avx512f avx512dq rdseed adx smap avx512ifma
notes_plat_sysinfo_680 = clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec
notes_plat_sysinfo_685 = xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local
notes_plat_sysinfo_690 = avx_vnni avx512_bf16 clzero irperf xsaveerptr rdpru wbnoinvd amd_ppin
notes_plat_sysinfo_695 = cppc arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid
notes_plat_sysinfo_700 = decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif x2avic
notes_plat_sysinfo_705 = v_spec_ctrl vnmi avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes
notes_plat_sysinfo_710 = vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq la57 rdpid
notes_plat_sysinfo_715 = bus_lock_detect movdiri movdir64b overflow_recov succor smca fsrm
notes_plat_sysinfo_720 = avx512_vp2intersect flush_l1d debug_swap
notes_plat_sysinfo_725 = Virtualization: AMD-V
notes_plat_sysinfo_730 = L1d cache: 6 MiB (128 instances)
notes_plat_sysinfo_735 = L1i cache: 4 MiB (128 instances)
notes_plat_sysinfo_740 = L2 cache: 128 MiB (128 instances)
notes_plat_sysinfo_745 = L3 cache: 256 MiB (8 instances)
notes_plat_sysinfo_750 = NUMA node(s): 4
notes_plat_sysinfo_755 = NUMA node0 CPU(s): 0-31
notes_plat_sysinfo_760 = NUMA node1 CPU(s): 32-63
notes_plat_sysinfo_765 = NUMA node2 CPU(s): 64-95
notes_plat_sysinfo_770 = NUMA node3 CPU(s): 96-127
notes_plat_sysinfo_775 = Vulnerability Gather data sampling: Not affected
notes_plat_sysinfo_780 = Vulnerability Itlb multihit: Not affected
notes_plat_sysinfo_785 = Vulnerability L1tf: Not affected
notes_plat_sysinfo_790 = Vulnerability Mds: Not affected
notes_plat_sysinfo_795 = Vulnerability Meltdown: Not affected
notes_plat_sysinfo_800 = Vulnerability Mmio stale data: Not affected
notes_plat_sysinfo_805 = Vulnerability Retbleed: Not affected
notes_plat_sysinfo_810 = Vulnerability Spec rstack overflow: Not affected
notes_plat_sysinfo_815 = Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
notes_plat_sysinfo_820 = Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
notes_plat_sysinfo_825 = Vulnerability Spectre v2: Mitigation; Enhanced / Automatic IBRS, IBPB conditional, STIBP
notes_plat_sysinfo_830 = disabled, RSB filling, PBRSB-eIBRS Not affected
notes_plat_sysinfo_835 = Vulnerability Srbds: Not affected
notes_plat_sysinfo_840 = Vulnerability Tsx async abort: Not affected
notes_plat_sysinfo_845 =
notes_plat_sysinfo_850 = From lscpu --cache:
notes_plat_sysinfo_855 = NAME ONE-SIZE ALL-SIZE WAYS TYPE LEVEL SETS PHY-LINE COHERENCY-SIZE
notes_plat_sysinfo_860 = L1d 48K 6M 12 Data 1 64 1 64
notes_plat_sysinfo_865 = L1i 32K 4M 8 Instruction 1 64 1 64
notes_plat_sysinfo_870 = L2 1M 128M 16 Unified 2 1024 1 64
notes_plat_sysinfo_875 = L3 32M 256M 16 Unified 3 32768 1 64
notes_plat_sysinfo_880 =
notes_plat_sysinfo_885 = ------------------------------------------------------------
notes_plat_sysinfo_890 = 8. numactl --hardware
notes_plat_sysinfo_895 = NOTE: a numactl 'node' might or might not correspond to a physical chip.
notes_plat_sysinfo_900 = available: 4 nodes (0-3)
notes_plat_sysinfo_905 = node 0 cpus: 0-31
notes_plat_sysinfo_910 = node 0 size: 96339 MB
notes_plat_sysinfo_915 = node 0 free: 95742 MB
notes_plat_sysinfo_920 = node 1 cpus: 32-63
notes_plat_sysinfo_925 = node 1 size: 96759 MB
notes_plat_sysinfo_930 = node 1 free: 96075 MB
notes_plat_sysinfo_935 = node 2 cpus: 64-95
notes_plat_sysinfo_940 = node 2 size: 96759 MB
notes_plat_sysinfo_945 = node 2 free: 96059 MB
notes_plat_sysinfo_950 = node 3 cpus: 96-127
notes_plat_sysinfo_955 = node 3 size: 96653 MB
notes_plat_sysinfo_960 = node 3 free: 95725 MB
notes_plat_sysinfo_965 = node distances:
notes_plat_sysinfo_970 = node 0 1 2 3
notes_plat_sysinfo_975 = 0: 10 12 12 12
notes_plat_sysinfo_980 = 1: 12 10 12 12
notes_plat_sysinfo_985 = 2: 12 12 10 12
notes_plat_sysinfo_990 = 3: 12 12 12 10
notes_plat_sysinfo_995 =
notes_plat_sysinfo_1000= ------------------------------------------------------------
notes_plat_sysinfo_1005= 9. /proc/meminfo
notes_plat_sysinfo_1010= MemTotal: 395788240 kB
notes_plat_sysinfo_1015=
notes_plat_sysinfo_1020= ------------------------------------------------------------
notes_plat_sysinfo_1025= 10. who -r
notes_plat_sysinfo_1030= run-level 3 Mar 22 22:36
notes_plat_sysinfo_1035=
notes_plat_sysinfo_1040= ------------------------------------------------------------
notes_plat_sysinfo_1045= 11. Systemd service manager version: systemd 252 (252-32.el9_4)
notes_plat_sysinfo_1050= Default Target Status
notes_plat_sysinfo_1055= multi-user degraded
notes_plat_sysinfo_1060=
notes_plat_sysinfo_1065= ------------------------------------------------------------
notes_plat_sysinfo_1070= 12. Failed units, from systemctl list-units --state=failed
notes_plat_sysinfo_1075= UNIT LOAD ACTIVE SUB DESCRIPTION
notes_plat_sysinfo_1080= * NetworkManager-wait-online.service loaded failed failed Network Manager Wait Online
notes_plat_sysinfo_1085=
notes_plat_sysinfo_1090= ------------------------------------------------------------
notes_plat_sysinfo_1095= 13. Services, from systemctl list-unit-files
notes_plat_sysinfo_1100= STATE UNIT FILES
notes_plat_sysinfo_1105= enabled NetworkManager NetworkManager-dispatcher NetworkManager-wait-online auditd chronyd crond
notes_plat_sysinfo_1110= dbus-broker firewalld getty@ insights-client-boot irqbalance kdump low-memory-monitor
notes_plat_sysinfo_1115= mdmonitor microcode nis-domainname rhsmcertd rsyslog rtkit-daemon selinux-autorelabel-mark
notes_plat_sysinfo_1120= sshd sssd systemd-boot-update systemd-network-generator udisks2 upower
notes_plat_sysinfo_1125= enabled-runtime systemd-remount-fs
notes_plat_sysinfo_1130= disabled canberra-system-bootup canberra-system-shutdown canberra-system-shutdown-reboot
notes_plat_sysinfo_1135= chrony-wait chronyd-restricted console-getty cpupower debug-shell dnf-system-upgrade
notes_plat_sysinfo_1140= hwloc-dump-hwdata kvm_stat man-db-restart-cache-update nftables pesign rdisc rhcd rhsm
notes_plat_sysinfo_1145= rhsm-facts rpmdb-rebuild selinux-check-proper-disable serial-getty@ sshd-keygen@
notes_plat_sysinfo_1150= systemd-boot-check-no-failures systemd-pstore systemd-sysext
notes_plat_sysinfo_1155= indirect sssd-autofs sssd-kcm sssd-nss sssd-pac sssd-pam sssd-ssh sssd-sudo systemd-sysupdate
notes_plat_sysinfo_1160= systemd-sysupdate-reboot
notes_plat_sysinfo_1165=
notes_plat_sysinfo_1170= ------------------------------------------------------------
notes_plat_sysinfo_1175= 14. Linux kernel boot-time arguments, from /proc/cmdline
notes_plat_sysinfo_1180= BOOT_IMAGE=(hd3,gpt3)/boot/vmlinuz-5.14.0-427.13.1.el9_4.x86_64
notes_plat_sysinfo_1185= root=UUID=273c79f3-13a9-4ae6-9c36-e82799318ef8
notes_plat_sysinfo_1190= ro
notes_plat_sysinfo_1195= resume=UUID=19c8733f-555f-4142-8f61-7554d0dc64ae
notes_plat_sysinfo_1200=
notes_plat_sysinfo_1205= ------------------------------------------------------------
notes_plat_sysinfo_1210= 15. cpupower frequency-info
notes_plat_sysinfo_1215= analyzing CPU 50:
notes_plat_sysinfo_1220= Unable to determine current policy
notes_plat_sysinfo_1225= boost state support:
notes_plat_sysinfo_1230= Supported: yes
notes_plat_sysinfo_1235= Active: yes
notes_plat_sysinfo_1240= Boost States: 0
notes_plat_sysinfo_1245= Total States: 3
notes_plat_sysinfo_1250= Pstate-P0: 44800MHz
notes_plat_sysinfo_1255=
notes_plat_sysinfo_1260= ------------------------------------------------------------
notes_plat_sysinfo_1265= 16. sysctl
notes_plat_sysinfo_1270= kernel.numa_balancing 1
notes_plat_sysinfo_1275= kernel.randomize_va_space 0
notes_plat_sysinfo_1280= vm.compaction_proactiveness 20
notes_plat_sysinfo_1285= vm.dirty_background_bytes 0
notes_plat_sysinfo_1290= vm.dirty_background_ratio 10
notes_plat_sysinfo_1295= vm.dirty_bytes 0
notes_plat_sysinfo_1300= vm.dirty_expire_centisecs 3000
notes_plat_sysinfo_1305= vm.dirty_ratio 8
notes_plat_sysinfo_1310= vm.dirty_writeback_centisecs 500
notes_plat_sysinfo_1315= vm.dirtytime_expire_seconds 43200
notes_plat_sysinfo_1320= vm.extfrag_threshold 500
notes_plat_sysinfo_1325= vm.min_unmapped_ratio 1
notes_plat_sysinfo_1330= vm.nr_hugepages 0
notes_plat_sysinfo_1335= vm.nr_hugepages_mempolicy 0
notes_plat_sysinfo_1340= vm.nr_overcommit_hugepages 0
notes_plat_sysinfo_1345= vm.swappiness 1
notes_plat_sysinfo_1350= vm.watermark_boost_factor 15000
notes_plat_sysinfo_1355= vm.watermark_scale_factor 10
notes_plat_sysinfo_1360= vm.zone_reclaim_mode 1
notes_plat_sysinfo_1365=
notes_plat_sysinfo_1370= ------------------------------------------------------------
notes_plat_sysinfo_1375= 17. /sys/kernel/mm/transparent_hugepage
notes_plat_sysinfo_1380= defrag [always] defer defer+madvise madvise never
notes_plat_sysinfo_1385= enabled [always] madvise never
notes_plat_sysinfo_1390= hpage_pmd_size 2097152
notes_plat_sysinfo_1395= shmem_enabled always within_size advise [never] deny force
notes_plat_sysinfo_1400=
notes_plat_sysinfo_1405= ------------------------------------------------------------
notes_plat_sysinfo_1410= 18. /sys/kernel/mm/transparent_hugepage/khugepaged
notes_plat_sysinfo_1415= alloc_sleep_millisecs 60000
notes_plat_sysinfo_1420= defrag 1
notes_plat_sysinfo_1425= max_ptes_none 511
notes_plat_sysinfo_1430= max_ptes_shared 256
notes_plat_sysinfo_1435= max_ptes_swap 64
notes_plat_sysinfo_1440= pages_to_scan 4096
notes_plat_sysinfo_1445= scan_sleep_millisecs 10000
notes_plat_sysinfo_1450=
notes_plat_sysinfo_1455= ------------------------------------------------------------
notes_plat_sysinfo_1460= 19. OS release
notes_plat_sysinfo_1465= From /etc/*-release /etc/*-version
notes_plat_sysinfo_1470= os-release Red Hat Enterprise Linux 9.4 (Plow)
notes_plat_sysinfo_1475= redhat-release Red Hat Enterprise Linux release 9.4 (Plow)
notes_plat_sysinfo_1480= system-release Red Hat Enterprise Linux release 9.4 (Plow)
notes_plat_sysinfo_1485=
notes_plat_sysinfo_1490= ------------------------------------------------------------
notes_plat_sysinfo_1495= 20. Disk information
notes_plat_sysinfo_1500= SPEC is set to: /home/cpu2017-1.1.9-amd-aocc500_znver5_A1.2
notes_plat_sysinfo_1505= Filesystem Type Size Used Avail Use% Mounted on
notes_plat_sysinfo_1510= /dev/sda4 xfs 372G 107G 265G 29% /home
notes_plat_sysinfo_1515=
notes_plat_sysinfo_1520= ------------------------------------------------------------
notes_plat_sysinfo_1525= 21. /sys/devices/virtual/dmi/id
notes_plat_sysinfo_1530= Vendor: Lenovo
notes_plat_sysinfo_1535= Product: ThinkSystem SR635V3
notes_plat_sysinfo_1540= Product Family: ThinkSystem
notes_plat_sysinfo_1545= Serial: 1234567890
notes_plat_sysinfo_1550=
notes_plat_sysinfo_1555= ------------------------------------------------------------
notes_plat_sysinfo_1560= 22. dmidecode
notes_plat_sysinfo_1565= Additional information from dmidecode 3.5 follows. WARNING: Use caution when you interpret this section.
notes_plat_sysinfo_1570= The 'dmidecode' program reads system data which is "intended to allow hardware to be accurately
notes_plat_sysinfo_1575= determined", but the intent may not be met, as there are frequent changes to hardware, firmware, and the
notes_plat_sysinfo_1580= "DMTF SMBIOS" standard.
notes_plat_sysinfo_1585= Memory:
notes_plat_sysinfo_1590= 12x SK Hynix HMCG88AHBRA290N 32 GB 2 rank 6400, configured at 6000
notes_plat_sysinfo_1595=
notes_plat_sysinfo_1600=
notes_plat_sysinfo_1605= ------------------------------------------------------------
notes_plat_sysinfo_1610= 23. BIOS
notes_plat_sysinfo_1615= (This section combines info from /sys/devices and dmidecode.)
notes_plat_sysinfo_1620= BIOS Vendor: Lenovo
notes_plat_sysinfo_1625= BIOS Version: KAE131I-5.30
notes_plat_sysinfo_1630= BIOS Date: 12/17/2024
notes_plat_sysinfo_1635= BIOS Revision: 5.30
notes_plat_sysinfo_1640= Firmware Revision: 54.6
hw_cpu_name = AMD EPYC 9745
hw_disk = 372 GB add more disk info here
hw_memory001 = 377.453 GB fixme: If using DDR4, the format is:
hw_memory002 = 'N GB (N x N GB nRxn PC4-nnnnX-X)'
hw_nchips = 1
hw_ncores = 128
hw_nthreadspercore = 1
prepared_by = root (is never output, only tags rawfile)
sw_file = xfs
sw_os001 = Red Hat Enterprise Linux 9.4 (Plow)
sw_state = Run level 3 (add definition here)
# End of settings added by sysinfo_program
554.roms_r:
# The following setting was inserted automatically as a result of
# post-run basepeak application.
basepeak = 1
538.imagick_r:
# The following setting was inserted automatically as a result of
# post-run basepeak application.
basepeak = 1
527.cam4_r:
# The following setting was inserted automatically as a result of
# post-run basepeak application.
basepeak = 1
526.blender_r:
# The following setting was inserted automatically as a result of
# post-run basepeak application.
basepeak = 1
519.lbm_r:
# The following setting was inserted automatically as a result of
# post-run basepeak application.
basepeak = 1
510.parest_r:
# The following setting was inserted automatically as a result of
# post-run basepeak application.
basepeak = 1
507.cactuBSSN_r:
# The following setting was inserted automatically as a result of
# post-run basepeak application.
basepeak = 1
503.bwaves_r:
# The following setting was inserted automatically as a result of
# post-run basepeak application.
basepeak = 1
# The following section was added automatically, and contains settings that
# did not appear in the original configuration file, but were added to the
# raw file after the run.
default:
power_management000 = BIOS set to prefer performance at the cost of
power_management001 = additional power usage
notes_plat_form_000 =BIOS configuration:
notes_plat_form_005 =Choose Operating Mode set to Maximum Performance and then set it to Custom Mode
notes_plat_form_010 =NUMA Nodes per Socket set to NPS4
notes_plat_form_015 =L1 Stride Prefetcher set to Disabled
notes_plat_form_020 =SMT Mode set to Disabled