Frameworks: 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)
People
Papers/Talks
00-01
2000
[Paper]
A Parallel Framework for Explicit FEM [HiPC 2000]
98-09
1998
[Paper]
Programming Languages for CSE: the state of the art [IEEE Computational Science and Engineering 1998]