Index


Home
Disclaimer
Download
People
Change Log
Acknowledgements
CAPSL Home Page
Original SPLASH-2
CAPSL Logo
UD Logo
Splash photo!
The Modified SPLASH-2 Home Page

Download

In order to get the modified version of the Splash-2 Benchmarks Suite, you have to follow these steps:

  1. Download the original Splash-2 source code from the Original SPLASH-2 home page.
  2. Uncompress the file you downloaded using the following commands:
    • gzip -d splash2.tar.gz
    • tar -x splash2.tar
  3. Download our patch and save it under the directory "splash2", created by the previous step.
  4. Enter the "splash2" directory and uncompress the patch using the following command:
    • gzip -d splash2-modified.patch.gz
  5. Apply the patch by running the command:
    • patch -p1 < splash2-modified.patch
  6. Delete the patch file:
    • rm splash2-modified.patch

Now you have to make a few adjustments, in order to compile the applications. Edit the file "splash2/codes/Makefile.config" and adjust it to your needs. The most important part is to change the BASEDIR variable to reflect the directory where you uncompressed the SPLASH-2 benchmarks suite.

The next step is to check the directory "splash2/codes/null_macros". There you will find three files: c.m4.null, c.m4.null.POSIX and c.m4.null.POSIX_BARRIER. The first one is used to run the applications serially, i.e., no parallelism is created. The second one is used to run the applications using an implementation of the original POSIX Threads standard. This standard does not include functions for barriers, which is why we implemented them in this file. The last file is similar to the second one. However, it makes use of an extension to the POSIX Threads standard, which adds functions for handling barriers. We suggest to use this file to run the applications. In this case, you have to compile the applications with the "-D_POSIX_C_SOURCE=200112". We have included this option as a default in "splash2/codes/Makefile.config". Please notice that the file to be used has also to be defined in "splash2/codes/Makefile.config", using the MACROS variable.

Finally, you can enter the directory of the application you would like to compile and type "make".

If your system does not support POSIX Threads or you wish to use another API to create parallelism, you will have to create a new c.m4.null file. For example, it is possible to create a file with macros that directly invoke the clone() system call on Linux, or the sproc() system call on IRIX, in order to create multiple processes. From our experience, it is usually straight-forward to create such a file.

If you would like to know why we are not distributing the whole benchmarks suite, with our changes incorporated, please refer to the Disclaimer section.

Last Revision: 3 July 2007