Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Refactoring to allow for alternative definition of the SURF concurrency
[simgrid.git] / examples / smpi / NAS / MPI_dummy / README
1 ###########################################
2 # NAS Parallel Benchmarks 2&3             #
3 # MPI/F77/C                               #
4 # Revision 3.3                            #
5 # NASA Ames Research Center               #
6 # npb@nas.nasa.gov                        #
7 # http://www.nas.nasa.gov/Software/NPB/   #
8 ###########################################
9
10 MPI Dummy Library
11
12
13 The MPI dummy library is supplied as a convenience for people who do
14 not have an MPI library but would like to try running on one processor
15 anyway. The NPB 2.x/3.x benchmarks are designed so that they do not
16 actually try to do any message passing when run on one node. The MPI
17 dummy library is just that - a set of dummy MPI routines which don't
18 do anything, but allow you to link the benchmarks. Actually they do a
19 few things, but nothing important. Note that the dummy library is 
20 sufficient only for the NPB 2.x/3.x benchmarks. It probably won't be
21 useful for anything else because it implements only a handful of
22 functions. 
23
24 Because the dummy library is just an extra goody, and since we don't
25 have an infinite amount of time, it may be a bit trickier to configure
26 than the rest of the benchmarks. You need to:
27
28 1. Find out how C and Fortran interact on your machine. On most machines, 
29 the fortran functon foo(x) is declared in C as foo_(xp) where xp is 
30 a pointer, not a value. On IBMs, it's just foo(xp). On Cray C90s, its
31 FOO(xp). You can define CRAY or IBM to get these, or you need to
32 edit wtime.c if you've got something else. 
33
34 2. Edit the Makefile to compile mpi_dummy.f and wtime.c correctly
35 for your machine (including -DCRAY or -DIBM if necessary). 
36
37 3. The substitute MPI timer gives wall clock time, not CPU time. 
38 If you're running on a timeshared machine, you may want to 
39 use a CPU timer. Edit the function mpi_wtime() in mpi_dummy.f
40 to change this timer. (NOTE: for official benchmark results, 
41 ONLY wall clock times are valid. Using a CPU timer is ok 
42 if you want to get things running, but don't report any results
43 measured with a CPU timer. )
44
45 TROUBLESHOOTING
46
47 o Compiling or linking of the benchmark aborts because the dummy MPI
48   header file or the dummy MPI library cannot be found.
49   - the file make.dummy in subdirectory config relies on the use
50     of the -I"path" and -L"path" -l"library" constructs to pass
51     information to the compilers and linkers. Edit this file to conform
52     to your system.