| ########################################### |
| # NAS Parallel Benchmarks 2&3 # |
| # MPI/F77/C # |
| # Revision 3.3 # |
| # NASA Ames Research Center # |
| # npb@nas.nasa.gov # |
| # http://www.nas.nasa.gov/Software/NPB/ # |
| ########################################### |
| |
| MPI Dummy Library |
| |
| |
| The MPI dummy library is supplied as a convenience for people who do |
| not have an MPI library but would like to try running on one processor |
| anyway. The NPB 2.x/3.x benchmarks are designed so that they do not |
| actually try to do any message passing when run on one node. The MPI |
| dummy library is just that - a set of dummy MPI routines which don't |
| do anything, but allow you to link the benchmarks. Actually they do a |
| few things, but nothing important. Note that the dummy library is |
| sufficient only for the NPB 2.x/3.x benchmarks. It probably won't be |
| useful for anything else because it implements only a handful of |
| functions. |
| |
| Because the dummy library is just an extra goody, and since we don't |
| have an infinite amount of time, it may be a bit trickier to configure |
| than the rest of the benchmarks. You need to: |
| |
| 1. Find out how C and Fortran interact on your machine. On most machines, |
| the fortran functon foo(x) is declared in C as foo_(xp) where xp is |
| a pointer, not a value. On IBMs, it's just foo(xp). On Cray C90s, its |
| FOO(xp). You can define CRAY or IBM to get these, or you need to |
| edit wtime.c if you've got something else. |
| |
| 2. Edit the Makefile to compile mpi_dummy.f and wtime.c correctly |
| for your machine (including -DCRAY or -DIBM if necessary). |
| |
| 3. The substitute MPI timer gives wall clock time, not CPU time. |
| If you're running on a timeshared machine, you may want to |
| use a CPU timer. Edit the function mpi_wtime() in mpi_dummy.f |
| to change this timer. (NOTE: for official benchmark results, |
| ONLY wall clock times are valid. Using a CPU timer is ok |
| if you want to get things running, but don't report any results |
| measured with a CPU timer. ) |
| |
| TROUBLESHOOTING |
| |
| o Compiling or linking of the benchmark aborts because the dummy MPI |
| header file or the dummy MPI library cannot be found. |
| - the file make.dummy in subdirectory config relies on the use |
| of the -I"path" and -L"path" -l"library" constructs to pass |
| information to the compilers and linkers. Edit this file to conform |
| to your system. |