top of page

Charm Software Suite

Our portfolio is based on a unique software core that provides runtime adaptivity, which optimizes performance as the program executes based on continuous introspection.  These adaptive capabilities include automating load balancing, fault tolerance, resource elasticity and communication optimization. This revolutionary software suite reduces development efforts for programmers and delivers unparalleled performance.

Charm++ is a leading edge parallel programming system based on migratable objects and supported by a powerful adaptive runtime system. It enables industry innovators to quickly develop parallel applications with high efficiency to maintain their edge on their competition.

CharmMPI is an MPI implementation built on top of  the leading-edge Charm++ parallel programming system. It enables MPI programmers to achieve high scaling parallelization with less time and effort compared to other MPI implementations. 

CharmDES is a C++-based parallel discrete event simulator (PDES) built on top of Charm++. It uses state-of-the art adaptive algorithms and automatic load balancing to provide unprecedented performance and scalability for models in any domain.


In partnership with the University of Illinois, Charmworks is the exclusive commercial licensor for the Charm++ parallel programming system and its associated tools. For each our products, Charm++, CharmMPI, and CharmDES, we support two licensing models:

In-House License

If you are developing software for in-house use, our basic in-house use license includes 2 developer seats and runtime licenses for up to 10 nodes on your specific cluster. Runtime licenses for running on a higher number of nodes cost more but with lower costs per node with higher node counts.


ISV License

If you are developing software that you sell, our basic ISV license includes 2 developer seats and either royalties or volume licensing for copies of software that you sell.



Our staff is available to provide tutorials and training in parallel computing, focusing on scalable algorithm design and efficient implementation using the Charm software suite. The training sessions can range from short introductions of a few hours to a week-long hands-on tutorial. We tailor coverage and presentation with your group’s knowledge and experience.

Consulting and Contracts

Charmworks has highly experienced and qualified experts in parallel programming, with knowledge of multiple hardware platforms, and application areas. We can provide you with contract services that include design assistance, performance analysis, performance tuning and parallel programming. We also provide consulting services at various levels.


Application design review is included with all developer licenses, to ensure you get the full benefits of using the Charm++ software suite. Furthermore, we can assist with installation optimized for your environment, and integration with your scheduler and resource manager. We also include bug reporting and feature enhancement request services.

bottom of page