October’s Charm++ Workshop included more than 20 talks and presentations on adaptivity in highly scalable parallel computing, recent results in adaptive runtime techniques in Charm++, and large-scale applications that rely on the runtime system.
You can watch videos of all the talks at: https://charm.cs.illinois.edu/workshops/charmWorkshop2021/program.shtml.
Keynotes at the workshop included Mitsuhisa Sato, discussing the challenges of programming ultra-scale supercomputers, and Alex Aiken, discussing the importance of focusing on productivity in the development of parallel programming tools. Prof. Sato is deputy director of Japan’s RIKEN Center for Computational Science, and Prof. Aiken is Alcatel-Lucent Professor of Computer Science at Stanford University.
Other presenters covered applications like astrophysics and plasma physics, molecular dynamics and quantum chemistry, and storm surge and coastal flooding studies. There were also talks on the new features and utility of tools like Charm++, CharmMPI, and Charm4Py.
Charm++ is a C++ based parallel programming system based on an introspective adaptive runtime system, with many features suitable for addressing upcoming extreme scale as well as mid-scale challenges, and with multiple highly scalable parallel applications such as NAMD, ChaNGa, and OpenAtom. It is developed by the Parallel Programming Laboratory at the University of Illinois Urbana-Champaign.
About the Parallel Programming Laboratory
The University of Illinois Urbana-Champaign’s Parallel Programming Laboratory develops technology that improves performance of parallel applications while also improving programmer productivity. With PPL’s freely distributed software base, which includes Charm++, complex irregular and dynamic applications can be developed quickly and perform scalably on machines with thousands of processors.Using processor virtualization, the programmer divides the computation into a large number of entities, which are mapped to the available processors by an intelligent runtime system. This separation of concerns between programmers and the system is key to attaining both goals.
Charmworks provides scalable solutions that improve productivity in parallel programming. A commercial version of Charm++, the company’s primary product and core technology, is an adaptive runtime and supporting tools that allows developers to easily incorporate automatic load balancing, fault tolerance, and energy saving features into their codes. Charmworks also offers a suite of software built on top of Charm++, including an MPI implementation called CharmMPI and a discrete event simulator called CharmDES.