PPL Logo
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

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)

 
Software
The multiblock framework has been integrated into the Charm++/Converse distribution. Please download the source distribution and install the framework by specifying the target "MBLOCK" to the Charm++ build command. (For details, see the README file in the source distribution.) Also, see the MBLOCK Manual. [postscript] [PDF] [html]
Papers
  • 00-01    Milind A. Bhandarkar and L. V. Kale,  A Parallel Framework for Explicit FEM,  Proceedings of the International Conference on High Performance Computing (HiPC 2000), Lecture Notes in Computer Science, Vol 1970, Eds: M. Valero and V. K. Prasanna and S. Vajpeyam, Springer Verlag, December 2000, pp. 385-395.
  • 98-09    L. V. Kale,  Programming Languages for CSE: the state of the art,  IEEE Computational Science and Engineering
Related Links

This page maintained by Isaac Dooley. Back to the PPL Research Page