# Invocation command line: # /spec/cpu2006/bin/runspec --nobuild -c feb06a --reportable --rate fp # output_root was not used for this run ############################################################################ # Hey! Change this line so you can tell one binary set from another ext = feb06a flagsurl000 = http://www.spec.org/cpu2006/flags/Sun-Solaris-Studio12-12u1-and-gccfss4.2.r3.xml tune = base,peak action = validate output_format = asc,cfgfile,mail #mailto = john.henning@sun.com #mail_reports = text,raw iterations = 1 # will be over-ridden for reportable runs ignore_errors = 1 # ditto mean_anyway = 1 # ditto log_line_width = 4090 # to avoid choking vi #teeout = yes # enable to get more output to the screen verbose = 6 parallel_setup = 8 parallel_setup_type = submit ####################### Processor usage ####################### # Note that the first instance of a "named section" occurs with # the copies line a little below. Therefore, any variables that # belong in the header section should be above this point. makeflags = -j32 # how many jobs specmake should start (set as you like) XJOBS = 32 # how many CPUs ipo can use (at link time) # The bind statement, below, is derived from the matrix below. Note # that each column has the processors from a core. For example, the # far right column has the virtual processors 0 through 7. # # Cores are ordered from highest to lowest, interleaved by chip. # # Within a column, what is the strange order? Recall that each core has # two integer execution units. The intent is to alternate assigning # the units, and to do so from highest to lowest. Thus the far right # column interleaves virtual processors {7, 6, 5, 4} with {3, 2, 1, 0} # # The intended overall effect of the matrix is to always prefer to load # chip 0 / core 0 / unit 0 / processor 0 last, because that is where # Solaris tends to run, and we have encouraged it to do so with the # use of "psrset" (see notes_os_bind, below). # # chip -> 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 # core -> 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 0 # iu # 1 127 63 119 55 111 47 103 39 95 31 87 23 79 15 71 7 # 0 123 59 115 51 107 43 99 35 91 27 83 19 75 11 67 3 # 1 126 62 118 54 110 46 102 38 94 30 86 22 78 14 70 6 # 0 122 58 114 50 106 42 98 34 90 26 82 18 74 10 66 2 # 1 125 61 117 53 109 45 101 37 93 29 85 21 77 13 69 5 # 0 121 57 113 49 105 41 97 33 89 25 81 17 73 9 65 1 # 1 124 60 116 52 108 44 100 36 92 28 84 20 76 12 68 4 # 0 120 56 112 48 104 40 96 32 88 24 80 16 72 8 64 0 bind = 127 63 119 55 111 47 103 39 95 31 87 23 79 15 71 7 \ 123 59 115 51 107 43 99 35 91 27 83 19 75 11 67 3 \ 126 62 118 54 110 46 102 38 94 30 86 22 78 14 70 6 \ 122 58 114 50 106 42 98 34 90 26 82 18 74 10 66 2 \ 125 61 117 53 109 45 101 37 93 29 85 21 77 13 69 5 \ 121 57 113 49 105 41 97 33 89 25 81 17 73 9 65 1 \ 124 60 116 52 108 44 100 36 92 28 84 20 76 12 68 4 \ 120 56 112 48 104 40 96 32 88 24 80 16 72 8 64 0 # max_active_compares = 16 command_add_redirect = 1 # useful with submit submit = echo '/usr/sbin/pbind -b $BIND \$\$ >> pbind.out; $command' > dobmk; sh dobmk %ifndef %{OverRideCopies} # # To cause the command line to win for both base and peak, say: # # runspec --define OverRideCopies --rate n # # If you _don't_ say that, then the order of precedence is: # # named section (highest), about 6 lines down, peak for several benchmarks # command line # the line marked "header section default" just below # copies = 127 # header section default # 437.leslie3d=peak: copies=96 465.tonto=peak: copies=112 470.lbm=peak: copies = 16 # %endif #################### Compiler invocation #################################### default=default=default=default: # set according to how much verbosity you'd like today %define compiler_showversion 1 %define compiler_verbose 1 %ifdef %{compiler_showversion} CVERBOSE = -V CXXVERBOSE = -verbose=version FCVERBOSE = -V GCCVERBOSE = -v %endif %ifdef %{compiler_verbose} CVERBOSE = -V -\# CXXVERBOSE = -verbose=diags,version FCVERBOSE = -V -v GCCVERBOSE = -v %endif # Define STUDIO if Sun Studio is not not already in your path; # you must end the definition with a slash. # STUDIO=/mypath/ CC = $(STUDIO)cc -xjobs=$(XJOBS) $(CVERBOSE) -g CXX = $(STUDIO)CC -xjobs=$(XJOBS) $(CXXVERBOSE) -g0 -library=stlport4 FC = $(STUDIO)f90 -xjobs=$(XJOBS) $(FCVERBOSE) -g # Define GCCFSS if gcc and g++ are not already in your path; # you must end the definition with a slash. # GCCFSS=/mypath/ GCC = $(GCCFSS)gcc $(GCCVERBOSE) GXX = $(GCCFSS)g++ $(GCCVERBOSE) #################### Base Portability Flags: Sun Studio ############### 400.perlbench=default: CPORTABILITY = -DSPEC_CPU_SOLARIS_SPARC 403.gcc=base: CPORTABILITY = -DSPEC_CPU_SOLARIS 462.libquantum=base: PORTABILITY = -DSPEC_CPU_SOLARIS 483.xalancbmk=default: PORTABILITY = -DSPEC_CPU_SOLARIS #################### Peak Portability Flags ################### # Same as base, except: # - gccfss doesn't need anything for 403.gcc # - 462.libquantum gccfss needs an additional flag #not for gccfss 403.gcc=peak: #not for gccfss CPORTABILITY = -DSPEC_CPU_SOLARIS 462.libquantum=peak: PORTABILITY = -DSPEC_CPU_SOLARIS -DSPEC_CPU_NEED_COMPLEX_I #################### Baseline Int Flags ######################### int=base: feedback = 0 OPTIMIZE = -fast -xipo=2 -xpagesize=4M -xprefetch=no%auto EXTRA_LDFLAGS = -M /usr/lib/ld/map.bssalign COPTIMIZE = -xalias_level=std CXXOPTIMIZE = -xdepend -xalias_level=compatible #################### Peak Int Flags ############################ # Default peak: # By convention: use "OPTIMIZE", "COPTIMIZE", "CXXOPTIMIZE" for default peak # If you need to remove something from these, then redefine it on the benchmark. # To add something: use "EXTRA_OPTIMIZE", "EXTRA_LIBS" int=peak: OPTIMIZE = -fast -xpagesize=4M -xprefetch=no%auto EXTRA_LDFLAGS = -M /usr/lib/ld/map.bssalign CXXOPTIMIZE = -xdepend -xalias_level=compatible #### Benchmark-specific peak: 400.perlbench=peak: EXTRA_OPTIMIZE = -xalias_level=std -xipo=2 -Xc -xrestrict EXTRA_LIBS = -lfast 401.bzip2=peak: OPTIMIZE = -fast -xpagesize=4M EXTRA_OPTIMIZE = -xalias_level=strong 403.gcc=peak=default=default: # note that gccfss doesn't need portability flags; if changing # compilers, fix the portability seciton accordingly CC = $(GCC) EXTRA_OPTIMIZE = -xipo=2 -xalias_level=std EXTRA_LDFLAGS = -Wl,-M,/usr/lib/ld/map.bssalign 429.mcf=peak: #OPTIMIZE = -fast -xpagesize=256M -xprefetch=no%auto OPTIMIZE = -fast -xprefetch=no%auto EXTRA_OPTIMIZE = -xipo=2 -xrestrict -xalias_level=std EXTRA_LIBS = -lfast feedback = 0 445.gobmk=peak: EXTRA_OPTIMIZE = -xalias_level=std -xrestrict 456.hmmer=peak=default=default: CC = $(GCC) OPTIMIZE = -fast -xpagesize=4M EXTRA_OPTIMIZE = -xipo=2 -xalias_level=std EXTRA_LDFLAGS = -Wl,-M,/usr/lib/ld/map.bssalign 458.sjeng=peak: EXTRA_OPTIMIZE = -xipo=2 462.libquantum=peak: # note that gccfss portability flags differ from Studio; # if changing compilers, fix the portability seciton accordingly CC = $(GCC) OPTIMIZE = -fast EXTRA_OPTIMIZE = -xipo=2 EXTRA_LDFLAGS = -Wl,-M,/usr/lib/ld/map.bssalign feedback = 0 464.h264ref=peak: EXTRA_OPTIMIZE = -xipo=2 -xalias_level=std EXTRA_LIBS = 471.omnetpp=peak=default=default: CXX = $(GXX) OPTIMIZE = -fast -xpagesize=4M CXXOPTIMIZE = EXTRA_OPTIMIZE = -xipo=2 -xalias_level=std EXTRA_LDFLAGS = -Wl,-M,/usr/lib/ld/map.bssalign 473.astar=peak: OPTIMIZE = -fast -xpagesize_heap=4M -xpagesize_stack=64K -xprefetch=no%auto EXTRA_OPTIMIZE = -xipo=2 -xarch=v8plusb EXTRA_LIBS = -lfast -lbsdmalloc 483.xalancbmk=peak: EXTRA_OPTIMIZE = -xipo=2 EXTRA_LIBS = -lfast feedback = 0 #################### Baseline Fp Flags ######################### fp=base: feedback = 0 OPTIMIZE = -fast -xipo=2 -xpagesize=4M -xprefetch_level=2 EXTRA_LDFLAGS = -M /usr/lib/ld/map.bssalign FOPTIMIZE = COPTIMIZE = -xalias_level=std -xprefetch_level=3 -xprefetch_auto_type=indirect_array_access CXXOPTIMIZE = -xdepend -xalias_level=compatible #################### Peak FP Flags ############################ fp=peak: # By convention: use "OPTIMIZE", "CXXOPTIMIZE" for default peak # Use "EXTRA_OPTIMIZE", "EXTRA_LIBS" for benchmark-specific peak OPTIMIZE = -fast -xpagesize=4M EXTRA_LDFLAGS = -M /usr/lib/ld/map.bssalign CXXOPTIMIZE = -xdepend -xalias_level=compatible 410.bwaves=peak: EXTRA_OPTIMIZE = -xipo=2 -xprefetch_level=2 416.gamess=peak: EXTRA_OPTIMIZE = -xlinkopt=2 433.milc=peak: EXTRA_OPTIMIZE = -xipo=2 -xprefetch_level=2 -xprefetch_auto_type=indirect_array_access -xalias_level=std -fsimple=1 434.zeusmp=peak: EXTRA_OPTIMIZE = -xipo=1 -qoption cg -Qeps:enabled=1,-Qeps:ws=8 EXTRA_LIBS = -lmopt feedback = 0 435.gromacs=peak: EXTRA_OPTIMIZE = -xipo=1 -xinline= -xarch=generic -xchip=generic -fsimple=0 436.cactusADM=peak: EXTRA_OPTIMIZE = -xipo=2 -fsimple=1 -xlinkopt=2 437.leslie3d=peak: OPTIMIZE = -fast -xpagesize_heap=4M -xpagesize_stack=64K EXTRA_OPTIMIZE = -xprefetch_level=3 -xprefetch=latx:1.6 -qoption cg -Qlp=1-fa=0-fl=1-av=448-t=4 feedback = 0 444.namd=peak: EXTRA_OPTIMIZE = -xalias_level=compatible -xprefetch_level=1 -xlinkopt=2 447.dealII=peak: CXX=$(GXX) CXXOPTIMIZE = -xdepend EXTRA_OPTIMIZE = -xipo=2 -xrestrict -xalias_level=std EXTRA_LDFLAGS = -Wl,-M,/usr/lib/ld/map.bssalign 450.soplex=peak: EXTRA_OPTIMIZE = -xipo=2 -xprefetch_level=2 -fsimple=0 -xrestrict -xdepend -xalias_level=compatible -xprefetch_auto_type=indirect_array_access -Qoption cg -Qlp-ol=1-it=3-imb=1 -Qoption iropt -Apf:pdl=3 453.povray=peak: OPTIMIZE = -fast -xpagesize=64K EXTRA_OPTIMIZE = -xipo=2 -xrestrict -xlinkopt=2 EXTRA_LDFLAGS = 454.calculix=peak: EXTRA_OPTIMIZE = -xipo=2 -xvector -xprefetch_level=1 feedback = 0 459.GemsFDTD=peak: EXTRA_OPTIMIZE = -fsimple=1 feedback = 0 465.tonto=peak: EXTRA_OPTIMIZE = -xipo=2 feedback = 0 EXTRA_LIBS = -lfast 470.lbm=peak: #basepeak = 1 EXTRA_OPTIMIZE = -xprefetch_level=3 -xipo=2 -xrestrict 481.wrf=peak: EXTRA_OPTIMIZE = -xlinkopt=2 482.sphinx3=peak: EXTRA_OPTIMIZE = -xinline= -xprefetch_level=2 -Wc,-Qlp-ol=1 -xrestrict -xalias_level=strong -fsimple=1 -xlinkopt=2 EXTRA_LIBS = -lfast ###################### Profile Feedback ################################# # # By default, turns on feedback for everything; turn it off where desired by # using "feedback = 0" # default=default=default=default: fdo_pre0 = rm -rf ./feedback.profile ./SunWS_cache PASS1_CFLAGS = -xprofile=collect:./feedback PASS1_CXXFLAGS = -xprofile=collect:./feedback PASS1_FFLAGS = -xprofile=collect:./feedback PASS1_LDFLAGS = -xprofile=collect:./feedback PASS2_CFLAGS = -xprofile=use:./feedback PASS2_CXXFLAGS = -xprofile=use:./feedback PASS2_FFLAGS = -xprofile=use:./feedback PASS2_LDFLAGS = -xprofile=use:./feedback ########################## Testbed ################################# default: license_num = 19 test_sponsor = Fujitsu hw_vendor = Fujitsu hw_model = Fujitsu SPARC Enterprise T5240 tester = Sun Microsystems hw_avail = Jul-2009 sw_avail = Dec-2008 hw_cpu_name = UltraSPARC T2 Plus hw_cpu_mhz = 1582 hw_disk000 = 748 GB RAID 0 using Solaris Volume Manager hw_disk001 = on 8x 10K RPM SUN146G SAS hw_disk002 = blocksize 384 KB hw_fpu = Integrated hw_memory = 128 GB (32 x 4 GB) hw_nchips = 2 hw_ncores = 16 hw_ncoresperchip = 8 hw_ncpuorder = 2 chips hw_nthreadspercore = 8 hw_pcache = 16 KB I + 8 KB D on chip per core hw_scache = 4 MB I+D on chip per chip hw_tcache = None hw_ocache = None hw_other = None sw_compiler000 = Sun Studio 12 and gccfss V4.2.1 sw_compiler001 = (see additional detail below) sw_file = ufs sw_os = Solaris 10 10/08 sw_state = Default sw_base_ptrsize = 32-bit sw_peak_ptrsize = 32-bit sw_other = None notes_plat_000 = notes_plat_005 = This result was measured on a Sun SPARC Enterprise T5240. notes_plat_010 = The Sun SPARC Enterprise T5240 and the Fujitsu SPARC notes_plat_015 = Enterprise T5240 are electrically equivalent. notes_comp_000 = notes_comp_005 = Sun Studio compiler patches are available at notes_comp_010 = http://developers.sun.com/sunstudio/downloads/patches/ss12_patches.jsp notes_comp_015 = The tested configuration included patch 124867-09, 124861-10, notes_comp_020 = 124863-09, 127000-07 notes_comp_025 = notes_comp_030 = Peak also uses "GCC for SPARC Systems 4.2.1", which notes_comp_035 = combines gcc with the Sun Code Generator for SPARC notes_comp_040 = systems. It is invoked as "gcc", and accepts source notes_comp_045 = code compatible with GCC 4.2. notes_comp_050 = For more information, including support, see notes_comp_055 = http://cooltools.sunsource.net/gcc/ notes_submit_000 = notes_submit_005 = A processor set was created using notes_submit_010 = psrset -c 1-127 notes_submit_015 = and the runspec process was placed into the set using notes_submit_020 = psrset -e 1 notes_submit_025 = The config file option 'submit' was used to select specific notes_submit_030 = processors within the set, along with the pbind command. notes_os_shell_000 = notes_os_shell_005 = ulimit -s 131072 was used to allow the stack to grow notes_os_shell_010 = up to 131072 KB (aka 128 MB). Note that saying "131072" notes_os_shell_015 = is preferable to "unlimited", because there is a tradeoff notes_os_shell_020 = between space for the stack vs. space for the heap. notes_os_shell_025 = notes_os_sys_000 = notes_os_sys_005 = /etc/system parameters notes_os_sys_010 = autoup=600 notes_os_sys_015 = Causes pages older than the listed number of seconds to notes_os_sys_020 = be written by fsflush. notes_os_sys_025 = bufhwm=3000 notes_os_sys_030 = Memory byte limit for caching I/O buffers notes_os_sys_035 = segmap_percent=1 notes_os_sys_040 = Set maximum percent memory for file system cache notes_os_sys_045 = tune_t_fsflushr=10 notes_os_sys_050 = Controls how many seconds elapse between runs of the notes_os_sys_055 = page flush daemon, fsflush. notes_os_sys_060 = tsb_rss_factor=128 notes_os_sys_065 = Suggests that the the size of the TSB (Translation Storage Buffer) notes_os_sys_070 = may be increased if it is more than 25% (128/512) full. Doing so notes_os_sys_075 = may reduce TSB traps, at the cost of additional kernel memory. notes_os_sys_080 = notes_os_sys_085 = The "webconsole" service was turned off using notes_os_sys_090 = svcadm disable webconsole notes_os_sys_095 = notes_os_sys_100 = The system had 206 GB of swap space. notes_os_sys_105 = The ufs fragment size was set to 8192 459.GemsFDTD: # The following setting was inserted automatically as a result of # post-run basepeak application. basepeak = 1 454.calculix: # The following setting was inserted automatically as a result of # post-run basepeak application. basepeak = 1 450.soplex: # The following setting was inserted automatically as a result of # post-run basepeak application. basepeak = 1 433.milc: # The following setting was inserted automatically as a result of # post-run basepeak application. basepeak = 1 410.bwaves: # The following setting was inserted automatically as a result of # post-run basepeak application. basepeak = 1