The Modified SPLASH-2 Home Page |
In order to get the modified version of the Splash-2 Benchmarks Suite, you have to follow these steps:
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.