Skip to content

emer/empi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eMPI: Message Passing Interface

Go Report Card GoDoc

IMPORTANT UPDATE: Cogent Core now has an improved version of empi in its mpi and tensormpi packages. This version will not be further maintained or developed. The v1 version is still needed for the v1 version of emergent.

eMPI contains Go wrappers around the MPI message passing interface for distributed memory computation, in the empi/mpi package. This has no other dependencies and uses code generation to provide support for all Go types.

You must set the mpi build tag to actually have it build using the mpi library -- the default is to build a dummy version that has 1 proc of rank 0 always, and nop versions of all the methods.

$ go build -tags mpi

The empi/empi package has methods to support use of MPI in emergent simulations:

  • Gathering etable.Table and etensor.Tensor data across processors.

  • AllocN allocates n items to process across mpi processors.

Development

After updating any of the template files, you need to update the generated go files like so:

cd mpi
go install github.com/apache/arrow/go/arrow/_tools/tmpl
make generate