Skip to content

codendonut/mpiada

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

example workflow

MPI_Ada

A small research project for OpenMPI and MPICH bindings written in pure Ada.

TODO

  • Add more data types and their handles
  • More useful functions like gather and scatter

Getting it

alr with --use=https://github.com/codendonut/mpiada

Choosing a driver

Modify your alire.toml

[configuration.values]
mpiada.MPI_Vendor = "openmpi"

or

[configuration.values]
mpiada.MPI_Vendor = "mpich"

Building with it

Add the following to your GPR file (or something similar):

package Linker is
   for Required_Switches use external_as_list ("MPI_LINKER_FLAGS", " ");
end Linker;

MPICH

run the following using the environment variable defined earlier:

export MPI_LINKER_FLAGS="$(pkgconf --libs mpich)"
alr clean && alr build

OpenMPI

run the following using the environment variable defined earlier:

export MPI_LINKER_FLAGS="$(pkgconf --libs ompi-c)"
alr clean && alr build

Using it

See tests/src/tests.adb for an example

Additional Notes

There is a bug in MPICH in Ubuntu-24 that requires it to be launched via mpirun.openmpi instead of the one packaged with mpich.

About

Experimental MPI bindings for Ada

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages