Live Webcast 15th Annual Charm++ Workshop


PPL/Charm++ at SC17

Older Projects:
Multiblock Framework
The multiblock framework makes it easy to write adaptive parallel programs that use adjacent structured grids (multiple blocks). Programs can be written in Fortran90, C, or C++.

Multiple Adjacent Regular Blocks Multiple Adjacent Regular Blocks

Using the multiblock framework also allows you to take advantage of all the features of CHARM++, including run-time load balancing, performance monitoring and visualization, and checkpoint/restart, with no additional effort.

A parallel multiblock application written using the framework closely resembles a sequential program. The difference is that in the multiblock framework, the user's main subroutine operates on a single subblock of the structured mesh. The framework partitions the serial mesh into the parallel mesh, and performs all needed communication between blocks.

The only other calls needed by a multiblock framework program are to:
  • Register data fields that need to be communicated between blocks (for example, the data in ghost cells)
  • Trigger an "update" of these shared data fields across blocks
  • Reduce a value across the machine (for example, to check convergence criteria or global energy)
A Parallel Framework for Explicit FEM [HiPC 2000]
Programming Languages for CSE: The State of the Art [IEEE Computational Science and Engineering 1998]