Does anyone know the "standard" commandline to compile and run spec95 benchmarks ? I found some scripts in llvm test suite (External/SPEC/CINT95), but I am not sure if they are the *default ref* configurations. <Some of them seem to use smaller problem sizes.> SPEC95 was retired many years ago, so few people around me know how to compile and run them. I am building from sourcefile without installation. so I expect commandlines like: <gcc -Dflag1 -Dflag2 -O2 -o spec_go aaa.c bbb.c ... nnn.c -lm> and then <./spec_go param_1 param_2 ...> For instance, in SPEC2000 175.vpr, we have: 1) gcc -DNDEBUG -DNO_GRAPHICS -O2 -o spec_vpr main.c util.c read_netlist.c read_arch.c place.c route.c draw.c graphics.c stats.c segment_stats.c rr_graph.c rr_graph2.c rr_graph_sbox.c rr_graph_util.c rr_graph_timing_params.c rr_graph_area.c check_rr_graph.c check_route.c hash.c read_place.c -lm 2) ./spec_vpr net.in arch.in place.out dum.out -nodisp -place_only -init_t 5 -exit_t 0.005 -alpha_t 0.9412 -inner_num 2 I am particularly interested in the following CINT95 benchmarks: 099.go, 129.compress, 130.li, 132.ijpeg can anyone tell me the "standard" commandline to compile and run these benchmarks with the default ref configurations ? thanks, --Long
Chris Lattner
2005-Jul-22 03:30 UTC
[LLVMdev] Need help on SPEC 95 "standard" commandlines
On Thu, 21 Jul 2005, Long Fei wrote:> Does anyone know the "standard" commandline to compile and run spec95 > benchmarks ? > > I found some scripts in llvm test suite (External/SPEC/CINT95), but I am not > sure if they are the *default ref* configurations. <Some of them seem to use > smaller problem sizes.> SPEC95 was retired many years ago, so few people > around me know how to compile and run them. > > I am building from sourcefile without installation. so I expect commandlines > like: > <gcc -Dflag1 -Dflag2 -O2 -o spec_go aaa.c bbb.c ... nnn.c -lm> > and then > <./spec_go param_1 param_2 ...> > > For instance, in SPEC2000 175.vpr, we have: > 1) gcc -DNDEBUG -DNO_GRAPHICS -O2 -o spec_vpr main.c util.c read_netlist.c > read_arch.c place.c route.c draw.c graphics.c stats.c segment_stats.c > rr_graph.c rr_graph2.c rr_graph_sbox.c rr_graph_util.c > rr_graph_timing_params.c rr_graph_area.c check_rr_graph.c check_route.c > hash.c read_place.c -lm > 2) ./spec_vpr net.in arch.in place.out dum.out -nodisp -place_only -init_t 5 > -exit_t 0.005 -alpha_t 0.9412 -inner_num 2 > > I am particularly interested in the following CINT95 benchmarks: > 099.go, 129.compress, 130.li, 132.ijpeg > > can anyone tell me the "standard" commandline to compile and run these > benchmarks with the default ref configurations ?All of this is defined by the Spec subdirectory of the test in the SPEC distribution. Note that different problem inputs (test/ref/train) are not different compile-time options, they are different input files and command line arguments. If you look at the LLVM llvm-test makefiles, this information is also encoded. From the 126.gcc makefile, for example, you'll see: RUN_OPTIONS := -quiet -funroll-loops -fforce-mem -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizati ons -fstrength-reduce -fpeephole -fschedule-insns -finline-functions -fschedule-insns2 -O -o - ifeq ($(RUN_TYPE),test) STDIN_FILENAME = cccp.i STDOUT_FILENAME = cccp.s else STDIN_FILENAME = amptjp.i STDOUT_FILENAME = amptjp.s endif Note that llvm-test compiles the benchmarks a file at a time (with -c), not all at once. -Chris -- http://nondot.org/sabre/ http://llvm.org/
Some of the run commandlines don't seem to be the *default ref* configuration. For instance, in 099.go, what's in the script is: LEVEL = ../../../.. BM=099.go ifeq ($(RUN_TYPE),test) STDIN_FILENAME = /dev/null STDOUT_FILENAME = null.out RUN_OPTIONS = 40 19 else STDIN_FILENAME = 2stone9.in STDOUT_FILENAME = 2stone9.out RUN_OPTIONS = 50 9 endif include ../../Makefile.spec95 Makefile (END) which suggests the compiling command: gcc -DSPEC_CPU95 -O2 -o spec_go g2.c g22.c g23.c g25.c g26.c g27a.c g27b.c g28.c g29.c g2eye.c g2jlib2.c g2jos.c g2list.c g2reas.c g2s2.c g2s3.c g2shp.c and the running commandline: ./spec_go 50 9 2stone9.in < are these correct ? > This must be a shrinked problem size, since 2stone9.in is in the training set, not the ref set. < There are two input files in ref subdirectory. Which one is the default config ? and are 50 and 9 the default settings ? > So I was asking if you can tell me what the *default ref* configurations are. In particular, 099.go, 129.compress, 130.li, 132.ijpeg. I agree that they use the same compiling commandline, but the running commandline is still a remaining problem. thanks, --Long Chris Lattner wrote:> On Thu, 21 Jul 2005, Long Fei wrote: > >> Does anyone know the "standard" commandline to compile and run spec95 >> benchmarks ? >> >> I found some scripts in llvm test suite (External/SPEC/CINT95), but I >> am not sure if they are the *default ref* configurations. <Some of >> them seem to use smaller problem sizes.> SPEC95 was retired many >> years ago, so few people around me know how to compile and run them. >> >> I am building from sourcefile without installation. so I expect >> commandlines like: >> <gcc -Dflag1 -Dflag2 -O2 -o spec_go aaa.c bbb.c ... nnn.c -lm> >> and then >> <./spec_go param_1 param_2 ...> >> >> For instance, in SPEC2000 175.vpr, we have: >> 1) gcc -DNDEBUG -DNO_GRAPHICS -O2 -o spec_vpr main.c util.c >> read_netlist.c read_arch.c place.c route.c draw.c graphics.c stats.c >> segment_stats.c rr_graph.c rr_graph2.c rr_graph_sbox.c >> rr_graph_util.c rr_graph_timing_params.c rr_graph_area.c >> check_rr_graph.c check_route.c hash.c read_place.c -lm >> 2) ./spec_vpr net.in arch.in place.out dum.out -nodisp -place_only >> -init_t 5 -exit_t 0.005 -alpha_t 0.9412 -inner_num 2 >> >> I am particularly interested in the following CINT95 benchmarks: >> 099.go, 129.compress, 130.li, 132.ijpeg >> >> can anyone tell me the "standard" commandline to compile and run >> these benchmarks with the default ref configurations ? > > > All of this is defined by the Spec subdirectory of the test in the > SPEC distribution. Note that different problem inputs > (test/ref/train) are not different compile-time options, they are > different input files and command line arguments. If you look at the > LLVM llvm-test makefiles, this information is also encoded. From the > 126.gcc makefile, for example, you'll see: > > RUN_OPTIONS := -quiet -funroll-loops -fforce-mem -fcse-follow-jumps > -fcse-skip-blocks -fexpensive-optimizati > ons -fstrength-reduce -fpeephole -fschedule-insns -finline-functions > -fschedule-insns2 -O -o - > > ifeq ($(RUN_TYPE),test) > STDIN_FILENAME = cccp.i > STDOUT_FILENAME = cccp.s > else > STDIN_FILENAME = amptjp.i > STDOUT_FILENAME = amptjp.s > endif > > Note that llvm-test compiles the benchmarks a file at a time (with > -c), not all at once. > > -Chris >