# Invocation command line:
# /home/cpu2017_new/bin/harness/runcpu --configfile amd_speed_aocc500_znver5_A1.cfg --tune all --reportable --iterations 3 --nopower --runmode speed --tune base:peak --size test:train:refspeed fpspeed
# output_root was not used for this run
############################################################################
################################################################################
# AMD AOCC 500 SPEC CPU 2017 V1.1.9 Speed Configuration File for 64-bit Linux
#
#      File name                : amd_speed_aocc500_znver5_A1.cfg
#      Creation Date            : September 11, 2024
#      CPU 2017 Version         : 1.1.9
#      Supported benchmarks     : All Speed benchmarks (intspeed, fpspeed)
#      Compiler name/version    : AOCC 5.0.0
#      Operating system version : Ubuntu 22.04
#      Supported OS's           : SLE 15 SP6, Ubuntu 22.04/24.04
#      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_speed_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 znver5-based
# server platforms within Linux (AMD64).
#
# The binary package was built specifically for AMD znver5 microprocessors and
# is not intended to run on other products.
#
# Please install the binary package by following the instructions in
# "Readme.amd_speed_aocc500_znver5_A1.txt" under the "How To Use the Binaries" section.
#
# The binary package is designed to work without alteration on one socket AMD
# znver5-based servers with 96 cores, SMT enabled and 768 (64x12) GB of DDR5
# memory distributed evenly among all 12 channels using 64 GiB DIMMs.
#
# To run the binary package on other znver5 configurations, please review
# "Readme.amd_speed_aocc500_znver5_A1.txt". In general, znver5 CPUs
# should be autodetected with no action required by the user.
#
# In most cases, it should be unnecessary to edit "amd_speed_aocc500_znver5_A1.cfg" or any
# other file besides "ini_amd_speed_aocc500_znver5_A1.py" where reporting fields
# and run conditions are set.
#
# The run script automatically sets the optimal number of speed copies and binds
# them appropriately.
#
# The run script and accompanying binary package are designed to work on Ubuntu
# 22.04, RHEL 8.6/9, and SLE 15 SP4.
#
# 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_speed_%{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 amd_speed_aocc500_znver5_A_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 name
################################################################################
# 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.

%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

# retain:true is necessary to avoid gcc out-of-memory exceptions on certain SUTs:
# oversize_threshold is required to support jemalloc 5.2.x+
preENV_MALLOC_CONF = retain:true
preENV_LIBOMP_NUM_HIDDEN_HELPER_THREADS = 0

# OpenMP environment variables:
preENV_OMP_SCHEDULE      = static
preENV_OMP_DYNAMIC       = false
preENV_OMP_STACKSIZE     = 128M

# 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_speed_aocc500_znver5_A1.inc'
############################################################################
################################################################################
################################################################################
# File name: amd_speed_aocc500_znver5_A1.inc
# File generation code date: August 29, 2024
# File generation date/time: November 19, 2024 / 11:38:46
#
# 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 96
%define physical_core_count 96

################################################################################
################################################################################
# The following inc blocks set the speed thread counts and affinity settings.
#
# intspeed benchmarks: 600.perlbench_s,602.gcc_s,605.mcf_s,620.omnetpp_s,
#   623.xalancbmk_s,625.x264_s,631.deepsjeng_s,641.leela_s,648.exchange2_s,
#   657.xz_s
# fpspeed benchmarks: 603.bwaves_s,607.cactuBSSN_s,619.lbm_s,621.wrf_s,
#   627.cam4_s,628.pop2_s,638.imagick_s,644.nab_s,649.fotonik3d_s,
#   654.roms_s
#
# Selected thread counts from 'turin48' section of CPU info
################################################################################
# default preENV thread settings:
default:
preENV_OMP_THREAD_LIMIT  = 96
preENV_GOMP_CPU_AFFINITY = 0-95
################################################################################
################################################################################
# intspeed base thread counts:
intspeed=base:
threads                  = 96
ENV_GOMP_CPU_AFFINITY    = 0-95
bind0                    = numactl --physcpubind=0-95
submit = echo "$command" > run.sh ; $BIND bash run.sh
################################################################################
################################################################################
# fpspeed base thread counts:
fpspeed=base:
threads                  = 96
ENV_GOMP_CPU_AFFINITY    = 0-95
bind0                    = numactl --physcpubind=0-95
submit = echo "$command" > run.sh ; $BIND bash run.sh
################################################################################
################################################################################
# peak thread counts: 1
600.perlbench_s,602.gcc_s,605.mcf_s,620.omnetpp_s,623.xalancbmk_s,625.x264_s,631.deepsjeng_s,641.leela_s,648.exchange2_s=peak:
threads                  = 1
ENV_GOMP_CPU_AFFINITY    = 0
bind0                    = numactl --physcpubind=0
submit = echo "$command" > run.sh ; $BIND bash run.sh
################################################################################
################################################################################
# peak thread counts: 96
603.bwaves_s,607.cactuBSSN_s,619.lbm_s,621.wrf_s,628.pop2_s,638.imagick_s,644.nab_s,649.fotonik3d_s=peak:
threads                  = 96
ENV_GOMP_CPU_AFFINITY    = 0-95
bind0                    = numactl --physcpubind=0-95
submit = echo "$command" > run.sh ; $BIND bash run.sh
################################################################################
################################################################################
# peak thread counts: 96
627.cam4_s,654.roms_s,657.xz_s=peak:
threads                  = 96
ENV_GOMP_CPU_AFFINITY    = 0-95
bind0                    = numactl --physcpubind=0-95
submit = echo "$command" > run.sh ; $BIND bash run.sh
################################################################################

################################################################################
################################################################################
# Switch back to default:
default:
################################################################################


################################################################################
################################################################################
# The remainder of this file defines CPU2017 report parameters.
################################################################################
################################################################################
################################################################################
# SPEC CPU 2017 report header
################################################################################
license_num              =3
tester                   =HPE
test_sponsor             =HPE
hw_vendor                =Hewlett Packard Enterprise
hw_model000              =ProLiant DL385 Gen11
hw_model001              =(3.65 GHz, AMD EPYC 9475F)
#--------- 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                 =Jan-2025
sw_avail                 =Sep-2024
hw_cpu_name              =AMD EPYC TURIN48
hw_cpu_nominal_mhz       =3650
hw_cpu_max_mhz           =4800
hw_ncores                =96
hw_nthreadspercore       =1
hw_ncpuorder             =1,2 chips

hw_other                 =CPU Cooling: Air
fw_bios000               =HPE BIOS Version v2.20 10/31/2024 released
fw_bios001 = Oct-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 / 6 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.
################################################################################
intspeed:

sw_peak_ptrsize          =32/64-bit

notes_os_thp_000         =To enable Transparent Hugepages (THP) only on request for base runs,
notes_os_thp_001         ='echo madvise > /sys/kernel/mm/transparent_hugepage/enabled' run as root.
notes_os_thp_002         =To enable THP for all allocations for peak runs,
notes_os_thp_003         ='echo always > /sys/kernel/mm/transparent_hugepage/enabled' and
notes_os_thp_004         ='echo always > /sys/kernel/mm/transparent_hugepage/defrag' run as root.
notes_os_thp_005         =


################################################################################
# The following fields must be set here for FP benchmarks.
################################################################################
fpspeed:

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.
notes_os_thp_015         =


################################################################################
# The following fields must be set here or they will be overwritten by sysinfo.
################################################################################

intspeed,fpspeed:
hw_disk                  =1 x 480 GB SATA SSD
hw_memory000             =768 GB (24 x 32 GB 2Rx8 PC5-6400B-R,
hw_memory001             =running at 6000)
hw_memory002             =

hw_nchips                =2
prepared_by              =HPE Performance Engineering
sw_file                  =btrfs
sw_os000                 =SUSE Linux Enterprise Server 15 SP6
sw_os001                 =Kernel 6.4.0-150600.21-default
sw_state                 =Run level 5 (multi-user)

################################################################################
# End of inc file
################################################################################
# Switch back to the default block after the include file:

default:

# ---- End inclusion of '/home/cpu2017_new/config/amd_speed_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/HPE-Platform-Flags-AMD-Turin-rev1.0.xml
flagsurl001 = http://www.spec.org/cpu2017/flags/aocc500-flags.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
use_submit_for_speed     = yes


################################################################################
# Include the flags file:
################################################################################

#include: %{flags_inc_file_name}
#  ----- Begin inclusion of 'amd_speed_aocc500_znver5_A1_flags.inc'
############################################################################
################################################################################
# AMD AOCC 5.0.0 SPEC CPU2017 V1.1.9 Speed 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               = -fopenmp=libomp \
                           -lomp \
                           -lamdalloc \
                           -lamdlibm \
                           -lm

MATHLIBOPT               = #clearing this variable or else SPEC will set it to -lm

VECMATHLIB               = -fveclib=AMDLIBM

# Variables:
OPT_ROOT                 = -march=znver5 \
                           $(VECMATHLIB) \
                           -ffast-math \
                           -fopenmp

OPT_ROOT_BASE            = -O3 \
                           $(OPT_ROOT)

OPT_ROOT_PEAK            = -Ofast \
                           $(OPT_ROOT) \
                           -flto

THP_ALWAYS               = echo always > /sys/kernel/mm/transparent_hugepage/enabled; echo always > /sys/kernel/mm/transparent_hugepage/defrag
THP_NEVER                = echo never > /sys/kernel/mm/transparent_hugepage/enabled; echo never > /sys/kernel/mm/transparent_hugepage/defrag
THP_MADVISE              = echo madvise > /sys/kernel/mm/transparent_hugepage/enabled; echo madvise > /sys/kernel/mm/transparent_hugepage/defrag
DEFAULT_SUBMIT           = $BIND $command


################################################################################
# Portability and workaround include files
################################################################################

# Portability flags include file:
#include: %{port_flags_inc_file_name}
#  ----- Begin inclusion of 'amd_speed_aocc500_znver5_A1_flags_portability.inc'
############################################################################
################################################################################
# AMD AOCC 5.0.0 SPEC CPU2017 V1.1.9 Speed 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)

600.perlbench_s:  #lang='C'
PORTABILITY              = -DSPEC_LINUX_X64

621.wrf_s:  #lang='F,C'
CPORTABILITY             = -DSPEC_CASE_FLAG
FPORTABILITY             = -Mbyteswapio

623.xalancbmk_s:  #lang='CXX'
PORTABILITY              = -DSPEC_LINUX

627.cam4_s:  #lang='F,C'
PORTABILITY              = -DSPEC_CASE_FLAG

628.pop2_s:  #lang='F,C'
CPORTABILITY             = -DSPEC_CASE_FLAG
FPORTABILITY             = -Mbyteswapio

################################################################################
# End Portability Flags
################################################################################
# ---- End inclusion of '/home/cpu2017_new/config/amd_speed_aocc500_znver5_A1_flags_portability.inc'

# Workaround flags include file:
#include: %{workaround_flags_inc_file_name}
#  ----- Begin inclusion of 'amd_speed_aocc500_znver5_A1_flags_workaround.inc'
############################################################################
################################################################################
# AMD AOCC 5.0.0 SPEC CPU2017 V1.1.9 Speed 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 #
##############################
#
# *** NONE ***
#

#########################
# FP workarounds - base #
#########################
#
# *** NONE ***
#

####################
# Peak workarounds #
####################
#
# *** NONE ***
#

##############################
# Integer workarounds - peak #
##############################
#
# *** NONE ***
#

#####################################
# Floating Point workarounds - peak #
#####################################
#
# *** NONE ***
#
# ---- End inclusion of '/home/cpu2017_new/config/amd_speed_aocc500_znver5_A1_flags_workaround.inc'

################################################################################
# Tuning Flags
################################################################################

#####################
# Base tuning flags #
#####################

default=base:

COPTIMIZE                = $(OPT_ROOT_BASE) \
                           -DSPEC_OPENMP \
                           -flto \
                           -fremap-arrays \
                           -fstrip-mining \
                           -fstruct-layout=7 \
                           -mllvm -inline-threshold=1000 \
                           -mllvm -reduce-array-computations=3 \
                           -mllvm -unroll-threshold=50 \
                           -Wno-return-type \
                           -zopt

CXXOPTIMIZE              = $(OPT_ROOT_BASE) \
                           -DSPEC_OPENMP \
                           -flto \
                           -mllvm -loop-unswitch-threshold=200000 \
                           -mllvm -reduce-array-computations=3 \
                           -mllvm -unroll-threshold=100 \
                           -zopt

FOPTIMIZE                = $(OPT_ROOT_BASE) \
                           -DSPEC_OPENMP \
                           -flto \
                           -funroll-loops \
                           -mllvm -lsr-in-nested-loop \
                           -mllvm -reduce-array-computations=3 \
                           -Mrecursive \
                           -zopt

LDCXXFLAGS               = -Wl,-mllvm -Wl,-x86-use-vzeroupper=false

LDFLAGS                  = -Wl,-mllvm -Wl,-align-all-nofallthru-blocks=6 \
                           -Wl,-mllvm -Wl,-reduce-array-computations=3

LDFFLAGS                 = -Wl,-mllvm -Wl,-enable-X86-prefetching

#other libraries
# Put OpenMP and math libraries here:
# -lm needed at the end for some transcendental functions:
EXTRA_LIBS               = -fopenmp=libomp \
                           -lomp \
                           -lamdlibm \
                           -lamdalloc \
                           -lflang \
                           -lm

EXTRA_FLIBS              =

# Don't put the AMD and mvec math libraries in MATHLIBOPT 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 MATHLIBOPT.
MATHLIBOPT               =


#########################
# intspeed tuning flags #
#########################

intspeed:

FOPTIMIZE                = $(OPT_ROOT_BASE) \
                           -flto \
                           -mllvm -optimize-strided-mem-cost

EXTRA_FFLAGS             = -mllvm -unroll-aggressive \
                           -mllvm -unroll-threshold=150

EXTRA_CXXFLAGS           = -fvirtual-function-elimination \
                           -fvisibility=hidden

LDFLAGS                  = -Wl,-mllvm -Wl,-align-all-nofallthru-blocks=6 \
                           -Wl,-mllvm -Wl,-reduce-array-computations=3

LDCFLAGS                 = -Wl,-allow-multiple-definition \
                           -Wl,-mllvm -Wl,-extra-inliner

LDCXXFLAGS               =

LDFFLAGS                 = -Wl,-mllvm -Wl,-enable-iv-split \
                           -Wl,-mllvm -Wl,-inline-recursion=4 \
                           -Wl,-mllvm -Wl,-lsr-in-nested-loop

##############################
# intspeed base tuning flags #
##############################

intspeed=base:

EXTRA_LIBS               = -fopenmp=libomp \
                           -lomp \
                           -lamdlibm \
                           -lflang \
                           -lm

EXTRA_CLIBS              = -lamdalloc
EXTRA_CXXLIBS            = -lamdalloc-ext
EXTRA_FLIBS              = -lamdalloc

submit                   = ${THP_ALWAYS}; ${DEFAULT_SUBMIT}

##############################
# intspeed peak tuning flags #
##############################

intspeed=peak:

submit                   = ${THP_ALWAYS}; ${DEFAULT_SUBMIT}


#############################
# fpspeed base tuning flags #
#############################

fpspeed=base:
EXTRA_CFLAGS             = -mrecip=none \
                           -Wno-unused-command-line-argument

submit                   = ${THP_ALWAYS}; ${DEFAULT_SUBMIT}

#############################
# fpspeed peak tuning flags #
#############################

fpspeed=peak:

submit                   = ${THP_ALWAYS}; ${DEFAULT_SUBMIT}

#####################
# Peak tuning flags #
#####################

default=peak:

COPTIMIZE                = $(OPT_ROOT_PEAK) \
                           -DSPEC_OPENMP \
                           -fremap-arrays \
                           -fstrip-mining \
                           -fstruct-layout=9 \
                           -mllvm -inline-threshold=1000 \
                           -mllvm -reduce-array-computations=3 \
                           -mllvm -unroll-threshold=50 \
                           -Wno-return-type \
                           -zopt

CXXOPTIMIZE              = $(OPT_ROOT_PEAK) \
                           -DSPEC_OPENMP \
                           -mllvm -reduce-array-computations=3 \
                           -mllvm -unroll-threshold=100 \
                           -zopt

FOPTIMIZE                = $(OPT_ROOT_PEAK) \
                           -DSPEC_OPENMP \
                           -mllvm -reduce-array-computations=3 \
                           -Mrecursive \
                           -zopt

LDFLAGS                  = -Wl,-mllvm -Wl,-align-all-nofallthru-blocks=6 \
                           -Wl,-mllvm -Wl,-reduce-array-computations=3

LDFFLAGS                 = -Wl,-mllvm -Wl,-enable-X86-prefetching

LDCXXFLAGS               = -Wl,-mllvm -Wl,-x86-use-vzeroupper=false

EXTRA_LIBS               = -fopenmp=libomp \
                           -lomp \
                           -lamdlibm \
                           -lamdalloc \
                           -lflang \
                           -lm

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


# Benchmark specific peak tuning flags:

600.perlbench_s=peak: #lang='C'
submit                   = ${THP_ALWAYS}; ${DEFAULT_SUBMIT}

602.gcc_s=peak: #lang='C'
submit                   = ${THP_ALWAYS}; ${DEFAULT_SUBMIT}

603.bwaves_s=peak: #lang='F'
FOPTIMIZE                = -Ofast \
                           $(OPT_ROOT) \
                           -DSPEC_OPENMP \
                           -fscalar-transform \
                           -fvector-transform \
                           -mllvm -reduce-array-computations=3 \
                           -Mrecursive
submit                   = ${THP_ALWAYS}; ${DEFAULT_SUBMIT}

605.mcf_s=peak: #lang='C'
submit                   = ${THP_ALWAYS}; ${DEFAULT_SUBMIT}
LDCFLAGS                 = -Wl,-mllvm -Wl,-extra-inliner

607.cactuBSSN_s=peak: #lang='CXX,C,F'
submit                   = ${THP_ALWAYS}; ${DEFAULT_SUBMIT}

619.lbm_s=peak: #lang='C'
submit                   = ${THP_ALWAYS}; ${DEFAULT_SUBMIT}

620.omnetpp_s=peak: #lang='CXX'
EXTRA_LIBS               = -fopenmp=libomp \
                           -lomp \
                           -lamdlibm \
                           -lamdalloc-ext \
                           -lflang -lm
submit                   = ${THP_ALWAYS}; ${DEFAULT_SUBMIT}

621.wrf_s=peak: #lang='F,C'
FOPTIMIZE                = $(OPT_ROOT) \
                           -Ofast \
                           -DSPEC_OPENMP \
                           -funroll-loops \
                           -mllvm -lsr-in-nested-loop \
                           -mllvm -reduce-array-computations=3 \
                           -Mrecursive \
                           -zopt
submit                   = ${THP_ALWAYS}; ${DEFAULT_SUBMIT}

623.xalancbmk_s=peak: #lang='CXX'
EXTRA_CXXFLAGS           = -fvirtual-function-elimination \
                           -fvisibility=hidden \
                           -mllvm -do-block-reorder=advanced

LDFLAGS                  = -Wl,-mllvm -Wl,-align-all-nofallthru-blocks=6 \
                           -Wl,-mllvm -Wl,-reduce-array-computations=3 \
                           -Wl,-mllvm -Wl,-do-block-reorder=advanced

EXTRA_LIBS               = -fopenmp=libomp \
                           -lomp \
                           -lamdlibm \
                           -lamdalloc-ext \
                           -lflang \
                           -lm
submit                   = ${THP_ALWAYS}; ${DEFAULT_SUBMIT}

625.x264_s=peak: #lang='C'
submit                   = ${THP_ALWAYS}; ${DEFAULT_SUBMIT}

627.cam4_s=peak: #lang='F,C'
EXTRA_CFLAGS             = -mrecip=none \
                           -Wno-unused-command-line-argument

LDFLAGS                  = -Wl,-mllvm -Wl,-align-all-nofallthru-blocks=6 \
                           -Wl,-mllvm -Wl,-reduce-array-computations=3

submit                   = ${THP_NEVER}; ${DEFAULT_SUBMIT}

628.pop2_s=peak: #lang='F,C'
FOPTIMIZE                = $(OPT_ROOT) \
                           -Ofast \
                           -DSPEC_OPENMP \
                           -fscalar-transform \
                           -fvector-transform \
                           -mllvm -reduce-array-computations=3 \
                           -Mrecursive
submit                   = ${THP_MADVISE}; ${DEFAULT_SUBMIT}

631.deepsjeng_s=peak: #lang='CXX'
submit                   = ${THP_ALWAYS}; ${DEFAULT_SUBMIT}

638.imagick_s=peak: #lang='C'
LDFLAGS                  = -Wl,-mllvm -Wl,-align-all-nofallthru-blocks=6 \
                           -Wl,-mllvm -Wl,-reduce-array-computations=3

submit                   = ${THP_ALWAYS}; ${DEFAULT_SUBMIT}

641.leela_s=peak: #lang='CXX'
submit                   = ${THP_ALWAYS}; ${DEFAULT_SUBMIT}

644.nab_s=peak: #lang='C'
EXTRA_CFLAGS             = -mrecip=none \
                           -Wno-unused-command-line-argument

submit                   = ${THP_ALWAYS}; ${DEFAULT_SUBMIT}

648.exchange2_s=peak: #lang='F'
submit                   = ${THP_ALWAYS}; ${DEFAULT_SUBMIT}

649.fotonik3d_s=peak: #lang='F'

submit                   = ${THP_ALWAYS}; ${DEFAULT_SUBMIT}

654.roms_s=peak: #lang='F'
FOPTIMIZE                = -Ofast \
                           $(OPT_ROOT) \
                           -DSPEC_OPENMP \
                           -fscalar-transform \
                           -fvector-transform \
                           -mllvm -reduce-array-computations=3 \
                           -Mrecursive

submit                   = ${THP_NEVER}; ${DEFAULT_SUBMIT}
# ---- End inclusion of '/home/cpu2017_new/config/amd_speed_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_new/bin/sysinfo
notes_plat_sysinfo_010 = Rev: r6732 of 2022-11-07 fe91c89b7ed5c36ae2c92cc097bec197
notes_plat_sysinfo_015 = running on localhost Tue Nov 19 11:39:00 2024
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 254 (254.10+suse.84.ge8d77af424)
notes_plat_sysinfo_105 = 12. Services, from systemctl list-unit-files
notes_plat_sysinfo_110 = 13. Linux kernel boot-time arguments, from /proc/cmdline
notes_plat_sysinfo_115 = 14. cpupower frequency-info
notes_plat_sysinfo_120 = 15. tuned-adm active
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 6.4.0-150600.21-default #1 SMP PREEMPT_DYNAMIC Thu May 16 11:09:22 UTC 2024 (36c1e09/lp)
notes_plat_sysinfo_190 =   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 =    11:39:00 up 10 min,  3 users,  load average: 0.13, 0.85, 0.80
notes_plat_sysinfo_215 =   USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
notes_plat_sysinfo_220 =   root              :                22Apr24 ?xdm?  10:38   0.02s gdm-session-worker [pam/gdm-password]
notes_plat_sysinfo_225 =   root     seat0    login-           22Apr24  0.00s  0.00s  0.01s /usr/lib/gdm/gdm-x-session
notes_plat_sysinfo_230 =   --register-session --run-script gnome
notes_plat_sysinfo_235 =   root              :1               22Apr24 ?xdm?  10:38   0.01s /usr/lib/gdm/gdm-x-session
notes_plat_sysinfo_240 =   --register-session --run-script gnome
notes_plat_sysinfo_245 =   root     pts/1    172.17.1.96      22Apr24 18.00s  0.87s  0.13s /bin/bash ./amd_speed_aocc500_znver5_A1.sh
notes_plat_sysinfo_250 =
notes_plat_sysinfo_255 = ------------------------------------------------------------
notes_plat_sysinfo_260 = 3. Username
notes_plat_sysinfo_265 =   From environment variable $USER:  root
notes_plat_sysinfo_270 =
notes_plat_sysinfo_275 = ------------------------------------------------------------
notes_plat_sysinfo_280 = 4. ulimit -a
notes_plat_sysinfo_285 =   core file size          (blocks, -c) unlimited
notes_plat_sysinfo_290 =   data seg size           (kbytes, -d) unlimited
notes_plat_sysinfo_295 =   scheduling priority             (-e) 0
notes_plat_sysinfo_300 =   file size               (blocks, -f) unlimited
notes_plat_sysinfo_305 =   pending signals                 (-i) 3094614
notes_plat_sysinfo_310 =   max locked memory       (kbytes, -l) 2097152
notes_plat_sysinfo_315 =   max memory size         (kbytes, -m) unlimited
notes_plat_sysinfo_320 =   open files                      (-n) 1024
notes_plat_sysinfo_325 =   pipe size            (512 bytes, -p) 8
notes_plat_sysinfo_330 =   POSIX message queues     (bytes, -q) 819200
notes_plat_sysinfo_335 =   real-time priority              (-r) 0
notes_plat_sysinfo_340 =   stack size              (kbytes, -s) unlimited
notes_plat_sysinfo_345 =   cpu time               (seconds, -t) unlimited
notes_plat_sysinfo_350 =   max user processes              (-u) 3094614
notes_plat_sysinfo_355 =   virtual memory          (kbytes, -v) unlimited
notes_plat_sysinfo_360 =   file locks                      (-x) unlimited
notes_plat_sysinfo_365 =
notes_plat_sysinfo_370 = ------------------------------------------------------------
notes_plat_sysinfo_375 = 5. sysinfo process ancestry
notes_plat_sysinfo_380 =  /usr/lib/systemd/systemd --switched-root --system --deserialize=42
notes_plat_sysinfo_385 =  sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
notes_plat_sysinfo_390 =  sshd: root [priv]
notes_plat_sysinfo_395 =  sshd: root@pts/1
notes_plat_sysinfo_400 =  -bash
notes_plat_sysinfo_405 =  python3 ./run_fpspeed.py
notes_plat_sysinfo_410 =  /bin/bash ./amd_speed_aocc500_znver5_A1.sh
notes_plat_sysinfo_415 =  runcpu --config amd_speed_aocc500_znver5_A1.cfg --tune all --reportable --iterations 3 fpspeed
notes_plat_sysinfo_420 =  runcpu --configfile amd_speed_aocc500_znver5_A1.cfg --tune all --reportable --iterations 3 --nopower
notes_plat_sysinfo_425 =    --runmode speed --tune base:peak --size test:train:refspeed fpspeed --nopreenv --note-preenv --logfile
notes_plat_sysinfo_430 =    $SPEC/tmp/CPU2017.001/templogs/preenv.fpspeed.001.0.log --lognum 001.0 --from_runcpu 2
notes_plat_sysinfo_435 =  specperl $SPEC/bin/sysinfo
notes_plat_sysinfo_440 = $SPEC = /home/cpu2017_new
notes_plat_sysinfo_445 =
notes_plat_sysinfo_450 = ------------------------------------------------------------
notes_plat_sysinfo_455 = 6. /proc/cpuinfo
notes_plat_sysinfo_460 =     model name      : AMD EPYC 9475F 48-Core Processor
notes_plat_sysinfo_465 =     vendor_id       : AuthenticAMD
notes_plat_sysinfo_470 =     cpu family      : 26
notes_plat_sysinfo_475 =     model           : 2
notes_plat_sysinfo_480 =     stepping        : 1
notes_plat_sysinfo_485 =     microcode       : 0xb00211a
notes_plat_sysinfo_490 =     bugs            : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass
notes_plat_sysinfo_495 =     TLB size        : 192 4K pages
notes_plat_sysinfo_500 =     cpu cores       : 48
notes_plat_sysinfo_505 =     siblings        : 48
notes_plat_sysinfo_510 =     2 physical ids (chips)
notes_plat_sysinfo_515 =     96 processors (hardware threads)
notes_plat_sysinfo_520 =     physical id 0: core ids 0-5,8-13,16-21,24-29,32-37,40-45,48-53,56-61
notes_plat_sysinfo_525 =     physical id 1: core ids 0-5,8-13,16-21,24-29,32-37,40-45,48-53,56-61
notes_plat_sysinfo_530 =     physical id 0: apicids 0-5,8-13,16-21,24-29,32-37,40-45,48-53,56-61
notes_plat_sysinfo_535 =     physical id 1: apicids 64-69,72-77,80-85,88-93,96-101,104-109,112-117,120-125
notes_plat_sysinfo_540 =   Caution: /proc/cpuinfo data regarding chips, cores, and threads is not necessarily reliable, especially for
notes_plat_sysinfo_545 =   virtualized systems.  Use the above data carefully.
notes_plat_sysinfo_550 =
notes_plat_sysinfo_555 = ------------------------------------------------------------
notes_plat_sysinfo_560 = 7. lscpu
notes_plat_sysinfo_565 =
notes_plat_sysinfo_570 = From lscpu from util-linux 2.39.3:
notes_plat_sysinfo_575 =   Architecture:                         x86_64
notes_plat_sysinfo_580 =   CPU op-mode(s):                       32-bit, 64-bit
notes_plat_sysinfo_585 =   Address sizes:                        52 bits physical, 57 bits virtual
notes_plat_sysinfo_590 =   Byte Order:                           Little Endian
notes_plat_sysinfo_595 =   CPU(s):                               96
notes_plat_sysinfo_600 =   On-line CPU(s) list:                  0-95
notes_plat_sysinfo_605 =   Vendor ID:                            AuthenticAMD
notes_plat_sysinfo_610 =   BIOS Vendor ID:                       Advanced Micro Devices, Inc.
notes_plat_sysinfo_615 =   Model name:                           AMD EPYC 9475F 48-Core Processor
notes_plat_sysinfo_620 =   BIOS Model name:                      AMD EPYC 9475F 48-Core Processor                 CPU @ 3.6GHz
notes_plat_sysinfo_625 =   BIOS CPU family:                      107
notes_plat_sysinfo_630 =   CPU family:                           26
notes_plat_sysinfo_635 =   Model:                                2
notes_plat_sysinfo_640 =   Thread(s) per core:                   1
notes_plat_sysinfo_645 =   Core(s) per socket:                   48
notes_plat_sysinfo_650 =   Socket(s):                            2
notes_plat_sysinfo_655 =   Stepping:                             1
notes_plat_sysinfo_660 =   Frequency boost:                      enabled
notes_plat_sysinfo_665 =   CPU(s) scaling MHz:                   100%
notes_plat_sysinfo_670 =   CPU max MHz:                          3650.0000
notes_plat_sysinfo_675 =   CPU min MHz:                          1500.0000
notes_plat_sysinfo_680 =   BogoMIPS:                             7289.23
notes_plat_sysinfo_685 =   Flags:                                fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat
notes_plat_sysinfo_690 =                                         pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb
notes_plat_sysinfo_695 =                                         rdtscp lm constant_tsc rep_good amd_lbr_v2 nopl nonstop_tsc cpuid
notes_plat_sysinfo_700 =                                         extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 pcid
notes_plat_sysinfo_705 =                                         sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm
notes_plat_sysinfo_710 =                                         cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch
notes_plat_sysinfo_715 =                                         osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext
notes_plat_sysinfo_720 =                                         perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba perfmon_v2
notes_plat_sysinfo_725 =                                         ibrs ibpb stibp ibrs_enhanced vmmcall fsgsbase tsc_adjust bmi1 avx2
notes_plat_sysinfo_730 =                                         smep bmi2 erms invpcid cqm rdt_a avx512f avx512dq rdseed adx smap
notes_plat_sysinfo_735 =                                         avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt
notes_plat_sysinfo_740 =                                         xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total
notes_plat_sysinfo_745 =                                         cqm_mbm_local user_shstk avx_vnni avx512_bf16 clzero irperf
notes_plat_sysinfo_750 =                                         xsaveerptr rdpru wbnoinvd amd_ppin cppc arat npt lbrv svm_lock
notes_plat_sysinfo_755 =                                         nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter
notes_plat_sysinfo_760 =                                         pfthreshold avic v_vmsave_vmload vgif x2avic v_spec_ctrl vnmi
notes_plat_sysinfo_765 =                                         avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq
notes_plat_sysinfo_770 =                                         avx512_vnni avx512_bitalg avx512_vpopcntdq la57 rdpid bus_lock_detect
notes_plat_sysinfo_775 =                                         movdiri movdir64b overflow_recov succor smca fsrm avx512_vp2intersect
notes_plat_sysinfo_780 =                                         flush_l1d debug_swap
notes_plat_sysinfo_785 =   Virtualization:                       AMD-V
notes_plat_sysinfo_790 =   L1d cache:                            4.5 MiB (96 instances)
notes_plat_sysinfo_795 =   L1i cache:                            3 MiB (96 instances)
notes_plat_sysinfo_800 =   L2 cache:                             96 MiB (96 instances)
notes_plat_sysinfo_805 =   L3 cache:                             512 MiB (16 instances)
notes_plat_sysinfo_810 =   NUMA node(s):                         2
notes_plat_sysinfo_815 =   NUMA node0 CPU(s):                    0-47
notes_plat_sysinfo_820 =   NUMA node1 CPU(s):                    48-95
notes_plat_sysinfo_825 =   Vulnerability Gather data sampling:   Not affected
notes_plat_sysinfo_830 =   Vulnerability Itlb multihit:          Not affected
notes_plat_sysinfo_835 =   Vulnerability L1tf:                   Not affected
notes_plat_sysinfo_840 =   Vulnerability Mds:                    Not affected
notes_plat_sysinfo_845 =   Vulnerability Meltdown:               Not affected
notes_plat_sysinfo_850 =   Vulnerability Mmio stale data:        Not affected
notes_plat_sysinfo_855 =   Vulnerability Reg file data sampling: Not affected
notes_plat_sysinfo_860 =   Vulnerability Retbleed:               Not affected
notes_plat_sysinfo_865 =   Vulnerability Spec rstack overflow:   Not affected
notes_plat_sysinfo_870 =   Vulnerability Spec store bypass:      Mitigation; Speculative Store Bypass disabled via prctl
notes_plat_sysinfo_875 =   Vulnerability Spectre v1:             Mitigation; usercopy/swapgs barriers and __user pointer sanitization
notes_plat_sysinfo_880 =   Vulnerability Spectre v2:             Mitigation; Enhanced / Automatic IBRS; IBPB conditional; STIBP
notes_plat_sysinfo_885 =                                         disabled; RSB filling; PBRSB-eIBRS Not affected; BHI Not affected
notes_plat_sysinfo_890 =   Vulnerability Srbds:                  Not affected
notes_plat_sysinfo_895 =   Vulnerability Tsx async abort:        Not affected
notes_plat_sysinfo_900 =
notes_plat_sysinfo_905 = From lscpu --cache:
notes_plat_sysinfo_910 =      NAME ONE-SIZE ALL-SIZE WAYS TYPE        LEVEL  SETS PHY-LINE COHERENCY-SIZE
notes_plat_sysinfo_915 =      L1d       48K     4.5M   12 Data            1    64        1             64
notes_plat_sysinfo_920 =      L1i       32K       3M    8 Instruction     1    64        1             64
notes_plat_sysinfo_925 =      L2         1M      96M   16 Unified         2  1024        1             64
notes_plat_sysinfo_930 =      L3        32M     512M   16 Unified         3 32768        1             64
notes_plat_sysinfo_935 =
notes_plat_sysinfo_940 = ------------------------------------------------------------
notes_plat_sysinfo_945 = 8. numactl --hardware
notes_plat_sysinfo_950 = NOTE: a numactl 'node' might or might not correspond to a physical chip.
notes_plat_sysinfo_955 =   available: 2 nodes (0-1)
notes_plat_sysinfo_960 =   node 0 cpus: 0-47
notes_plat_sysinfo_965 =   node 0 size: 386705 MB
notes_plat_sysinfo_970 =   node 0 free: 385339 MB
notes_plat_sysinfo_975 =   node 1 cpus: 48-95
notes_plat_sysinfo_980 =   node 1 size: 386978 MB
notes_plat_sysinfo_985 =   node 1 free: 385510 MB
notes_plat_sysinfo_990 =   node distances:
notes_plat_sysinfo_995 =   node   0   1
notes_plat_sysinfo_1000=     0:  10  32
notes_plat_sysinfo_1005=     1:  32  10
notes_plat_sysinfo_1010=
notes_plat_sysinfo_1015= ------------------------------------------------------------
notes_plat_sysinfo_1020= 9. /proc/meminfo
notes_plat_sysinfo_1025=    MemTotal:       792252256 kB
notes_plat_sysinfo_1030=
notes_plat_sysinfo_1035= ------------------------------------------------------------
notes_plat_sysinfo_1040= 10. who -r
notes_plat_sysinfo_1045=   run-level 5 Apr 22 17:30
notes_plat_sysinfo_1050=
notes_plat_sysinfo_1055= ------------------------------------------------------------
notes_plat_sysinfo_1060= 11. Systemd service manager version: systemd 254 (254.10+suse.84.ge8d77af424)
notes_plat_sysinfo_1065=   Default Target  Status
notes_plat_sysinfo_1070=   graphical       running
notes_plat_sysinfo_1075=
notes_plat_sysinfo_1080= ------------------------------------------------------------
notes_plat_sysinfo_1085= 12. Services, from systemctl list-unit-files
notes_plat_sysinfo_1090=   STATE            UNIT FILES
notes_plat_sysinfo_1095=   enabled          ModemManager YaST2-Firstboot YaST2-Second-Stage apparmor appstream-sync-cache auditd
notes_plat_sysinfo_1100=                    bluetooth cron display-manager getty@ irqbalance issue-generator kbdsettings klog
notes_plat_sysinfo_1105=                    lvm2-monitor nscd postfix purge-kernels rollback rsyslog smartd sshd systemd-pstore wicked
notes_plat_sysinfo_1110=                    wickedd-auto4 wickedd-dhcp4 wickedd-dhcp6 wickedd-nanny wpa_supplicant
notes_plat_sysinfo_1115=   enabled-runtime  systemd-remount-fs
notes_plat_sysinfo_1120=   disabled         NetworkManager NetworkManager-dispatcher NetworkManager-wait-online accounts-daemon autofs
notes_plat_sysinfo_1125=                    autoyast-initscripts blk-availability bluetooth-mesh boot-sysctl ca-certificates
notes_plat_sysinfo_1130=                    chrony-wait chronyd console-getty cups cups-browsed debug-shell dnsmasq ebtables
notes_plat_sysinfo_1135=                    exchange-bmc-os-info firewalld fsidd gpm grub2-once haveged hwloc-dump-hwdata ipmi ipmievd
notes_plat_sysinfo_1140=                    issue-add-ssh-keys kexec-load lunmask man-db-create multipathd nfs nfs-blkmap nmb openvpn@
notes_plat_sysinfo_1145=                    ostree-remount rpcbind rpmconfigcheck rsyncd rtkit-daemon serial-getty@
notes_plat_sysinfo_1150=                    smartd_generate_opts smb snmpd snmptrapd speech-dispatcherd systemd-boot-check-no-failures
notes_plat_sysinfo_1155=                    systemd-confext systemd-network-generator systemd-sysext systemd-time-wait-sync
notes_plat_sysinfo_1160=                    systemd-timesyncd tuned udisks2 update-system-flatpaks upower vncserver@ wpa_supplicant@
notes_plat_sysinfo_1165=   indirect         pcscd saned@ systemd-userdbd wickedd
notes_plat_sysinfo_1170=
notes_plat_sysinfo_1175= ------------------------------------------------------------
notes_plat_sysinfo_1180= 13. Linux kernel boot-time arguments, from /proc/cmdline
notes_plat_sysinfo_1185=   BOOT_IMAGE=/boot/vmlinuz-6.4.0-150600.21-default
notes_plat_sysinfo_1190=   root=UUID=9579ceda-034d-4a9c-a590-1ac3c83e5f78
notes_plat_sysinfo_1195=   splash=silent
notes_plat_sysinfo_1200=   mitigations=auto
notes_plat_sysinfo_1205=   quiet
notes_plat_sysinfo_1210=   security=apparmor
notes_plat_sysinfo_1215=
notes_plat_sysinfo_1220= ------------------------------------------------------------
notes_plat_sysinfo_1225= 14. cpupower frequency-info
notes_plat_sysinfo_1230=   analyzing CPU 33:
notes_plat_sysinfo_1235=     current policy: frequency should be within 1.50 GHz and 3.65 GHz.
notes_plat_sysinfo_1240=                     The governor "performance" may decide which speed to use
notes_plat_sysinfo_1245=                     within this range.
notes_plat_sysinfo_1250=     boost state support:
notes_plat_sysinfo_1255=       Supported: yes
notes_plat_sysinfo_1260=       Active: yes
notes_plat_sysinfo_1265=
notes_plat_sysinfo_1270= ------------------------------------------------------------
notes_plat_sysinfo_1275= 15. tuned-adm active
notes_plat_sysinfo_1280=   It seems that tuned daemon is not running, preset profile is not activated.
notes_plat_sysinfo_1285=   Preset profile: throughput-performance
notes_plat_sysinfo_1290=
notes_plat_sysinfo_1295= ------------------------------------------------------------
notes_plat_sysinfo_1300= 16. sysctl
notes_plat_sysinfo_1305=   kernel.numa_balancing               1
notes_plat_sysinfo_1310=   kernel.randomize_va_space           0
notes_plat_sysinfo_1315=   vm.compaction_proactiveness        20
notes_plat_sysinfo_1320=   vm.dirty_background_bytes           0
notes_plat_sysinfo_1325=   vm.dirty_background_ratio          10
notes_plat_sysinfo_1330=   vm.dirty_bytes                      0
notes_plat_sysinfo_1335=   vm.dirty_expire_centisecs        3000
notes_plat_sysinfo_1340=   vm.dirty_ratio                      8
notes_plat_sysinfo_1345=   vm.dirty_writeback_centisecs      500
notes_plat_sysinfo_1350=   vm.dirtytime_expire_seconds     43200
notes_plat_sysinfo_1355=   vm.extfrag_threshold              500
notes_plat_sysinfo_1360=   vm.min_unmapped_ratio               1
notes_plat_sysinfo_1365=   vm.nr_hugepages                     0
notes_plat_sysinfo_1370=   vm.nr_hugepages_mempolicy           0
notes_plat_sysinfo_1375=   vm.nr_overcommit_hugepages          0
notes_plat_sysinfo_1380=   vm.swappiness                       1
notes_plat_sysinfo_1385=   vm.watermark_boost_factor       15000
notes_plat_sysinfo_1390=   vm.watermark_scale_factor          10
notes_plat_sysinfo_1395=   vm.zone_reclaim_mode                1
notes_plat_sysinfo_1400=
notes_plat_sysinfo_1405= ------------------------------------------------------------
notes_plat_sysinfo_1410= 17. /sys/kernel/mm/transparent_hugepage
notes_plat_sysinfo_1415=   defrag          [always] defer defer+madvise madvise never
notes_plat_sysinfo_1420=   enabled         [always] madvise never
notes_plat_sysinfo_1425=   hpage_pmd_size  2097152
notes_plat_sysinfo_1430=   shmem_enabled   always within_size advise [never] deny force
notes_plat_sysinfo_1435=
notes_plat_sysinfo_1440= ------------------------------------------------------------
notes_plat_sysinfo_1445= 18. /sys/kernel/mm/transparent_hugepage/khugepaged
notes_plat_sysinfo_1450=   alloc_sleep_millisecs   60000
notes_plat_sysinfo_1455=   defrag                      1
notes_plat_sysinfo_1460=   max_ptes_none             511
notes_plat_sysinfo_1465=   max_ptes_shared           256
notes_plat_sysinfo_1470=   max_ptes_swap              64
notes_plat_sysinfo_1475=   pages_to_scan            4096
notes_plat_sysinfo_1480=   scan_sleep_millisecs    10000
notes_plat_sysinfo_1485=
notes_plat_sysinfo_1490= ------------------------------------------------------------
notes_plat_sysinfo_1495= 19. OS release
notes_plat_sysinfo_1500=   From /etc/*-release /etc/*-version
notes_plat_sysinfo_1505=   os-release SUSE Linux Enterprise Server 15 SP6
notes_plat_sysinfo_1510=
notes_plat_sysinfo_1515= ------------------------------------------------------------
notes_plat_sysinfo_1520= 20. Disk information
notes_plat_sysinfo_1525= SPEC is set to: /home/cpu2017_new
notes_plat_sysinfo_1530=   Filesystem     Type   Size  Used Avail Use% Mounted on
notes_plat_sysinfo_1535=   /dev/sdd2      btrfs  447G   33G  411G   8% /home
notes_plat_sysinfo_1540=
notes_plat_sysinfo_1545= ------------------------------------------------------------
notes_plat_sysinfo_1550= 21. /sys/devices/virtual/dmi/id
notes_plat_sysinfo_1555=     Vendor:         HPE
notes_plat_sysinfo_1560=     Product:        ProLiant DL385 Gen11
notes_plat_sysinfo_1565=     Product Family: ProLiant
notes_plat_sysinfo_1570=     Serial:         DL385G11-003
notes_plat_sysinfo_1575=
notes_plat_sysinfo_1580= ------------------------------------------------------------
notes_plat_sysinfo_1585= 22. dmidecode
notes_plat_sysinfo_1590=   Additional information from dmidecode 3.4 follows.  WARNING: Use caution when you interpret this section.
notes_plat_sysinfo_1595=   The 'dmidecode' program reads system data which is "intended to allow hardware to be accurately
notes_plat_sysinfo_1600=   determined", but the intent may not be met, as there are frequent changes to hardware, firmware, and the
notes_plat_sysinfo_1605=   "DMTF SMBIOS" standard.
notes_plat_sysinfo_1610=   Memory:
notes_plat_sysinfo_1615=     24x Hynix HMCG88AHBRA471N 32 GB 2 rank 6400, configured at 6000
notes_plat_sysinfo_1620=
notes_plat_sysinfo_1625=
notes_plat_sysinfo_1630= ------------------------------------------------------------
notes_plat_sysinfo_1635= 23. BIOS
notes_plat_sysinfo_1640= (This section combines info from /sys/devices and dmidecode.)
notes_plat_sysinfo_1645=    BIOS Vendor:       HPE
notes_plat_sysinfo_1650=    BIOS Version:      2.20
notes_plat_sysinfo_1655=    BIOS Date:         10/31/2024
notes_plat_sysinfo_1660=    BIOS Revision:     2.20
notes_plat_sysinfo_1665=    Firmware Revision: 1.63
hw_cpu_name        = AMD EPYC 9475F
hw_disk            = 447 GB  add more disk info here
hw_memory001       = 755.551 GB fixme: If using DDR4, the format is:
hw_memory002       = 'N GB (N x N GB nRxn PC4-nnnnX-X)'
hw_nchips          = 2
hw_ncores          = 96
hw_nthreadspercore = 1
prepared_by        = root  (is never output, only tags rawfile)
sw_file            = btrfs
sw_os001           = SUSE Linux Enterprise Server 15 SP6
sw_state           = Run level 5 (add definition here)
# End of settings added by sysinfo_program


649.fotonik3d_s:
# The following setting was inserted automatically as a result of
# post-run basepeak application.
basepeak = 1


644.nab_s:
# The following setting was inserted automatically as a result of
# post-run basepeak application.
basepeak = 1


638.imagick_s:
# The following setting was inserted automatically as a result of
# post-run basepeak application.
basepeak = 1


627.cam4_s:
# The following setting was inserted automatically as a result of
# post-run basepeak application.
basepeak = 1


607.cactuBSSN_s:
# 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 and OS set to prefer performance at
power_management001 = the cost of additional power usage
notes_plat_000 = BIOS Configuration
notes_plat_005 = Workload Profile set to General Peak Frequency Compute
notes_plat_010 = Determinism Control set to Manual
notes_plat_015 = Performance Determinism set to Power Deterministic
notes_plat_020 = Memory Patrol Scrubbing set to Disabled
notes_plat_025 = ACPI CST C2 Latency set to 18 microseconds
notes_plat_030 = Thermal Configuration set to Maximum Cooling
notes_plat_035 = AMD SMT Option set to Disabled
notes_plat_040 = Workload Profile set to Custom
notes_plat_045 =  Power Regulator set to OS Control Mode
notes_plat_050 = The reference code/AGESA version used in this ROM is version Turin-PI 1.0.0.2