# Invocation command line: # /autobench/sources/speccpu2006/bin/runspec --config cpu2006.at5.cfg --action run --rate 1 --copies 48 --parallel_setup 48 --parallel_setup_type submit --parallel_test=1 --reportable --rebuild --tune base --iterations 3 --define numcores=12 --define atool50=1 --define rhel=1 --define mybasearchp7=1 --define mybaseopt=3 --define libhuge=1 --define smartheap=1 --extension at50-5.0-GA-rhel6.1-Juno int # output_root was not used for this run ############################################################################ ####################################################################### # # SPEC CPU2006 Benchmark Config file IBM eServer pSeries Linux # ####################################################################### # THIS CONFIG FILE IS FOR BUILDING on P6 # # --define (-S) options that are passed to the runspec command # that dynamically affect this config file # # numcores=n The number of cores in the system # to determine how many copies to run in rate # # mybaseopt=x Allows override where x=3,4,5 (-O3, -O4, -O5) for base runs # # mybasearchp4 Allows override of -qarch -qtune compiler settings for base runs # mybasearchp5 # mybasearchp5plus # mybasearchp6 # mybasearchp6e # # nolibhuge Allows override to not use extra libraries on base runs # nosmartheap # # rhel # sles # yesL3 # noL3 # debug # The following setting was inserted automatically as a result of # post-run basepeak application. basepeak = 1 %define P7 -mcpu=power7 -mtune=power7 %ifdef %{libhuge} %define LHBDT -B/usr/share/libhugetlbfs/ -Wl,--hugetlbfs-align %define LHLIB -lhugetlbfs %else %define LHBDT %define LHLIB %endif %if %{smartheap} %if %{mymode64} %define SMARTHEAPLIB -lsmartheap64 %else %define SMARTHEAPLIB -lsmartheap %endif %else %define SMARTHEAPLIB %endif %define FDPROPTS -O4 -omullX %define FDPRINT %define make_j 3 # #====================================================================== # Global Options apply to all runs #====================================================================== # # For just a report generated without a raw file or any runs required # Do a "runspec --reportonly" (also --action=report or --fakereport) # # Just set up the build or run directories, use --buildsetup or --setup # on the runspec command # Sets nobuild as the default - you will need -D to force a compile # nobuild = 1 # -D forces a build (recompile) # -N prohibits a build (recompile) #action = validate # -a #tune = base,peak # -T #iterations = 3 # -n output_format = raw,text,html,csv # -o #basepeak = 0 #reportable = 1 # -l turns off #ignore_errors = 0 # -I mean_anyway = 1 allow_extension_override = 1 #ext = LoP-ppc64 # -e #size = ref post_setup = sync parallel_test = 1 # # Include the run-time derived system information so that each # system run has the correct information # #include: SUT.inc # ----- Begin inclusion of 'SUT.inc' ############################################################################ # company_name = IBM Corporation hw_vendor = IBM Corporation license_num = 11 sw_state = Run Level 3 (multi-user) hw_cpu_mhz = 3724 hw_cpu_name = POWER7 hw_memory = 128 GB (16 x 8 GB) DDR3 1066 MHz # # # hw_disk = 2 x 146.8 GB SAS SFF 15K RPM # # sw_os000 = Red Hat Enterprise Linux Server release 6.1 sw_os001 = (ppc64), Kernel 2.6.32-131.0.15.el6.ppc64 sw_file = ext4 # # sw_avail = Aug-2011 # sw_compiler000 = IBM XL C/C++ for Linux, V11.1 (5724-X14) sw_compiler001 = 5.0-0 gcc/g++ compiler sw_other000= IBM Advance Toolchain 5.0-0 sw_other001= MicroQuill SmartHeap 9 # hw_model000 = IBM Power 730 Express (3.7 GHz, 12 core, RedHat) hw_avail = Sep-2010 # hw_ncpuorder = 12 cores hw_nchips = 2 hw_ncores = 12 hw_nthreadspercore = 4 hw_ncoresperchip = 6 hw_pcache = 32 KB I + 32 KB D on chip per core hw_fpu = Integrated hw_other = None # # hw_scache = 256 KB I+D on chip per core hw_tcache = 4 MB I+D on chip per core hw_ocache = None # # # # # # # ppc64_cpu output # ---- End inclusion of '/autobench/sources/speccpu2006/config/SUT.inc' # This tells runspec to set enviornment variables of the form # ENV_xxx if found in here. Forced to 0 for reportable runs env_vars = 0 # Control if the embedded md5 string of compiler options is checked for # recompile if the options have changed check_md5 = 0 # Controls if the log file info is echo'd to the screen teeout = yes # If 1, make copy of the config file before modifing with MD5 # signitures of the compile options. backup_config = 0 # verbose -> -v #verbose = 1 to 99, 5 is default, 91 is good for debugging %ifdef %{make_j} makeflags = -j%{make_j} %endif # We alway use submit to ensure there is a bindprocessor done. # use_submit_for_speed If set, use submit commands for speed as well as rate use_submit_for_speed = 1 submit = echo "$command" > run.sh ; numactl --membind=\$SPECCOPYNUM --physcpubind=\$SPECCOPYNUM sh run.sh #cpu and mem bindings - Juno 12 core: 2 NUMA nodes, 8 sockets (4x8 + 4x4 threads): 48 cpus %if %{numcores} == 12 # Juno machine: 12 cores, 2 NUMA nodes and 6 processors per socket # So processors 0-23 should use NUMA node 0 for memory allocation and processors 24-47 NUMA node 1 submit = echo "$command" > run.sh; let "MYCPU=\$SPECCOPYNUM"; MYMEM=`printf '%d' \$((\$MYCPU/24))` ; numactl --physcpubind=\$SPECCOPYNUM --membind=\$MYMEM sh run.sh %endif #--prevent log file lines that are too long for vi log_line_width = 110 # Point to where the usr/compiler/OS Flags file is flagsurl000 = http://www.spec.org/cpu2006/flags/CPU2006_flags.20111025.xml #=============================================================================== # How the compilers are called # The settings used here are for IBM C/C++ and xl Fortran compilers #=============================================================================== default=default=default=default: %define MY_PATH /opt/at5.0/bin sw_compiler000 = C/C++: Version 4.6.1 of IBM Advance Toolchain CC = %{MY_PATH}/gcc CXX = %{MY_PATH}/g++ FC = %{MY_PATH}/gfortran default=default=default=default: #====================================================================== # Base Level Optimizations # No limit to number of flags, must be same for all of each Language. #====================================================================== default=base=default=default: %if %{mymode64} sw_base_ptrsize = 64-bit %else sw_base_ptrsize = 32-bit %endif %define DEBUG -g %ifndef %{debug} %define DEBUG %endif # Check for BASEARCH overrides # Default BASEARCH is P7 %define BASEARCH %{P7} # set basearch to p7, was p6 on the 1st base run %if %{mybasearchp4} %define BASEARCH %{P4} %endif %if %{mybasearchp5} %define BASEARCH %{P5} %endif %if %{mybasearchp5plus} %define BASEARCH %{P5plus} %endif %if %{mybasearchp6} %define BASEARCH %{P6} %endif %if %{mybasearchp7} %define BASEARCH %{P7} %endif %define MODE -m32 %if %{mymode64} %define MODE -m64 %endif %define GCCOPT -fpeel-loops -funroll-loops -ffast-math -ftree-vectorize -ftree-loop-linear -mvsx -maltivec -mpopcntd -mrecip=rsqrt # Default mode is -O3 with p7 %define BASEOPT -O3 %{BASEARCH} %{MODE} %{GCCOPT} %{DEBUG} #Check for BASEOPT overrides %if %{mybaseopt} == 3 %define BASEOPT -O3 %{BASEARCH} %{MODE} %{GCCOPT} %{DEBUG} %endif %if %{mybaseopt} == 2 %define BASEOPT -O2 %{BASEARCH} %{MODE} %{GCCOPT} %{DEBUG} %endif %if %{mybaseopt} == 1 %define BASEOPT -O1 %{BASEARCH} %{MODE} %{GCCOPT} %{DEBUG} %endif int=base=default=default: COPTIMIZE = %{BASEOPT} -fno-strict-aliasing %if %{mybasearchp7} COPTIMIZE = %{BASEOPT} -flto -fwhole-program -fuse-linker-plugin %endif EXTRA_CLIBS = %{LHLIB} CXXOPTIMIZE = %{BASEOPT} -flto -fwhole-program -fuse-linker-plugin EXTRA_CXXLIBS = %{SMARTHEAPLIB} fp=base=default=default: COPTIMIZE = %{BASEOPT} CXXOPTIMIZE = %{BASEOPT} FOPTIMIZE = %{BASEOPT} EXTRA_LIBS = %{LHLIB} default=base=default=default: %if %{mymode64} PORTABILITY = -DSPEC_CPU_LP64 %endif #====================================================================== # INT Portability Flags # no optimizations allowed here #====================================================================== 400.perlbench=default=default=default: %if %{mymode64} CPORTABILITY = -DSPEC_CPU_LINUX_PPC -DSPEC_CPU_LP64 %else CPORTABILITY = -DSPEC_CPU_LINUX_PPC %endif 403.gcc=default=default=default: %if %{mymode64} CPORTABILITY = -DSPEC_CPU_LP64 %endif 462.libquantum=default=default=default: CPORTABILITY = -DSPEC_CPU_LINUX 464.h264ref=default=default=default: CPORTABILITY = -fsigned-char 483.xalancbmk=default=default=default: CXXPORTABILITY = -DSPEC_CPU_LINUX #====================================================================== # FP Portability Flags # no optimizations allowed here #====================================================================== 481.wrf=default=default=default: CPORTABILITY = -DSPEC_CPU_CASE_FLAG -DSPEC_CPU_LINUX_PPC 482.sphinx3=default=default=default: CPORTABILITY = -fsigned-char #====================================================================== # # Default peak flags. # #====================================================================== default=peak=default=default: sw_peak_ptrsize = 32-bit %define O2 -O2 %{BASEARCH} %{MODE} %{GCCOPT} %{DEBUG} %define O3 -O3 %{BASEARCH} %{MODE} %{GCCOPT} %{DEBUG} #====================================================================== # INT peak Flags #====================================================================== int=peak=default=default: 400.perlbench=peak=default=default: # C only Benchmark OPTIMIZE = %{O3} -flto -fno-strict-aliasing EXTRA_LIBS = %{SMARTHEAPLIB} PASS1_CFLAGS = -fprofile-generate PASS1_LDFLAGS = -fprofile-generate -fwhole-program -fuse-linker-plugin PASS2_CFLAGS = -fprofile-use PASS2_LDFLAGS = -fprofile-use -fwhole-program -fuse-linker-plugin %ifdef %{64} CPORTABILITY = -DSPEC_CPU_LINUX_PPC -DSPEC_CPU_LP64 COPTIMIZE = -m64 %else CPORTABILITY = -DSPEC_CPU_LINUX_PPC %endif 401.bzip2=peak=default=default: # C only Benchmark %define FDPROPTS_BZIP2 -O4 -vrox OPTIMIZE = %{O3} EXTRA_LIBS = -lhugetlbfs LDCFLAGS = -Wl,-q fdo_pre1 = cp ${baseexe} ${baseexe}.orig ; /opt/bin/fdprpro -a instr %{FDPRINT} ${baseexe}; cp ${baseexe}.instr ${baseexe} fdo_run1 = $command fdo_post1 = cp ${baseexe}.orig ${baseexe} ; /opt/bin/fdprpro -a opt -f ${baseexe}.nprof %{FDPROPTS_BZIP2} ${baseexe} ; cp ${baseexe}.fdpr ${baseexe} %ifdef %{64} COPTIMIZE = -m64 %endif 403.gcc=peak=default=default: # C only Benchmark %define FDPROPTS_GCC -O4 -nodp -rtb OPTIMIZE = %{O3} -flto EXTRA_LIBS = -lhugetlbfs LDCFLAGS = -Wl,-q PASS1_CFLAGS = -fprofile-generate PASS1_LDFLAGS = -fprofile-generate -fwhole-program -fuse-linker-plugin PASS2_CFLAGS = -fprofile-use PASS2_LDFLAGS = -fprofile-use -fwhole-program -fuse-linker-plugin fdo_pre2 = cp ${baseexe} ${baseexe}.orig ; /opt/bin/fdprpro -a instr %{FDPRINT} ${baseexe}; cp ${baseexe}.instr ${baseexe} fdo_run2 = $command fdo_post2 = cp ${baseexe}.orig ${baseexe} ; /opt/bin/fdprpro -a opt -f ${baseexe}.nprof %{FDPROPTS_GCC} ${baseexe} ; cp ${baseexe}.fdpr ${baseexe} %ifdef %{64} CPORTABILITY = -DSPEC_CPU_LP64 COPTIMIZE = -m64 %endif 429.mcf=peak=default=default: # C only Benchmark %if %{numcores} == 12 copies = 12 submit = echo "$command" > run.sh; let "MYCPU=4*\$SPECCOPYNUM"; MYMEM=`printf '%d' \$((\$MYCPU/24))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %define FDPROPTS_MCF -O3 OPTIMIZE = %{O3} -flto EXTRA_LIBS = -lhugetlbfs LDCFLAGS = -Wl,-q EXTRA_LDFLAGS = -fwhole-program fdo_pre1 = cp ${baseexe} ${baseexe}.orig ; /opt/bin/fdprpro -a instr %{FDPRINT} ${baseexe}; cp ${baseexe}.instr ${baseexe} fdo_run1 = $command fdo_post1 = cp ${baseexe}.orig ${baseexe} ; /opt/bin/fdprpro -a opt -f ${baseexe}.nprof %{FDPROPTS_MCF} ${baseexe} ; cp ${baseexe}.fdpr ${baseexe} %ifdef %{64} COPTIMIZE = -m64 %endif 445.gobmk=peak=default=default: # C only Benchmark %define FDPROPTS_GOBMK -O3 OPTIMIZE = %{O3} -flto EXTRA_LIBS = -lhugetlbfs LDCFLAGS = -Wl,-q PASS1_CFLAGS = -fprofile-generate PASS1_LDFLAGS = -fprofile-generate -fwhole-program -fuse-linker-plugin PASS2_CFLAGS = -fprofile-use PASS2_LDFLAGS = -fprofile-use -fwhole-program -fuse-linker-plugin fdo_pre2 = cp ${baseexe} ${baseexe}.orig ; /opt/bin/fdprpro -a instr %{FDPRINT} ${baseexe}; cp ${baseexe}.instr ${baseexe} fdo_run2 = $command fdo_post2 = cp ${baseexe}.orig ${baseexe} ; /opt/bin/fdprpro -a opt -f ${baseexe}.nprof %{FDPROPTS_GOBMK} ${baseexe} ; cp ${baseexe}.fdpr ${baseexe} %ifdef %{64} COPTIMIZE = -m64 %endif 456.hmmer=peak=default=default: # C only Benchmark OPTIMIZE = %{O3} -flto EXTRA_LIBS = -lhugetlbfs LDCFLAGS = -Wl,-q PASS1_CFLAGS = -fprofile-generate PASS1_LDFLAGS = -fprofile-generate -fwhole-program -fuse-linker-plugin PASS2_CFLAGS = -fprofile-use PASS2_LDFLAGS = -fprofile-use -fwhole-program -fuse-linker-plugin fdo_pre2 = cp ${baseexe} ${baseexe}.orig ; /opt/bin/fdprpro -a instr %{FDPRINT} ${baseexe}; cp ${baseexe}.instr ${baseexe} fdo_run2 = $command fdo_post2 = cp ${baseexe}.orig ${baseexe} ; /opt/bin/fdprpro -a opt -f ${baseexe}.nprof %{FDPROPTS} ${baseexe} ; cp ${baseexe}.fdpr ${baseexe} %ifdef %{64} COPTIMIZE = -m64 %endif 458.sjeng=peak=default=default: # C only Benchmark %define FDPROPTS_SJENG -O3 OPTIMIZE = %{O3} -flto EXTRA_LIBS = -lhugetlbfs LDCFLAGS = -Wl,-q PASS1_CFLAGS = -fprofile-generate PASS1_LDFLAGS = -fprofile-generate -fwhole-program -fuse-linker-plugin PASS2_CFLAGS = -fprofile-use PASS2_LDFLAGS = -fprofile-use -fwhole-program -fuse-linker-plugin fdo_pre2 = cp ${baseexe} ${baseexe}.orig ; /opt/bin/fdprpro -a instr %{FDPRINT} ${baseexe}; cp ${baseexe}.instr ${baseexe} fdo_run2 = $command fdo_post2 = cp ${baseexe}.orig ${baseexe} ; /opt/bin/fdprpro -a opt -f ${baseexe}.nprof %{FDPROPTS_SJENG} ${baseexe} ; cp ${baseexe}.fdpr ${baseexe} %ifdef %{64} COPTIMIZE = -m64 %endif 462.libquantum=peak=default=default: # C only Benchmark # We want just 1 copy per core, not SMT, when we have L3cache %if %{numcores} == 12 copies = 12 submit = echo "$command" > run.sh; let "MYCPU=4*\$SPECCOPYNUM"; MYMEM=`printf '%d' \$((\$MYCPU/24))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %define FDPROPTS_LIBQUANTUM -bf -dp -lro -nop -RC -RD -tb -tlo -vro -A 4 -isf 88 -lu 8 -hrf 0.10 -sdp 4 -lun 27 -omullX %if %{noL3} %define FDPROPTS_LIBQUANTUM -ece -pca -RC -RD -tb -tlo -lu 5 -rt 0.75 -hrf 0.75 -sdpla 4 -rcctf 0.55 -rccrf 0.10 -rcaf 2 -omullX %endif OPTIMIZE = %{O3} -flto EXTRA_LIBS = -lhugetlbfs LDCFLAGS = -Wl,-q PASS1_CFLAGS = -fprofile-generate PASS1_LDFLAGS = -fprofile-generate -fwhole-program -fuse-linker-plugin PASS2_CFLAGS = -fprofile-use PASS2_LDFLAGS = -fprofile-use -fwhole-program -fuse-linker-plugin fdo_pre2 = cp ${baseexe} ${baseexe}.orig ; /opt/bin/fdprpro -a instr %{FDPRINT} ${baseexe}; cp ${baseexe}.instr ${baseexe} fdo_run2 = $command fdo_post2 = cp ${baseexe}.orig ${baseexe} ; /opt/bin/fdprpro -a opt -f ${baseexe}.nprof %{FDPROPTS_LIBQUANTUM} ${baseexe} ; cp ${baseexe}.fdpr ${baseexe} %ifdef %{64} COPTIMIZE = -m64 %endif 464.h264ref=peak=default=default: # C only Benchmark OPTIMIZE = %{O3} -flto EXTRA_LIBS = -lhugetlbfs LDCFLAGS = -Wl,-q EXTRA_LDFLAGS = -fwhole-program -fuse-linker-plugin fdo_pre1 = cp ${baseexe} ${baseexe}.orig ; /opt/bin/fdprpro -a instr ${baseexe}; cp ${baseexe}.instr ${baseexe} fdo_run1 = $command fdo_post1 = cp ${baseexe}.orig ${baseexe} ; /opt/bin/fdprpro -a opt -f ${baseexe}.nprof -O4 -vrox -nodp ${baseexe} ; cp ${baseexe}.fdpr ${baseexe} %ifdef %{64} COPTIMIZE = -m64 %endif 471.omnetpp=peak=default=default: # C++ Benchmark %define FDPROPTS_OMNETPP -O3 -lu -1 -nodp -sdp 9 OPTIMIZE = %{O3} -flto EXTRA_LIBS = %{SMARTHEAPLIB} LDCXXFLAGS = -Wl,-q EXTRA_LDFLAGS = -fwhole-program -fuse-linker-plugin fdo_pre1 = cp ${baseexe} ${baseexe}.orig ; /opt/bin/fdprpro -a instr %{FDPRINT} ${baseexe}; cp ${baseexe}.instr ${baseexe} fdo_run1 = $command fdo_post1 = cp ${baseexe}.orig ${baseexe} ; /opt/bin/fdprpro -a opt -f ${baseexe}.nprof %{FDPROPTS_OMNETPP} ${baseexe} ; cp ${baseexe}.fdpr ${baseexe} %ifdef %{64} CXXOPTIMIZE = -m64 %endif 473.astar=peak=default=default: # C++ Benchmark %define FDPROPTS_ASTAR -O3 OPTIMIZE = %{O3} -flto EXTRA_LIBS = %{SMARTHEAPLIB} LDCXXFLAGS = -Wl,-q EXTRA_LDFLAGS = -fwhole-program -fuse-linker-plugin fdo_pre1 = cp ${baseexe} ${baseexe}.orig ; /opt/bin/fdprpro -a instr %{FDPRINT} ${baseexe}; cp ${baseexe}.instr ${baseexe} fdo_run1 = $command fdo_post1 = cp ${baseexe}.orig ${baseexe} ; /opt/bin/fdprpro -a opt -f ${baseexe}.nprof %{FDPROPTS_ASTAR} ${baseexe} ; cp ${baseexe}.fdpr ${baseexe} %ifdef %{64} CXXOPTIMIZE = -m64 %endif 483.xalancbmk=peak=default=default: # C++ Benchmark %define FDPROPTS_XALAN -O3 -m power7 OPTIMIZE = %{O3} EXTRA_LIBS = %{SMARTHEAPLIB} LDCXXFLAGS = -Wl,-q fdo_pre1 = cp ${baseexe} ${baseexe}.orig ; /opt/bin/fdprpro -a instr %{FDPRINT} ${baseexe}; cp ${baseexe}.instr ${baseexe} fdo_run1 = $command fdo_post1 = cp ${baseexe}.orig ${baseexe} ; /opt/bin/fdprpro -a opt -f ${baseexe}.nprof %{FDPROPTS_XALAN} ${baseexe} ; cp ${baseexe}.fdpr ${baseexe} %ifdef %{64} CXXOPTIMIZE = -m64 %endif 999.specrand=peak=default=default: # C only Benchmark - Must run, but not reported unless fails OPTIMIZE = %{O3} # 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: test_sponsor = IBM Corporation tester = IBM Corporation hw_cpu_char000 = Intelligent Energy Optimization hw_cpu_char001 = enabled, up to 3.92 GHz notes_submit_000 =The config file option 'submit' was used. notes_submit_005 =Benchmarks bound to a processor using numactl on the submit command. notes_os_000 =ulimit -s (stack) set to 1048576. notes_os_005 =Large pages reserved as follows by root user: notes_os_010 = echo 4224 > /proc/sys/vm/nr_hugepages notes_os_015 =The following environment varibles were set before the runspec command: notes_os_020 = XLFRTEOPTS=intrinthds=1 notes_os_025 = HUGETLB_VERBOSE=0 notes_os_030 = HUGETLB_MORECORE=yes notes_000 =For more information about IBM Advance Toolchain, see notes_005 =http://linuxpatch.ncsa.uiuc.edu/toolchain/at/at5.0/redhat/RHEL6/release_notes.at5.0-5.0-0.html