# Invocation command line: # /export/home/cpu2006/shared/bin/runspec -c feb15b --define OUTDISK=/spec2/jhenning/out -r --reportable int # output_root used was "/spec2/jhenning/out" ############################################################################ ext = feb15b flagsurl000 = http://www.spec.org/cpu2006/flags/Sun-Solaris-Studio12-and-gccfss4.2.20090714.xml tune = base,peak action = validate output_format = asc,cfgfile mailto = #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 ############### Disk usage ############## # The output_root feature # www.spec.org/cpu2006/docs/runspec.html#output_root # nicely segregates your output directories from the original tree; # but if you don't like that feature, just comment out this whole # section. # # Recommended usage is: # # cd $SPEC # . ./shrc # cd /myoutputdirs # GO=`pwd` # runspec --define OUTDISK=$GO # %if '%{OUTDISK}' eq '' % error please say --define OUTDISK=/whatever %endif output_root=%{OUTDISK} ####################### 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 # command_add_redirect = 1 # useful with submit submit = echo '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 # #429.mcf=peak: # copies=48 # %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 ###################### 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 default: include SUT.inc 429.mcf # The following setting was inserted automatically as a result of # post-run basepeak application. basepeak = 1 # 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: license_num = 19 tester = Sun Microsystems hw_avail = May-2008 sw_avail = Feb-2008 hw_vendor = Fujitsu Limited hw_model = Fujitsu SPARC Enterprise T5240 hw_nthreadspercore = 8 hw_ncoresperchip = 8 hw_ncores = 16 hw_nchips = 2 hw_cpu_name = UltraSPARC T2 Plus hw_cpu_mhz = 1415 hw_fpu = Integrated hw_ncpuorder = 2 chips 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_memory = 128 GB (32 x 4 GB) hw_other = None sw_os = Solaris 10 8/07 + patch 127111-08 sw_auto_parallel = No sw_file = ufs sw_state = Default sw_base_ptrsize = 32-bit sw_peak_ptrsize = 32-bit sw_other = None test_sponsor = Fujitsu Limited hw_disk000 = 737 GB RAID 5 using Sun StoreEdge hw_disk001 = 6120 with 12x 73 GB 10K RPM disks hw_disk002 = (Seagate ST373307 hw_disk003 = 2 Gbps Fibre Channel) sw_compiler000 = Sun Studio 12 and gccfss V4.2.0 sw_compiler001 = (see additional detail below) 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_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 144 GB of swap space. notes_os_shell_000 = notes_os_shell_005 =These shell commands request use of local 4MB pages: notes_os_shell_010 = export LD_PRELOAD=madv.so.1:mpss.so.1 notes_os_shell_015 = export MPSSHEAP=4MB notes_os_shell_020 = export MPSSSTACK=4MB notes_os_shell_025 = export MADV=access_lwp notes_os_shell_030 ='access_lwp' means that the next light weight notes_os_shell_035 =process to touch the specified address range notes_os_shell_040 =will access it the most heavily. notes_os_shell_045 = notes_os_shell_050 =ulimit -s 131072 was used to allow the stack to grow notes_os_shell_055 =up to 131072 KB (aka 128 MB). Note that saying "131072" notes_os_shell_060 =is preferable to "unlimited", because there is a tradeoff notes_os_shell_065 =between space for the stack vs. space for the heap. notes_os_shell_070 = notes_os_shell_075 =The open file limit was set to 1300 with ulimit -n notes_os_bind_000 =Processes were bound to cores using "submit" and "pbind". notes_os_bind_005 =A processor set was created using notes_os_bind_010 = psrset -c 1-127 notes_os_bind_015 =and the runspec process was placed into the set using notes_os_bind_020 = psrset -e 1 notes_comp_000 =Sun Studio compiler patches are available at notes_comp_005 =http://developers.sun.com/sunstudio/downloads/patches/ss12_patches.jsp notes_comp_010 =The tested configuration included patch 124867-02, 124861-04, notes_comp_015 =124863-01, 127000-01 notes_comp_020 =Peak also uses "GCC for SPARC Systems", which combines gcc notes_comp_025 =with the Sun Code Generator for SPARC systems. It is invoked notes_comp_030 =as "gcc", and accepts source code compatible with GCC 4.2. notes_comp_035 =For more information, including support, see notes_comp_040 = http://cooltools.sunsource.net/gcc/