@@ -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