# Invocation command line: # /root/cpu2017/bin/harness/runcpu --define external --copies 192 --configfile ic17.0-lin-ws-core-avx2-rate-20160930.cfg --define smt-on --define cores=96 --define physicalfirst --define invoke_with_interleave --define drop_caches --tune base --output_format all intrate # 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 %{external} flagsurl001=http://www.spec.org/cpu2017/flags/Dell-Platform-Flags-PowerEdge13G-revB.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 = Not Applicable #--------- 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 = Dell Inc. tester = Dell Inc. test_sponsor = Dell Inc. license_num = 55 #--------- Fill out this section ---------------------------------------------- intrate,intspeed,fprate,fpspeed: # Important: keep this line # Example # Brief info about field hw_avail = Oct-2016 # Date of LAST hardware component to ship sw_avail = Nov-2016 # Date of LAST software component to ship hw_cpu_nominal_mhz = 2200 # Nominal chip frequency, in MHz hw_cpu_max_mhz = 3400 # Max chip frequency, in MHz hw_ncores = 96 # number cores enabled hw_nthreadspercore = 2 # number threads enabled per core hw_ncpuorder = 2,4 chips # Ordering options hw_model = PowerEdge R930 (Intel Xeon E7-8890 v4, 2.20 GHz) hw_other = None # Other perf-relevant hw, or "None" sw_other = Microquill SmartHeap V10.2 hw_pcache = 32 KB I + 32 KB D on chip per core # Primary cache size, type, location hw_scache = 256 KB I+D on chip per core # Second cache or "None" hw_tcache = 60 MB I+D on chip per chip # Third cache or "None" hw_ocache = None # Other cache or "None" hw_memory000 = 512 GB (32 x 16 GB 2Rx8 PC4-2133P-R, # N GB (M x N GB nRxn hw_memory001 = running at 1600) #--------- 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_os000 = SUSE Linux enterprise Server 12 SP1 # Operating system sw_os001 = 3.12.49-11-default # and version prepared_by = Dell Inc. notes_plat_form_000 = BIOS settings: notes_plat_form_005 = Snoop Mode set to Cluster on Die notes_plat_form_010 = Virtualization Technology disabled notes_plat_form_015 = System Profile set to Custom notes_plat_form_020 = CPU Performance set to Hardware P States notes_plat_form_025 = C States set to autonomous notes_plat_form_030 = C1E disabled notes_plat_form_035 = Energy Efficient Turbo disabled notes_plat_form_040 = Uncore Frequency set to Dynamic notes_plat_form_045 = Energy Efficiency Policy set to Balanced Performance notes_plat_form_050 = Memory Patrol Scrub disabled #--------- Intel Recommended Fields - You may wish to adjust this section ----- default: notes_015 = Binaries compiled on a system with 1x Intel Core i7-4790 CPU + 32GB RAM notes_020 = memory using Redhat Enterprise Linux 7.2 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 %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_025 = Transparent Huge Pages enabled by default %endif %ifdef %{drop_caches} notes_030 = Filesystem page cache cleared with: notes_035 = echo 1> /proc/sys/vm/drop_caches %endif %ifdef %{invoke_with_interleave} notes_040 = runcpu command invoked through numactl i.e.: notes_045 = numactl --interleave=all runcpu %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 /root/cpu2017/Docs/sysinfo notes_plat_sysinfo_005 = Rev: r5007 of 2016-11-15 fc8dc82f217779bedfed4d694d580ba9 notes_plat_sysinfo_010 = running on linux-lbo5 Sun Dec 11 19:14:25 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 E7-8890 v4 @ 2.20GHz notes_plat_sysinfo_055 = 4 "physical id"s (chips) notes_plat_sysinfo_060 = 192 "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 : 24 notes_plat_sysinfo_085 = siblings : 48 notes_plat_sysinfo_090 = physical 0: cores 0 1 2 3 4 5 8 9 10 11 12 13 16 17 18 19 20 21 24 25 26 notes_plat_sysinfo_095 = 27 28 29 notes_plat_sysinfo_100 = physical 1: cores 0 1 2 3 4 5 8 9 10 11 12 13 16 17 18 19 20 21 24 25 26 notes_plat_sysinfo_105 = 27 28 29 notes_plat_sysinfo_110 = physical 2: cores 0 1 2 3 4 5 8 9 10 11 12 13 16 17 18 19 20 21 24 25 26 notes_plat_sysinfo_115 = 27 28 29 notes_plat_sysinfo_120 = physical 3: cores 0 1 2 3 4 5 8 9 10 11 12 13 16 17 18 19 20 21 24 25 26 notes_plat_sysinfo_125 = 27 28 29 notes_plat_sysinfo_130 = cache size : 30720 KB notes_plat_sysinfo_135 = notes_plat_sysinfo_140 = The view from numactl --hardware follows. WARNING: a numactl 'node' might or notes_plat_sysinfo_145 = might not correspond to a physical chip. notes_plat_sysinfo_150 = available: 8 nodes (0-7) notes_plat_sysinfo_155 = node 0 cpus: 0 4 8 12 16 20 24 28 32 36 40 44 96 100 104 108 112 116 120 124 notes_plat_sysinfo_160 = 128 132 136 140 notes_plat_sysinfo_165 = node 0 size: 64200 MB notes_plat_sysinfo_170 = node 0 free: 63684 MB notes_plat_sysinfo_175 = node 1 cpus: 1 5 9 13 17 21 25 29 33 37 41 45 97 101 105 109 113 117 121 125 notes_plat_sysinfo_180 = 129 133 137 141 notes_plat_sysinfo_185 = node 1 size: 64637 MB notes_plat_sysinfo_190 = node 1 free: 64200 MB notes_plat_sysinfo_195 = node 2 cpus: 2 6 10 14 18 22 26 30 34 38 42 46 98 102 106 110 114 118 122 126 notes_plat_sysinfo_200 = 130 134 138 142 notes_plat_sysinfo_205 = node 2 size: 64637 MB notes_plat_sysinfo_210 = node 2 free: 64208 MB notes_plat_sysinfo_215 = node 3 cpus: 3 7 11 15 19 23 27 31 35 39 43 47 99 103 107 111 115 119 123 127 notes_plat_sysinfo_220 = 131 135 139 143 notes_plat_sysinfo_225 = node 3 size: 64637 MB notes_plat_sysinfo_230 = node 3 free: 64195 MB notes_plat_sysinfo_235 = node 4 cpus: 48 52 56 60 64 68 72 76 80 84 88 92 144 148 152 156 160 164 168 notes_plat_sysinfo_240 = 172 176 180 184 188 notes_plat_sysinfo_245 = node 4 size: 64637 MB notes_plat_sysinfo_250 = node 4 free: 64208 MB notes_plat_sysinfo_255 = node 5 cpus: 49 53 57 61 65 69 73 77 81 85 89 93 145 149 153 157 161 165 169 notes_plat_sysinfo_260 = 173 177 181 185 189 notes_plat_sysinfo_265 = node 5 size: 64637 MB notes_plat_sysinfo_270 = node 5 free: 64174 MB notes_plat_sysinfo_275 = node 6 cpus: 50 54 58 62 66 70 74 78 82 86 90 94 146 150 154 158 162 166 170 notes_plat_sysinfo_280 = 174 178 182 186 190 notes_plat_sysinfo_285 = node 6 size: 64637 MB notes_plat_sysinfo_290 = node 6 free: 64198 MB notes_plat_sysinfo_295 = node 7 cpus: 51 55 59 63 67 71 75 79 83 87 91 95 147 151 155 159 163 167 171 notes_plat_sysinfo_300 = 175 179 183 187 191 notes_plat_sysinfo_305 = node 7 size: 64635 MB notes_plat_sysinfo_310 = node 7 free: 64205 MB notes_plat_sysinfo_315 = node distances: notes_plat_sysinfo_320 = node 0 1 2 3 4 5 6 7 notes_plat_sysinfo_325 = 0: 10 21 21 21 11 21 21 21 notes_plat_sysinfo_330 = 1: 21 10 21 21 21 11 21 21 notes_plat_sysinfo_335 = 2: 21 21 10 21 21 21 11 21 notes_plat_sysinfo_340 = 3: 21 21 21 10 21 21 21 11 notes_plat_sysinfo_345 = 4: 11 21 21 21 10 21 21 21 notes_plat_sysinfo_350 = 5: 21 11 21 21 21 10 21 21 notes_plat_sysinfo_355 = 6: 21 21 11 21 21 21 10 21 notes_plat_sysinfo_360 = 7: 21 21 21 11 21 21 21 10 notes_plat_sysinfo_365 = notes_plat_sysinfo_370 = From /proc/meminfo notes_plat_sysinfo_375 = MemTotal: 529059184 kB notes_plat_sysinfo_380 = HugePages_Total: 0 notes_plat_sysinfo_385 = Hugepagesize: 2048 kB notes_plat_sysinfo_390 = notes_plat_sysinfo_395 = /usr/bin/lsb_release -d notes_plat_sysinfo_400 = SUSE Linux Enterprise Server 12 SP1 notes_plat_sysinfo_405 = notes_plat_sysinfo_410 = From /etc/*release* /etc/*version* notes_plat_sysinfo_415 = SuSE-release: notes_plat_sysinfo_420 = SUSE Linux Enterprise Server 12 (x86_64) notes_plat_sysinfo_425 = VERSION = 12 notes_plat_sysinfo_430 = PATCHLEVEL = 1 notes_plat_sysinfo_435 = # This file is deprecated and will be removed in a future service pack or notes_plat_sysinfo_440 = release. notes_plat_sysinfo_445 = # Please check /etc/os-release for details about this release. notes_plat_sysinfo_450 = os-release: notes_plat_sysinfo_455 = NAME="SLES" notes_plat_sysinfo_460 = VERSION="12-SP1" notes_plat_sysinfo_465 = VERSION_ID="12.1" notes_plat_sysinfo_470 = PRETTY_NAME="SUSE Linux Enterprise Server 12 SP1" notes_plat_sysinfo_475 = ID="sles" notes_plat_sysinfo_480 = ANSI_COLOR="0;32" notes_plat_sysinfo_485 = CPE_NAME="cpe:/o:suse:sles:12:sp1" notes_plat_sysinfo_490 = notes_plat_sysinfo_495 = uname -a: notes_plat_sysinfo_500 = Linux linux-lbo5 3.12.49-11-default #1 SMP Wed Nov 11 20:52:43 UTC 2015 notes_plat_sysinfo_505 = (8d714a0) x86_64 x86_64 x86_64 GNU/Linux notes_plat_sysinfo_510 = notes_plat_sysinfo_515 = run-level 3 Dec 11 10:11 notes_plat_sysinfo_520 = notes_plat_sysinfo_525 = SPEC is set to: /root/cpu2017 notes_plat_sysinfo_530 = Filesystem Type Size Used Avail Use% Mounted on notes_plat_sysinfo_535 = /dev/sda2 xfs 439G 13G 427G 3% / notes_plat_sysinfo_540 = notes_plat_sysinfo_545 = Additional information from dmidecode follows. WARNING: Use caution when you notes_plat_sysinfo_550 = interpret this section. The 'dmidecode' program reads system data which is notes_plat_sysinfo_555 = "intended to allow hardware to be accurately determined", but the intent may not notes_plat_sysinfo_560 = be met, as there are frequent changes to hardware, firmware, and the "DMTF notes_plat_sysinfo_565 = SMBIOS" standard. notes_plat_sysinfo_570 = BIOS Dell Inc. 2.2.0 09/29/2016 notes_plat_sysinfo_575 = Memory: notes_plat_sysinfo_580 = 32x 00AD00B300AD HMA42GR7MFR4N-TF 16 GB 2 rank 2133 MHz, configured at 1600 notes_plat_sysinfo_585 = MHz notes_plat_sysinfo_590 = 64x Not Specified Not Specified notes_plat_sysinfo_595 = notes_plat_sysinfo_600 = (End of data from sysinfo program) hw_cpu_name = Intel Xeon E7-8890 v4 hw_disk = 1 x 480 GB SATA SSD hw_memory001 = 504.550 GB fixme: If using DDR3, format is: hw_memory002 = 'N GB (M x N GB nRxn PCn-nnnnnR-n, ECC)' hw_nchips = 4 prepared_by = root (is never output, only tags rawfile) fw_bios = 2.2.0 sw_file = xfs sw_os001 = SUSE Linux Enterprise Server 12 SP1 sw_os002 = 3.12.49-11-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: notes_000 =Environment variables set by runcpu before the start of the run: notes_005 =LD_LIBRARY_PATH = "/root/cpu2017/lib/ia32:/root/cpu2017/lib/intel64:/root/cpu2017/sh10.2" notes_010 =