# Invocation command line: # /autobench/sources/speccpu2006/bin/runspec --config cpu2006.p6.xlcver10.combined.kit11.tuning3.cfg --action run --rate 8 --parallel_setup 8 --parallel_setup_type submit --reportable --nobuild --tune all --iterations 1 --define sles=1 --define yesL3=1 --define mybasearchp6=1 --define numcores=4 --extension xlcv10ptf-dev090304-fdpr21-sles11rc4-p6 fp # 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 %define P6 -qarch=pwr6e -qtune=pwr6 %define P6a -qarch=pwr6 -qtune=pwr6 %define P5plus -qarch=pwr5x -qtune=pwr5 %define P5 -qarch=pwr5 -qtune=pwr5 %define P4 -qarch=pwr4 -qtune=pwr4 %define LHBDT -B/usr/share/libhugetlbfs/ -tl -Wl,--hugetlbfs-link=BDT %define LHLIB -lhugetlbfs %define SMARTHEAPLIB -lsmartheap %if %{nolibhuge} %undef LHBDT %undef LHLIB %endif %if %{nosmartheap} %undef SMARTHEAPLIB %endif %define FDPROPTS -O4 -omullX %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,pdf # -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' ############################################################################ sw_compiler000 = IBM XL C/C++ for Linux, V10.1 sw_compiler001 = Updated with the Mar2009 PTF. sw_compiler002 = IBM XL Fortran for Linux, V12 sw_compiler003 = Updated with the Mar2009 PTF. # company_name = IBM Corporation hw_vendor = IBM Corporation license_num = 11 sw_state = Run Level 3 (Multi-User) hw_cpu_mhz = 4700 hw_cpu_name = POWER6+ hw_memory = 32 GB (8x4 GB) DDR2 667 MHz # # # hw_disk = 2x146 GB SAS 15K RPM # sw_os = SUSE Linux Enterprise Server 11 sw_file = ext3 # # sw_avail = Mar-2009 # # # # notes_000 = kernel release 2.6.27.19-5-ppc64. notes_005 = See flags file for details on following settings. notes_010 = ulimit -s (stack) set to 1048576. notes_015 = System configured with libhugetlbfs library for application access to large pages notes_020 = Large pages reserved as follows by root user: notes_025 = echo 530 > /proc/sys/vm/nr_hugepages # hw_model = IBM Power 520 (4.7 GHz, 4 core, SLES) hw_avail = May-2009 # hw_ncpuorder = 2,4 cores hw_nchips = 2 hw_ncores = 4 hw_nthreadspercore = 2 hw_ncoresperchip = 2 hw_pcache = 64 KB I + 64 KB D on chip per core hw_fpu = Integrated hw_other = None # # hw_scache = 4 MB I+D on chip per core hw_tcache = 32 MB I+D off chip per chip hw_ocache = None # # # notes_030 = Environment variables set before executing benchmarks. notes_035 = export HUGETLB_VERBOSE=0 notes_040 = export HUGETLB_MORECORE=yes notes_045 = export XLFRTEOPTS=intrinthds=1 notes_050 = IBM Post-Link optimization tool was used for these benchmarks, with options: notes_055 = 433.milc : "-imullX" (instrumentation phase), "-O4 -omullX" (optimization phase) notes_060 = 435.gromacs : same as 433.milc notes_065 = 436.cactusADM : same as 433.milc notes_070 = 482.sphinx3 : same as 433.milc notes_075 = 453.povray : "-imullX" (instrumentation phase), "-O4 -omullX -see 1 -ihf -1" (optimization phase) notes_080 = 465.tonto : "-O4" (optimization phase) # ---- 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 %if %{rhel} submit = numactl --membind=\$SPECCOPYNUM --physcpubind=\$SPECCOPYNUM $command %if %{numcores} == 2 submit = let "MYCPU=2*\$SPECCOPYNUM"; if [[ \$MYCPU -gt 3 ]]; then let "MYCPU-=3" ; fi; MYMEM=`printf '%d' \$((\$MYCPU/4))` ; numactl --membind=\$MYMEM --physcpubind=\$MYCPU $command %endif %if %{numcores} == 4 submit = let "MYCPU=2*\$SPECCOPYNUM"; if [[ \$MYCPU -gt 7 ]]; then let "MYCPU-=7" ; fi; MYMEM=`printf '%d' \$((\$MYCPU/4))` ; numactl --membind=\$MYMEM --physcpubind=\$MYCPU $command %endif %if %{numcores} == 8 submit = let "MYCPU=2*\$SPECCOPYNUM"; if [[ \$MYCPU -gt 15 ]]; then let "MYCPU-=15" ; fi; MYMEM=`printf '%d' \$((\$MYCPU/4))` ; numactl --membind=\$MYMEM --physcpubind=\$MYCPU $command %endif %if %{numcores} == 16 submit = let "MYCPU=2*\$SPECCOPYNUM"; if [[ \$MYCPU -gt 31 ]]; then let "MYCPU-=31" ; fi; MYMEM=`printf '%d' \$((\$MYCPU/4))` ; numactl --membind=\$MYMEM --physcpubind=\$MYCPU $command %endif %if %{numcores} == 32 %if %{nodepump} submit = let "MYCPU=2*\$SPECCOPYNUM"; if [[ \$MYCPU -gt 63 ]]; then let "MYCPU-=63" ; fi; MYMEM=`printf '%d' \$((\$MYCPU/16))` ; taskset -c \$MYCPU numactl --membind=\$MYMEM $command %endif %if %{chippump} submit = let "MYCPU=2*\$SPECCOPYNUM"; if [[ \$MYCPU -gt 63 ]]; then let "MYCPU-=63" ; fi; MYMEM=`printf '%d' \$((\$MYCPU/4))` ; taskset -c \$MYCPU numactl --membind=\$MYMEM $command %endif %endif %if %{numcores} == 64 submit = let "MYCPU=2*\$SPECCOPYNUM"; if [[ \$MYCPU -gt 127 ]]; then let "MYCPU-=127" ; fi; MYMEM=`printf '%d' \$((\$MYCPU/16))` ; taskset -c \$MYCPU numactl --membind=\$MYMEM $command %endif %endif %if %{sles} submit = echo "$command" > run.sh ; numactl --membind=\$SPECCOPYNUM --physcpubind=\$SPECCOPYNUM sh run.sh %if %{numcores} == 2 submit = let "MYCPU=2*\$SPECCOPYNUM"; if [[ \$MYCPU -gt 3 ]]; then let "MYCPU-=3" ; fi; MYMEM=`printf '%d' \$((\$MYCPU/4))` ; echo "$command" > run.sh ; numactl --membind=\$MYMEM --physcpubind=\$MYCPU sh run.sh %endif %if %{numcores} == 4 submit = let "MYCPU=2*\$SPECCOPYNUM"; if [[ \$MYCPU -gt 7 ]]; then let "MYCPU-=7" ; fi; MYMEM=`printf '%d' \$((\$MYCPU/4))` ; echo "$command" > run.sh ; numactl --membind=\$MYMEM --physcpubind=\$MYCPU sh run.sh %endif %if %{numcores} == 8 submit = let "MYCPU=2*\$SPECCOPYNUM"; if [[ \$MYCPU -gt 15 ]]; then let "MYCPU-=15" ; fi; MYMEM=`printf '%d' \$((\$MYCPU/4))` ; echo "$command" > run.sh ; numactl --membind=\$MYMEM --physcpubind=\$MYCPU sh run.sh %endif %if %{numcores} == 16 submit = let "MYCPU=2*\$SPECCOPYNUM"; if [[ \$MYCPU -gt 31 ]]; then let "MYCPU-=31" ; fi; MYMEM=`printf '%d' \$((\$MYCPU/4))` ; echo "$command" > run.sh ; numactl --membind=\$MYMEM --physcpubind=\$MYCPU sh run.sh %endif %if %{numcores} == 32 %if %{nodepump} submit = let "MYCPU=2*\$SPECCOPYNUM"; if [[ \$MYCPU -gt 63 ]]; then let "MYCPU-=63" ; fi; MYMEM=`printf '%d' \$((\$MYCPU/16))` ; echo "$command" > run.sh ; taskset -c \$MYCPU numactl --membind=\$MYMEM sh run.sh %endif %if %{chippump} submit = let "MYCPU=2*\$SPECCOPYNUM"; if [[ \$MYCPU -gt 63 ]]; then let "MYCPU-=63" ; fi; MYMEM=`printf '%d' \$((\$MYCPU/4))` ; echo "$command" > run.sh ; taskset -c \$MYCPU numactl --membind=\$MYMEM sh run.sh %endif %endif %if %{numcores} == 64 submit = let "MYCPU=2*\$SPECCOPYNUM"; if [[ \$MYCPU -gt 127 ]]; then let "MYCPU-=127" ; fi; MYMEM=`printf '%d' \$((\$MYCPU/16))` ; echo "$command" > run.sh ; taskset -c \$MYCPU numactl --membind=\$MYMEM sh run.sh %endif %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.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} sw_auto_parallel = No int=default=default=default: sw_other000 = -Post-Link Optimization for Linux on sw_other001 = POWER, Version 5.4.0-17 %if %{rhel} sw_other002 = -MicroQuill SmartHeap 8.1 %endif %if %{sles} sw_other002 = -MicroQuill SmartHeap 7.3 %endif notes_700 = IBM Post-Link Optimization tool with notes_701 = options "-O4 -omullX" used for notes_702 = 400.perlbench 401.bzip2 403.gcc 456.hmmer 458.sjeng notes_703 = 483.xalancbmk notes_704 = options "-bf -dp -hr -las -pca -RC -RD -rmte -si -tlo -A 64 -isf 104 -lu 8 -rt 0.16 notes_705 = -hrf 0.18 -ihf 40 -sdp 6 -sdpms 128 -shci 65 -si -sidf 45 -omullX" used for notes_706 = 429.mcf notes_707 = options "-q -O3 -A 32 -omullX" used for notes_708 = 445.gobmk notes_709 = options "-bf -dp -lro -nop -RC -RD -tb -tlo -vro -A 4 notes_710 = -isf 88 -lu 8 -hrf 0.10 -sdp 4 -lun 27 -omullX" used for notes_711 = 462.libquantum notes_712 = options "-O4 -omullX -see 1" used for notes_713 = 473.astar notes_714 = options "-O4" used for notes_715 = 464.h264ref notes_716 = Whenever option "-omullX" was used during the optimization phase, notes_717 = option "-imullX" was also used during the instrumentation phase. notes_718 = notes_719 = notes_720 = Benchmarks bound to a processor using numactl on the submit command. fp=default=default=default: sw_other000 = -Post-Link Optimization for Linux on sw_other001 = POWER, Version 5.4.0-21 %if %{rhel} sw_other005 = -MicroQuill SmartHeap 8.1 %endif %if %{sles} sw_other002 = -MicroQuill SmartHeap 8.1 %endif 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 # Check for BASEARCH overrides # Default BASEARCH is P6a %define BASEARCH %{P6a} %if %{mybasearchp4} %define BASEARCH %{P4} %endif %if %{mybasearchp5} %define BASEARCH %{P5} %endif %if %{mybasearchp5plus} %define BASEARCH %{P5plus} %endif %if %{mybasearchp6} %define BASEARCH %{P6a} %endif %if %{mybasearchp6e} %define BASEARCH %{P6} %endif # Default mode is -O5 with p6a %define BASEOPT -O5 %{BASEARCH} %{DEBUG} #Check for BASEOPT overrides %if %{mybaseopt} == 3 %define BASEOPT -O3 %{BASEARCH} %{DEBUG} %endif %if %{mybaseopt} == 4 %define BASEOPT -O4 %{BASEARCH} %{DEBUG} %endif %if %{mybaseopt} == 5 %define BASEOPT -O5 %{BASEARCH} %{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 %{BASEARCH} %{DEBUG} %define O3 -O3 %{BASEARCH} %{DEBUG} %define O4 -O4 %{BASEARCH} %{DEBUG} %define O5 -O5 %{BASEARCH} %{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 %define 64 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 %undef 64 429.mcf=peak=default=default: # C only Benchmark %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 # We want just 1 copy per core, not SMT, when we have L3cache %define 64 %if %{yesL3} %if %{numcores} == 2 copies = 2 %endif %if %{numcores} == 4 copies = 4 %endif %if %{numcores} == 8 copies = 8 %endif %if %{numcores} == 16 copies = 16 %endif %if %{numcores} == 32 copies = 32 %endif %if %{numcores} == 64 copies = 64 %endif %endif %if %{yesL3} %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 %endif %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 = %{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 %define 64 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 %undef 64 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 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 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 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} ${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} == 2 copies = 2 %endif %if %{numcores} == 4 copies = 4 %endif %if %{numcores} == 8 copies = 8 %endif %if %{numcores} == 16 copies = 16 %endif %if %{numcores} == 32 copies = 32 %endif %if %{numcores} == 64 copies = 64 %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 EXTRA_LIBS = -Wl,--whole-archive /usr/lib/libsmartheap.a -Wl,--no-whole-archive %ifdef %{64} CXXOPTIMIZE = -q64 %endif 450.soplex=peak=default=default: # C++ Benchmark 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 %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 -lxlf90_r 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 %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 notes_submit_000 = Benchmarks bound to a processor using numactl on the submit command.