Fortran90 Bindings for Charm++

Charm++ is a parallel object language based on C++. The f90charm module is to provide Fortran90 programs a f90 interface to Charm++. Using the F90Charm interface, users can write Fortran90 programs in a fashion similar to Charm++, which allows creation of parallel object arrays (Chare Arrays) and sending messages between them.

To interface Fortran90 to Charm++ and thus obtain a parallel version of your program you need to do the following things:

  1. Write a Charm Interface file (extension .ci)
  2. Write your F90 program with f90charmmain() as main program;
  3. Write implementations of Chare entry methods in the F90 program;
  4. Compile and Link with Charm's Fortran library
  5. Run it!