Skip to content

ct-clmsn/codon_openshmem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

codon_openshmem (COS) wraps the existing Sandia OpenSHMEM library implemented by Sandia National Laboratory. COS provides the codon Python compiler Partitioned Global Address Space (PGAS) support. The codon Python compiler is not an interpreter it compiles Python applications to executables using LLVM.

Users are able to interact with OpenSHMEM using a handful of the existing OpenSHMEM functions or users are able to interact with OpenSHMEM through a class called Runtime. Users can create distributed symmetric arrays using a templated SymmetricArray class. Users can additionally leverage Codon's support for the static keyword with COS.

COS HPC users can benefit from Codon's native support for OpenMP, GPUs, existing Python extensions, and portable assembly using the LLVM IR interface.

Developer Notes

A simple example application is provided in the ./test directory along with a Makefile. The COS implementation is provided in the ./src directory, users only need to copy that file into their project directory. COS is implemented using Codon's FFI interface. Additional details on Codon's C/C++ interface are available here.

Licenses

  • Boost Version 1.0 (2022-)

Author

Christopher Taylor

Special Thanks

  • The OpenSHMEM developers and committee
  • Sandia National Labs/US Department of Energy

Dependencies

About

OpenSHMEM bindings for the Codon Python compiler

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published