Installing SPECaccel Under Unix, Linux, and Mac OS X

(To check for possible updates to this document, please see http://www.spec.org/accel2023/Docs/ )

Contents

Installation Steps

1. Review Pre-requisites

2. Create destination. Have enough space; avoid space.

3. Mount the Benchmark ISO

4. Set your directory to the Benchmark ISO

5. Use install.sh

5.a. Destination selection

5.b. Toolset selection

5.c. The files are unpacked and tested

6. Source shrc or cshrc

7. Try to build one benchmark

8. Try running one benchmark with the test dataset

9. Try a real dataset

10. Try a full (reportable) run

Example Installation

Appendix 1: the DVD drive is on system A, but I want to install on system B. What do I do?

A1. Network mount

A2. Tar file

Appendix 2: Uninstalling SPECaccel

Note: links to SPECaccel documents on this web page assume that you are reading the page from a directory that also contains the other SPECaccel documents. If by some chance you are reading this web page from a location where the links do not work, try accessing the referenced documents at one of the following locations:

Installation Steps

The SPECaccel suite has been tested under Unix and Linux. The benchmark environment should work with Mac OS X but has not be tested. Your benchmark can be installed under many operating systems.

Reminder: the SPEC license allows you to install on multiple systems as you may wish within your institution; but you may not share the software with the public.

The installation procedure for Unix, Linux, and Mac OS X is as follows:

1. Review Pre-requisites

Review the hardware and software requirements, in system-requirements.html

2. Create destination. Have enough space, avoid space.

Create a directory on the destination disk. You should make sure that you have a disk that has at least 8GB free. (For more information on disk usage, see system-requirements.html.)

Don't put spaces in the path: even if you make it through the installation (doubtful), you are just asking for trouble, because there may be multiple programs from both SPEC and from your compiler that expect space to be an argument delimiter, not part of a path name. (This being the *Unix* install guide, you wouldn't have thought of using spaces in in the first place, would you?)

3. Mount the Benchmark ISO

You can either burn a DVD of the benchmark ISO file, or you can just directly mount the benchmark ISO file you have downloaded. If you choose to mount the benchmark ISO file, the following examples may help you get it mounted. The examples assume the benchmark has been saved in the file accel-1.2.iso. The target location listed in these examples is /mnt but could be anything you have created.

After you are done installing, you may want to unmount the benchmark ISO. This can be done by making sure you are no longer in the install mount point and then issue the comman umount /mnt. This will unmount the filesystem. If you are on Solaris, you may also want to remove the lofi device that was created with lofiadm command. See the man page for further instructions.

Linux: mount -t iso9660 -o ro,loop accel-1.2.iso /mnt

If you have created a DVD, insert the the DVD, and, if necessary, issue a mount command for it. For many operating systems, the DVD will be automatically mounted. If not, you may have to enter an explicit mount command. If your operating system supports the Rock Ridge Interchange Protocol extensions to ISO 9660, be sure to select them, unless they are the default. The following examples are not intended to be comprehensive, but may get you started or at least give you clues which manpages to read:

Linux: mount -t iso9660 -o ro,exec /dev/cdrom /mnt
Virtual Machines If you are running in a virtual machine, you will need to convince the host operating system to allow your guest OS to have access to the DVD. The means of accomplishing this will vary. For reference, the following worked with a Linux guest running under Virtual Box V4.0.6, with Windows 7 as the host: (1) Shut down the virtual machine (don't just pause it; tell it to run its shutdown procedure). (2) The Settings dialog should now be visible (it's grayed out if the machine state is not shut down). (3) Use Settings to configure the DVD drive as both available to the guest OS and as "passthrough". (4) Boot the virtual machine. (5) Log in. (6) Insert the DVD. (7) At this point, the DVD was automatically mounted as /media/SPEC_ACCEL.

Note that you may need root privileges to mount the DVD or benchmark ISO.

The following paragraphs assume that your benchmark mount point is on the same system as where you wish to install. If it is on a different system, please see Appendix 1.

4. Set your directory to the Benchmark ISO

If you haven't already done so by now, start a Terminal window (aka "command window", "shell", "console", "terminal emulator", "character cell window", "xterm", etc.) and issue a cd command to set your current working directory to the directory where the benchmark is mounted. The exact command will vary depending on the label on the media, the operating system, and the devices configured. It might look something like one of these:

$ cd /Volumes/SPEC_ACCEL
$ cd /media/SPEC_ACCEL
$ cd /dvdrom/spec_accel 
$ cd /mnt

5. Use install.sh

Type:

./install.sh

q. Do you have to be root? Occasionally, users of Unix systems have asked whether it is necessary to elevate privileges, or to become 'root', prior to entering the above command. SPEC recommends (*) that you do not become root, because: (1) To the best of SPEC's knowledge, no component of SPECaccel needs to modify system directories, nor does any component need to call privileged system interfaces. (2) Therefore, if you find that it appears that there is some reason why you need to be root, the cause is likely to be outside the SPEC toolset - for example, disk protections, or quota limits. (3) For safe benchmarking, it is better to avoid being root, for the same reason that it is a good idea to wear seat belts in a car: accidents happen, humans make mistakes. For example, if you accidentally type:

kill 1

when you meant to say:

kill %1

then you will very grateful if you are not privileged at that moment.

(*) This is only a recommendation, not a requirement nor a rule.

5.a. Destination selection

Depending on your installation type, you may be prompted for a destination directory:

SPECaccel Installation
Top of the ACCEL tree is '/Volumes/SPEC_ACCEL'
Enter the directory you wish to install to (e.g. /usr/accel)
/Users/kgoel/accel

When answering the above question, note that you will have to use syntax acceptable to sh (so you might need to say something like "$HOME/mydir" instead of "~/mydir"). As mentioned above, don't use spaces.

Note: You can also specify the destination directory in the command line, using the -d flag, for example, like this:
./install.sh -d /Users/kgoel/accel

The installation procedure will show you the directories that will be used to install from and to. You will see a message such as this one:

Installing FROM /Volumes/SPEC_ACCEL
Installing TO /Users/kgoel/accel

Is this correct? (Please enter 'yes' or 'no') 
yes

Enter "yes" if the directories match your expectations. If there is an error, enter "no", and the procedure will exit, and you can try again, possibly using the -d flag mentioned in the note above.

5.b. Toolset selection

The installation procedure will attempt to automatically determine your current platform type (hardware architecture, operating system, etc.) In some cases, the tools may identify several candidate matches for your architecture.

You typically do not have to worry about whether the toolset is an exact match to your current environment, because the toolset selection does not affect your benchmark scores, and because the installation procedure does a series of tests to ensure that the selected tools work on your system.

Examples: (1) the installation procedure may determine that SPEC tools built on version "N" of your operating system are entirely functional on version "N+3". (2) Tools built on one Linux distribution often work correctly on another: notably, certain versions of SuSE are compatible, from a tools point of view, with certain versions of RedHat. (3) Tools built on AMD chips with 64-bit instructions ("amd64") are compatible with Intel chips that implement the same instruction set under the names "EM64T" or "Intel 64" (but not compatibie with chips that implement the Itanium instruction set, abbreviated "ia64"). (4) Often, though not always, 32-bit toolsets work correctly on 64-bit operating systems.

Mostly, you don't need to worry about all this, because the installation procedure does a comprehensive set of tests to verify compatibility.

If at least one candidate match is found, you will see a message such as:

The following toolset is expected to work on your platform.  If the
automatically installed one does not work, please re-run install.sh and
exclude that toolset using the '-e' switch.

The toolset selected will not affect your benchmark scores.

macosx                        For MacOS X 10.4+ on Intel systems.
                              Built on MacOS X 10.6.6 with GCC 4.0.1, using
                              the 10.4u SDK.

If the installation procedure is unable to determine your system architecture, you will see a message such as:

We do not appear to have vendor supplied binaries for your
architecture.  You will have to compile the tool binaries by
yourself.  Please read the file

    /Volumes/SPEC_ACCEL/Docs/tools_build.html

for instructions on how you might be able to build them.

If you see that message, please stop here, and examine the file tools-build.html.

Note: If the tools that are automatically installed on your system do not work, but you know that another set of tools that is in the list will work, you can exclude the ones that do not work. You may be instructed to do this during the first installation. Use the -e flag for install.sh, for example:

./install.sh -e linux-redhat72-ia32

The above will cause the tools for linux-redhat72-ia32 to be excluded from consideration.

Alternatively, you can explicitly direct which toolset is to be used with the -u flag for install.sh, for example:

./install.sh -u linux-suse10-amd64

The above will cause the tools for linux-suse10-amd64 to be installed, even if another toolset would have been chosen automatically. If you specify tools that do not work on your system, the installation procedure will stop without installing any tools.

5.c. The files are unpacked and tested

Thousands of files will be unpacked from the distribution media, and quietly installed on your destination disk. (If you would prefer to see them all named you can set VERBOSE=1 in your environment before installing the kit.) Various tests will be performed to verify that the files have been correctly installed, and that the tools work correctly. You should see summary messages such as these:

=================================================================
Attempting to install the the macosx toolset... <<-- or whatever toolset was selected

Checking the integrity of your source tree...


Checksums are all okay.

Unpacking binary tools for macosx...       <<-- your toolset 

Checking the integrity of your binary tools...

Checksums are all okay.
Testing the tools installation (this may take a minute)

........................................................................o.......
................................................................................
..........................................................


Installation successful.  Source the shrc or cshrc in
/Users/kgoel/accel                          <<-- your directory
to set up your environment for the benchmark.

At this point, you will have consumed about 0.5GB of disk space on the destination drive.

6. Source shrc or cshrc

Change your current directory to the top-level SPEC directory and source either shrc or cshrc:

The effect of the above commands is to set up environment variables and paths for SPEC.

From this point forward, we are testing basic abilities of the SPECaccel kit, including compiling benchmarks and running them. You may skip the remaining steps if all of the following are true:

  1. You are confident that the previous steps have gone smoothly.
  2. You will not be compiling the benchmarks.
  3. Someone else has given you pre-compiled binaries.

Warning: even if someone else supplies binaries, you remain responsible for compliance with SPEC's Fair Use rule and the ACCEL run rules.

7. Try to build one benchmark

Change to the config directory, and test that you can build a benchmark using a config file supplied for your system. For example:

$ cd $SPEC/config
$ cp Example-nvhpc.cfg Nick-nvhpc.cfg
$ runaccel --config=Nick-nvhpc.cfg --action=build --tune=base --define model=lop accel

The above command assumes that you can identify a config file (in the directory $SPEC/config) that is appropriate for you. In this case, the user started with Example-nvhpc.cfg. Your starting point will probably differ; here are some resources to help:

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. the "--define model=lop" indicates that we want to run the benchmark using OpenMP with the "loop" directives.

8. Try running one benchmark with the test dataset

Test that you can run a benchmark, using the minimal input set - the "test" workload. For example:

$ runaccel --config=Nick-nvhpc.cfg --tune=base --define model=lop --size=test  --noreportable --iterations=1 450

The "--noreportable" ensures that the tools will allow us to run just a single benchmark instead of the whole suite, "--iterations=1" says just run the benchmark once.

Check the results in $SPEC/result

9. Try a real dataset

Test that you can run a benchmark using the real input set - the "reference" workload. For example:

$ runaccel --config=Nick-nvhpc.cfg --tune=base --define model=lop --size=ref  --noreportable --iterations=1 450

Check the results in $SPEC/result.

10. Try a full (reportable) run

If everything has worked up to this point, you may wish to start a full run, perhaps leaving your computer to run overnight. The extended test will demand significant resources from your machine, including computational power and memory of several types. In order to avoid surprises, before starting the reportable run, you should review the section About Resources, in system-requirements.html.

Have a look at runaccel.html to learn how to do a full run of the suite.

The command runaccel -h will give you a brief summary of the many options for runaccel.

To run a reportable run of the benchmark with simple (baseline) tuning:

$ runaccel --config=Nick-nvhpc.cfg --tune=base --define model=lop --reportable accel

Example Installation

Here is a complete Linux installation, with interspersed commentary. This example follows the steps listed above. We assume that Steps 1 through 3 are already complete (the pre-requisites are met, we have enough space, the benchmark is mounted). Note the example is for illustration purposes and the exact output may not match what you see for a particular release.

Step 4: Set the current working directory to the benchmark mount point:

$ cd /media/SPEC_ACCEL

Step 5: Invoke install.sh. When prompted, we enter the destination directory:

$ ./install.sh 

SPECaccel Installation

Top of the ACCEL tree is '/media/SPEC_ACCEL'
Enter the directory you wish to install to (e.g. /usr/accel)
/accel

Installing FROM /media/SPEC_ACCEL
Installing TO /accel

Is this correct? (Please enter 'yes' or 'no') 
yes

The following toolset is expected to work on your platform.  If the
automatically installed one does not work, please re-run install.sh and
exclude that toolset using the '-e' switch.

The toolset selected will not affect your benchmark scores.

linux-suse10-amd64            For 64-bit AMD64/EM64T Linux systems running
                              SuSE Linux 10 or later, and other
                              compatible Linux distributions, including
                              some versions of RedHat Enterprise Linux
                              and Oracle Linux Server.

                              Built on SuSE Linux 10 with 
                              GCC v4.1.0 (SUSE Linux)

linux-redhat72-ia32           For x86, IA-64, EM64T, and AMD64-based Linux
                              systems with GLIBC 2.2.4+.
                              Built on RedHat 7.2 (x86) with gcc 3.1.1



=================================================================
Attempting to install the linux-suse10-amd64 toolset...


Checking the integrity of your source tree...


Checksums are all okay.

Unpacking binary tools for linux-suse10-amd64...

Checking the integrity of your binary tools...

Checksums are all okay.

Testing the tools installation (this may take a minute)

........................................................................o.....................................
............................................................................................................

Installation successful.  Source the shrc or cshrc in
/accel
to set up your environment for the benchmark.

Step 6: Now, we change the current working directory from the install media to the location of the new SPECaccel tree. Since this user has a Bourne compatible shell, shrc is sourced (for csh compatible shells, use cshrc).

Next, the config file Example-nvhpc.cfg has been picked as a starting point for this system. The nvhpc compiler might not provide the best possible score for this particular SUT (System Under Test), a server with a NVIDIA V100, but this config file provides a reasonable start in order to demonstrate that the SPEC tree is functional.

$ cd /accel/
$ . ./shrc
$ cd config
$ cp Example-nvhpc.cfg mytest.cfg
$ runaccel --config=mytest.cfg --action=build --tune=base --noreportable --iterations=1 --define model=acc 450.md
SPECaccel(r) 2023 Benchmark Suites
Copyright 1995-2023 Standard Performance Evaluation Corporation (SPEC)

runaccel v.unknown
Using 'linux-x86_64' tools
Reading file manifests... read 16077 entries from 2 files in 0.04s (376344 files/s)
Loading runaccel modules.................
Locating benchmarks...found 12 benchmarks and 44 src.alts in 1 benchset.
Reading config file '/tmp/accel/config/mytest.cfg'
Running "specperl /tmp/accel/bin/sysinfo" to gather system information.
sysinfo: sysinfo c6fd30eecf3869c90958985d9f45c583
sysinfo: ...getting basic information about kernel, users, and limits
sysinfo: Getting system information for Linux...
sysinfo: ...getting CPU info
sysinfo: ...getting info from numactl
sysinfo: ...getting memory info
sysinfo: ...getting info from systemd
sysinfo: ...getting power info
sysinfo: ...getting system tuning info
sysinfo: ...getting OS info
sysinfo: ...getting CPU vulnerability status from the kernel
sysinfo: ...getting disk info
sysinfo: ...getting info from /sys/devices/virtual/dmi/id
sysinfo: ...getting info from dmidecode


WARNING: Your config file sets some fields that are also set by sysinfo:
  hw_cpu_name, hw_disk, hw_nchips, hw_ncores, hw_nthreadspercore
To avoid this warning in the future, see
  https://www.spec.org/accel2023/Docs/config.html#sysinfo


Retrieving flags file (/tmp/accel/config/flags/nvhpc_flags.xml)...


1 configuration selected:

 Action    Run Mode   Workload      Report Type      Benchmarks
--------   --------   --------   -----------------   --------------------------
validate   speed      ref        SPECaccel2023       450.md
-------------------------------------------------------------------------------

Benchmarks selected: 450.md
Compiling Binaries
  Building 450.md base nvhpc: (build_base_nvhpc.0000) [2023-09-01 15:09:32]

Build successes for accel: 450.md(base)
Build errors for accel: None

Build Complete

The log for this run is in /tmp/accel/result/accel2023.015.log

runaccel finished at 2023-09-01 15:50:56; 5 total seconds elapsed

Just above, various compile and link commands may or may not be echoed to your screen, depending on the settings in your config file. 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 Fortran compiler.

Step 8: Now try running a 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:

$ runaccel --config=mytest.cfg --tune=base --noreportable --iterations=1 --define model=acc --action=run --size=test 450.md
SPECaccel(r) 2023 Benchmark Suites
Copyright 1995-2022 Standard Performance Evaluation Corporation (SPEC)

runaccel v.unknown
Using 'linux-x86_64' tools
Reading file manifests... read 16077 entries from 2 files in 0.04s (372660 files/s)
Loading runaccel modules.................
Locating benchmarks...found 12 benchmarks and 44 src.alts in 1 benchset.
Reading config file '/tmp/accel/config/mytest.cfg'
Running "specperl /tmp/accel/bin/sysinfo" to gather system information.
sysinfo: sysinfo c6fd30eecf3869c90958985d9f45c583
sysinfo: ...getting basic information about kernel, users, and limits
sysinfo: Getting system information for Linux...
sysinfo: ...getting CPU info
sysinfo: ...getting info from numactl
sysinfo: ...getting memory info
sysinfo: ...getting info from systemd
sysinfo: ...getting power info
sysinfo: ...getting system tuning info
sysinfo: ...getting OS info
sysinfo: ...getting CPU vulnerability status from the kernel
sysinfo: ...getting disk info
sysinfo: ...getting info from /sys/devices/virtual/dmi/id
sysinfo: ...getting info from dmidecode


WARNING: Your config file sets some fields that are also set by sysinfo:
  hw_cpu_name, hw_disk, hw_nchips, hw_ncores, hw_nthreadspercore
To avoid this warning in the future, see
  https://www.spec.org/accel2023/Docs/config.html#sysinfo


Retrieving flags file (/tmp/accel/config/flags/nvhpc_flags.xml)...


1 configuration selected:

 Action    Run Mode   Workload      Report Type      Benchmarks
--------   --------   --------   -----------------   --------------------------
validate   speed      test       SPECaccel2023   450.md
-------------------------------------------------------------------------------

Benchmarks selected: 450.md
Compiling Binaries
  Up to date 450.md base nvhpc


Setting Up Run Directories
  Setting up 450.md test base nvhpc: run_base_test_nvhpc.0000
Running Benchmarks
  Running 450.md test base nvhpc [2023-09-01 15:52:40]
Success: 1x450.md
Producing Raw Reports
 label: nvhpc
  workload: test
   metric: SPECaccel2023_base
    format: raw -> /tmp/accel/result/accel2023.016.test.rsf
Parsing flags for 450.md base: done
Doing flag reduction: done
    format: flags -> /tmp/accel/result/accel2023.016.test.flags.html
    format: PDF -> /tmp/accel/result/accel2023.016.test.pdf
    format: HTML -> /tmp/accel/result/accel2023.016.test.html
    format: Text -> /tmp/accel/result/accel2023.016.test.txt

The log for this run is in /tmp/accel/result/accel2023.016.log

runaccel finished at 2023-09-01 15:52:42; 4 total seconds elapsed

Notice about 20 lines up the notation "Success: 1x450.md". That is what we want to see.

Step 9: let's try running fft with the real workload. This will take a while on the tested server running Linux.

$  runaccel --config=mytest.cfg --tune=base --noreportable --iterations=1 --define model=acc --action=run --size=ref 450.md
SPECaccel(r) 2023 Benchmark Suites
Copyright 1995-2023 Standard Performance Evaluation Corporation (SPEC)

runaccel v.unknown
Using 'linux-x86_64' tools
Reading file manifests... read 16077 entries from 2 files in 0.04s (370624 files/s)
Loading runaccel modules.................
Locating benchmarks...found 12 benchmarks and 44 src.alts in 1 benchset.
Reading config file '/local/home/mcolgrove/KIT214/config/mytest.cfg'
Running "specperl /local/home/mcolgrove/KIT214/bin/sysinfo" to gather system information.
sysinfo: sysinfo c6fd30eecf3869c90958985d9f45c583
sysinfo: ...getting basic information about kernel, users, and limits
sysinfo: Getting system information for Linux...
sysinfo: ...getting CPU info
sysinfo: ...getting info from numactl
sysinfo: ...getting memory info
sysinfo: ...getting info from systemd
sysinfo: ...getting power info
sysinfo: ...getting system tuning info
sysinfo: ...getting OS info
sysinfo: ...getting CPU vulnerability status from the kernel
sysinfo: ...getting disk info
sysinfo: ...getting info from /sys/devices/virtual/dmi/id
sysinfo: ...getting info from dmidecode


WARNING: Your config file sets some fields that are also set by sysinfo:
  hw_cpu_name, hw_disk, hw_nchips, hw_ncores, hw_nthreadspercore
To avoid this warning in the future, see
  https://www.spec.org/accel2023/Docs/config.html#sysinfo


Retrieving flags file (/local/home/mcolgrove/KIT214/config/flags/nvhpc_flags.xml)...


1 configuration selected:

 Action    Run Mode   Workload      Report Type      Benchmarks
--------   --------   --------   -----------------   --------------------------
validate   speed      ref        SPECaccel2023   450.md
-------------------------------------------------------------------------------

Benchmarks selected: 450.md
Compiling Binaries
  Up to date 450.md base nvhpc


Setting Up Run Directories
  Setting up 450.md ref base nvhpc: run_base_ref_nvhpc.0001
Running Benchmarks
  Running 450.md ref base nvhpc [2023-09-01 15:56:11]
Success: 1x450.md
Producing Raw Reports
 label: nvhpc
  workload: ref
   metric: SPECaccel2023_base
    format: raw -> /local/home/mcolgrove/KIT214/result/accel2023.017.ref.rsf
Parsing flags for 450.md base: done
Doing flag reduction: done
    format: flags -> /local/home/mcolgrove/KIT214/result/accel2023.017.ref.flags.html
    format: PDF -> /local/home/mcolgrove/KIT214/result/accel2023.017.ref.pdf
    format: HTML -> /local/home/mcolgrove/KIT214/result/accel2023.017.ref.html
    format: Text -> /local/home/mcolgrove/KIT214/result/accel2023.017.ref.txt

The log for this run is in /local/home/mcolgrove/KIT214/result/accel2023.017.log

runaccel finished at 2023-09-01 16:01:43; 333 total seconds elapsed

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

$ cd result
$ ls
accel2023.001.flags.html  accel2023.002.log  accel2023.007.log  accel2023.012.log             accel2023.014.ref.html  accel2023.016.log              accel2023.016.test.txt        accel2023.017.ref.rsf
accel2023.001.html        accel2023.003.log  accel2023.008.log  accel2023.013.log             accel2023.014.ref.pdf   accel2023.016.test.flags.html  accel2023.017.log             accel2023.017.ref.txt
accel2023.001.log         accel2023.004.log  accel2023.009.log  accel2023.013.log.debug       accel2023.014.ref.rsf   accel2023.016.test.html        accel2023.017.ref.flags.html  invalid.gif
accel2023.001.pdf         accel2023.005.log  accel2023.010.log  accel2023.014.log             accel2023.014.ref.txt   accel2023.016.test.pdf         accel2023.017.ref.html        lock.accel2023
accel2023.001.txt         accel2023.006.log  accel2023.011.log  accel2023.014.ref.flags.html  accel2023.015.log       accel2023.016.test.rsf         accel2023.017.ref.pdf
$ grep runaccel:  accel2023.017.log
runaccel: runaccel --config=mytest.cfg --tune=base --noreportable --iterations=1 --define model=acc --action=run --size=ref 450.md

The complete .txt report from running 450.md ref can be seen in the "ref.txt" files.

$ cat accel2023.017.ref.txt

Done. The suite is installed, and we can run at least one benchmark for real (see the report of the time spent in 450.md above).


Appendix 1: the DVD drive is on system A, but I want to install on system B. What do I do?

If the title of this section describes your situation, you basically have two choices.

  1. Network mount: You can mount the device over the network and do the installation remotely.
  2. Tar file: You can install from the tar file

1. Network mount

You might be able to mount the DVD on one system and use network services to make it available on other systems.

Please note that the SPECaccel license agreement does not allow you to post the DVD on any public server. If your institution has a SPECaccel license, then it's fine to post it on an internal server that is accessible only to members of your institution.

Whether you attempt a network mount will probably depend on:

If your network environment allows easy cross-system mounting, or if you feel brave about reading manpages, you can use a network mount for the installation. Otherwise, you can fall back on the tar file.

Network mount, easy:
for example, System A Solaris/Opteron  +  System B Solaris/SPARC

Your operating system may be configured to automatically mount the drive and automatically make it visible to other network systems, or may make it visible with minimal user intervention. During one set of testing, system A (with the DVD drive) was an Opteron-based system running Solaris 10. The SPECaccel DVD was inserted. The operating system mounted it automatically, and from a terminal window, a (non-privileged) user entered the Solaris

share

command to make it visible to other hosts.

On System B, a Solaris SPARC system, a non-privileged user typed:

cd /net/systemA/cdrom/spec_accel
./install.sh

and the installation proceeded normally, picking up from step 5, above.

Network mount, medium difficulty:
for example, System A Solaris/Opteron  +  System B Tru64 Unix/Alpha

Subsequent to the tests of the previous paragraphs, the DVD drive on System A (Solaris/Opteron) was also visible to a system running Compaq Tru64 UNIX V5.1A. But in this case, a little assistance was needed from the privileged (root) account on system B:

echo "systemA.domain.com:/cdrom/spec_accel /systemA nfs ro,bg,soft 0 0" >> /etc/fstab
mkdir /systemA
/usr/sbin/mount /systemA

Then, the non-privileged user was able to say:

cd /systemA
./install.sh

and once again the installation proceeded normally, picking up from step 5, above.

Network mount, a bit harder:
for example, System A SuSE/x86  +  System B Mac OS X/PowerPC

The SPECaccel DVD was also inserted into a system running SuSE Linux 9.0, and used from a Mac OS X PowerBook. On both these systems, there are probably automatic tools that would have accomplished the following more quickly, but the tester happened to read the manpages in the particular order that he happened to read them in. The following succeeded:

On System A, root added

/dev/cdrom  /cd  iso9660  ro,user,noauto,unhide

to /etc/fstab as suggested by man mount; the DVD was inserted; and the user typed mount /cd. On System A, root also added:

/cd  192.168.0.0/24(ro,insecure,no_root_squash,sync)

to /etc/exports, and then typed:

exportfs -r
rpc.nfsd -p 8
rpc.mountd
cat /var/lib/nfs/etab

On System B, root typed:

mkdir /remote
mount -t nfs 192.168.0.106:/cd /remote

Finally, the user typed

cd /remote
./install.sh

and installation continued as normal, with step 5.

2. Tar file

If the DVD drive is on a system other than the one where you wish to do the installation, and if you do not wish to try to get a network mount working, then the final fallback is to use the compressed tarfile. If you choose this option, please carefully observe the warnings.

  1. Go to the system with the DVD drive ("System A"). Insert the SPECaccel DVD, and, if required, issue a mount command.

  2. From a terminal window (aka command window), cd to the top level directory on the DVD.

  3. You are going to retrieve five things from the DVD. First, find the large tarfile and its corresponding md5 file:

    cd install_archives
    ls -l accel.tar.xz*
    

    or, if System A is a Windows system, then:

    cd install_archives
    dir accel.tar.xz*
    

    In either case, you should see one moderately large file > 500MB, accel.tar.xz, and a small file associated with it that contains a checksum, accel.tar.xz.md5.

    If you don't see the above files, try looking for cpu*tar*. The name might change if, for example, a maintenance update of SPECaccel changes the name slightly to indicate an updated version.

    Do whatever is required in order to transfer both files intact to the system where you wish to do the installation ("System B"). If you use ftp, do not forget to use image (binary) mode. For example:

    $ ftp
    ftp> op systemB
    Name: imauser
    Password:
    ftp> cd /kits
    ftp> bin   <-------- important
    200 Type set to I.
    ftp> put accel.tar.xz
    ftp> put accel.tar.xz.md5
    

    Please note that the SPECaccel license agreement does not allow you to post the above file on any public ftp server. If your institution has a SPECaccel license, then it's fine to post it on an internal server that is accessible only to members of your institution.

  4. Next, you are going to look on the DVD for versions of specxz, specmd5sum, and spectar that are compatible with system B. Please do not use the tar supplied by your operating system unless you are sure that it can handle long path names. Many commonly-supplied tar utilities cannnot.

    Please do not use Windows Zip utilities, as these will not preserve line endings.

    If you have GNU tar and the genuine xz, then you can use those; otherwise, please hunt around on the DVD to find prebuilt versions that are compatible with your environment, like so:

    $ cd /media/SPEC_ACCEL/
    $ cd tools/bin
    $ ls
    aix5L-ppc64          linux-redhat72-ia32  macosx         solaris10-sparc
    hpux11iv3-ipf        linux-rhas4r4-ia64   solaris-sparc  solaris10-x86
    linux-debian6-armv6  linux-suse10-amd64   solaris-x86    windows-i386
    $ cd aix5L-ppc64
    $ cat description 
    For PowerPC systems running AIX 5L V5.3 or later
                                  Built on AIX 5L 5300-02 with the
                                  IBM XL C/C++ for AIX V9.0.0.25 compiler
    $ ls -g spec*
    -r-xr-xr-x. 1 imauser  52635 Aug 19  2011 specmd5sum
    -r-xr-xr-x. 1 imauser 594483 Aug 19  2011 spectar
    -r-xr-xr-x. 1 imauser 250543 Aug 19  2011 specxz
    $ 
    

    Once you've found the right versions of specxz, specmd5sum, and spectar for the system where you intend to install (system B), transfer them to system B using the same methods that you used for the big tarfile.

  5. On system B, use specmd5sum to check that the file transfer worked correctly. In this example, we assume that you have placed all 5 of the files mentioned above in the /kits directory:

    $ cd /kits
    $ chmod +x spec*
    $ specmd5sum -c accel.tar.xz.md5
    accel.tar.xz: OK
    
  6. Unpack the tarfile, like so:

    $ cd /mybigdisk
    $ mkdir accel
    $ cd accel
    $ /kits/specxz -dc /kits/accel.tar.xz | /kits/spectar -xf -
    

    Be patient: it will take a bit of time to unpack! It might take 15 minutes, depending on the speed of your processor and disks. Go for a coffee break.

  7. Now, at last, type ./install.sh and pick up with step 5, above. Your output will be similar, but not identical, to the output shown in step 5 above: you won't see the "Unpacking xxxx" messages, because you already did the unpacking.

    Note that the directory where you unpack the tarfile will be the directory you install FROM and also the directory you install TO. This is normal, and expected, for a tarfile installation.

    You will see a question similar to this:

    Installing FROM /mybigdisk/accel
    Installing TO /mybigdisk/accel
    
    Is this correct? (Please enter 'yes' or 'no') 
    yes
    

    If you enter "no", installation will stop. If you try to install TO another directory, using the -d flag, the installation will not succeed when using the tar file method.

Appendix 2: Uninstalling SPECaccel

At this time, SPEC does not provide an uninstall utility for SPECaccel. Confusingly, there is a file named uninstall.sh in the top directory, but it does not remove the whole product; it only removes the SPEC tool set, and does not affect the benchmarks (which consume the bulk of the disk space).

To remove SPECaccel on Windows systems, select the top directory in Windows Explorer and delete it.

To remove SPECaccel on Unix systems, use rm -Rf on the directory where you installed the suite, for example:

  rm -Rf /home/cs3000/saturos/spec/accel

If you have been using the output_root feature, you will have to track those down separately. Therefore, prior to removing the tree,, you might want to look for mentions of output root, for example:

Windows:
    cd %SPEC%\config
    findstr output_root *cfg

Unix:
    cd $SPEC/config
    grep output_root *cfg

Note: instead of deleting the entire directory tree, some users find it useful to keep the config and result subdirectories, while deleting everything else.


Copyright 2014-2017 Standard Performance Evaluation Corporation
All Rights Reserved