# Invocation command line: # /cpu2017/bin/harness/runcpu --define default-platform-flags --copies 88 --configfile ic17.0-lin-ws-core-avx2-rate-20160930.cfg --define smt-on --define cores=44 --define physicalfirst --define invoke_with_interleave --define drop_caches --tune base,peak --output_format all fprate # output_root was not used for this run ############################################################################ #------------------------------------------------------------------------------ # This is a sample SPEC CPU2017 config file. It was tested with: # # Compiler name/version: Intel(R) C/C++ and Fortran 17.0 Compilers for Linux # Operating system version: Redhat Enterprise Linux 7.2, GLIBC 2.17 # Hardware: Intel(R) processors supporting CORE-AVX2 tuning # # 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 #------------------------------------------------------------------------------ #--------- Preprocessor ------------------------------------------------------- # # Optionally edit if you wish: %define build_ncpus 8 # controls number of simultaneous compiles # Used to date the label %define version 20160930 # 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 = ic17.0-lin-ws-core-avx2-rate%{opt_label}%{static_label}-%{version} # (2) Make the label meaningful to YOU. #--------- 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=0 # do not change unless you read NOTE above # ^^^^^^^^^^^^ # do not change unless you read NOTE above # ######################################################## # action = validate command_add_redirect = 1 line_width = 1020 log_line_width = 1020 makeflags = -j%{build_ncpus} output_format = txt,cfg,pdf,csv preenv = 1 tune = base bench_post_setup = sync parallel_test = 1 mean_anyway = 1 reportable = 1 copies = 1 #Reference the flags Files flagsurl000=http://www.spec.org/cpu2017/flags/Intel-ic17.0-official-linux64-revD.xml %ifdef %{default-platform-flags} flagsurl001=http://www.spec.org/cpu2017/flags/HP-Platform-Flags-Intel-V1.2-HSW-revE.xml %endif # Set some environment variables preENV_LD_LIBRARY_PATH = $[top]/lib/ia32:$[top]/lib/intel64:$[top]/sh10.2 # 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 #--------- Compilers ---------------------------------------------------------- intrate,fprate: CC = icc -m64 -std=c11 CXX = icpc -m64 FC = ifort -m64 default: # How to say "Show me your version, please" CC_VERSION_OPTION = --version CXX_VERSION_OPTION = --version FC_VERSION_OPTION = --version SMARTHEAP_DIR = /sh10.2 %if !defined(%{static}) SMARTHEAP32 = smartheap SMARTHEAP64 = smartheap64 %else SMARTHEAP32 = libsmartheap.a SMARTHEAP64 = libsmartheap64.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 #-------- Tuning Flags ------------------------------------------------- intspeed,fpspeed: #reconsider using a speed config file instead of a rate config file fail=1 default: SSE = -xCORE-AVX2 EXTRA_FOPTIMIZE = -nostandard-realloc-lhs %if defined(%{noopt}) OPT_ROOT = -O0 %elif defined(%{medopt}) OPT_ROOT = -O2 %else OPT_ROOT = -ipo -O3 -no-prec-div %endif FAST_NO_STATIC = $(SSE) $(OPT_ROOT) -auto-p32 FORT_FAST_NO_STATIC = $(SSE) $(OPT_ROOT) FAST = $(SSE) $(OPT_ROOT) -static -auto-p32 FORT_FAST = $(SSE) $(OPT_ROOT) -static any_cpp=default: EXTRA_LIBS = -L$(SMARTHEAP_DIR) -l$(SMARTHEAP64) EXTRA_LDFLAGS = -Wl,-z,muldefs default: %if !defined(%{static}) COPTIMIZE = $(FAST_NO_STATIC) -qopt-prefetch -qopt-mem-layout-trans=3 CXXOPTIMIZE = $(FAST_NO_STATIC) -qopt-prefetch -qopt-mem-layout-trans=3 FOPTIMIZE = $(FORT_FAST_NO_STATIC) -qopt-prefetch -qopt-mem-layout-trans=3 %else COPTIMIZE = $(FAST) -qopt-prefetch -qopt-mem-layout-trans=3 CXXOPTIMIZE = $(FAST) -qopt-prefetch -qopt-mem-layout-trans=3 FOPTIMIZE = $(FORT_FAST) -qopt-prefetch -qopt-mem-layout-trans=3 %endif default=peak: %if defined(%{noopt}) || defined(%{medopt}) #not building or executing peak against less opt fail=1 %endif 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 #------------------------------------------------------------------------------- # Tester and System Descriptions - Edit the section 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 -------------------- intrate,intspeed,fpspeed,fprate: sw_compiler000 = C/C++: Version 17.0.0.098 of Intel C/C++ sw_compiler001 = Compiler for Linux; sw_compiler002 = Fortran: Version 17.0.0.098 of Intel Fortran sw_compiler003 = Compiler for Linux sw_base_ptrsize = 32/64-bit sw_peak_ptrsize = 32/64-bit #--------- 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 = Hewlett Packard Enterprise hw_ncoresperchip = 22 tester = HPE test_sponsor = HPE license_num = 3 #--------- Fill out this section ---------------------------------------------- intrate,intspeed,fprate,fpspeed: # Important: keep this line # Example # Brief info about field hw_avail = Oct-2016 sw_avail = Sep-2016 hw_cpu_nominal_mhz = 2400 hw_cpu_max_mhz = 3600 hw_ncores = 44 hw_nthreadspercore = 2 hw_ncpuorder = 1,2 chips hw_model000 = ProLiant DL360 Gen9 hw_model001 = (2.40 GHz, Intel Xeon E5-2699A v4) hw_other = None sw_other000 = Microquill SmartHeap V10.2 hw_pcache = 32 KB I + 32 KB D on chip per core hw_scache = 256 KB I+D on chip per core hw_tcache = 55 MB I+D on chip per chip hw_ocache = None hw_memory000 = 512 GB (16 x 32 GB 2Rx4 PC4-2400T-R) hw_memory001 = # running at 1600 MHz) # PCn-nnnnnR-n[, ECC and other info]) #--------- Sysinfo fields - You may need to adjust this section --------------- # The following are partly filled out 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 prepared_by = HPE Performance Engineering #--------- Intel Recommended Fields - You may wish to adjust this section ----- default: notes_015 = Binaries compiled on a system with 1x Intel Core i7-4790K CPU + 32GB RAM notes_020 = memory using Redhat Enterprise Linux 7.2 notes_os_000 = Stack size set to unlimited using "ulimit -s unlimited" notes_os_005 = Transparent Huge Pages enabled by default notes_os_010 = Filesystem page cache cleared with: notes_os_015 = echo 1 > /proc/sys/vm/drop_caches notes_os_020 = runcpu command invoked through numactl i.e.: notes_os_025 = numactl --interleave=all runcpu #Ease of tagging results from the runcpu command line with commands run outside of runcpu harneess %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 %endif %ifdef %{drop_caches} %endif %ifdef %{invoke_with_interleave} %endif intrate,fprate: %if defined(%{no-numa}) notes_submit_000 = The numactl mechanism was used to bind copies to processors. The config file option 'submit' notes_submit_001 = was used to generate numactl commands to bind each copy to a specific processor. notes_submit_002 = For details, please see the config file. %elif 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. %endif # The following settings were obtained by running the sysinfo_program # 'specperl $[top]/Docs/sysinfo' (sysinfo:SHA:0710f0acde4bba9a64b6bc93cc9676f3a4858920d296e5f2df39ac8de52eecb0) default: notes_plat_sysinfo_000 = Sysinfo program /cpu2017/Docs/sysinfo notes_plat_sysinfo_005 = Rev: r5007 of 2016-11-15 fc8dc82f217779bedfed4d694d580ba9 notes_plat_sysinfo_010 = running on linux-mzur Wed Dec 7 10:54:07 2016 notes_plat_sysinfo_015 = notes_plat_sysinfo_020 = This section contains SUT (System Under Test) info as seen by some common notes_plat_sysinfo_025 = utilities. notes_plat_sysinfo_030 = For more information on this section, see notes_plat_sysinfo_035 = http://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) CPU E5-2699A v4 @ 2.40GHz notes_plat_sysinfo_055 = 2 "physical id"s (chips) notes_plat_sysinfo_060 = 88 "processors" notes_plat_sysinfo_065 = cores, siblings (Caution: counting these is hw and system dependent. The notes_plat_sysinfo_070 = following excerpts from /proc/cpuinfo might not be reliable. Use with notes_plat_sysinfo_075 = caution.) notes_plat_sysinfo_080 = cpu cores : 22 notes_plat_sysinfo_085 = siblings : 44 notes_plat_sysinfo_090 = physical 0: cores 0 1 2 3 4 5 8 9 10 11 12 16 17 18 19 20 21 24 25 26 27 notes_plat_sysinfo_095 = 28 notes_plat_sysinfo_100 = physical 1: cores 0 1 2 3 4 5 8 9 10 11 12 16 17 18 19 20 21 24 25 26 27 notes_plat_sysinfo_105 = 28 notes_plat_sysinfo_110 = cache size : 28160 KB notes_plat_sysinfo_115 = notes_plat_sysinfo_120 = The view from numactl --hardware follows. WARNING: a numactl 'node' might or notes_plat_sysinfo_125 = might not correspond to a physical chip. notes_plat_sysinfo_130 = available: 4 nodes (0-3) notes_plat_sysinfo_135 = node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 44 45 46 47 48 49 50 51 52 53 54 notes_plat_sysinfo_140 = node 0 size: 128920 MB notes_plat_sysinfo_145 = node 0 free: 114735 MB notes_plat_sysinfo_150 = node 1 cpus: 11 12 13 14 15 16 17 18 19 20 21 55 56 57 58 59 60 61 62 63 64 65 notes_plat_sysinfo_155 = node 1 size: 129277 MB notes_plat_sysinfo_160 = node 1 free: 119637 MB notes_plat_sysinfo_165 = node 2 cpus: 22 23 24 25 26 27 28 29 30 31 32 66 67 68 69 70 71 72 73 74 75 76 notes_plat_sysinfo_170 = node 2 size: 129277 MB notes_plat_sysinfo_175 = node 2 free: 119994 MB notes_plat_sysinfo_180 = node 3 cpus: 33 34 35 36 37 38 39 40 41 42 43 77 78 79 80 81 82 83 84 85 86 87 notes_plat_sysinfo_185 = node 3 size: 129275 MB notes_plat_sysinfo_190 = node 3 free: 120071 MB notes_plat_sysinfo_195 = node distances: notes_plat_sysinfo_200 = node 0 1 2 3 notes_plat_sysinfo_205 = 0: 10 21 31 31 notes_plat_sysinfo_210 = 1: 21 10 31 31 notes_plat_sysinfo_215 = 2: 31 31 10 21 notes_plat_sysinfo_220 = 3: 31 31 21 10 notes_plat_sysinfo_225 = notes_plat_sysinfo_230 = From /proc/meminfo notes_plat_sysinfo_235 = MemTotal: 529153016 kB notes_plat_sysinfo_240 = HugePages_Total: 0 notes_plat_sysinfo_245 = Hugepagesize: 2048 kB notes_plat_sysinfo_250 = notes_plat_sysinfo_255 = /usr/bin/lsb_release -d notes_plat_sysinfo_260 = SUSE Linux Enterprise Server 12 SP1 notes_plat_sysinfo_265 = notes_plat_sysinfo_270 = From /etc/*release* /etc/*version* notes_plat_sysinfo_275 = SuSE-release: notes_plat_sysinfo_280 = SUSE Linux Enterprise Server 12 (x86_64) notes_plat_sysinfo_285 = VERSION = 12 notes_plat_sysinfo_290 = PATCHLEVEL = 1 notes_plat_sysinfo_295 = # This file is deprecated and will be removed in a future service pack or notes_plat_sysinfo_300 = release. notes_plat_sysinfo_305 = # Please check /etc/os-release for details about this release. notes_plat_sysinfo_310 = os-release: notes_plat_sysinfo_315 = NAME="SLES" notes_plat_sysinfo_320 = VERSION="12-SP1" notes_plat_sysinfo_325 = VERSION_ID="12.1" notes_plat_sysinfo_330 = PRETTY_NAME="SUSE Linux Enterprise Server 12 SP1" notes_plat_sysinfo_335 = ID="sles" notes_plat_sysinfo_340 = ANSI_COLOR="0;32" notes_plat_sysinfo_345 = CPE_NAME="cpe:/o:suse:sles:12:sp1" notes_plat_sysinfo_350 = notes_plat_sysinfo_355 = uname -a: notes_plat_sysinfo_360 = Linux linux-mzur 3.12.49-11-default #1 SMP Wed Nov 11 20:52:43 UTC 2015 notes_plat_sysinfo_365 = (8d714a0) x86_64 x86_64 x86_64 GNU/Linux notes_plat_sysinfo_370 = notes_plat_sysinfo_375 = run-level 5 Dec 6 20:38 notes_plat_sysinfo_380 = notes_plat_sysinfo_385 = SPEC is set to: /cpu2017 notes_plat_sysinfo_390 = Filesystem Type Size Used Avail Use% Mounted on notes_plat_sysinfo_395 = /dev/sdb3 btrfs 369G 271G 97G 74% / notes_plat_sysinfo_400 = notes_plat_sysinfo_405 = Additional information from dmidecode follows. WARNING: Use caution when you notes_plat_sysinfo_410 = interpret this section. The 'dmidecode' program reads system data which is notes_plat_sysinfo_415 = "intended to allow hardware to be accurately determined", but the intent may not notes_plat_sysinfo_420 = be met, as there are frequent changes to hardware, firmware, and the "DMTF notes_plat_sysinfo_425 = SMBIOS" standard. notes_plat_sysinfo_430 = BIOS HP P89 09/12/2016 notes_plat_sysinfo_435 = Memory: notes_plat_sysinfo_440 = 8x UNKNOWN NOT AVAILABLE notes_plat_sysinfo_445 = 16x UNKNOWN NOT AVAILABLE 32 GB 2 rank 2400 MHz notes_plat_sysinfo_450 = notes_plat_sysinfo_455 = (End of data from sysinfo program) hw_cpu_name = Intel Xeon E5-2699A v4 hw_disk = 1 x 400 GB SAS SSD, RAID 0 hw_memory001 = 504.640 GB fixme: If using DDR3, format is: hw_memory002 = 'N GB (M x N GB nRxn PCn-nnnnnR-n, ECC)' hw_nchips = 2 prepared_by = root (is never output, only tags rawfile) fw_bios = P89 v2.30 9/12/16 sw_file = btrfs sw_os000 = SUSE Linux Enterprise Server 12 (x86_64) SP1 sw_os001 = Kernel 3.12.49-11-default sw_state = Run level 5 (multi-user, w/GUI) # 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: notes_000 =Environment variables set by runcpu before the start of the run: notes_005 =LD_LIBRARY_PATH = "/cpu2017/lib/ia32:/cpu2017/lib/intel64:/cpu2017/sh10.2" notes_010 = notes_plat_000 = BIOS Configuration: notes_plat_005 = Power Profile set to Custom notes_plat_010 = Power Regulator set to Static High Performance Mode notes_plat_015 = Minimum Processor Idle Power Core C-State set to C6 State notes_plat_020 = Minimum Processor Idle Power Package C-State set to No Package State notes_plat_025 = Collaborative Power Control set to Disabled notes_plat_030 = QPI Snoop Configuration set to Cluster On Die notes_plat_035 = Thermal Configuration set to Maximum Cooling notes_plat_040 = Processor Power and Utilization Monitoring set to Disabled notes_plat_045 = Memory Double Refresh Rate set to 1x Refresh notes_plat_050 = Energy Performance Bias set to Maximum Performance notes_plat_update_000 = Regarding the sysinfo display about the memory installed, the correct amount of notes_plat_update_005 = memory is 512 GB and the dmidecode description should have one line reading as: notes_plat_update_010 = 16x UNKNOWN NOT AVAILABLE 32 GB 2 rank 2400 MHz