# Invocation command line:
# /home/cpu2017/bin/harness/runcpu --define default-platform-flags --copies 40 --configfile ic2021.1-lin-core-avx512-rate-20201113_revA_update1.cfg --define smt-on --define cores=20 --define physicalfirst --define invoke_with_interleave --define drop_caches --tune base,peak --output_format all --nopower --runmode rate --tune base:peak --size refrate intrate
# output_root was not used for this run
############################################################################
#------------------------------------------------------------------------------
# This is a sample SPEC CPU2017 config file. It is applicable for:
#
#  Compiler name/version:       Intel(R) C/C++ and Fortran 2021 Compilers for Linux
#  Operating system version:    openSUSE Leap 15.2, GLIBC 2.26
#  ld version:                  GNU ld version 2.35 and above (older version may not work)
#  Hardware:                    Intel(R) processors supporting CORE-AVX512 tuning
#
# If you wish to build your own:
#        (1) Copy this to a new name
#             cd %SPEC%/config
#             copy this.cfg that.cfg
#        (2) Change items that are marked 'EDIT' (search for it)
#
# If you have different software or hardware, this config file may not work.
# You may find a better config file for your system next to posted results:
#     http://www.spec.org/cpu2017/results
#
# Compiler issues: Contact your compiler vendor, not SPEC.
# For SPEC help:   http://www.spec.org/auto/cpu2017/Docs/techsupport.html
#------------------------------------------------------------------------------

#  Current setup is for intrate only
#
#--------- Preprocessor -------------------------------------------------------
#
# Optionally edit if you wish:
%define build_ncpus 8       # controls number of simultaneous compiles

# Used to date the label
%define version 20201113_revA_u1

# Used for the optimization tuning part of the label (not required)
%if defined(%{noopt})
%define opt_label -noopt
%elif defined(%{medopt})
%define opt_label -medopt
%else
%define opt_label
%endif

# Used for labeling static linked builds (not required)
%if defined(%{static})
%define static_label -static
%else
%define static_label
%endif


#--------- Label --------------------------------------------------------------
# Arbitrary string, tags your binaries & directories.
#                  Two Suggestions:              # (1) Change this label as you try new ideas.
label                = ic2021.1-lin-core-avx512-rate%{opt_label}%{static_label}-%{version}


#--------- Global Settings ----------------------------------------------------
# For info, see:
#            https://www.spec.org/auto/cpu2017/Docs/config.html#fieldname   XXX
#   Example: https://www.spec.org/auto/cpu2017/Docs/config.html#tune
     ########################################################
     #         ATTENTION     ATTENTION     ATTENTION
     ########################################################
     #
     #     NOTE If you change fail_build then PLEASE also
     #     change the line 'define version', because
     #     SPEC review tools use 'label' to track binaries.
     #
     ########################################################
     #
     # vvvvvvvvvvvv # do not change unless you read NOTE above
       fail_build=1 # do not change unless you read NOTE above
     # ^^^^^^^^^^^^ # do not change unless you read NOTE above
     #
     ########################################################
     #

action               = validate
bench_post_setup     = sync
command_add_redirect = 1
copies               = 1
line_width           = 1020
log_line_width       = 1020
makeflags            = -j%{build_ncpus}
mean_anyway          = 1
output_format        = txt,cfg,pdf,csv
parallel_test        = 1
preenv               = 1
reportable           = 1
tune                 = base

#Reference the flags Files
flagsurl000=http://www.spec.org/cpu2017/flags/Intel-ic2021-official-linux64_revA.xml
%ifdef %{default-platform-flags}
flagsurl001=http://www.spec.org/cpu2017/flags/Cisco-Platform-Settings-V1.0-ICX-revG.xml
%endif

# Set some environment variables

# Retain unused virtual memory for later reuse. This avoids out of memory errors for certain benchmarks.
  preENV_MALLOC_CONF   = retain:true
intrate:
  preENV_LD_LIBRARY_PATH = $[top]/lib/intel64:$[top]/lib/ia32:$[top]/je5.0.1-32
fprate:
  preENV_LD_LIBRARY_PATH = $[top]/lib/intel64:$[top]/je5.0.1-64

# Affinitization
# For UP systems, we need to know if the processors are ordered across cores first or in order
# If across cores, processors 0, 1, 2 and 3 are on distinct physical cores
# Otherwise, processors 0, 2, 4 and 6 are on distinct physical cores
default:
  submit       = numactl --localalloc --physcpubind=$SPECCOPYNUM -- $command

%ifdef %{no-numa}
  submit       = taskset -c $SPECCOPYNUM $command
%endif

   OPT_JCC      =  -mbranches-within-32B-boundaries
   OPT_JCC_icx  =  -mbranches-within-32B-boundaries

#--------- Compilers ----------------------------------------------------------
default:
   CC                      = icx  -w  -m64 -std=c11
   CXX                     = icpx -w  -m64
   FC                      = ifort -w -m64

   # How to say "Show me your version, please"

   CC_VERSION_OPTION       = -V
   CXX_VERSION_OPTION      = -V
   FC_VERSION_OPTION       = -V
   JEMALLOC32_DIR = /usr/local/jemalloc32-5.0.1/lib
   JEMALLOC64_DIR = /usr/local/jemalloc64-5.0.1/lib
   INTEL64_DIR = /opt/intel/oneapi/compiler/2021.1.1/linux/compiler/lib/intel64_lin
   INTEL32_DIR = /opt/intel/oneapi/compiler/2021.1.1/linux/compiler/lib/ia32_lin

%if !defined(%{static})
    JEMALLOC32  = jemalloc
    JEMALLOC64  = jemalloc
    QKMALLOC    = qkmalloc
%else
    JEMALLOC32  = libjemalloc.a
    JEMALLOC64  = libjemalloc.a
%endif


#--------- Portability --------------------------------------------------------

intrate,fprate:
PORTABILITY= -DSPEC_LP64

500.perlbench_r:
CPORTABILITY = -DSPEC_LINUX_X64

521.wrf_r:
CPORTABILITY = -DSPEC_CASE_FLAG
FPORTABILITY= -convert big_endian

523.xalancbmk_r:
CXXPORTABILITY=-DSPEC_LINUX

526.blender_r:
CPORTABILITY= -DSPEC_LINUX -funsigned-char

527.cam4_r:
CPORTABILITY= -DSPEC_CASE_FLAG

#--------- How Many CPUs? -----------------------------------------------------
# Both SPECrate and SPECspeed can test multiple chips / cores / hw threads
#    - For SPECrate,  you set the number of copies.
# See: https://www.spec.org/cpu2017/Docs/system-requirements.html#MultipleCPUs
#
#    q. How many should I set?
#    a. Unknown, you will have to try it and see!
#
# To get you started, some suggestions:
#
#     copies - This config file defaults to testing only 1 copy.   You might
#              try changing it to match the number of cores on your system,
#              or perhaps the number of virtual CPUs as reported by:
#                     grep -c processor /proc/cpuinfo
#              Be sure you have enough memory.  See:
#              https://www.spec.org/cpu2017/Docs/system-requirements.html#memory
#
default:
%if defined (%{numcopies})
   copies           = %{numcopies}
%else
   copies           = 1   # EDIT to change number of copies (see above)
%endif
#-------- Tuning Flags -------------------------------------------------
intspeed,fpspeed:
   #reconsider using a speed config file instead of a rate config file
   fail=1

default:
   SSE                     = -xCORE-AVX512
   EXTRA_FOPTIMIZE         = -nostandard-realloc-lhs -align array32byte -auto $(OPT_JCC)
   EXTRA_COPTIMIZE         = $(OPT_JCC_icx)
   EXTRA_CXXOPTIMIZE       = $(OPT_JCC_icx)

intrate=default:
   EXTRA_LIBS              = -L$(INTEL64_DIR) -l$(QKMALLOC)
   EXTRA_LDFLAGS           = -Wl,-z,muldefs

intrate=base:
%if defined(%{noopt})
   OPT_ROOT                = -O0
%elif defined(%{medopt})
   OPT_ROOT                = -O2
%else
   OPT_ROOT                = -O3 -ffast-math  -flto -mfpmath=sse  -funroll-loops
   OPT_ROOT_F              = -O3  -ipo  -no-prec-div
%endif
   FAST_NO_STATIC          = $(SSE) $(OPT_ROOT)
   FORT_FAST_NO_STATIC     = $(SSE) $(OPT_ROOT_F)
   FAST                    = $(SSE) $(OPT_ROOT)  -static
   FORT_FAST               = $(SSEF) $(OPT_ROOT_F) -static

%if !defined(%{static})
   COPTIMIZE               = $(FAST_NO_STATIC)  -qopt-mem-layout-trans=4
   CXXOPTIMIZE             = $(FAST_NO_STATIC)  -qopt-mem-layout-trans=4
   FOPTIMIZE               = $(FORT_FAST_NO_STATIC) -qopt-mem-layout-trans=4
%if defined(%{noopt})
   COPTIMIZE               = $(OPT_ROOT)
   CXXOPTIMIZE             = $(OPT_ROOT)
   FOPTIMIZE               = $(OPT_ROOT_F)
%endif
%else
   COPTIMIZE               = $(FAST)  -qopt-mem-layout-trans=4
   CXXOPTIMIZE             = $(FAST)  -qopt-mem-layout-trans=4
   FOPTIMIZE               = $(FORT_FAST)  -qopt-mem-layout-trans=4
%if defined(%{noopt})
   COPTIMIZE               = $(OPT_ROOT) -static
   CXXOPTIMIZE             = $(OPT_ROOT) -static
   FOPTIMIZE               = $(OPT_ROOT_F) -static
%endif
%endif


fprate=default:
   EXTRA_LIBS              =  -l$(JEMALLOC64) -L$(JEMALLOC64_DIR)
   EXTRA_LDFLAGS           =  -Wl,-z,muldefs

fprate=base:
%if defined(%{noopt})
   OPT_ROOT                = -O0
%elif defined(%{medopt})
   OPT_ROOT                = -O2
%else
   OPT_ROOT                = -Ofast -ffast-math  -flto -mfpmath=sse  -funroll-loops
   OPT_ROOT_NOIPO          = -Ofast -ffast-math  -mfpmath=sse  -funroll-loops

   OPT_ROOT_F              = -O3  -ipo  -no-prec-div -qopt-prefetch -ffinite-math-only -qopt-multiple-gather-scatter-by-shuffles
   OPT_ROOT_F_NOIPO        = -O3  -no-prec-div -qopt-prefetch -ffinite-math-only -qopt-multiple-gather-scatter-by-shuffles

%endif

   FAST_NO_STATIC          = $(SSE) $(OPT_ROOT)
   FORT_FAST_NO_STATIC     = $(SSE) $(OPT_ROOT_F)
   FORT_FAST_NO_STATIC_NOIPO = $(SSE) $(OPT_ROOT_F_NOIPO)
   FAST                    = $(SSE) $(OPT_ROOT) -static
   FORT_FAST               = $(SSE) $(OPT_ROOT) -static

%if !defined(%{static})
   COPTIMIZE               = $(FAST_NO_STATIC)  -qopt-mem-layout-trans=4
   CXXOPTIMIZE             = $(FAST_NO_STATIC)  -qopt-mem-layout-trans=4
   FOPTIMIZE               = $(FORT_FAST_NO_STATIC) -qopt-mem-layout-trans=4
%if defined(%{noopt})
   COPTIMIZE               = $(OPT_ROOT)
   CXXOPTIMIZE             = $(OPT_ROOT)
   FOPTIMIZE               = $(OPT_ROOT_F)
%endif
%else
#  BASE Options
   COPTIMIZE               =  $(FAST_NO_STATIC)  -qopt-mem-layout-trans=4
   CXXOPTIMIZE             =  $(FAST_NO_STATIC)  -qopt-mem-layout-trans=4
   FOPTIMIZE               = $(FORT_FAST)  -qopt-mem-layout-trans=4
%if defined(%{noopt})
   COPTIMIZE               = $(OPT_ROOT) -static
   CXXOPTIMIZE             = $(OPT_ROOT) -static
   FOPTIMIZE               = $(OPT_ROOT_F) -static
%endif
%endif

#  Benchmarks with C/C++/Fortran:
507.cactuBSSN_r=base:
   COPTIMIZE               =  $(FAST_NO_STATIC)  -qopt-mem-layout-trans=4
   CXXOPTIMIZE             =  $(FAST_NO_STATIC)  -qopt-mem-layout-trans=4
   FOPTIMIZE               =  $(FORT_FAST_NO_STATIC_NOIPO)  -qopt-mem-layout-trans=4
# End of mixed languages


intrate=peak:
%if defined(%{noopt}) || defined(%{medopt})
   #not building or executing peak against less opt
   fail=1
%endif

   OPT_ROOT                   = -flto -O3  -ffast-math
   OPT_ROOT_ICC               = -ipo  -O3  -no-prec-div

   FAST_NO_STATIC          = $(SSE) $(OPT_ROOT)
   FAST_NO_STATIC_ICC      = $(SSE) $(OPT_ROOT_ICC)

   COPTIMIZE               = $(FAST_NO_STATIC)  -qopt-mem-layout-trans=4
   CXXOPTIMIZE             = $(FAST_NO_STATIC)  -qopt-mem-layout-trans=4

   PASS1_CFLAGS               = -prof-gen
   PASS2_CFLAGS               = -prof-use
   PASS1_FFLAGS               = -prof-gen
   PASS2_FFLAGS               = -prof-use
   PASS1_CXXFLAGS             = -prof-gen
   PASS2_CXXFLAGS             = -prof-use
   PASS1_LDFLAGS              = -prof-gen
   PASS2_LDFLAGS              = -prof-use

500.perlbench_r=peak=default:
   CC                        = icc
   LDFLAGS                   = %undef%
   FAST_NO_STATIC_ICC      = $(SSE) $(OPT_ROOT_ICC)
   COPTIMIZE                 = $(FAST_NO_STATIC_ICC)  -qopt-mem-layout-trans=4
   EXTRA_OPTIMIZE            = -fno-strict-overflow
   EXTRA_COPTIMIZE         = $(OPT_JCC)
   EXTRA_CXXOPTIMIZE       = $(OPT_JCC)

525.x264_r=peak:
    feedback                = 0
    EXTRA_OPTIMIZE          = -fno-alias

502.gcc_r=peak:
   CC                      = icx -m32  -std=gnu89   -L/opt/intel/oneapi/compiler/2021.1.1/linux/compiler/lib/ia32_lin
   CXX                     = icpx -m32 -std=gnu89  -L/opt/intel/oneapi/compiler/2021.1.1/linux/compiler/lib/ia32_lin
   FAST_NO_STATIC          = $(SSE) $(OPT_ROOT)
   COPTIMIZE               = $(FAST_NO_STATIC)  -qopt-mem-layout-trans=4
   CXXOPTIMIZE             = $(FAST_NO_STATIC)  -qopt-mem-layout-trans=4
   EXTRA_LIBS              = -L$(JEMALLOC32_DIR) -l$(JEMALLOC32)
   EXTRA_LDFLAGS           = -Wl,-z,muldefs
   PORTABILITY             = -D_FILE_OFFSET_BITS=64
   EXTRA_COPTIMIZE         = $(OPT_JCC_icx)
   EXTRA_CXXOPTIMIZE       = $(OPT_JCC_icx)

   PASS1_CFLAGS             = -fprofile-generate -xCORE-AVX512 -flto  -Ofast
   PASS2_CFLAGS             = -fprofile-use=default.profdata
   PASS1_FFLAGS             = -fprofile-generate -xCORE-AVX512 -flto  -Ofast
   PASS2_FFLAGS             = -fprofile-use=default.profdata
   PASS1_CXXFLAGS           = -fprofile-generate -xCORE-AVX512 -flto  -Ofast
   PASS2_CXXFLAGS           = -fprofile-use=default.profdata
   PASS1_LDFLAGS            = -fprofile-generate -xCORE-AVX512 -flto  -Ofast
   PASS2_LDFLAGS            = -fprofile-use=default.profdata
   fdo_run1                 = $command ; llvm-profdata merge -output=default.profdata *.profraw


557.xz_r=peak=default:
   feedback                 = 0
   CC                        = icc
   LDFLAGS                   = %undef%
   FAST_NO_STATIC_ICC      = $(SSE) $(OPT_ROOT_ICC)
   COPTIMIZE               = $(FAST_NO_STATIC_ICC)  -qopt-mem-layout-trans=4
   CXXOPTIMIZE             = $(FAST_NO_STATIC)  -qopt-mem-layout-trans=4
   EXTRA_COPTIMIZE         = $(OPT_JCC)
   EXTRA_CXXOPTIMIZE       = $(OPT_JCC)

505.mcf_r,520.omnetpp_r,523.xalancbmk_r,531.deepsjeng_r,548.exchange2_r,541.leela_r=peak:
    basepeak=1

fprate=peak:
%if defined(%{noopt}) || defined(%{medopt})
   #not building or executing peak against less opt
   fail=1
%endif
   OPT_ROOT                   = -flto -Ofast
   FAST_NO_STATIC_PASS1       = $(OPT_ROOT)
   FORT_FAST_NO_STATIC_PASS1  = $(OPT_ROOT)
   FAST_PASS1                 = $(OPT_ROOT) -static
   FORT_FAST_PASS1            = $(OPT_ROOT) -static
   FAST_NO_STATIC_PASS2       = $(SSE) $(OPT_ROOT)
   FORT_FAST_NO_STATIC_PASS2  = $(SSE) $(OPT_ROOT_F)
   FAST_PASS2                 = $(SSE) $(OPT_ROOT) -static
   FORT_FAST_PASS2            = $(SSE) $(OPT_ROOT_F) -static
   FAST_NO_STATIC          = $(SSE) $(OPT_ROOT)
   COPTIMIZE               = $(FAST_NO_STATIC)  -qopt-mem-layout-trans=4
   CXXOPTIMIZE             = $(FAST_NO_STATIC)  -qopt-mem-layout-trans=4

507.cactuBSSN_r,508.namd_r,519.lbm_r,526.blender_r,527.cam4_r=peak:
    basepeak=1

538.imagick_r,549.fotonik3d_r,997.specrand_fr=peak:
    basepeak=1

#fp rate subset for removing FDO
503.bwaves_r,510.parest_r,554.roms_r=peak=default:
feedback                   = 0
%if defined(%{noopt})
   OPT_ROOT                = -O0
%elif defined(%{medopt})
   OPT_ROOT                = -O2
%else
   OPT_ROOT                = -Ofast -ffast-math  -flto -mfpmath=sse  -funroll-loops
   OPT_ROOT_F              = -O3  -ipo  -no-prec-div -qopt-prefetch -ffinite-math-only -qopt-multiple-gather-scatter-by-shuffles
%endif
   FAST_NO_STATIC          = $(SSE) $(OPT_ROOT)
   FORT_FAST_NO_STATIC     = $(SSE) $(OPT_ROOT_F)
   FAST                    = $(SSE) $(OPT_ROOT) -static
   FORT_FAST               = $(SSE) $(OPT_ROOT) -static

%if !defined(%{static})
   COPTIMIZE               = $(FAST_NO_STATIC)  -qopt-mem-layout-trans=4
   CXXOPTIMIZE             = $(FAST_NO_STATIC)  -qopt-mem-layout-trans=4
   FOPTIMIZE               = $(FORT_FAST_NO_STATIC)  -qopt-mem-layout-trans=4
%if defined(%{noopt})
   COPTIMIZE               = $(OPT_ROOT)
   CXXOPTIMIZE             = $(OPT_ROOT)
   FOPTIMIZE               = $(OPT_ROOT)
%endif
%else
   COPTIMIZE               = $(FAST)  -qopt-mem-layout-trans=4
   CXXOPTIMIZE             = $(FAST)  -qopt-mem-layout-trans=4
   FOPTIMIZE               = $(FORT_FAST)  -qopt-mem-layout-trans=4
%if defined(%{noopt})
   COPTIMIZE               = $(OPT_ROOT) -static
   CXXOPTIMIZE             = $(OPT_ROOT) -static
   FOPTIMIZE               = $(OPT_ROOT) -static
%endif
%endif

511.povray_r,521.wrf_r=peak:
   CC                      = icc
   CXX                     = icpc
   FC                      = ifort
   OPT_ROOT                = -O3 -ipo  -no-prec-div -qopt-prefetch -ffinite-math-only -qopt-multiple-gather-scatter-by-shuffles
   FAST_NO_STATIC          = $(SSE) $(OPT_ROOT)
   COPTIMIZE               = $(FAST_NO_STATIC)  -qopt-mem-layout-trans=4
   CXXOPTIMIZE             = $(FAST_NO_STATIC)  -qopt-mem-layout-trans=4
   EXTRA_LIBS              = -L$(JEMALLOC64_DIR) -l$(JEMALLOC64)
   EXTRA_COPTIMIZE         = $(OPT_JCC)
   EXTRA_CXXOPTIMIZE       = $(OPT_JCC)
   LDFLAGS                 = %undef%
   EXTRA_LDFLAGS           = %undef%
   PASS1_CFLAGS               = -prof-gen
   PASS2_CFLAGS               = -prof-use
   PASS1_FFLAGS               = -prof-gen
   PASS2_FFLAGS               = -prof-use
   PASS1_CXXFLAGS             = -prof-gen
   PASS2_CXXFLAGS             = -prof-use
   PASS1_LDFLAGS              = -prof-gen
   PASS2_LDFLAGS              = -prof-use

544.nab_r=peak:
   EXTRA_OPTIMIZE          = -fimf-accuracy-bits=14:sqrt

%if defined (%{smt-on})
%define numpeakcopies  %{cores}
%endif

503.bwaves_r,510.parest_r,521.wrf_r,554.roms_r=peak:
copies = %{numpeakcopies}

#-------------------------------------------------------------------------------
# Tester and System Descriptions - EDIT the sections below
#-------------------------------------------------------------------------------
#   For info about any field, see
#             https://www.spec.org/auto/cpu2017/Docs/config.html#fieldname
#   Example:  https://www.spec.org/auto/cpu2017/Docs/config.html#hw_memory
#-------------------------------------------------------------------------------

#--------- If you install new compilers, EDIT this section --------------------

sw_compiler000 = C/C++: Version 2021.1 of Intel oneAPI DPC++/C++
intrate,intspeed,fpspeed,fprate:
sw_compiler001 = Compiler Build 20201113 for Linux;
   sw_compiler002   = Fortran: Version 2021.1 of Intel Fortran Compiler
sw_compiler003 = Classic Build 20201112 for Linux;
   sw_compiler004   = C/C++: Version 2021.1 of Intel C/C++ Compiler
sw_compiler005 = Classic Build 20201112 for Linux
   sw_base_ptrsize  = 64-bit
   sw_other001      = jemalloc memory allocator V5.0.1
fprate,fpspeed:
   sw_peak_ptrsize  = 64-bit
intspeed:
   sw_peak_ptrsize  = 64-bit
intrate:
   sw_peak_ptrsize  = 32/64-bit

#--------- EDIT Your info ---------------------------------------------------------
# To understand the difference between hw_vendor/sponsor/tester, see:
#     www.spec.org/auto/cpu2017/Docs/config.html#test_sponsor
intrate,intspeed,fprate,fpspeed: # Important: keep this line
   hw_vendor          = Cisco Systems
   tester             = Cisco Systems
   test_sponsor       = Cisco Systems
   license_num        = 9019
#  prepared_by        = # Ima Pseudonym                       # Whatever you like: is never output

#--------- EDIT system availability dates and system information ----------------------------------------------
intrate,intspeed,fprate,fpspeed: # Important: keep this line
                        # Example                             # Brief info about field
   hw_avail           = Apr-2021
   sw_avail           = Dec-2020
   hw_cpu_nominal_mhz = 2300
   hw_cpu_max_mhz     = 3400
   hw_ncores          = 20
   hw_nthreadspercore = 2
   hw_ncpuorder       = 1,2 Chips

   hw_model000        = Cisco UCS C220 M6 (Intel Xeon Silver 4310T,
hw_model001 = 2.30GHz)
   hw_other           = None
   sw_other000        = # TurboHeap Library V8.1              # Other perf-relevant sw, or "None"

   hw_pcache          = 32 KB I + 48 KB D on chip per core
   hw_scache          = 1.25 MB I+D on chip per core
   hw_tcache          = 15 MB I+D on chip per chip
   hw_ocache          = None

#   hw_memory001       = # 4 TB (256 x 16 GB 2Rx4 PC4-2133P-R, # N GB (M x N GB nRxn
#   hw_memory002       = # running at 1600 MHz)                # PCn-nnnnnR-n[, ECC and other info])


#--------- Sysinfo fields - You may need to adjust this section ---------------
# Note: Some commented-out fields above are automatically set to preliminary
# values by sysinfo
#       www.spec.org/auto/cpu2017/Docs/config.html#sysinfo
# Uncomment lines for which you already have a better answer than sysinfo
#
intrate,intspeed,fprate,fpspeed: # Important: keep this line
                        # Example               # Brief info about field
 # hw_cpu_name        = # Intel Xeon E9-9999 v9               # chip name
 # hw_disk            = # 9 x 9 TB SATA III 9999 RPM          # Size, type, other perf-relevant info
 # hw_nchips          = # 99                                  # number chips enabled
 # sw_file            = # ext99                               # File system
 # sw_state           = # Run level 99                        # Software state.

 # sw_os001           = # Linux Sailboat                      # Operating system
 # sw_os002           = # Distribution 7.2 SP1                # and version



#--------- EDIT Intel Recommended Fields - You may wish to adjust this section -----

default:
   notes_000        = Binaries compiled on a system with 1x Intel Core i9-7940X CPU + 64GB RAM
   notes_005        = memory using openSUSE Leap 15.2
   notes_jemalloc_000 = jemalloc, a general purpose malloc implementation
   notes_jemalloc_005 = built with the RedHat Enterprise 7.5, and the system compiler gcc 4.8.5
   notes_jemalloc_010 = sources available from jemalloc.net or https://github.com/jemalloc/jemalloc/releases
   notes_os_000     = Stack size set to unlimited using "ulimit -s unlimited"
#Ease of tagging results from the runcpu command line with commands run outside of runcpu harneess
#Adjust as necessary for your SUT
%if defined(%{THP_enabled})
   notes_200        = Transparent Huge Pages enabled with:
   notes_201        = echo always > /sys/kernel/mm/transparent_hugepage/enabled
%elif defined(%{THP_disabled})
   notes_200        = Transparent Huge Pages disabled with:
   notes_201        = echo never  > /sys/kernel/mm/transparent_hugepage/enabled
%else
   notes_010        = Transparent Huge Pages enabled by default
%endif

%ifdef %{drop_caches}
   notes_015        = Prior to runcpu invocation
   notes_020        = Filesystem page cache synced and cleared with:
   notes_025        = sync; echo 3>       /proc/sys/vm/drop_caches
%endif

%ifdef %{invoke_with_interleave}
   notes_030        = runcpu command invoked through numactl i.e.:
   notes_035        = numactl --interleave=all runcpu <etc>
notes_040 =NA: The test sponsor attests, as of date of publication, that CVE-2017-5754 (Meltdown)
notes_045 =is mitigated in the system as tested and documented.
notes_050 =Yes: The test sponsor attests, as of date of publication, that CVE-2017-5753 (Spectre variant 1)
notes_055 =is mitigated in the system as tested and documented.
notes_060 =Yes: The test sponsor attests, as of date of publication, that CVE-2017-5715 (Spectre variant 2)
notes_065 =is mitigated in the system as tested and documented.
%endif

intrate,fprate:
%if defined(%{no-numa})
   notes_submit_000 = The taskset mechanism was used to bind copies to processors. The config file option 'submit'
   notes_submit_001 = was used to generate taskset commands to bind each copy to a specific processor.
   notes_submit_002 = For details, please see the config file.
%else
   notes_submit_000 = The numactl mechanism was used to bind copies to processors. The config file option 'submit'
   notes_submit_005 = was used to generate numactl commands to bind each copy to a specific processor.
   notes_submit_010 = For details, please see the config file.
%endif


# The following settings were obtained by running the sysinfo_program
# 'specperl $[top]/bin/sysinfo' (sysinfo:SHA:679c83684f6f4fc369a093999b6661d0a378911de2a006d3245423ad80d3fb9a)
default:
notes_plat_sysinfo_000 =
notes_plat_sysinfo_005 = Sysinfo program /home/cpu2017/bin/sysinfo
notes_plat_sysinfo_010 = Rev: r6622 of 2021-04-07 982a61ec0915b55891ef0e16acafc64d
notes_plat_sysinfo_015 = running on localhost Thu Sep  9 18:50:36 2021
notes_plat_sysinfo_020 =
notes_plat_sysinfo_025 = SUT (System Under Test) info as seen by some common utilities.
notes_plat_sysinfo_030 = For more information on this section, see
notes_plat_sysinfo_035 =    https://www.spec.org/cpu2017/Docs/config.html#sysinfo
notes_plat_sysinfo_040 =
notes_plat_sysinfo_045 = From /proc/cpuinfo
notes_plat_sysinfo_050 =    model name : Intel(R) Xeon(R) Silver 4310T CPU @ 2.30GHz
notes_plat_sysinfo_055 =       2  "physical id"s (chips)
notes_plat_sysinfo_060 =       40 "processors"
notes_plat_sysinfo_065 =    cores, siblings (Caution: counting these is hw and system dependent. The following
notes_plat_sysinfo_070 =    excerpts from /proc/cpuinfo might not be reliable.  Use with caution.)
notes_plat_sysinfo_075 =       cpu cores : 10
notes_plat_sysinfo_080 =       siblings  : 20
notes_plat_sysinfo_085 =       physical 0: cores 0 1 2 3 4 5 6 7 8 9
notes_plat_sysinfo_090 =       physical 1: cores 0 1 2 3 4 5 6 7 8 9
notes_plat_sysinfo_095 =
notes_plat_sysinfo_100 = From lscpu from util-linux 2.33.1:
notes_plat_sysinfo_105 =      Architecture:        x86_64
notes_plat_sysinfo_110 =      CPU op-mode(s):      32-bit, 64-bit
notes_plat_sysinfo_115 =      Byte Order:          Little Endian
notes_plat_sysinfo_120 =      Address sizes:       46 bits physical, 57 bits virtual
notes_plat_sysinfo_125 =      CPU(s):              40
notes_plat_sysinfo_130 =      On-line CPU(s) list: 0-39
notes_plat_sysinfo_135 =      Thread(s) per core:  2
notes_plat_sysinfo_140 =      Core(s) per socket:  10
notes_plat_sysinfo_145 =      Socket(s):           2
notes_plat_sysinfo_150 =      NUMA node(s):        2
notes_plat_sysinfo_155 =      Vendor ID:           GenuineIntel
notes_plat_sysinfo_160 =      CPU family:          6
notes_plat_sysinfo_165 =      Model:               106
notes_plat_sysinfo_170 =      Model name:          Intel(R) Xeon(R) Silver 4310T CPU @ 2.30GHz
notes_plat_sysinfo_175 =      Stepping:            6
notes_plat_sysinfo_180 =      CPU MHz:             1308.428
notes_plat_sysinfo_185 =      CPU max MHz:         3400.0000
notes_plat_sysinfo_190 =      CPU min MHz:         800.0000
notes_plat_sysinfo_195 =      BogoMIPS:            4600.00
notes_plat_sysinfo_200 =      Virtualization:      VT-x
notes_plat_sysinfo_205 =      L1d cache:           48K
notes_plat_sysinfo_210 =      L1i cache:           32K
notes_plat_sysinfo_215 =      L2 cache:            1280K
notes_plat_sysinfo_220 =      L3 cache:            15360K
notes_plat_sysinfo_225 =      NUMA node0 CPU(s):   0-9,20-29
notes_plat_sysinfo_230 =      NUMA node1 CPU(s):   10-19,30-39
notes_plat_sysinfo_235 =      Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
notes_plat_sysinfo_240 =      pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp
notes_plat_sysinfo_245 =      lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid
notes_plat_sysinfo_250 =      aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16
notes_plat_sysinfo_255 =      xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave
notes_plat_sysinfo_260 =      avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 invpcid_single ssbd
notes_plat_sysinfo_265 =      mba ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad
notes_plat_sysinfo_270 =      fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm rdt_a avx512f
notes_plat_sysinfo_275 =      avx512dq rdseed adx smap avx512ifma clflushopt clwb intel_pt avx512cd sha_ni
notes_plat_sysinfo_280 =      avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total
notes_plat_sysinfo_285 =      cqm_mbm_local wbnoinvd dtherm ida arat pln pts hwp hwp_act_window hwp_epp
notes_plat_sysinfo_290 =      hwp_pkg_req avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni
notes_plat_sysinfo_295 =      avx512_bitalg tme avx512_vpopcntdq la57 rdpid md_clear pconfig flush_l1d
notes_plat_sysinfo_300 =      arch_capabilities
notes_plat_sysinfo_305 =
notes_plat_sysinfo_310 = /proc/cpuinfo cache data
notes_plat_sysinfo_315 =    cache size : 15360 KB
notes_plat_sysinfo_320 =
notes_plat_sysinfo_325 = From numactl --hardware
notes_plat_sysinfo_330 = WARNING: a numactl 'node' might or might not correspond to a physical chip.
notes_plat_sysinfo_335 =   available: 2 nodes (0-1)
notes_plat_sysinfo_340 =   node 0 cpus: 0 1 2 3 4 5 6 7 8 9 20 21 22 23 24 25 26 27 28 29
notes_plat_sysinfo_345 =   node 0 size: 515683 MB
notes_plat_sysinfo_350 =   node 0 free: 515186 MB
notes_plat_sysinfo_355 =   node 1 cpus: 10 11 12 13 14 15 16 17 18 19 30 31 32 33 34 35 36 37 38 39
notes_plat_sysinfo_360 =   node 1 size: 516054 MB
notes_plat_sysinfo_365 =   node 1 free: 515357 MB
notes_plat_sysinfo_370 =   node distances:
notes_plat_sysinfo_375 =   node   0   1
notes_plat_sysinfo_380 =     0:  10  20
notes_plat_sysinfo_385 =     1:  20  10
notes_plat_sysinfo_390 =
notes_plat_sysinfo_395 = From /proc/meminfo
notes_plat_sysinfo_400 =    MemTotal:       1056499796 kB
notes_plat_sysinfo_405 =    HugePages_Total:       0
notes_plat_sysinfo_410 =    Hugepagesize:       2048 kB
notes_plat_sysinfo_415 =
notes_plat_sysinfo_420 = /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor has
notes_plat_sysinfo_425 =    performance
notes_plat_sysinfo_430 =
notes_plat_sysinfo_435 = From /etc/*release* /etc/*version*
notes_plat_sysinfo_440 =    os-release:
notes_plat_sysinfo_445 =       NAME="SLES"
notes_plat_sysinfo_450 =       VERSION="15-SP2"
notes_plat_sysinfo_455 =       VERSION_ID="15.2"
notes_plat_sysinfo_460 =       PRETTY_NAME="SUSE Linux Enterprise Server 15 SP2"
notes_plat_sysinfo_465 =       ID="sles"
notes_plat_sysinfo_470 =       ID_LIKE="suse"
notes_plat_sysinfo_475 =       ANSI_COLOR="0;32"
notes_plat_sysinfo_480 =       CPE_NAME="cpe:/o:suse:sles:15:sp2"
notes_plat_sysinfo_485 =
notes_plat_sysinfo_490 = uname -a:
notes_plat_sysinfo_495 =    Linux localhost 5.3.18-22-default #1 SMP Wed Jun 3 12:16:43 UTC 2020 (720aeba) x86_64
notes_plat_sysinfo_500 =    x86_64 x86_64 GNU/Linux
notes_plat_sysinfo_505 =
notes_plat_sysinfo_510 = Kernel self-reported vulnerability status:
notes_plat_sysinfo_515 =
notes_plat_sysinfo_520 = CVE-2018-12207 (iTLB Multihit):                        Not affected
notes_plat_sysinfo_525 = CVE-2018-3620 (L1 Terminal Fault):                     Not affected
notes_plat_sysinfo_530 = Microarchitectural Data Sampling:                      Not affected
notes_plat_sysinfo_535 = CVE-2017-5754 (Meltdown):                              Not affected
notes_plat_sysinfo_540 = CVE-2018-3639 (Speculative Store Bypass):              Mitigation: Speculative Store
notes_plat_sysinfo_545 =                                                        Bypass disabled via prctl and
notes_plat_sysinfo_550 =                                                        seccomp
notes_plat_sysinfo_555 = CVE-2017-5753 (Spectre variant 1):                     Mitigation: usercopy/swapgs
notes_plat_sysinfo_560 =                                                        barriers and __user pointer
notes_plat_sysinfo_565 =                                                        sanitization
notes_plat_sysinfo_570 = CVE-2017-5715 (Spectre variant 2):                     Mitigation: Enhanced IBRS, IBPB:
notes_plat_sysinfo_575 =                                                        conditional, RSB filling
notes_plat_sysinfo_580 = CVE-2020-0543 (Special Register Buffer Data Sampling): Not affected
notes_plat_sysinfo_585 = CVE-2019-11135 (TSX Asynchronous Abort):               Not affected
notes_plat_sysinfo_590 =
notes_plat_sysinfo_595 = run-level 3 Sep 9 18:47
notes_plat_sysinfo_600 =
notes_plat_sysinfo_605 = SPEC is set to: /home/cpu2017
notes_plat_sysinfo_610 =    Filesystem     Type   Size  Used Avail Use% Mounted on
notes_plat_sysinfo_615 =    /dev/sdb2      btrfs  222G   33G  189G  15% /home
notes_plat_sysinfo_620 =
notes_plat_sysinfo_625 = From /sys/devices/virtual/dmi/id
notes_plat_sysinfo_630 =     Vendor:         Cisco Systems Inc
notes_plat_sysinfo_635 =     Product:        UCSC-C220-M6S
notes_plat_sysinfo_640 =     Serial:         WZP244104TF
notes_plat_sysinfo_645 =
notes_plat_sysinfo_650 = Additional information from dmidecode 3.2 follows.  WARNING: Use caution when you
notes_plat_sysinfo_655 = interpret this section. The 'dmidecode' program reads system data which is "intended to
notes_plat_sysinfo_660 = allow hardware to be accurately determined", but the intent may not be met, as there are
notes_plat_sysinfo_665 = frequent changes to hardware, firmware, and the "DMTF SMBIOS" standard.
notes_plat_sysinfo_670 =   Memory:
notes_plat_sysinfo_675 =     32x 0xCE00 M393A4K40DB3-CWE 32 GB 2 rank 3200, configured at 2666
notes_plat_sysinfo_680 =
notes_plat_sysinfo_685 = BIOS:
notes_plat_sysinfo_690 =    BIOS Vendor:       Cisco Systems, Inc.
notes_plat_sysinfo_695 =    BIOS Version:      C220M6.4.2.1d.0.0730210924
notes_plat_sysinfo_700 =    BIOS Date:         07/30/2021
notes_plat_sysinfo_705 =    BIOS Revision:     5.22
notes_plat_sysinfo_710 =
notes_plat_sysinfo_715 = (End of data from sysinfo program)
hw_cpu_name    = Intel Xeon Silver 4310T
hw_disk        = 1 x 960 GB M.2 SSD SATA
hw_memory000   = 1 TB (32 x 32 GB 2Rx4 PC4-3200V-R,
hw_memory001   = running at 2666)
hw_nchips      = 2
prepared_by    = Cisco Systems
fw_bios = Version 4.2.1d released Jul-2021
sw_file        = btrfs
sw_os000       = SUSE Linux Enterprise Server 15 SP2
sw_os001       = 5.3.18-22-default
sw_state       = Run level 3 (multi-user)
# End of settings added by sysinfo_program


# 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 the cost
power_management001 = of
power_management002 = additional power usage
notes_plat_000 =BIOS Settings:
notes_plat_005 =Adjacent Cache Line Prefetcher set to Disabled
notes_plat_010 =DCU Streamer Prefetch set to Disabled
notes_plat_015 =UPI Link Enablement set to 1
notes_plat_020 =UPI Power Management set to Enabled
notes_plat_025 =Sub NUMA Clustering set to Enabled
notes_plat_030 =LLC Dead Line set to Disabled
notes_plat_035 =Memory Refresh Rate set to 1x Refresh
notes_plat_040 =ADDDC Sparing set to Disabled
notes_plat_045 =Patrol Scrub set to Disabled
notes_plat_050 =Enhanced CPU performance set to Auto
notes_plat_055 =Energy Efficient Turbo set to Enabled
notes_plat_060 =Processor C6 Report set to Enabled
notes_plat_065 =Processor C1E set to Enabled