# Invocation command line:
# /spec/cpu2000/bin/runspec -r -u 4 -c sf2+ws.rate.001.cfg -n 3 -T all -i ref fp
############################################################################
############################################################################
################################################################################################
#
#	Sample config-file for IBM AIX/PowerPC benchmarking with the SPEC cpu2000 V1.3 suite.
#
################################################################################################

#
# Global options for runspec
#
runlist			= all
action			= validate
iterations		= 3
output_format	= asc,config
ignore_errors	= 0
reportable		= 1
mean_anyway		= 1
size			= ref
tune			= base,peak
ext				= sf2+ws.rate.050902a
env_vars		= 1
deletework		= 0

#	For rate-runs, invoke with "-r -u $USERS".

#
#	The following commands cause the process thread to bind to a correseponding
#	CPU. This improves performance by removing the overhead of threads "drifting"
#	between CPU's.
#
#	The form below causes threads to bind to even-numbered CPU's if there are
#	half as many threads as CPU's. Otherwise the remaining threads bind to the
#	odd-numbered CPU's. This is to ensure 1 thread per core if SMT is anabled.
#	In this example there are 8 CPU's labeled [0..3].
#
submit = let "MYCPU=2*\$SPECUSERNUM"; if (("\$MYCPU > 3")) then let "MYCPU-=3"; fi; bindprocessor \$\$ \$MYCPU; $command
use_submit_for_speed = 1


#===============================================================================
# How the compilers are called
#===============================================================================
# To remove all the warning messages that are put out, you can append the following
#   compile time message suppression flag to the compiler invocation lines:
#
#	        -w -qinfo=noinl -qsuppress=1500-036
#
#   To suppress the Fortran function compilation messages, add to the FC/F77/FXLF
#	lines:
#	       -qsuppress=cmpmsg
#
#
#	To speed builds with ipa, use "-qipa=noobject" to suppress code separation
#	until the final IPA link step.
#	To speed builds with ipa, use "-qipa=threads:n" to direct ipa to use n threads.
#===============================================================================
#
#	Paths to compilers. Leave unassigned to get the default paths.
# C_COMPILER = /c/80_050902a/vacpp
# F_COMPILER = /c/101_050902a/xlf

int=default=default=default:
CC    = ${C_COMPILER}/usr/vac/bin/cc
CCXLC = ${C_COMPILER}/usr/vac/bin/xlc
CXX   = ${C_COMPILER}/usr/vacpp/bin/xlC


fp=default=default=default:
CC    = ${C_COMPILER}/usr/vac/bin/xlc
FC    = ${F_COMPILER}/usr/bin/xlf90
F77   = ${F_COMPILER}/usr/bin/xlf90
FXLF  = ${F_COMPILER}/usr/bin/xlf


#
#	The next line set up parallel make, the value of j is the number of threads.
#
#makeflags = -j8
#
#	galgel & facerec do not have dependency rules to allow parallel make's. The
#	easiest way to handle them is to add "makeflags = -j1" to their portability
#	flags section.
#



#
#	SPECint2000 portability flags. These are required to make the programs
#	work with the given compilers and are not optimizations.
#
164.gzip=default=default=default:

175.vpr=default=default=default:

176.gcc=default=default=default:
EXTRA_CFLAGS=-ma -DHOST_WORDS_BIG_ENDIAN

181.mcf=default=default=default:

186.crafty=default=default=default:
EXTRA_CFLAGS=-DAIX

197.parser=default=default=default:

252.eon=default=default=default:
# Remove this for the final kit.
srcalt=fmax_errno

253.perlbmk=default=default=default:
EXTRA_CFLAGS=-DSPEC_CPU2000_AIX

254.gap=default=default=default:
EXTRA_CFLAGS=-DSYS_IS_BSD -DSYS_STRING_H -DSYS_HAS_MALLOC_PROTO -DSYS_HAS_CALLOC_PROTO

255.vortex=default=default=default:

256.bzip2=default=default=default:

300.twolf=default=default=default:
EXTRA_CFLAGS=-DHAVE_SIGNED_CHAR




#
#	SPECint2000 base-level optimizations. These confirm to a 4-flag
#	count. Note that the flags vary between languages (C & C++ in
#	this case).
#
int=base=default=default:
fdo_pre0         = ${C_COMPILER}/usr/vac/bin/cleanpdf
PASS1_CFLAGS     = -qpdf1 -O5 -blpdata -D_ILS_MACROS
PASS1_LDCFLAGS   = -qpdf1 -O5 -blpdata -D_ILS_MACROS
PASS2_CFLAGS     = -qpdf2 -O5 -blpdata -D_ILS_MACROS
PASS2_LDCFLAGS   = -qpdf2 -O5 -blpdata -D_ILS_MACROS


#
#	Combination used with "eon" (i.e. C++ base).
#
252.eon=base=default=default:
fdo_pre0         = ${C_COMPILER}/usr/vacpp/bin/cleanpdf
PASS1_CXXFLAGS   = -qpdf1 -O5 -lhmu -qalign=natural
PASS1_LDCXXFLAGS = -qpdf1 -O5 -lhmu -qalign=natural
PASS2_CXXFLAGS   = -qpdf2 -O5 -lhmu -qalign=natural
PASS2_LDCXXFLAGS = -qpdf2 -O5 -lhmu -qalign=natural


#
#
#	SPECint2000 peak-level optimization flags.
#
164.gzip=peak=default=default:
fdo_pre0         = ${C_COMPILER}/usr/vac/bin/cleanpdf
PASS1_CFLAGS     = -qpdf1 -O5 -qalign=natural -lhmu -blpdata -qfdpr -Q
PASS1_LDCFLAGS   = -qpdf1 -O5 -qalign=natural -lhmu -blpdata -qfdpr -Q
PASS2_CFLAGS     = -qpdf2 -O5 -qalign=natural -lhmu -blpdata -qfdpr -Q
PASS2_LDCFLAGS   = -qpdf2 -O5 -qalign=natural -lhmu -blpdata -qfdpr -Q
fdo_run2         = fdpr -q -O3 -p $commandexe -x $command
fdo_post2        = cp ${baseexe}.fdpr $baseexe


175.vpr=peak=default=default:
fdo_pre0         = ${C_COMPILER}/usr/vacpp/bin/cleanpdf
PASS1_CFLAGS     = -qpdf1 -O5 -lhmu -blpdata -D_ILS_MACROS
PASS1_LDCFLAGS   = -qpdf1 -O5 -lhmu -blpdata -D_ILS_MACROS
PASS2_CFLAGS     = -qpdf2 -O5 -lhmu -blpdata -D_ILS_MACROS
PASS2_LDCFLAGS   = -qpdf2 -O5 -lhmu -blpdata -D_ILS_MACROS



176.gcc=peak=default=default:
fdo_pre0         = ${C_COMPILER}/usr/vac/bin/cleanpdf
PASS1_CFLAGS     = -qpdf1 -O5 -blpdata -qalign=natural -D_ILS_MACROS
PASS1_LDCFLAGS   = -qpdf1 -O5 -blpdata -qalign=natural -D_ILS_MACROS
PASS2_CFLAGS     = -qpdf2 -O5 -blpdata -qalign=natural -D_ILS_MACROS
PASS2_LDCFLAGS   = -qpdf2 -O5 -blpdata -qalign=natural -D_ILS_MACROS



181.mcf=peak=default=default:
COPTIMIZE        = -O5 -blpdata -qfdpr
fdo_run1         = fdpr -q -O3 -p $commandexe -x $command
fdo_post1        = cp ${baseexe}.fdpr $baseexe



186.crafty=peak=default=default:
basepeak=1



197.parser=peak=default=default:
fdo_pre0         = ${C_COMPILER}/usr/vac/bin/cleanpdf
PASS1_CFLAGS     = -qpdf1 -O5 -blpdata -D_ILS_MACROS
PASS1_LDCFLAGS   = -qpdf1 -O5 -blpdata -D_ILS_MACROS
PASS2_CFLAGS     = -qpdf2 -O5 -blpdata -D_ILS_MACROS
PASS2_LDCFLAGS   = -qpdf2 -O5 -blpdata -D_ILS_MACROS



252.eon=peak=default=default:
fdo_pre0         = ${C_COMPILER}/usr/vacpp/bin/cleanpdf
PASS1_CXXFLAGS   = -qpdf1 -O4 -qarch=pwr4 -qtune=pwr4 -qalign=natural -D_ILS_MACROS
PASS1_LDCXXFLAGS = -qpdf1 -O4 -qarch=pwr4 -qtune=pwr4 -qalign=natural -D_ILS_MACROS
PASS2_CXXFLAGS   = -qpdf2 -O4 -qarch=pwr4 -qtune=pwr4 -qalign=natural -D_ILS_MACROS
PASS2_LDCXXFLAGS = -qpdf2 -O4 -qarch=pwr4 -qtune=pwr4 -qalign=natural -D_ILS_MACROS



253.perlbmk=peak=default=default:
fdo_pre0         = ${C_COMPILER}/usr/vac/bin/cleanpdf
PASS1_CFLAGS     = -qpdf1 -O5 -lhmu -qalign=natural -blpdata -D_ILS_MACROS
PASS1_LDCFLAGS   = -qpdf1 -O5 -lhmu -qalign=natural -blpdata -D_ILS_MACROS
PASS2_CFLAGS     = -qpdf2 -O5 -lhmu -qalign=natural -blpdata -D_ILS_MACROS
PASS2_LDCFLAGS   = -qpdf2 -O5 -lhmu -qalign=natural -blpdata -D_ILS_MACROS



254.gap=peak=default=default:
basepeak=1



255.vortex=peak=default=default:
fdo_pre0         = ${C_COMPILER}/usr/vacpp/bin/cleanpdf
PASS1_CFLAGS     = -qpdf1 -O5 -lhmu -blpdata
PASS1_LDCFLAGS   = -qpdf1 -O5 -lhmu -blpdata
PASS2_CFLAGS     = -qpdf2 -O5 -lhmu -blpdata
PASS2_LDCFLAGS   = -qpdf2 -O5 -lhmu -blpdata



256.bzip2=peak=default=default:
COPTIMIZE        = -O5 -blpdata -qfdpr -D_ILS_MACROS
fdo_run1         = fdpr -q -O3 -p $commandexe -x $command
fdo_post1        = cp ${baseexe}.fdpr $baseexe



300.twolf=peak=default=default:
basepeak=1



#
#	Notes for the Integer benchmarks.
#
int=default=default=default:
notes000=  Portability Flags:
notes005=    176.gcc:      -ma -DHOST_WORDS_BIG_ENDIAN
notes010=    186.crafty:   -DAIX
notes025=    253.perlbmk:  -DSPEC_CPU2000_AIX
notes030=    254.gap:      -DSYS_IS_BSD -DSYS_STRING_H
notes035=                  -DSYS_HAS_MALLOC_PROTO -DSYS_HAS_CALLOC_PROTO
notes040=    300.twolf:    -DHAVE_SIGNED_CHAR
notes045= 
notes050=  Base Optimization Flags:
notes055=    C:    -qpdf1/pdf2
notes060=          -O5 -blpdata -D_ILS_MACROS
notes065=    C++:  -qpdf1/pdf2
notes070=          -O5 -lhmu -qalign=natural
notes075= 
notes080=  Peak Optimization Flags
notes085=    164.gzip:     -qpdf1/pdf2
notes090=                  -O5 -qalign=natural -lhmu -blpdata -qfdpr -Q
notes095=                  fdpr -q -O3
notes100=    175.vpr:      -qpdf1/pdf2
notes105=                  -O5 -lhmu -blpdata -D_ILS_MACROS
notes110=    176.gcc:      -qpdf1/pdf2
notes115=                  -O5 -blpdata -qalign=natural -D_ILS_MACROS
notes120=    181.mcf:      -O5 -blpdata -qfdpr
notes125=                  fdpr -q -O3
notes130=    186.crafty:   basepeak=1
notes145=    197.parser:   -qpdf1/pdf2
notes150=                  -O5 -blpdata -D_ILS_MACROS
notes155=    252.eon:      -qpdf1/pdf2
notes160=                  -O4 -qarch=pwr4 -qtune=pwr4 -qalign=natural -D_ILS_MACROS
notes165=    253.perlbmk:  -qpdf1/pdf2
notes170=                  -O5 -lhmu -qalign=natural -blpdata -D_ILS_MACROS
notes175=    254.gap:      basepeak=1
notes185=    255.vortex:   -qpdf1/pdf2
notes190=                  -O5 -lhmu -blpdata
notes195=    256.bzip2:    -O5 -blpdata -qfdpr -D_ILS_MACROS
notes200=                  fdpr -q -O3
notes205=    300.twolf:    basepeak=1
notes215= 
notes220= 
notes225=  Approved alternate-source file 252.eon.fmax_errno.src.alt.tar.gz
notes230=  was used with 252.eon for POSIX-compatibility.
notes235= 


#
#
#	SPECfp2000 portability flags. These are required to make the programs
#	work with the given compilers and are not optimizations.
#
#	First, the F90 benchmarks:
#
178.galgel=default=default=default:
EXTRA_FFLAGS=-qfixed -qsuffix=f=f90

187.facerec=default=default=default:
EXTRA_FFLAGS=-qsuffix=f=f90

189.lucas=default=default=default:
EXTRA_FFLAGS=-qsuffix=f=f90

191.fma3d=default=default=default:
EXTRA_FFLAGS= -qsuffix=f=f90


#
#	The F77 benchmarks compile with FC for "base" and F77 for "peak", so
#	we need to assign the portability-flags differently between them.
#
168.wupwise=base=default=default:
EXTRA_FFLAGS   = -qfixed

168.wupwise=peak=default=default:
EXTRA_F77FLAGS = -qfixed

171.swim=base=default=default:
EXTRA_FFLAGS   = -qfixed

171.swim=peak=default=default:
EXTRA_F77FLAGS = -qfixed

172.mgrid=base=default=default:
EXTRA_FFLAGS   = -qfixed

172.mgrid=peak=default=default:
EXTRA_F77FLAGS = -qfixed

173.applu=base=default=default:
EXTRA_FFLAGS   = -qfixed

173.applu=peak=default=default:
EXTRA_F77FLAGS = -qfixed

200.sixtrack=base=default=default:
EXTRA_FFLAGS   = -qfixed

200.sixtrack=peak=default=default:
EXTRA_F77FLAGS = -qfixed

301.apsi=base=default=default:
EXTRA_FFLAGS   = -qfixed

301.apsi=peak=default=default:
EXTRA_F77FLAGS = -qfixed


#
#
#	SPECfp2000 base-level optimizations. These confirm to a 4-flag
#	count. Note that the flags vary between languages (C & Fortran
#	in this case). We also use feedback for C and not Fortran.
#
fp=base=default=default:
FOPTIMIZE         = -O5 -lhmu -blpdata -lmass
fdo_pre0        = ${C_COMPILER}/usr/vac/bin/cleanpdf
PASS1_CFLAGS    = -qpdf1 -O5 -blpdata -qalign=natural
PASS1_LDCFLAGS  = -qpdf1 -O5 -blpdata -qalign=natural
PASS2_CFLAGS    = -qpdf2 -O5 -blpdata -qalign=natural
PASS2_LDCFLAGS  = -qpdf2 -O5 -blpdata -qalign=natural
feedback        = 0


177.mesa=base=default=default:
feedback        = 1
   
179.art=base=default=default:
feedback        = 1
    
183.equake=base=default=default:
feedback        = 1
	 
188.ammp=base=default=default:
feedback        = 1



#
168.wupwise=peak=default=default:
PASS1_F77FLAGS    = -qpdf1 -O5 -blpdata -qfdpr -qalign=struct=natural
PASS1_LDF77FLAGS  = -qpdf1 -O5 -blpdata -qfdpr -qalign=struct=natural
PASS2_F77FLAGS    = -qpdf2 -O5 -blpdata -qfdpr -qalign=struct=natural
PASS2_LDF77FLAGS  = -qpdf2 -O5 -blpdata -qfdpr -qalign=struct=natural
fdo_run2          = fdpr -q -O3 -p $commandexe -x $command
fdo_post2         = cp ${baseexe}.fdpr $baseexe


171.swim=peak=default=default:
basepeak=1


172.mgrid=peak=default=default:
basepeak=1


173.applu=peak=default=default:
F77OPTIMIZE       = -O5 -blpdata -lmass


177.mesa=peak=default=default:
fdo_pre0        = ${C_COMPILER}/usr/vac/bin/cleanpdf
PASS1_CFLAGS    = -qpdf1 -O5 -blpdata -qalign=natural -Dfloor=__floor
PASS1_LDCFLAGS  = -qpdf1 -O5 -blpdata -qalign=natural -Dfloor=__floor
PASS2_CFLAGS    = -qpdf2 -O5 -blpdata -qalign=natural -Dfloor=__floor
PASS2_LDCFLAGS  = -qpdf2 -O5 -blpdata -qalign=natural -Dfloor=__floor


178.galgel=peak=default=default:
FOPTIMIZE         = -O5 -blpdata -qessl -lessl


179.art=peak=default=default:
fdo_pre0          = ${C_COMPILER}/usr/vac/bin/cleanpdf
PASS1_CFLAGS      = -qpdf1 -O5 -blpdata -qhot=arraypad -Q -qalign=natural
PASS1_LDCFLAGS    = -qpdf1 -O5 -blpdata -qhot=arraypad -Q -qalign=natural
PASS2_CFLAGS      = -qpdf2 -O5 -blpdata -qhot=arraypad -Q -qalign=natural
PASS2_LDCFLAGS    = -qpdf2 -O5 -blpdata -qhot=arraypad -Q -qalign=natural


183.equake=peak=default=default:
basepeak=1


187.facerec=peak=default=default:
basepeak=1


188.ammp=peak=default=default:
basepeak=1


189.lucas=peak=default=default:
basepeak=1


191.fma3d=peak=default=default:
PASS1_FFLAGS      = -qpdf1 -O5 -blpdata -qfdpr -qalign=struct=natural
PASS1_LDFFLAGS    = -qpdf1 -O5 -blpdata -qfdpr -qalign=struct=natural
PASS2_FFLAGS      = -qpdf2 -O5 -blpdata -qfdpr -qalign=struct=natural
PASS2_LDFFLAGS    = -qpdf2 -O5 -blpdata -qfdpr -qalign=struct=natural
fdo_run2          = fdpr -q -O3 -p $commandexe -x $command
fdo_post2         = cp ${baseexe}.fdpr $baseexe


200.sixtrack=peak=default=default:
PASS1_F77FLAGS    = -qpdf1 -O5 -blpdata -qfdpr -qalign=struct=natural
PASS1_LDF77FLAGS  = -qpdf1 -O5 -blpdata -qfdpr -qalign=struct=natural
PASS2_F77FLAGS    = -qpdf2 -O5 -blpdata -qfdpr -qalign=struct=natural
PASS2_LDF77FLAGS  = -qpdf2 -O5 -blpdata -qfdpr -qalign=struct=natural
fdo_run2          = fdpr -q -O3 -p $commandexe -x $command
fdo_post2         = cp ${baseexe}.fdpr $baseexe


301.apsi=peak=default=default:
# F77=$(FXLF)
F77OPTIMIZE       = -O5 -lmass -qessl -lessl -blpdata -qsave






#
#	Notes for the Floating-Point benchmarks.
#
fp=default=default=default:
notes000=  Portability Flags:
notes005=       -qfixed used in:        168.wupwise, 171.swim, 172.mgrid, 173.applu,
notes010=                               178.galgel, 200.sixtrack, 301.apsi
notes015=       -qsuffix=f=f90 used in: 178.galgel, 187.facerec, 189.lucas, 191.fma3d
notes020= 
notes025=  Base Optimization Flags:
notes030=    Fortran:    -O5 -lhmu -blpdata -lmass
notes035=    C:          -qpdf1/pdf2
notes040=                -O5 -blpdata -qalign=natural
notes045= 
notes050=  Peak Optimization Flags
notes055=    168.wupwise:  -qpdf1/pdf2
notes057=                  -O5 -blpdata -qfdpr -qalign=struct=natural
notes060=                  fdpr -q -O3
notes065=    171.swim:     basepeak=1
notes080=    172.mgrid:    basepeak=1
notes095=    173.applu:    -O5 -qarch=pwr5x -qtune=pwr3 -blpdata -lmass
notes100=    177.mesa:     -qpdf1/pdf2
notes105=                  -O5 -blpdata -qalign=natural -Dfloor=__floor
notes110=    178.galgel:   -O5 -blpdata -qessl -lessl
notes115=    179.art:      -qpdf1/pdf2
notes120=                  -O5 -blpdata -qhot=arraypad -Q -qalign=natural
notes125=    183.equake:   basepeak=1
notes130=    187.facerec:  basepeak=1
notes135=    188.ammp:     basepeak=1
notes145=    189.lucas:    basepeak=1
notes150=    191.fma3d:    -qpdf1/pdf2
notes155=                  -O5 -blpdata -qfdpr -qalign=struct=natural
notes160=                  fdpr -q -O3
notes180=    200.sixtrack: -qpdf1/pdf2
notes185=                  -O5 -blpdata -qfdpr -qalign=struct=natural
notes190=                  fdpr -q -O3
notes195=    301.apsi:     -O5 -lmass -qessl -lessl -blpdata -qsave
notes205= 


#
#
#	Global options for reports
#
default=default=default=default:

company_name	=IBM Corporation
license_num		=#11
tester_name		=IBM
test_site		=Austin, TX
test_date		=Sep-2005



#
#	Information you need to fill in for each platform.
#
hw_avail	=Oct-2005
hw_vendor	=IBM Corporation
hw_model	=IBM OpenPower 521 (1900 MHz, 2 CPU)
hw_cpu		=POWER5
hw_cpu_mhz	=1900
hw_fpu		=Integrated
hw_ncpu		=2 cores, 1 chips, 2 cores/chip (SMT on)
hw_ncpuorder=2
hw_pcache	=64KBI+32KBD (on chip)/core
hw_scache	=1920KB unified (on chip)/chip
hw_tcache	=36MB unified (off-chip)/DCM, 1 DCM/SUT
hw_ocache	=None
hw_memory	=8x2GB
hw_disk		=1x73GB SCSI, 15K RPM
hw_other	=None
machine_name	= cedar
hw_parallel	= None

sw_avail	=Oct-2004
sw_parallel	=no
sw_os		=AIX 5L V5.3 m1_01
sw_compiler0	=XL C/C++ Enterprise Edition Version 7.0 for AIX
sw_compiler1	=XL Fortran Enterprise Edition V9.1 for AIX
sw_compiler2	=Other Software: ESSL 4.2
sw_file		=AIX/JFS2
sw_state	=Multi-user



#
#	Closing notes on the sytem configuration.
#
notes320= 
notes330=  APAR IY62267 was applied to AIX 5L V5.3 to achieve Mantainence Level 1.
notes335= 
notes340=  SMT:  Acronym for "Simultaneous Multi-Threading". A processor technology that allows
notes345=        the simultaneous execution of multiple thread contexts within a single processor
notes350=        core. (Enabled by default)
notes355=  DCM:  Acronym for "Dual-Chip Module" (one dual-core processor chip + one L3-cache chip)
notes365=  SUT:  Acronym for "System Under Test"
notes370=  ESSL: Engineering and Scientific Subroutine Library
notes375= 
notes380=  Extended C:     IBM XL C for AIX invoked as cc
notes381=  ANSI C89:       IBM XL C for AIX invoked as xlc
notes385=  C++:            IBM XL C for AIX invoked as xlC
notes390=  Fortran 77:     IBM XL Fortran for AIX invoked as xlf90 unless explicitly reassigned
notes395=  Fortran 90:     IBM XL Fortran for AIX invoked as xlf
notes300= 
notes305=  ulimits set to unlimited.
notes310=  Large page mode and memory affinity were set as follows:
int=default=default=default:
notes315=      vmo -r -o lgpg_regions=400 -o lgpg_size=16777216 -o
fp=default=default=default:
notes315=      vmo -r -o lgpg_regions=400 -o lgpg_size=16777216 -o
default=default=default=default:
notes320=      chuser capabilities=CAP_BYPASS_RAC_VMM,CAP_PROPAGATE $USER
notes325=      reboot -q
notes330=      export MEMORY_AFFINITY=MCM
notes335= 
notes340=  The following config-file entry was used to assign each benchmark process to a core:
notes345=       submit = let "MYCPU=2*\$SPECUSERNUM"; if (("\$MYCPU > 3")) then let "MYCPU-=3"; fi; bindprocessor \$\$ \$MYCPU; $command
notes350=  The "bindprocessor" AIX command binds a process to a CPU core.
notes355=