Skip to content

Commit 1edfaac

Browse files
committed
Merge pull request #125 from jkozdon/master
Adding info on the wrapped MPI functions
2 parents 1b8bbd8 + b532121 commit 1edfaac

File tree

1 file changed

+67
-0
lines changed

1 file changed

+67
-0
lines changed

README.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,73 @@ On other processes (i.e., the workers) the function does not return
168168
`MPI.start` must be called with option `MPI_TRANSPORT_ALL` to use MPI as transport.
169169
`mpirun -np 5 julia 06-cman-transport.jl MPI` will run the example using MPI as transport.
170170

171+
## Julia MPI-only interface
172+
173+
### Communicators:
174+
Julia interfaces to the Fortran versions of the MPI functions. Since the C and
175+
Fortran communicators are different, if a C communicator is required (e.g., to
176+
interface with a C library), this can be achieved with the Fortran to C
177+
communicator conversion:
178+
179+
```
180+
juliacomm = MPI.MPI_COMM_WORLD
181+
ccomm = MPI.CComm(juliacomm)
182+
```
183+
184+
### Currently wrapped MPI functions
185+
Convention: `MPI_Fun => MPI.Fun`
186+
187+
#### Administrative functions
188+
Julia Function (assuming `import MPI`) | Fortran Function
189+
---------------------------------------|--------------------------------------------------------
190+
`MPI.Abort` | [`MPI_Abort`](http://www.mpich.org/static/docs/latest/www3/MPI_Abort.html)
191+
`MPI.Comm_dup` | [`MPI_Comm_dup`](http://www.mpich.org/static/docs/latest/www3/MPI_Comm_dup.html)
192+
`MPI.Comm_free` | [`MPI_Comm_free`](http://www.mpich.org/static/docs/latest/www3/MPI_Comm_free.html)
193+
`MPI.Comm_rank` | [`MPI_Comm_rank`](http://www.mpich.org/static/docs/latest/www3/MPI_Comm_rank.html)
194+
`MPI.Comm_size` | [`MPI_Comm_size`](http://www.mpich.org/static/docs/latest/www3/MPI_Comm_size.html)
195+
`MPI.Finalize` | [`MPI_Finalize`](http://www.mpich.org/static/docs/latest/www3/MPI_Finalize.html)
196+
`MPI.Finalized` | [`MPI_Finalized`](http://www.mpich.org/static/docs/latest/www3/MPI_Finalized.html)
197+
`MPI.Init` | [`MPI_Init`](http://www.mpich.org/static/docs/latest/www3/MPI_Init.html)
198+
`MPI.Initialized` | [`MPI_Initialized`](http://www.mpich.org/static/docs/latest/www3/MPI_Initialized.html)
199+
200+
#### Point-to-point communication
201+
Julia Function (assuming `import MPI`) | Fortran Function
202+
---------------------------------------|--------------------------------------------------------
203+
`MPI.Cancel!` | [`MPI_Cancel`](http://www.mpich.org/static/docs/latest/www3/MPI_Cancel.html)
204+
`MPI.Get_count` | [`MPI_Get_count`](http://www.mpich.org/static/docs/latest/www3/MPI_Get_count.html)
205+
`MPI.Iprobe` | [`MPI_Iprobe`](http://www.mpich.org/static/docs/latest/www3/MPI_Iprobe.html)
206+
`MPI.Irecv!` | [`MPI_Irecv`](http://www.mpich.org/static/docs/latest/www3/MPI_Irecv.html)
207+
`MPI.Isend` | [`MPI_Isend`](http://www.mpich.org/static/docs/latest/www3/MPI_Isend.html)
208+
`MPI.Probe` | [`MPI_Probe`](http://www.mpich.org/static/docs/latest/www3/MPI_Probe.html)
209+
`MPI.Recv!` | [`MPI_Recv`](http://www.mpich.org/static/docs/latest/www3/MPI_Recv.html)
210+
`MPI.Send` | [`MPI_Send`](http://www.mpich.org/static/docs/latest/www3/MPI_Send.html)
211+
`MPI.Test!` | [`MPI_Test`](http://www.mpich.org/static/docs/latest/www3/MPI_Test.html)
212+
`MPI.Testall!` | [`MPI_Testall`](http://www.mpich.org/static/docs/latest/www3/MPI_Testall.html)
213+
`MPI.Testany!` | [`MPI_Testany`](http://www.mpich.org/static/docs/latest/www3/MPI_Testany.html)
214+
`MPI.Testsome!` | [`MPI_Testsome`](http://www.mpich.org/static/docs/latest/www3/MPI_Testsome.html)
215+
`MPI.Wait!` | [`MPI_Wait`](http://www.mpich.org/static/docs/latest/www3/MPI_Wait.html)
216+
`MPI.Waitall!` | [`MPI_Waitall`](http://www.mpich.org/static/docs/latest/www3/MPI_Waitall.html)
217+
`MPI.Waitany!` | [`MPI_Waitany`](http://www.mpich.org/static/docs/latest/www3/MPI_Waitany.html)
218+
`MPI.Waitsome!` | [`MPI_Waitsome`](http://www.mpich.org/static/docs/latest/www3/MPI_Waitsome.html)
219+
220+
221+
#### Collective communication
222+
Julia Function (assuming `import MPI`) | Fortran Function
223+
---------------------------------------|--------------------------------------------------------
224+
`MPI.Allgather` | [`MPI_Allgather`](http://www.mpich.org/static/docs/latest/www3/MPI_Allgather.html)
225+
`MPI.Allgatherv` | [`MPI_Allgatherv`](http://www.mpich.org/static/docs/latest/www3/MPI_Allgatherv.html)
226+
`MPI.Alltoall` | [`MPI_Alltoall`](http://www.mpich.org/static/docs/latest/www3/MPI_Alltoall.html)
227+
`MPI.Alltoallv` | [`MPI_Alltoallv`](http://www.mpich.org/static/docs/latest/www3/MPI_Alltoallv.html)
228+
`MPI.Barrier` | [`MPI_Barrier`](http://www.mpich.org/static/docs/latest/www3/MPI_Barrier.html)
229+
`MPI.Bcast!` | [`MPI_Bcast`](http://www.mpich.org/static/docs/latest/www3/MPI_Bcast.html)
230+
`MPI.ExScan` | [`MPI_Exscan`](http://www.mpich.org/static/docs/latest/www3/MPI_Exscan.html)
231+
`MPI.Gather` | [`MPI_Gather`](http://www.mpich.org/static/docs/latest/www3/MPI_Gather.html)
232+
`MPI.Gatherv` | [`MPI_Gatherv`](http://www.mpich.org/static/docs/latest/www3/MPI_Gatherv.html)
233+
`MPI.Reduce` | [`MPI_Reduce`](http://www.mpich.org/static/docs/latest/www3/MPI_Reduce.html)
234+
`MPI.Scan` | [`MPI_Scan`](http://www.mpich.org/static/docs/latest/www3/MPI_Scan.html)
235+
`MPI.Scatter` | [`MPI_Scatter`](http://www.mpich.org/static/docs/latest/www3/MPI_Scatter.html)
236+
`MPI.Scatterv` | [`MPI_Scatterv`](http://www.mpich.org/static/docs/latest/www3/MPI_Scatterv.html)
237+
171238

172239
[Julia]: http://julialang.org/
173240
[MPI]: http://www.mpi-forum.org/

0 commit comments

Comments
 (0)