Scalable software
for your toughest computations

Charmworks is a small company, directly and indirectly supported by some of the best high performance computing software expertise in in the world. We are making our initial commercial offering of the successful Charm++ software and related services for parallel software development across a wide range of problem domains.

Charm++ helps scientists, engineers and dedicated software engineers deliver better shared and distributed memory parallel application performance, overall throughput and reduced development and maintenance effort by enabling object oriented methods, dynamic load balancing, and fault tolerance with high level C++ style programming.

Charm++ delivers the above advantages with the following features:

Dividing the work into units that make sense to the program and then automatically mapping it to the execution resources

Dynamically balancing the work to maximize throughput

Automatically overlapping as much communication with computation as the program allows

Checkpoint and resilience capabilities that help all the way to exascale

Power and temperature management to reduce TCO


For Sequential Code

Charm++ offers increased performance and the ability for code to continue increasing in performance, even as computer processors stop getting faster. You will design a parallel infrastructure in Charm++ and move sections of your sequential code into this superstructure, typically all in C++. Many original sequential functions will remain unchanged.

For Shared-Memory Code

Charm++ offers increased performance on equal single-node hardware with shared memory. Further, the code will scale to larger problem sizes with increased performance by running across multiple computer nodes in a ‘distributed-memory’ fashion, with minor code modifications.

For Distributed-Memory Parallel Code

Charm++ offers improved ability to express sophisticated parallel programs, seamless automatic fault tolerance, and expert-quality facilities to automatically address concerns of communication locality, load imbalance, message aggregation, and more, that would otherwise be left unhandled or receive an ad-hoc per-application treatment.

News

Charm++ Release 6.8.2

October 26, 2017

This is a backwards-compatible patch/bug-fix release, containing just a few changes. Read more for the primary improvements. The code can be found in our Git repository as tag ‘v6.8.2’ or in a tarball
Read more.

Charm++ Release 6.8.1

October 13, 2017

This is a backwards-compatible patch/bug-fix release. Roughly 100 bug fixes, improvements, and cleanups have been applied across the entire system. Notable changes are described in the article linked here.
Read more.

2017 NERSC Award for Innovative Use of HPC

September 25, 2017

A team led by Abhinav Bhatele of Lawrence Livermore National Laboratory is being honored for using NERSC resources to determine the scaling for a realistic simulation of an infectious disease on the national level.
Read more.

more articles