# Invocation command line: # /home/cpu2017/v1.1.8/bin/harness/runcpu --configfile spec2017_AIX_Publish.cfg --nobuild --nopower --runmode rate --tune base:peak --size test:train:refrate intrate # output_root used was "/home/cpu2017/zint" ############################################################################ # The following line MUST be set to the suite installed path! %define install_path /home/cpu2017/v1.1.8 %define LTO_BASE 1 bind = < -T iterations = 3 # iterations -> -n ignore_errors = 1 mean_anyway = 1 output_format = asc,cfg,csv,pdf,rsf basepeak = 0 reportable = 1 allow_label_override = 1 label = clang_default size = test,train,ref teeout = no # Controls if the log file info is echo'd to the screen backup_config = 0 # set to 0 if you do not want backup files log_line_width = 150 env_vars = 1 # Control if the imbedded md5 string of compiler options is checked for # recompile if the options have changed %ifdef %{MD5} check_md5 = 1 %else check_md5 = 0 %endif preENV_MALLOCMULTIHEAP=1 preENV_MEMORY_AFFINITY=MCM preENV_XLFRTEOPTS=intrinthds=1 # Keep fortran runtime to 1 thread for now preENV_LIBPATH=%{install_path}/tcmalloc # The -j# option is in the v1.1 FDO options has - if changed will # cause a rebuild on the next hash check run. So can not set for # build and unset for runs. %ifdef %{MKcpus} makeflags = -j%{MKcpus} %endif %ifdef %{MKignerr} makeflags = -i %endif submit = bindprocessor \$\$ $BIND; $system_alloc_override $command %ifdef %{NO_MASS} % define MASSOPT % define MASSLINK %else % define MASSOPT -mllvm -enable-ppc-gen-scalar-mass -mllvm -vector-library=MASSV % define MASSLINK -Wl,-bplugin_opt:--enable-ppc-gen-scalar-mass %endif flagsurl000 = http://www.spec.org/cpu2017/flags/IBM_AIX_7.2_S-RevB.xml flagsurl001 = http://www.spec.org/cpu2017/flags/IBM_Open_XL_AIX_flags-RevB.xml #=============================================================================== # How the compilers are called #=============================================================================== %define WYC "/opt/IBM/openxlC/17.1.0/bin" %define WYF "/opt/IBM/openxlf/17.1.0/bin" default: %if defined(%{CUSTOM_CC}) && defined(%{CUSTOM_CXX}) CC = %{CUSTOM_CC} -m%{bits} CXX = %{CUSTOM_CXX} -m%{bits} % info C Compiler = %{CUSTOM_CC} % info C++ Compiler = %{CUSTOM_CXX} %else CC = %{WYC}/ibm-clang -m%{bits} CXX = %{WYC}/ibm-clang++_r -m%{bits} % info C Compiler = %{WYC}/ibm-clang % info C++ Compiler = %{WYC}/ibm-clang++_r %endif %ifdef %{CUSTOM_FC} FC = %{CUSTOM_FC} -q%{bits} % info Fortran Compiler = %{CUSTOM_FC} %else FC = %{WYF}/xlf95_r -q%{bits} % info Fortran Compiler = %{WYF}/xlf95_r %endif default=default=default: CC_VERSION_OPTION = --version CXX_VERSION_OPTION = --version FC_VERSION_OPTION = -qversion=verbose # Use this macro to provide the full path to your private llvm-profdata tool. %ifndef %{LLVM_PROFDATA} % define LLVM_PROFDATA %{WYC}/ibm-llvm-profdata %endif #=============================================================================== # Base Level Optimizations # Limited to any number of flags #=============================================================================== default=base=default: %ifdef %{NO_TCMALLOC} system_alloc_override = MALLOCTYPE=watson2 %else system_alloc_override = MALLOCTYPE=user:libtcmalloc_minimal.a %endif COPTIMIZE = %{ARCH} -mabi=vec-extabi %{MASSOPT} CXXOPTIMIZE = %{ARCH} -mabi=vec-extabi %{MASSOPT} FOPTIMIZE = -O3 -qarch=pwr9 -q%{bits} -qvecnvol %{MASSOPT} LDCFLAGS = -Wl,-bbigtoc -Wl,-blpdata LDCXXFLAGS = -Wl,-bbigtoc -Wl,-blpdata LDFFLAGS = -bbigtoc -blpdata %ifndef %{NO_MASS} LIBS += -L/opt/IBM/xlmass/10.1.0/lib -lmass -L/opt/IBM/openxlf/17.1.0/lib -lxlopt %endif %if defined(%{LTO_BASE}) COPTIMIZE += -flto -mllvm -data-layout-opt=1 CXXOPTIMIZE += -flto FOPTIMIZE += -qlto LDCFLAGS += %{MASSLINK} -Wl,-bplugin_opt:--data-layout-opt=1 LDCXXFLAGS += %{MASSLINK} %endif #=============================================================================== # Portability Flags # no optimizations allowed here #=============================================================================== default: %if %{bits} == 64 EXTRA_PORTABILITY = -DSPEC_LP64 %endif # INT Portability Flags 500.perlbench_r: CPORTABILITY = -DSPEC_AIX 502.gcc_r: CPORTABILITY = -DSPEC_AIX -DSPEC_NEED_ASPRINTF 523.xalancbmk_r: CXXPORTABILITY = -DSPEC_AIX 541.leela_r: %if %{bits} == 64 CXXPORTABILITY = -DSPEC_AIX %endif #====================================================================== # Base Level Optimizations #====================================================================== intrate=base: EXTRA_COPTIMIZE = -O3 -fcommon -mllvm -fold-complex-pointer-compare=false EXTRA_CXXOPTIMIZE = -O3 %if %{bits} == 32 LDCFLAGS += -Wl,-bmaxdata:0xD0000000/dsa LDCXXFLAGS += -Wl,-bmaxdata:0x30000000 %endif EXTRA_LDFLAGS += -Wl,-bplugin_opt:-fold-complex-pointer-compare=false #====================================================================== # Peak Level Optimizations #====================================================================== intrate=peak: COPTIMIZE = -O3 %{ARCH} -mabi=vec-extabi -flto %{MASSOPT} CXXOPTIMIZE = -O3 %{ARCH} -mabi=vec-extabi -flto %{MASSOPT} FOPTIMIZE = -O3 -qarch=pwr9 -qvecnvol -qlto %{MASSOPT} LDCFLAGS = %{MASSLINK} LDCXXFLAGS = %{MASSLINK} %if %{bits} == 32 LDCFLAGS = %{MASSLINK} -Wl,-bmaxdata:0xD0000000/dsa LDCXXFLAGS = %{MASSLINK} -Wl,-bmaxdata:0x30000000 %endif default=peak: PASS1_COPTIMIZE = -fprofile-generate PASS1_CXXOPTIMIZE = -fprofile-generate PASS1_FOPTIMIZE = -qprofile-generate PASS1_LDCFLAGS = -Wl,-blpdata -Wl,-bbigtoc PASS1_LDCXXFLAGS = -Wl,-blpdata -Wl,-bbigtoc PASS1_LDFFLAGS = -blpdata -bbigtoc -qlto fdo_post1 = %{LLVM_PROFDATA} merge default*.profraw -output default.profdata PASS2_COPTIMIZE = -fprofile-use=default.profdata PASS2_CXXOPTIMIZE = -fprofile-use=default.profdata PASS2_FOPTIMIZE = -qprofile-use=default.profdata PASS2_LDCFLAGS = -Wl,-blpdata PASS2_LDCXXFLAGS = -Wl,-blpdata PASS2_LDFFLAGS = -blpdata -qlto %ifndef %{NO_MASS} LIBS += -L/opt/IBM/xlmass/10.1.0/lib -lmass -L/opt/IBM/openxlf/17.1.0/lib -lxlopt %endif ############################################################################### # Benchmark Specific Peak Optimizations ############################################################################### 500.perlbench_r,502.gcc_r,520.omnetpp_r,523.xalancbmk_r=peak: EXTRA_PORTABILITY = %undef% CC = %{WYC}/ibm-clang -m32 CXX = %{WYC}/ibm-clang++_r -m32 LDCFLAGS = %{MASSLINK} -Wl,-bmaxdata:0xD0000000/dsa LDCXXFLAGS = %{MASSLINK} -Wl,-bmaxdata:0x30000000 500.perlbench_r=peak: ENV_MALLOCOPTIONS=pool:0x20000000,buckets,no_mallinfo EXTRA_COPTIMIZE = -fno-strict-aliasing LDCFLAGS += -Wl,-bplugin_opt:--ppc-set-dscr=1 PASS2_LDFLAGS += -Wl,-bplugin_opt:-inline-hot-callsites-aggressively 502.gcc_r=peak: EXTRA_COPTIMIZE += -mllvm -fold-complex-pointer-compare=false copies = %{Copy6} ENV_MALLOCTYPE=watson2 LDCFLAGS = %{MASSLINK} -Wl,-bmaxdata:0x50000000 EXTRA_LDFLAGS = -Wl,-bplugin_opt:-fold-complex-pointer-compare=false 505.mcf_r=peak: ENV_MALLOCTYPE=watson2 EXTRA_COPTIMIZE = -mllvm -data-layout-opt=3 PASS2_LDFLAGS += -Wl,-bplugin_opt:--data-layout-opt=3 520.omnetpp_r=peak: ENV_MALLOCOPTIONS=pool:0x20000000 LDCXXFLAGS += -Wl,-bplugin_opt:--ppc-set-dscr=1 PASS2_CXXOPTIMIZE += -Wl,-bplugin_opt:-dynamic-cast-opt=on 523.xalancbmk_r=peak: ENV_MALLOCTYPE=Yorktown ENV_MALLOCOPTIONS=pool:0x20000000 OPTIMIZE += -mllvm -enable-partial-inlining -mllvm -enable-vec-find=true PASS2_LDFLAGS += -Wl,-bplugin_opt:-inline-hot-callsites-aggressively -Wl,-bplugin_opt:-enable-partial-inlining 525.x264_r=peak: ENV_MALLOCTYPE=watson2 EXTRA_COPTIMIZE = -fcommon -frestrict-args -mllvm -enable-aggressive-vectorization -mllvm -ppc-enable-redxnintr PASS2_LDCFLAGS += -Wl,-bplugin_opt:-enable-aggressive-vectorization 531.deepsjeng_r=peak: ENV_MALLOCTYPE=watson2 LDFLAGS += -Wl,-bplugin_opt:--ppc-set-dscr=1 PASS2_LDFLAGS += -Wl,-bplugin_opt:-inline-hot-callsites-aggressively 541.leela_r=peak: ENV_MALLOCTYPE=watson2 OPTIMIZE += -mllvm -aggressive-late-full-unroll -mllvm -array-compress=true -mllvm -enable-lvi-memoryssa=true PASS2_LDFLAGS += -Wl,-bplugin_opt:-inline-hot-callsites-aggressively 548.exchange2_r=peak: ENV_MALLOCTYPE=watson2 LDFFLAGS += -Wl,-bplugin_opt:--ppc-set-dscr=1 557.xz_r=peak: basepeak=yes ################################################################################ # Notes ################################################################################ default: notes_submit_000 = The config file option 'submit' was used notes_submit_005 = to assign benchmark copies to specific processors using notes_submit_010 = the "bindprocessor" command (see flags file for details). notes_000 = notes_005 = Yes: The test sponsor attests, as of date of publication, that CVE-2017-5754 (Meltdown) notes_010 = is mitigated in the system as tested and documented. notes_015 = Yes: The test sponsor attests, as of date of publication, that CVE-2017-5753 (Spectre variant 1) notes_020 = is mitigated in the system as tested and documented. notes_025 = Yes: The test sponsor attests, as of date of publication, that CVE-2017-5715 (Spectre variant 2) notes_030 = is mitigated in the system as tested and documented. notes_035 = notes_tcmalloc_000 = tcmalloc, a general purpose malloc implementation notes_tcmalloc_005 = built with the AIX V7.2 and IBM XL C/C++ compiler 16.1.0 for AIX notes_tcmalloc_010 = used for all benchmarks in base notes_tcmalloc_015 = sources available from https://github.com/gilamn5tr/gperftools/archive/refs/heads/aix-enablement-upstream.zip notes_os_000 = AIX V7.2 TL5 SP3 running on Power10 in Power9 compatibility mode. notes_os_005 = Following ulimits set to unlimited. notes_os_010 = 'ulimit -f unlimited' set file size to unlimited. notes_os_015 = 'ulimit -s unlimited' set stack size to unlimited. notes_os_020 = 'ulimit -c unlimited' set core file size to unlimited. notes_os_025 = 'ulimit -d unlimited' set data segment size to unlimited. notes_os_030 = 'ulimit -m unlimited' set max memory size to unlimited. notes_os_035 = notes_os_040 = 72000 16M large pages defined with vmo command. notes_os_045 = 'AIX_STDBUFSZ=524288' configures the I/O buffer size for the read and write system calls. notes_os_050 = 'mount -o remount,noatime /dev/hd1' for filesystems with a high rate of file access, performance notes_os_055 = can be improved by disabling the update of the access time stamp. ################################################################################ # SPEC CPU 2017 report header ################################################################################ default: hw_model = IBM Power E1080 (3.55 - 4 GHz, 120 core, AIX) hw_vendor = IBM Corporation tester = IBM Corporation test_sponsor = IBM Corporation license_num = 11 ################################################################################ # Hardware and software information ################################################################################ default: hw_avail = Sep-2021 hw_cpu_nominal_mhz = 3550 hw_cpu_max_mhz = 4000 hw_ncpuorder = 4, 8 Chips hw_ncores = 120 hw_nthreadspercore = 8 hw_pcache = 96 KB I + 64 KB D on chip per core hw_scache = 2 MB I+D on chip per core hw_tcache = 120 MB I+D on chip per chip shared NUCA / 15 cores hw_ocache = None hw_other = None hw_nchips = 8 sw_avail = Sep-2021 sw_other = tcmalloc: tcmalloc memory allocator library v2.7.1 fw_bios = Version NH1010_041 released Sep-2021 sw_compiler000 = C/C++: Version 17.1.0 of IBM Open XL C/C++ for sw_compiler001 = AIX; sw_compiler002 = Fortran: Version 17.1.0 of IBM Open XL Fortran sw_compiler003 = for AIX; power_management = Maximum Performance mode ################################################################################ # The following fields must be set here or they will be overwritten by sysinfo. ################################################################################ default: hw_disk = 1 x 512 GB NVMe SSD hw_memory = 8 TB (128 x 64 GB 1Rx4 PC4-3200V-R) hw_nchips = 8 hw_ncores = 120 prepared_by = IBM Corporation sw_file = JFS2 sw_os = AIX V7.2 TL5 SP3 sw_state = Run level 2 (multi-user) ################################################################################ # The following fields must be set here for only Int benchmarks. ################################################################################ intrate: sw_base_ptrsize = 64-bit sw_peak_ptrsize = 32/64-bit # 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/v1.1.8/bin/sysinfo notes_plat_sysinfo_010 = Rev: r6622 of 2021-04-07 982a61ec0915b55891ef0e16acafc64d notes_plat_sysinfo_015 = running on compden1.aus.stglabs.ibm.com Fri Aug 13 10:26:37 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 = WARNING regarding the output of 'prtconf': notes_plat_sysinfo_050 = (1) The tester may need to adjust the sysinfo-supplied 'hw_nominal_mhz'. notes_plat_sysinfo_055 = (2) The 'Number of Processors' reported by prtconf is the number of cores available to notes_plat_sysinfo_060 = the partition. notes_plat_sysinfo_065 = From prtconf: notes_plat_sysinfo_070 = Host Name: compden1.aus.stglabs.ibm.com notes_plat_sysinfo_075 = System Model: IBM,9080-HEX notes_plat_sysinfo_080 = Processor Clock Speed: 3650 MHz notes_plat_sysinfo_085 = Number Of Processors: 120 notes_plat_sysinfo_090 = Memory Size: 8180736 MB notes_plat_sysinfo_095 = BIOS Version: NH1010_041 notes_plat_sysinfo_100 = notes_plat_sysinfo_105 = WARNING regarding the output of 'lscfg': this utility reports resources for the system, notes_plat_sysinfo_110 = not the current partition. Therefore, for a partition that has a subset of the full notes_plat_sysinfo_115 = system resources: notes_plat_sysinfo_120 = (1) The tester may need to adjust the sysinfo-supplied 'hw_ncores'. notes_plat_sysinfo_125 = (2) The tester may need to adjust the sysinfo-supplied 'hw_nchips'. notes_plat_sysinfo_130 = (3) Be aware that 'hw_memory' is set from 'prtconf', and is correct for the partition, notes_plat_sysinfo_135 = but "Memory DIMM info from lscfg" reports the number of DIMMs in the entire server. notes_plat_sysinfo_140 = Processors, from lscfg -vplsysplanar0 notes_plat_sysinfo_145 = notes_plat_sysinfo_150 = ^^^Note: sum of ways = 0, differs from prtconf 'Number Of Processors' notes_plat_sysinfo_155 = Memory DIMM info from lscfg: notes_plat_sysinfo_160 = 128x 01GY910 notes_plat_sysinfo_165 = notes_plat_sysinfo_170 = Operating System: AIX 7.2.0.0 7200-05-03-2135 notes_plat_sysinfo_175 = notes_plat_sysinfo_180 = disk: df -k /home/cpu2017/v1.1.8 notes_plat_sysinfo_185 = Filesystem 1024-blocks Free %Used Iused %Iused Mounted on notes_plat_sysinfo_190 = /dev/hd1 525336576 457662164 13% 125636 1% /home notes_plat_sysinfo_195 = notes_plat_sysinfo_200 = (End of data from sysinfo program) fw_bios = Version NH1010_041 released Sep-2021 hw_cpu_name = Power10 hw_cpu_nominal_mhz = 3550 hw_disk = 1 x 512 GB NVMe SSD hw_memory000 = 8 TB (128 x 64 GB 1Rx4 PC4-3200V-R) hw_model = IBM Power E1080 (3.55 - 4 GHz, 120 core, AIX) hw_nchips = 8 hw_ncores = 120 prepared_by = IBM Corporation sw_os = AIX 7.2 TL5 SP3 # End of settings added by sysinfo_program