The National Institute for Computational Sciences

Nautilus Software


Category: Program Dev-Languages


CHARM++ is an object oriented parallel language. CHARM++ is an explicitly parallel language based on C++ with a runtime library for supporting parallel computation called the Charm kernel. It provides a clear separation between sequential and parallel objects. The execution model of CHARM++ is message driven, thus helping one write programs that are latency-tolerant. CHARM++ supports dynamic load balancing while creating new work as well as periodically, based on object migration. Several dynamic load balancing strategies are provided. CHARM++ supports both irregular as well as regular, data-parallel applications. It is based on the CONVERSE interoperable runtime system for parallel programming.

Charm++ programs are written in C++ with a few library calls and an interface description language for publishing Charm++ objects. Charm++ supports multiple inheritance, late bindings, and polymorphism.

See Charm++ for more information.


Please reference the CHARM Programming Language Manual. The charm++ modulefile sets your path to include the charm++ bin directory and also sets CHARM_DIR to the base directory of the CHARM++ instllation.

module avail charm
module load charm


This package has the following support level : Supported

Available Versions

Version Available Builds
intel pgi gnu Other