# Invocation command line: # /autobench/sources/speccpu2006/bin/runspec --config cpu2006.p7.sles11.cfg --action run --rate 256 --parallel_setup 256 --parallel_setup_type submit --reportable --nobuild --tune all --iterations 3 --define numcores=64 --define sles=1 --define yesL3=1 --extension XL10ptf-fdpr55-sh9-p7 int # output_root was not used for this run ############################################################################ ####################################################################### # # SPEC CPU2006 Benchmark Config file IBM Power systems running Linux # ####################################################################### # # --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 # # nolibhuge Allows override to not use extra libraries on base runs # nosmartheap # # sles # sles10 # debug %if %{nolibhuge} %define LHBDT %define LHB %define LHLIB %else %define LHBDT -B/usr/share/libhugetlbfs/ -tl -Wl,--hugetlbfs-link=BDT %define LHB -B/usr/share/libhugetlbfs/ -tl -Wl,--hugetlbfs-link=B %define LHLIB -lhugetlbfs %endif %if %{nosmartheap} %define SMARTHEAPLIB %else %define SMARTHEAPLIB -lsmartheap %endif %define FDPROPTS -O4 -omullX -see 0 -m power6 %define FDPRINT -imullX %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 # # 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 = 3860 hw_cpu_name = POWER7 hw_memory = 512 GB (64x8 GB) DDR3 1066 MHz # # # hw_disk = 6x146.8 GB SAS SFF 15K RPM # sw_os000 = SUSE Linux Enterprise Server 11 sw_os001 = (ppc64), Kernel 2.6.27.19-5-ppc64 sw_file = ext3 # # sw_avail = Dec-2009 # sw_compiler000 = IBM XL C/C++ for Linux, V10.1 sw_compiler001 = Updated with the Oct2009 PTF sw_other000= -Post-Link Optimization for Linux on sw_other001= POWER, Version 5.5.0-1 sw_other002= -MicroQuill SmartHeap 9 notes_000 = notes_005 = IBM Post-Link Optimization tool with notes_010 = options "-O4 -omullX -see 0 -m power6" used for notes_015 = 400.perlbench 401.bzip2 403.gcc 456.hmmer 458.sjeng notes_020 = 483.xalancbmk notes_025 = options "-bf -dp -hr -las -pca -RC -RD -rmte -si -tlo -A 64 -isf 104 -lu 8 -rt 0.16 # hw_model = IBM Power 780 (3.86 GHz, 64 core, SLES) hw_avail = Mar-2010 # hw_ncpuorder = 8,16,24,32,48,64 cores hw_nchips = 8 hw_ncores = 64 hw_nthreadspercore = 4 hw_ncoresperchip = 8 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 # # # notes_030 = -hrf 0.18 -ihf 40 -sdp 6 -sdpms 128 -shci 65 -si -sidf 45 -omullX" used for notes_035 = 429.mcf notes_040 = options "-q -O3 -A 32 -omullX" used for notes_045 = 445.gobmk notes_050 = options "-bf -dp -lro -nop -RC -RD -tb -tlo -vro -A 4 notes_055 = -isf 88 -lu 8 -hrf 0.10 -sdp 4 -lun 27 -omullX" used for notes_060 = 462.libquantum notes_065 = options "-O4 -omullX -see 1" used for notes_070 = 473.astar notes_075 = options "-O4" used for notes_080 = 464.h264ref # ---- 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 %ifdef %{numcores} submit = echo "$command" > run.sh; let "MYCPU=\$SPECCOPYNUM"; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$SPECCOPYNUM --membind=\$MYMEM sh run.sh %endif %if %{numcores} == 64 submit = echo "$command" > run.sh; let "MYCPU=\$SPECCOPYNUM"; MYMEM=`printf '%d' \$(( 2*((\$MYCPU/64)%2+2*((\$MYCPU/128)%2))+\$MYCPU/32 ))` ; 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/IBM-Linux-XL.20100302.xml CC_PATH = /opt/ibmcmp/vac/10.1/bin CXX_PATH = /opt/ibmcmp/vacpp/10.1/bin XLF_PATH = /opt/ibmcmp/xlf/12.1/bin #=============================================================================== # How the compilers are called # The settings used here are for IBM C/C++ and xl Fortran compilers #=============================================================================== default=default=default=default: CC = $(CC_PATH)/xlc -qlanglvl=extc99 CXX = $(CXX_PATH)/xlC FC = $(XLF_PATH)/xlf95 %define IPAC -qipa=noobject %define IPAL -qipa=threads EXTRA_CFLAGS = %{IPAC} EXTRA_CXXFLAGS = %{IPAC} EXTRA_FFLAGS = %{IPAC} EXTRA_LDFLAGS = %{IPAL} int=default=default=default: notes_085 = Whenever option "-omullX" was used during the optimization phase, notes_090 = option "-imullX" was also used during the instrumentation phase. notes_095 = fp=default=default=default: notes_700 = IBM Post-Link optimization tool with notes_701 = options "-O4 -omullX -see 0 -m power6" used for notes_702 = 433.milc 435.gromacs 436.cactusADM 482.sphinx3 notes_703 = options "-O4 -omullX -see 1" used for notes_704 = 436.cactusADM notes_705 = options "-O4 -omullX -see 1 -ihf -1" used for notes_706 = 453.povray notes_707 = options "-O4" used for notes_708 = 465.tonto notes_709 = Whenever option "-omullX" was used during the optimization phase, notes_710 = option "-imullX" was also used during the instrumentation phase. notes_711 = notes_712 = Benchmarks bound to a processor using numactl on the submit command. 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: sw_base_ptrsize = 32-bit %define DEBUG -g %ifndef %{debug} %define DEBUG %endif # Default mode is -O5 with p6a %define BASEOPT -O5 %{DEBUG} #Check for BASEOPT overrides %if %{mybaseopt} == 3 %define BASEOPT -O3 -qarch=auto -qtune=auto %{DEBUG} %endif %if %{mybaseopt} == 4 %define BASEOPT -O4 %{DEBUG} %endif %if %{mybaseopt} == 5 %define BASEOPT -O5 %{DEBUG} %endif int=base=default=default: COPTIMIZE = %{BASEOPT} -qalias=noansi -qalloca EXTRA_CLIBS = %{LHLIB} CXXOPTIMIZE = %{BASEOPT} -qrtti EXTRA_CXXLIBS = %{SMARTHEAPLIB} fp=base=default=default: COPTIMIZE = %{BASEOPT} -qnoenablevmx EXTRA_CLIBS = %{LHLIB} CXXOPTIMIZE = %{BASEOPT} -qrtti -qnoenablevmx -qstaticlink %if %{sles} EXTRA_CXXLIBS = -Wl,--whole-archive /usr/lib/libhugetlbfs.a -Wl,--no-whole-archive %endif FOPTIMIZE = %{BASEOPT} -qsmallstack=dynlenonheap -qalias=nostd -qnoenablevmx %{LHBDT} #====================================================================== # INT Portability Flags # no optimizations allowed here #====================================================================== 400.perlbench=default=default=default: CPORTABILITY = -DSPEC_CPU_LINUX_PPC 462.libquantum=default=default=default: CPORTABILITY = -DSPEC_CPU_LINUX 464.h264ref=default=default=default: CPORTABILITY = -qchars=signed 483.xalancbmk=default=default=default: CXXPORTABILITY = -DSPEC_CPU_LINUX #====================================================================== # FP Portability Flags # no optimizations allowed here #====================================================================== 410.bwaves=default=default=default: FPORTABILITY = -qfixed 416.gamess=default=default=default: FPORTABILITY = -qfixed 434.zeusmp=default=default=default: FPORTABILITY = -qfixed 435.gromacs=default=default=default: FPORTABILITY = -qfixed -qextname 436.cactusADM=default=default=default: FPORTABILITY = -qfixed -qextname 437.leslie3d=default=default=default: FPORTABILITY = -qfixed 454.calculix=default=default=default: FPORTABILITY = -qfixed -qextname 481.wrf=default=default=default: #srcalt = wrfv22 CPORTABILITY = -DNOUNDERSCORE 482.sphinx3=default=default=default: CPORTABILITY = -qchars=signed #====================================================================== # # Default peak flags. # #====================================================================== default=peak=default=default: sw_peak_ptrsize = 32/64-bit %define O2 -O2 -qarch=auto -qtune=auto %{DEBUG} %define O3 -O3 -qarch=auto -qtune=auto %{DEBUG} %define O4 -O4 %{DEBUG} %define O5 -O5 %{DEBUG} #====================================================================== # INT peak Flags #====================================================================== int=peak=default=default: 400.perlbench=peak=default=default: # C only Benchmark OPTIMIZE = %{O4} -qalias=noansi EXTRA_LIBS = -lsmartheap LDCFLAGS = -Wl,-q PASS1_CFLAGS = -qpdf1 PASS1_LDFLAGS = -qpdf1 PASS2_CFLAGS = -qpdf2 PASS2_LDFLAGS = -qpdf2 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} CPORTABILITY = -DSPEC_CPU_LINUX_PPC -DSPEC_CPU_LP64 COPTIMIZE = -q64 %else CPORTABILITY = -DSPEC_CPU_LINUX_PPC %endif 401.bzip2=peak=default=default: # C only Benchmark OPTIMIZE = %{O3} EXTRA_LIBS = -lhugetlbfs LDCFLAGS = -Wl,-q PASS1_CFLAGS = -qpdf1 PASS1_LDFLAGS = -qpdf1 PASS2_CFLAGS = -qpdf2 PASS2_LDFLAGS = -qpdf2 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 = -q64 %endif 403.gcc=peak=default=default: # C only Benchmark OPTIMIZE = %{O4} -qalloca EXTRA_LIBS = -lhugetlbfs LDCFLAGS = -Wl,-q PASS1_CFLAGS = -qpdf1 PASS1_LDFLAGS = -qpdf1 PASS2_CFLAGS = -qpdf2 PASS2_LDFLAGS = -qpdf2 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} CPORTABILITY = -DSPEC_CPU_LP64 COPTIMIZE = -q64 %endif 429.mcf=peak=default=default: # C only Benchmark %if %{numcores} == 8 copies = 16 submit = echo "$command" > run.sh; let "CHECK=\$SPECCOPYNUM%2" ; if [[ \$CHECK -eq 0 ]]; then let "MYCPU=2*\$SPECCOPYNUM" ; fi; if [[ \$CHECK -eq 1 ]]; then let "MYCPU=2*\$SPECCOPYNUM-1" ; fi; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %if %{numcores} == 16 copies = 32 submit = echo "$command" > run.sh; let "CHECK=\$SPECCOPYNUM%2" ; if [[ \$CHECK -eq 0 ]]; then let "MYCPU=2*\$SPECCOPYNUM" ; fi; if [[ \$CHECK -eq 1 ]]; then let "MYCPU=2*\$SPECCOPYNUM-1" ; fi; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %if %{numcores} == 32 copies = 64 submit = echo "$command" > run.sh; let "CHECK=\$SPECCOPYNUM%2" ; if [[ \$CHECK -eq 0 ]]; then let "MYCPU=2*\$SPECCOPYNUM" ; fi; if [[ \$CHECK -eq 1 ]]; then let "MYCPU=2*\$SPECCOPYNUM-1" ; fi; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %if %{numcores} == 64 copies = 128 submit = echo "$command" > run.sh; let "CHECK=\$SPECCOPYNUM%2" ; if [[ \$CHECK -eq 0 ]]; then let "MYCPU=2*\$SPECCOPYNUM" ; fi; if [[ \$CHECK -eq 1 ]]; then let "MYCPU=2*\$SPECCOPYNUM-1" ; fi; MYMEM=`printf '%d' \$(( 2*((\$MYCPU/64)%2+2*((\$MYCPU/128)%2))+\$MYCPU/32 ))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %define FDPROPTS_MCF -bf -dp -hr -las -pca -RC -RD -rmte -si -tlo -A 64 -isf 104 -lu 8 -rt 0.16 -hrf 0.18 -ihf 40 -sdp 6 -sdpms 128 -shci 65 -si -sidf 45 -omullX OPTIMIZE = %{O5} -qnoenablevmx 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_MCF} ${baseexe} ; cp ${baseexe}.fdpr ${baseexe} %ifdef %{64} COPTIMIZE = -q64 %endif 445.gobmk=peak=default=default: # C only Benchmark %define FDPROPTS_GOBMK -q -O3 -A 32 -omullX OPTIMIZE = %{O4} -qnoenablevmx EXTRA_LIBS = -lhugetlbfs LDCFLAGS = -Wl,-q PASS1_CFLAGS = -qpdf1 PASS1_LDFLAGS = -qpdf1 PASS2_CFLAGS = -qpdf2 PASS2_LDFLAGS = -qpdf2 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 = -q64 %endif 456.hmmer=peak=default=default: # C only Benchmark OPTIMIZE = %{O5} EXTRA_LIBS = -lhugetlbfs LDCFLAGS = -Wl,-q PASS1_CFLAGS = -qpdf1 PASS1_LDFLAGS = -qpdf1 PASS2_CFLAGS = -qpdf2 PASS2_LDFLAGS = -qpdf2 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 = -q64 %endif 458.sjeng=peak=default=default: # C only Benchmark OPTIMIZE = %{O5} EXTRA_LIBS = -lhugetlbfs LDCFLAGS = -Wl,-q #PASS1_CFLAGS = -qpdf1 #PASS1_LDFLAGS = -qpdf1 #PASS2_CFLAGS = -qpdf2 #PASS2_LDFLAGS = -qpdf2 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 = -q64 %endif 462.libquantum=peak=default=default: # C only Benchmark %if %{numcores} == 8 copies = 8 submit = echo "$command" > run.sh; let "MYCPU=4*\$SPECCOPYNUM"; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %if %{numcores} == 16 copies = 16 submit = echo "$command" > run.sh; let "MYCPU=4*\$SPECCOPYNUM"; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %if %{numcores} == 32 copies = 32 submit = echo "$command" > run.sh; let "MYCPU=4*\$SPECCOPYNUM"; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %if %{numcores} == 64 copies = 128 submit = echo "$command" > run.sh; let "CHECK=\$SPECCOPYNUM%2" ; if [[ \$CHECK -eq 0 ]]; then let "MYCPU=2*\$SPECCOPYNUM" ; fi; if [[ \$CHECK -eq 1 ]]; then let "MYCPU=2*\$SPECCOPYNUM-1" ; fi; MYMEM=`printf '%d' \$(( 2*((\$MYCPU/64)%2+2*((\$MYCPU/128)%2))+\$MYCPU/32 ))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %define 64 %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 OPTIMIZE = %{O5} -qnoenablevmx EXTRA_LIBS = -lhugetlbfs LDCFLAGS = -Wl,-q PASS1_CFLAGS = -qpdf1 PASS1_LDFLAGS = -qpdf1 PASS2_CFLAGS = -qpdf2 PASS2_LDFLAGS = -qpdf2 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 = -q64 %endif %undef 64 464.h264ref=peak=default=default: # C only Benchmark OPTIMIZE = %{O5} EXTRA_LIBS = -lhugetlbfs LDCFLAGS = -Wl,-q PASS1_CFLAGS = -qpdf1 PASS1_LDFLAGS = -qpdf1 PASS2_CFLAGS = -qpdf2 PASS2_LDFLAGS = -qpdf2 fdo_pre2 = cp ${baseexe} ${baseexe}.orig ; /opt/bin/fdprpro -a instr ${baseexe}; cp ${baseexe}.instr ${baseexe} fdo_run2 = $command fdo_post2 = cp ${baseexe}.orig ${baseexe} ; /opt/bin/fdprpro -a opt -f ${baseexe}.nprof -O4 ${baseexe} ; cp ${baseexe}.fdpr ${baseexe} %ifdef %{64} COPTIMIZE = -q64 %endif 471.omnetpp=peak=default=default: # C++ Benchmark OPTIMIZE = %{O4} -qrtti EXTRA_LIBS = -lsmartheap PASS1_CXXFLAGS = -qpdf1 PASS1_LDFLAGS = -qpdf1 PASS2_CXXFLAGS = -qpdf2 PASS2_LDFLAGS = -qpdf2 %ifdef %{64} CXXOPTIMIZE = -q64 %endif 473.astar=peak=default=default: # C++ Benchmark %define FDPROPTS_ASTAR -O4 -omullX -see 1 OPTIMIZE = %{O4} -qnoenablevmx EXTRA_LIBS = -lsmartheap LDCXXFLAGS = -Wl,-q PASS1_CXXFLAGS = -qpdf1 PASS1_LDFLAGS = -qpdf1 PASS2_CXXFLAGS = -qpdf2 PASS2_LDFLAGS = -qpdf2 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_ASTAR} ${baseexe} ; cp ${baseexe}.fdpr ${baseexe} %ifdef %{64} CXXOPTIMIZE = -q64 %endif 483.xalancbmk=peak=default=default: # C++ Benchmark OPTIMIZE = %{O5} EXTRA_LIBS = -lsmartheap 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} ${baseexe} ; cp ${baseexe}.fdpr ${baseexe} %ifdef %{64} CXXOPTIMIZE = -q64 %endif 999.specrand=peak=default=default: # C only Benchmark - Must run, but not reported unless fails OPTIMIZE = %{O5} %{LHBDT} PASS1_CFLAGS = -qpdf1 PASS1_LDFLAGS = -qpdf1 PASS2_CFLAGS = -qpdf2 PASS2_LDFLAGS = -qpdf2 #====================================================================== # FP peak Flags #====================================================================== fp=peak=default=default: 410.bwaves=peak=default=default: # Fortran Benchmark %if %{numcores} == 8 copies = 8 submit = echo "$command" > run.sh; let "MYCPU=4*\$SPECCOPYNUM"; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %if %{numcores} == 16 copies = 16 submit = echo "$command" > run.sh; let "MYCPU=4*\$SPECCOPYNUM"; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %if %{numcores} == 32 copies = 32 submit = echo "$command" > run.sh; let "MYCPU=4*\$SPECCOPYNUM"; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %if %{numcores} == 64 copies = 64 submit = echo "$command" > run.sh; let "MYCPU=4*\$SPECCOPYNUM"; MYMEM=`printf '%d' \$(( 2*((\$MYCPU/64)%2+2*((\$MYCPU/128)%2))+\$MYCPU/32 ))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif OPTIMIZE = %{O5} -qsmallstack=dynlenonheap EXTRA_LIBS = -lhugetlbfs %ifdef %{64} OPTIMIZE = %{O5} -qsmallstack=dynlenonheap FOPTIMIZE = -q64 %endif 416.gamess=peak=default=default: # Fortran Benchmark OPTIMIZE = %{O5} -qalias=nostd -qnoenablevmx PASS1_FFLAGS = -qpdf1 PASS1_LDFLAGS = -qpdf1 PASS2_FFLAGS = -qpdf2 PASS2_LDFLAGS = -qpdf2 %ifdef %{64} FOPTIMIZE = -q64 %endif 433.milc=peak=default=default: # C only Benchmark %if %{numcores} == 8 copies = 16 submit = echo "$command" > run.sh; let "CHECK=\$SPECCOPYNUM%2" ; if [[ \$CHECK -eq 0 ]]; then let "MYCPU=2*\$SPECCOPYNUM" ; fi; if [[ \$CHECK -eq 1 ]]; then let "MYCPU=2*\$SPECCOPYNUM-1" ; fi; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %if %{numcores} == 16 copies = 32 submit = echo "$command" > run.sh; let "CHECK=\$SPECCOPYNUM%2" ; if [[ \$CHECK -eq 0 ]]; then let "MYCPU=2*\$SPECCOPYNUM" ; fi; if [[ \$CHECK -eq 1 ]]; then let "MYCPU=2*\$SPECCOPYNUM-1" ; fi; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %if %{numcores} == 32 copies = 64 submit = echo "$command" > run.sh; let "CHECK=\$SPECCOPYNUM%2" ; if [[ \$CHECK -eq 0 ]]; then let "MYCPU=2*\$SPECCOPYNUM" ; fi; if [[ \$CHECK -eq 1 ]]; then let "MYCPU=2*\$SPECCOPYNUM-1" ; fi; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif # Run 256 copies (default) on Saturn 64 cores #%if %{numcores} == 64 #copies = 128 #submit = echo "$command" > run.sh; let "CHECK=\$SPECCOPYNUM%2" ; if [[ \$CHECK -eq 0 ]]; then let "MYCPU=2*\$SPECCOPYNUM" ; fi; if [[ \$CHECK -eq 1 ]]; then let "MYCPU=2*\$SPECCOPYNUM-1" ; fi; MYMEM=`printf '%d' \$(( 2*((\$MYCPU/64)%2+2*((\$MYCPU/128)%2))+\$MYCPU/32 ))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh #%endif OPTIMIZE = %{O5} -qnoenablevmx 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} ${baseexe} ; cp ${baseexe}.fdpr ${baseexe} %ifdef %{64} COPTIMIZE = -q64 %endif 434.zeusmp=peak=default=default: # Fortran Benchmark OPTIMIZE = %{O3} -qxlf90=nosignedzero %{LHBDT} PASS1_FFLAGS = -qpdf1 PASS1_LDFLAGS = -qpdf1 PASS2_FFLAGS = -qpdf2 PASS2_LDFLAGS = -qpdf2 %ifdef %{64} FOPTIMIZE = -q64 %endif 435.gromacs=peak=default=default: # Fortran & C Benchmark OPTIMIZE = %{O5} EXTRA_LIBS = -lhugetlbfs LDCFLAGS = -Wl,-q LDFFLAGS = -Wl,-q PASS1_FFLAGS = -qpdf1 PASS1_CFLAGS = -qpdf1 PASS1_LDFLAGS = -qpdf1 PASS2_FFLAGS = -qpdf2 PASS2_CFLAGS = -qpdf2 PASS2_LDFLAGS = -qpdf2 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 = -q64 FOPTIMIZE = -q64 %endif 436.cactusADM=peak=default=default: # Fortran & C Benchmark %define FDPROPTS_CACTUS -O4 -omullX -see 1 %if %{numcores} == 8 copies = 8 submit = echo "$command" > run.sh; let "MYCPU=4*\$SPECCOPYNUM"; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %if %{numcores} == 16 copies = 16 submit = echo "$command" > run.sh; let "MYCPU=4*\$SPECCOPYNUM"; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %if %{numcores} == 32 copies = 32 submit = echo "$command" > run.sh; let "MYCPU=4*\$SPECCOPYNUM"; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %if %{numcores} == 64 copies = 64 submit = echo "$command" > run.sh; let "MYCPU=4*\$SPECCOPYNUM"; MYMEM=`printf '%d' \$(( 2*((\$MYCPU/64)%2+2*((\$MYCPU/128)%2))+\$MYCPU/32 ))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif OPTIMIZE = %{O2} -qnostrict EXTRA_LIBS = -lhugetlbfs LDCFLAGS = -Wl,-q LDFFLAGS = -Wl,-q PASS1_FFLAGS = -qpdf1 PASS1_CFLAGS = -qpdf1 PASS1_LDFLAGS = -qpdf1 PASS2_FFLAGS = -qpdf2 PASS2_CFLAGS = -qpdf2 PASS2_LDFLAGS = -qpdf2 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_CACTUS} ${baseexe} ; cp ${baseexe}.fdpr ${baseexe} %ifdef %{64} FPORTABILITY = -qfixed -qextname FPPPORTABILITY = -WF,-DSPEC_CPU_LP64 CPORTABILITY = -DSPEC_CPU_LP64 FOPTIMIZE = -q64 COPTIMIZE = -q64 %else FPORTABILITY = -qfixed -qextname %endif 437.leslie3d=peak=default=default: # Fortran Benchmark # We want just 1 copy per core, not SMT %if %{numcores} == 8 copies = 8 submit = echo "$command" > run.sh; let "MYCPU=4*\$SPECCOPYNUM"; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %if %{numcores} == 16 copies = 16 submit = echo "$command" > run.sh; let "MYCPU=4*\$SPECCOPYNUM"; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %if %{numcores} == 32 copies = 32 submit = echo "$command" > run.sh; let "MYCPU=4*\$SPECCOPYNUM"; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %if %{numcores} == 64 copies = 64 submit = echo "$command" > run.sh; let "MYCPU=4*\$SPECCOPYNUM"; MYMEM=`printf '%d' \$(( 2*((\$MYCPU/64)%2+2*((\$MYCPU/128)%2))+\$MYCPU/32 ))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif OPTIMIZE = %{O5} -qsmallstack=dynlenonheap -qnoenablevmx %{LHBDT} %ifdef %{64} FOPTIMIZE = -q64 %endif 444.namd=peak=default=default: # C++ Benchmark OPTIMIZE = %{O5} PASS1_CXXFLAGS = -qpdf1 PASS1_LDFLAGS = -qpdf1 PASS2_CXXFLAGS = -qpdf2 PASS2_LDFLAGS = -qpdf2 %ifdef %{64} CXXOPTIMIZE = -q64 %endif 447.dealII=peak=default=default: # C++ Benchmark OPTIMIZE = %{O5} -qrtti -qnoenablevmx -qstaticlink %if %{sles10} EXTRA_LIBS = -Wl,--whole-archive /usr/lib/libhugetlbfs.a -Wl,--no-whole-archive %else EXTRA_LIBS = -Wl,-z,muldefs -Wl,--whole-archive /usr/lib/libsmartheap.a -Wl,--no-whole-archive %endif %ifdef %{64} CXXOPTIMIZE = -q64 %endif 450.soplex=peak=default=default: # C++ Benchmark %if %{numcores} == 8 copies = 8 submit = echo "$command" > run.sh; let "MYCPU=4*\$SPECCOPYNUM"; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %if %{numcores} == 16 copies = 16 submit = echo "$command" > run.sh; let "MYCPU=4*\$SPECCOPYNUM"; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %if %{numcores} == 32 copies = 32 submit = echo "$command" > run.sh; let "MYCPU=4*\$SPECCOPYNUM"; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %if %{numcores} == 64 copies = 64 submit = echo "$command" > run.sh; let "MYCPU=4*\$SPECCOPYNUM"; MYMEM=`printf '%d' \$(( 2*((\$MYCPU/64)%2+2*((\$MYCPU/128)%2))+\$MYCPU/32 ))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif OPTIMIZE = %{O4} -qstrict EXTRA_LIBS = -lhugetlbfs PASS1_CXXFLAGS = -qpdf1 PASS1_LDFLAGS = -qpdf1 PASS2_CXXFLAGS = -qpdf2 PASS2_LDFLAGS = -qpdf2 %ifdef %{64} CXXOPTIMIZE = -q64 %endif 453.povray=peak=default=default: # C++ Benchmark %define FDPROPTS_POVRAY -O4 -omullX -see 1 -ihf -1 OPTIMIZE = %{O5} EXTRA_LIBS = -lsmartheap LDCXXFLAGS = -Wl,-q PASS1_CXXFLAGS = -qpdf1 PASS1_LDFLAGS = -qpdf1 PASS2_CXXFLAGS = -qpdf2 PASS2_LDFLAGS = -qpdf2 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_POVRAY} ${baseexe} ; cp ${baseexe}.fdpr ${baseexe} %ifdef %{64} CXXPORTABILITY = -DSPEC_CPU_LP64 CXXOPTIMIZE = -q64 %endif 454.calculix=peak=default=default: # Fortran & C Benchmark OPTIMIZE = %{O4} %{LHBDT} #PASS1_FFLAGS = -qpdf1 #PASS1_CFLAGS = -qpdf1 #PASS1_LDFLAGS = -qpdf1 #PASS2_FFLAGS = -qpdf2 #PASS2_CFLAGS = -qpdf2 #PASS2_LDFLAGS = -qpdf2 %ifdef %{64} FOPTIMIZE = -q64 COPTIMIZE = -q64 %endif 459.GemsFDTD=peak=default=default: # Fortran Benchmark %if %{numcores} == 8 copies = 16 submit = echo "$command" > run.sh; let "CHECK=\$SPECCOPYNUM%2" ; if [[ \$CHECK -eq 0 ]]; then let "MYCPU=2*\$SPECCOPYNUM" ; fi; if [[ \$CHECK -eq 1 ]]; then let "MYCPU=2*\$SPECCOPYNUM-1" ; fi; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %if %{numcores} == 16 copies = 32 submit = echo "$command" > run.sh; let "CHECK=\$SPECCOPYNUM%2" ; if [[ \$CHECK -eq 0 ]]; then let "MYCPU=2*\$SPECCOPYNUM" ; fi; if [[ \$CHECK -eq 1 ]]; then let "MYCPU=2*\$SPECCOPYNUM-1" ; fi; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %if %{numcores} == 32 copies = 64 submit = echo "$command" > run.sh; let "CHECK=\$SPECCOPYNUM%2" ; if [[ \$CHECK -eq 0 ]]; then let "MYCPU=2*\$SPECCOPYNUM" ; fi; if [[ \$CHECK -eq 1 ]]; then let "MYCPU=2*\$SPECCOPYNUM-1" ; fi; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %if %{numcores} == 64 copies = 64 submit = echo "$command" > run.sh; let "MYCPU=4*\$SPECCOPYNUM"; MYMEM=`printf '%d' \$(( 2*((\$MYCPU/64)%2+2*((\$MYCPU/128)%2))+\$MYCPU/32 ))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %define 64 OPTIMIZE = %{O5} %{LHBDT} #PASS1_FFLAGS = -qpdf1 #PASS1_LDFLAGS = -qpdf1 #PASS2_FFLAGS = -qpdf2 #PASS2_LDFLAGS = -qpdf2 %ifdef %{64} FOPTIMIZE = -q64 %endif %undef 64 465.tonto=peak=default=default: # Fortran Benchmark %define 64 EXTRA_LIBS = -lsmartheap64 OPTIMIZE = %{O5} PASS1_FFLAGS = -qpdf1 PASS1_LDFLAGS = -qpdf1 PASS2_FFLAGS = -qpdf2 PASS2_LDFLAGS = -qpdf2 LDFFLAGS = -Wl,-q fdo_pre2 = cp ${baseexe} ${baseexe}.orig ; /opt/bin/fdprpro -a instr ${baseexe}; cp ${baseexe}.instr ${baseexe} fdo_run2 = $command fdo_post2 = cp ${baseexe}.orig ${baseexe} ; /opt/bin/fdprpro -a opt -f ${baseexe}.nprof -O4 ${baseexe} ; cp ${baseexe}.fdpr ${baseexe} %ifdef %{64} FOPTIMIZE = -q64 %endif %undef 64 470.lbm=peak=default=default: # C Benchmark %if %{numcores} == 8 copies = 8 submit = echo "$command" > run.sh; let "MYCPU=4*\$SPECCOPYNUM"; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %if %{numcores} == 16 copies = 16 submit = echo "$command" > run.sh; let "MYCPU=4*\$SPECCOPYNUM"; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %if %{numcores} == 32 copies = 32 submit = echo "$command" > run.sh; let "MYCPU=4*\$SPECCOPYNUM"; MYMEM=`printf '%d' \$((\$MYCPU/32))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %if %{numcores} == 64 copies = 64 submit = echo "$command" > run.sh; let "MYCPU=4*\$SPECCOPYNUM"; MYMEM=`printf '%d' \$(( 2*((\$MYCPU/64)%2+2*((\$MYCPU/128)%2))+\$MYCPU/32 ))` ; numactl --physcpubind=\$MYCPU --membind=\$MYMEM sh run.sh %endif %define 64 OPTIMIZE = %{O3} %{LHBDT} PASS1_CFLAGS = -qpdf1 PASS1_LDFLAGS = -qpdf1 PASS2_CFLAGS = -qpdf2 PASS2_LDFLAGS = -qpdf2 %ifdef %{64} COPTIMIZE = -q64 %endif %undef 64 481.wrf=peak=default=default: # Fortran & C-for netCDF Benchmark %define 64 OPTIMIZE = %{O5} -qnoenablevmx FOPTIMIZE = -qsmallstack=dynlenonheap #FOPTIMIZE = -qalias=nostd EXTRA_LIBS = -lhugetlbfs %ifdef %{64} COPTIMIZE = -q64 FOPTIMIZE = -q64 %endif %undef 64 482.sphinx3=peak=default=default: # C only Benchmark OPTIMIZE = %{O4} EXTRA_LIBS = -lhugetlbfs LDCFLAGS = -Wl,-q PASS1_CFLAGS = -qpdf1 PASS1_LDFLAGS = -qpdf1 PASS2_CFLAGS = -qpdf2 PASS2_LDFLAGS = -qpdf2 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 = -q64 %endif 998.specrand=peak=default=default: # C only Benchmark - Must run, but not reported unless fails OPTIMIZE = %{O5} # 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.94 GHz notes_os_000 = ulimit -s (stack) set to 1048576. notes_os_005 = Large pages reserved as follows by root user: notes_os_010 = echo 14080 > /proc/sys/vm/nr_hugepages notes_os_015 = System configured with libhugetlbfs library for application access to large pages notes_os_020 = Environment variables set before executing benchmarks. notes_os_025 = export HUGETLB_VERBOSE=0 notes_os_030 = export HUGETLB_MORECORE=yes notes_os_035 = export XLFRTEOPTS=intrinthds=1 notes_submit_000 =Benchmarks bound to a processor using numactl on the submit command.