Document Title: install_guide_unix.txt Subject: Installing SPEC OMP2001 Under Unix Last updated: 17 Apr 2001 2pm wj (To check for possible updates to this document, please see http://www.spec.org/hpg/omp2001 ) ------------------------------------------------------------------------ Contents -------- Installation Steps Example Installation Installation Steps ------------------ The SPEC OMP2001 suite has been tested on Unix systems. The installation procedure for Unix is as follows: 1) Review the hardware and software requirements for the OMP2001 suite. You should have received a hard copy of "system_requirements.txt" with your kit; if the hard copy is not available, then you'll have to skip down to step #3, mount your CD, and then you can type: more /cdrom/docs/system_requirements.txt 2) Create a directory on the destination disk. You should make sure that you have a disk that has at least 2GB free. (For more information on disk usage, see system_requirements.txt.) 3) Mount the CD. If your operating system supports the Rock Ridge Interchange Protocol extensions to ISO 9660, be sure to select them, unless they are the default. For example: AIX: mount -v cdrfs -r /dev/cd0 /cdrom HP-UX: pfsd & pfs_mountd & pfs_mount -v /dev/rdsk/c1t2d0 /cdrom Linux: mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom Solaris: mount -F hsfs -o ro /dev/dsk/c0t6d0s0 /cdrom Tru64 Unix: mount -t cdfs -o rrip /dev/rz20c /cdrom Note that you may need root privileges to mount the CD. 4) Set your current working directory to the directory where the CD is mounted. 5) Type './install.sh' When prompted, enter the destination directory. Note that for a destination directory, you will have to use syntax acceptable to sh (so you might need to say $HOME instead of ~). The installation procedure will attempt to determine your current architecture. If a possible match is found, you will see a message such as this one: These appear to be valid architectures: Note that you MUST type in the architecture that you wish to use, even if only one choice is offered. Type the name exactly as it appears (or use your mouse cut and paste). If the installation procedure is unable to determine your system architecture, you will see a message such as this one: We do not appear to have vendor supplied binaries for your architecture. If you see that message, please stop here, and examine the file: /cdrom/docs/tools_build.txt 6) You will see thousands of filenames mentioned as they are created on your destination disk. At the end, you should see a message such as this one: Everything looks ok, source the shrc file and have at it! At this point, you will have consumed about 450MB of disk space on the destination drive. 7) Change your current working directory to the destination disk, and !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!! START A BOURNE-COMPATIBLE SHELL !!!!!!!!!!!!! ! (if you are not already in one) ! ! ! ! That is, you need to use a command interpreter that ! ! supports the syntax used by shrc, which tries to be ! ! highly portable by avoiding proprietary or uncommon ! ! shell features. Many shells -- such as ash, bash, ! ! ksh, and zsh -- provide some degree of compatibility ! ! with the Bourne shell. The C shell (csh) definitely ! ! is NOT compatible with Bourne shell syntax. If you ! ! are in doubt, or if you see unexpected error messages ! ! from shrc, you can usually start a Bourne shell by ! ! typing 'sh'. ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Then, source the file shrc. If you prefer some other shell, you can probably spawn it after sourcing shrc; when you do so, please be sure that your new shell does not clear the path variables set up by shrc! For example: % cd /usr/john/omp2001 % sh $ . ./shrc <- that's dot-space-dot-slash-shrc $ csh % The effect of the above commands is to setup environment variables and paths for SPEC. You must be in a Bourne-compatible shell when you source shrc. 8) Test that you can build the first benchmark using the config file supplied for your system. For example: % runspec --config=Tru64_Unix --action=build --tune=base wupwise_m The above command assumes that you can tell what config file (in the directory $SPEC/config) is appropriate for you simply from the filename. For a quick introduction to config files, see "About Config Files" in: $SPEC/docs/runspec.txt The "--tune=base" above indicates that we want to use only the simple tuning, if more than one kind of tuning is supplied in the config file. 9) Test that you can run the first benchmark, using the minimal input set - the "test" workload. For example: % runspec --config=Tru64_Unix --size=test \ --noreportable --iterations=1 wupwise_m The "\" above indicates that the command is continued on the next line. The "--noreportable" ensures that the tools will allow us to run just a single benchmark instead of the whole suite, and "--iterations=1" says just run the benchmark once. 10) Test that you can run the first benchmark using the real input set - the "reference" workload. For example: % runspec --config=Tru64_Unix --size=ref \ --noreportable --iterations=1 wupwise_m Check the results in $SPEC/result. 11) Have a look at runspec.txt to learn how to do a full run of the suite. Example Installation -------------------- Here is a complete Unix installation, with comments in asterisks. This example follows the steps listed above. We assume that Steps 1 and 2 are already complete (from the list above). ************************************************************ Step 3: Mount the CD. ************************************************************ % su Password: # mount /dev/cdrom /cdrom # exit ************************************************************ Step 4: Set the current working directory to the CD: ************************************************************ % cd /cdrom ************************************************************ Step 5: Invoke install.sh. When prompted, we enter the destination directory, and the desired architecture: ************************************************************ % install.sh Top of SPEC tree is '/cdrom' Enter the directory you wish to install to (i.e. /usr/omp2001) /omp2001 These appear to be valid architectures: irix6.5-mips Enter the architecture you are using: irix6.5-mips ./ result/ result/images/ result/images/basebar.gif result/images/invalid.gif result/images/peakbar.gif . . ****************************************************** . The SPEC tools create many files on your destination . disk, listing the name of each one. (Over 7000 lines . deleted here, in the interest of brevity.) . ****************************************************** . bin/lib/site_perl/5.005/Font/Metrics/CourierBold.pm bin/lib/site_perl/5.005/Font/Metrics/CourierOblique.pm bin/lib/site_perl/5.005/Font/Metrics/CourierBoldOblique.pm bin/lib/site_perl/5.005/Font/Metrics/TimesRoman.pm Top of SPEC tree is '/omp2001' Everything looks okay. cd to /omp2001, source the shrc file and have at it! % ************************************************************ Step 7: Now, we set the current working directory to the DESTINATION device, start a Bourne-compatible shell, and source the shrc. After that, it is ok to spawn some other shell. ************************************************************ % cd /omp2001 % sh $ . ./shrc *** that's dot-space-dot-slash-shrc **** $ csh ************************************************************ Step 8: Use runspec to do a test build: ************************************************************ $ runspec --config=sgi_irix --action=build --tune=base wupwise_m runspec v2.01 - Copyright (C) 2001 Standard Performance Evaluation Corporation Loading standard modules............. Loading runspec modules............. Identifying output formats...asc...config...html...pdf...ps...raw... We will use: 310.wupwise_m Compiling Binaries Building 310.wupwise_m ref base compsys default Build Complete ************************************************************ Just above, various compile and link commands may or may not be echoed to your screen, depending on the settings in your config file. For the sake of brevity, they are omitted in this example. At this point, we've accomplished a lot. The SPEC tree is installed, and we have verified that a benchmark can be compiled using the C compiler. ************************************************************ ************************************************************ Step 9: Now try running the first benchmark, using the minimal test workload. The test workload runs in a tiny amount of time and does a minimal verification that the benchmark executable can at least start up: ************************************************************ % runspec --config=sgi_irix --size=test \ --noreportable --iterations=1 wupwise_m runspec v2.01 - Copyright (C) 2001 Standard Performance Evaluation Corporation Loading standard modules............. Loading runspec modules............. Identifying output formats...asc...config...html...pdf...ps...raw... We will use: 310.wupwise_m Compiling Binaries Up to date 310.wupwise_m test base compsys default Setting Up Run Directories Setting up 310.wupwise_m test base compsys default: created Running Benchmarks Running 310.wupwise_m test base compsys default Success: 1x310.wupwise_m Producing Reports mach: default ext: compsys size: test set: medium format: raw -> /omp2001/result/OMPM2001.002.raw format: ASCII -> /omp2001/result/OMPM2001.002.asc runspec finished ************************************************************ Notice 15 lines up the notation "Success: 1x310.wupwise_m". That is what we want to see. ************************************************************ ************************************************************ Step 10: let's try running wupwise_m with the real workload. This will take a while - about 2 hours on the 4 CPU reference system used for the sample installation. ************************************************************ % runspec --config=sgi_irix.cfg --size=ref \ --noreportable --iterations=1 wupwise_m runspec v2.01 - Copyright (C) 2001 Standard Performance Evaluation Corporation Loading standard modules............. Loading runspec modules............. Identifying output formats...asc...config...html...pdf...ps...raw... We will use: 310.wupwise_m Compiling Binaries Up to date 310.wupwise_m ref base compsys default Setting Up Run Directories Setting up 310.wupwise_m ref base compsys default: created Running Benchmarks Running 310.wupwise_m ref base compsys default Success: 1x310.wupwise_m Producing Reports mach: default ext: compsys size: ref set: medium format: raw -> /omp2001/result/OMPM2001.003.raw format: ASCII -> /omp2001/result/OMPM2001.003.asc runspec finished ************************************************************ Success with the real workload! So now let's look in the result directory and see what we find: ************************************************************ % cd result % ls MPM2001.002.asc OMPM2001.003.asc images log.002 log.lock OMPM2001.002.raw OMPM2001.003.raw log.001 log.003 ************************************************************ Notice the three log files from our three runspec commands. Those runspec commands are easily extracted with "grep": ************************************************************ % grep /runspec log.* log.001:/omp2001/bin/runspec --config=sgi_irix --action=build --tune=base wupwise_m log.002:/omp2001/bin/runspec --config=sgi_irix --size=test --noreportable --iterations=1 wupwise_m log.003:/omp2001/bin/runspec --config=sgi_irix.cfg --size=ref --noreportable --iterations=1 wupwise_m ************************************************************ So let's look at our results, in the ".asc" file: ************************************************************ % > cat OMPM2001.003.asc ############################################################################## # INVALID RUN INVALID RUN INVALID RUN INVALID RUN INVALID RUN INVALID RUN # # # # 'reportable' flag not set during run # # 324.apsi_m base did not have enough runs! # # 312.swim_m base did not have enough runs! # # 328.fma3d_m base did not have enough runs! # # 318.galgel_m base did not have enough runs! # # 310.wupwise_m base did not have enough runs! # # 314.mgrid_m base did not have enough runs! # # 316.applu_m base did not have enough runs! # # 330.art_m base did not have enough runs! # # 326.gafort_m base did not have enough runs! # # 320.equake_m base did not have enough runs! # # 332.ammp_m base did not have enough runs! # # # # INVALID RUN INVALID RUN INVALID RUN INVALID RUN INVALID RUN INVALID RUN # ############################################################################## SPEC OMPM2001 Summary Computer System Incorporated Computer System XXX Tue Apr 17 15:48:13 2001 SPEC License #0 Test date: Apr-2001 Hardware availability: -- Tester: -- Software availability: -- Estimated Estimated Base Base Base Peak Peak Peak Benchmarks Ref Time Run Time Ratio Ref Time Run Time Ratio ------------ -------- -------- -------- -------- -------- -------- 310.wupwise_m 6700 6609 1014* 312.swim_m X 314.mgrid_m X 316.applu_m X 318.galgel_m X 320.equake_m X 324.apsi_m X 326.gafort_m X 328.fma3d_m X 330.art_m X 332.ammp_m X Est. SPECompMbase2001 -- Est. SPECompLpeak2001 -- ************************************************************ In the table above, most of the results are blank, because we only ran 1 of the 11 medium benchmarks. Notice that the values for SPECompMbase2001 and SPECompMpeak2001 are dashes ("--"); these would be filled in if we did a "reportable" run, as described in runspec.txt. There are also lots of dashes for the various portions of the system description, both at the top of the page and in the section that follows. These dashes indicate that we have not filled in the fields that describe the hardware and software that we are testing. For information on how to fill in these fields, please see: $SPEC/docs/config.txt ************************************************************ HARDWARE -------- Hardware Vendor: Computer System Incorporated Model Name: Computer System XXX CPU: 350 MHz Computer System processor CPU MHz: 350 FPU: -- CPU(s) enabled: 4 CPU(s) orderable: -- Parallel: -- Primary Cache: -- Secondary Cache: -- L3 Cache: -- Other Cache: -- Memory: 4 GB Disk Subsystem: 1 18GB Brand X SCSI disk Other Hardware: -- SOFTWARE -------- Operating System: Computer System Unix Version YYY Compiler: Computer System Compiler C and Fortran90 File System: Default System State: -- NOTES ----- Baseline C : cc -64 -mp -O2 Fortran : f90 -64 -mp -O2 Portability: 318.galgel_m : -fixedform -extend_source ############################################################################## # INVALID RUN INVALID RUN INVALID RUN INVALID RUN INVALID RUN INVALID RUN # # # # 'reportable' flag not set during run # # 324.apsi_m base did not have enough runs! # # 312.swim_m base did not have enough runs! # # 328.fma3d_m base did not have enough runs! # # 318.galgel_m base did not have enough runs! # # 310.wupwise_m base did not have enough runs! # # 314.mgrid_m base did not have enough runs! # # 316.applu_m base did not have enough runs! # # 330.art_m base did not have enough runs! # # 326.gafort_m base did not have enough runs! # # 320.equake_m base did not have enough runs! # # 332.ammp_m base did not have enough runs! # # # # INVALID RUN INVALID RUN INVALID RUN INVALID RUN INVALID RUN INVALID RUN # ############################################################################## ----------------------------------------------------------------------------- For questions about this result, please contact the tester. For other inquiries, please contact webmaster@spec.org. Copyright 1999-2001 Standard Performance Evaluation Corporation Generated on Tue Apr 17 17:38:24 2001 by SPEC OMP2001 ASCII formatter v2.1 ************************************************************ Done. The suite is installed, and we can run at least one benchmark for real. ************************************************************