Skip to content

yoo/go-mpi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6544b07 · Apr 28, 2014

History

15 Commits
Apr 24, 2013
Apr 3, 2014
Apr 3, 2014
Apr 3, 2014
Apr 3, 2014
Apr 28, 2014
Apr 28, 2014
Apr 3, 2014
Apr 3, 2014
Apr 3, 2014
Apr 3, 2014
Apr 3, 2014
Apr 28, 2014
Apr 28, 2014
Apr 3, 2014
Apr 3, 2014
Apr 3, 2014
Apr 3, 2014
Apr 3, 2014
Apr 3, 2014
Apr 3, 2014
Apr 3, 2014
Apr 3, 2014
Apr 3, 2014
Apr 3, 2014
Apr 3, 2014

Repository files navigation

go-mpi

go-mpi are GO bindings for the Message Passing Interface (MPI Forum).

Installation

MPI is a standard but the different implementations differ in some details. At the moment go-mpi support Open MPI and MPICH version 2.

To tell go where to look for the MPI library use the CGO_LDFALG environment variable. The following instructions uses the default path for Open MPI and MPICH.

For Open MPI:

export CGO_LDFLAGS='-L/usr/lib/openmpi -lmpi'
go get -tags openmpi github.com/JohannWeging/go-mpi

For MPICH:

export CGO_LDFLAGS='-L/usr/lib/ -lmpich'
go get -tags mpich github.com/JohannWeging/go-mpi

Syntax

The syntax is similar to the C syntax of MPI.

<package_name>.Mpi_function(arguments)

If the bindings are imported as "MPI":

  err = MPI.Init(os.Args)

Output parameter like request objects are returned by the function and not passed as pointers inside the arguments.

  C:
  err = MPI_Irecv(recvBuffer, count, MPI_INT, 0, 1, MPI_COMM_WROLD, &request)

  GO:
  err = MPI.Irecv(recvBuffer, count, MPI.INT, 0, 1, MPI.COMM_WORLD, &request)

About

MPI bindings for go.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published