Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix copyright headers
[simgrid.git] / src / smpi / README
1
2 Quick Notes : getting started with the examples
3 ===============================================
4
5 ..:: What you need ::..
6
7 - a platform file describing the environment. You can go to 
8   the Platform Description Archive (http://pda.gforge.inria.fr/) to
9   get an existing one or generate your own platform with the
10   SIMULACRUM tool (see 'Download' section there).
11
12 - a hostfile. Like in almost all MPI distributions, the hostfile
13   list the hosts which the processes will be mapped on. At present,
14   the format is one hostname per line. The hostnames must be present
15   in the platform file. 
16
17   Note: the mapping of MPI processes (ranks) follows the order of the
18         hostfile. Rank 0 is mapped to first hostname in hostfile, Rank 1
19         on second hostname, etc. If n (where -np n) is greater than the
20         number l of lines in hostfile, the mapping is done round-robin. 
21
22
23 ..:: Try the examples ::..
24
25 Go to :
26 # cd simgrid/examples/smpi
27
28 To compile an example : 
29 # ../../src/smpi/smpicc bcast.c -o bcast
30
31 Use 'smpirun' to use it then:
32
33 To run it : 
34 # ../../src/smpi/smpirun -np 3 ./bcast 
35 node 0 has value 17
36 node 2 has value 3
37 node 1 has value 3
38 node 1 has value 17
39 node 0 has value 17
40 node 2 has value 17
41 [0.000000] [smpi_kernel/INFO] simulation time 4.32934e-05
42
43
44 To run it with a specific platform:
45 # ../../src/smpi/smpirun -np 3 -platform platform.xml -hostfile hostfile ./bcast
46
47 Note that by default, the examples use the installed version of
48 simgrid. So please install it before playing with the examples, or set
49 a LD_LIBRARY_PATH variable pointing to src/.libs
50
51
52
53
54 What's implemented
55 ==================
56
57 As a proof of concept, and due to lack of time, the implementation is far from complete
58 with respect to a MPI-1.2 specification. Here is what is implemented so far. Please update
59 if you can.
60
61
62 * MPI_Datatypes:
63 MPI_BYTE  
64 MPI_CHAR  
65 MPI_INT   
66 MPI_FLOAT
67 MPI_DOUBLE
68
69
70 * MPI_Op:
71 MPI_LAND  
72 MPI_SUM   
73 MPI_PROD  
74 MPI_MIN   
75 MPI_MAX   
76
77 *primitives:
78 MPI_Init
79 MPI_Finalize
80 MPI_Abort
81 MPI_Comm_size
82 MPI_Comm_split
83 MPI_Comm_rank
84 MPI_Type_size
85 MPI_Barrier
86 MPI_Irecv
87 MPI_Recv
88 MPI_Isend
89 MPI_Send
90 MPI_Sendrecv
91 MPI_Bcast
92 MPI_Wait
93 MPI_Waitall
94 MPI_Waitany
95 MPI_Wtime
96 MPI_Reduce
97 MPI_Allreduce
98 MPI_Scatter
99 MPI_Alltoall
100
101
102