Document Title: install_guide_unix.txt

                 Subject: Installing SPEC CPU2000 Under Unix 

            Last updated: 16 Dec 1999 1:00am jh
                          (To check for possible updates to this document,
                          please see http://www.spec.org/osg/cpu2000 ) 

------------------------------------------------------------------------



              Contents
              --------
                  Installation Steps
                  Example Installation




Installation Steps
------------------

The SPEC CPU2000 suite has been tested under both Unix and NT systems.  
Your CD can be installed under either type of operating system.

The installation procedure for Unix is as follows:

1) Review the hardware and software requirements for the CPU2000 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 1GB 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/cpu2000
       % 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 gzip

   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 gzip

   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 gzip

    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 -t cdfs -o rrip /dev/rz20c /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/cpu2000)
/cpu2000
These appear to be valid architectures:

Tru64_UNIX-alpha

Enter the architecture you are using:
Tru64_UNIX-alpha
./
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 '/cpu2000'
Everything looks ok, 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 /cpu2000
% sh
$ . ./shrc  
  *** that's dot-space-dot-slash-shrc ****

$ csh

************************************************************
Step 8: Use runspec to do a test build:
************************************************************

% runspec --config=Tru64_Unix --action=build --tune=base gzip
runspec v2.00 - Copyright (C) 1999 Standard Performance Evaluation Corporation
Loading standard modules..............
Loading runspec modules.............
Identifying output formats...asc...html...pdf...ps...raw...
We will use: 164.gzip
Compiling Binaries
  Building 164.gzip ref base none default
Training 164.gzip
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=Tru64_Unix --size=test \
          --noreportable --iterations=1 gzip
runspec v2.00 - Copyright (C) 1999 Standard Performance Evaluation Corporation
Loading standard modules..............
Loading runspec modules.............
Identifying output formats...asc...html...pdf...ps...raw...
We will use: 164.gzip
Compiling Binaries
  Up to date 164.gzip test base none default
Setting Up Run Directories
  Setting up 164.gzip test base none default: created
Running Benchmarks
  Running 164.gzip test base none default
Success: 1x164.gzip
Producing Reports
mach: default
  ext: none
    size: test
      set: int
        format: raw -> /cpu2000/result/CINT2000.002.raw
        format: pdf -> /cpu2000/result/CINT2000.002.pdf
        format: PostScript -> /cpu2000/result/CINT2000.002.ps
        format: HTML -> /cpu2000/result/CINT2000.002.html, images/scale.005.gif
        format: ASCII -> /cpu2000/result/CINT2000.002.asc
      set: fp
runspec finished

************************************************************
Notice 15 lines up the notation "Success: 1x164.gzip".  That
is what we want to see.  
************************************************************


************************************************************
Step 10: let's try running gzip with the real workload.  
This will take a while - about 8 minutes on the 667 MHz
Alpha used for the sample installation.
************************************************************

% runspec --config=Tru64_Unix --size=ref \
          --noreportable --iterations=1 gzip
runspec v2.00 - Copyright (C) 1999 Standard Performance Evaluation Corporation
Loading standard modules..............
Loading runspec modules.............
Identifying output formats...asc...html...pdf...ps...raw...
We will use: 164.gzip
Compiling Binaries
  Up to date 164.gzip ref base none default
Setting Up Run Directories
  Setting up 164.gzip ref base none default: created
Running Benchmarks
  Running 164.gzip ref base none default
Success: 1x164.gzip
Producing Reports
mach: default
  ext: none
    size: ref
      set: int
        format: raw -> /cpu2000/result/CINT2000.003.raw
        format: pdf -> /cpu2000/result/CINT2000.003.pdf
        format: PostScript -> /cpu2000/result/CINT2000.003.ps
        format: HTML -> /cpu2000/result/CINT2000.003.html, images/scale.350.gif
        format: ASCII -> /cpu2000/result/CINT2000.003.asc
      set: fp
runspec finished

************************************************************
Success with the real workload!  So now let's look in the
result directory and see what we find:
************************************************************

% cd result
% ls
CINT2000.002.asc   CINT2000.002.raw   CINT2000.003.ps    log.002
CINT2000.002.html  CINT2000.003.asc   CINT2000.003.raw   log.003
CINT2000.002.pdf   CINT2000.003.html  images             log.lock
CINT2000.002.ps    CINT2000.003.pdf   log.001

************************************************************
Notice the three log files from our three runspec commands.
Those runspec commands are easily extracted with "grep":
************************************************************

% grep /runspec log*
log.001:/cpu2000/bin/runspec -c Tru64_Unix -a build -T base gzip
log.002:/cpu2000/bin/runspec -c Tru64_Unix -i test -n 1 gzip
log.003:/cpu2000/bin/runspec -c Tru64_Unix -i ref -n 1 gzip

************************************************************
So let's look at our results, in the ".asc" file:
************************************************************

% cat *3.asc
##############################################################################
#   INVALID RUN INVALID RUN INVALID RUN INVALID RUN INVALID RUN INVALID RUN  #
#                                                                            #
# 'reportable' flag not set during run                                       #
# 254.gap base did not have enough runs!                                     #
# 256.bzip2 base did not have enough runs!                                   #
# 255.vortex base did not have enough runs!                                  #
# 175.vpr base did not have enough runs!                                     #
# 164.gzip base did not have enough runs!                                    #
# 253.perlbmk base did not have enough runs!                                 #
# 186.crafty base did not have enough runs!                                  #
# 176.gcc base did not have enough runs!                                     #
# 252.eon base did not have enough runs!                                     #
# 197.parser base did not have enough runs!                                  #
# 300.twolf base did not have enough runs!                                   #
# 181.mcf base did not have enough runs!                                     #
#                                                                            #
#   INVALID RUN INVALID RUN INVALID RUN INVALID RUN INVALID RUN INVALID RUN  #
##############################################################################
                            SPEC CINT2000 Summary
                                    -- --
                           Wed Dec  1 12:08:47 1999

SPEC License #0     Test date: --            Hardware availability: --
Tester: --                                  Software availability: --

                                     Estimated                     Estimated
                   Base      Base      Base      Peak      Peak      Peak
   Benchmarks    Ref Time  Run Time   Ratio    Ref Time  Run Time   Ratio
   ------------  --------  --------  --------  --------  --------  --------
   164.gzip          1400       437       321*                             
   175.vpr                                   X                             
   176.gcc                                   X                             
   181.mcf                                   X                             
   186.crafty                                X                             
   197.parser                                X                             
   252.eon                                   X                             
   253.perlbmk                               X                             
   254.gap                                   X                             
   255.vortex                                X                             
   256.bzip2                                 X                             
   300.twolf                                 X                             
   ========================================================================
   164.gzip          1400       437       321*                             
   175.vpr                                   X                             
   176.gcc                                   X                             
   181.mcf                                   X                             
   186.crafty                                X                             
   197.parser                                X                             
   252.eon                                   X                             
   253.perlbmk                               X                             
   254.gap                                   X                             
   255.vortex                                X                             
   256.bzip2                                 X                             
   300.twolf                                 X                             
   Est. SPECint_base2000                   --
   Est. SPECint2000                                                      --

************************************************************
In the table above, most of the results are blank, because
we only ran 1 of the 12 integer benchmarks.  

Notice that the values for SPECint_base2000 and SPECint2000 
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: --
          Model Name: --
                 CPU: --
             CPU MHz: --
                 FPU: --
      CPU(s) enabled: --
    CPU(s) orderable: --
            Parallel: --
       Primary Cache: --
     Secondary Cache: --
            L3 Cache: --
         Other Cache: --
              Memory: --
      Disk Subsystem: --
      Other Hardware: --


                                   SOFTWARE
                                   --------
    Operating System: --
            Compiler: --
         File System: --
        System State: --


                                    NOTES
                                    -----
    --
##############################################################################
#   INVALID RUN INVALID RUN INVALID RUN INVALID RUN INVALID RUN INVALID RUN  #
#                                                                            #
# 'reportable' flag not set during run                                       #
# 254.gap base did not have enough runs!                                     #
# 256.bzip2 base did not have enough runs!                                   #
# 255.vortex base did not have enough runs!                                  #
# 175.vpr base did not have enough runs!                                     #
# 164.gzip base did not have enough runs!                                    #
# 253.perlbmk base did not have enough runs!                                 #
# 186.crafty base did not have enough runs!                                  #
# 176.gcc base did not have enough runs!                                     #
# 252.eon base did not have enough runs!                                     #
# 197.parser base did not have enough runs!                                  #
# 300.twolf base did not have enough runs!                                   #
# 181.mcf 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 Standard Performance Evaluation Corporation
Generated on Wed Dec  1 12:16:24 1999 by SPEC CPU2000 ASCII formatter v2.1
% 


************************************************************
Done.  The suite is installed, and we can run at least one
benchmark for real.  
************************************************************


-----------------------------------------------------------------
Copyright � 1999-2000 Standard Performance Evaluation Corporation