Live Webcast 15th Annual Charm++ Workshop

Welcome! We are the Parallel Programming Laboratory.

Our goal is to develop technology that improves performance of parallel applications while also improving programmer productivity. We aim to reach a point where, with our freely distributed software base, complex irregular and dynamic applications can (a) be developed quickly and (b) perform scalably on machines with thousands of processors.

Processor virtualization is one of our core techniques: 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 our goals together.

CharmPy: A Python Parallel Programming Framework built on Charm++
CharmPy is a parallel and distributed programming framework for Python. It is built on top of the Charm++ adaptive runtime system, which is written in C/C++. Main features of CharmPy include ease of use, quick development, speed and scalability, being able to run parallel applications on systems ranging from laptops to supercomputers.

CharmPy takes advantage of features of the Charm++ runtime, including an object-based system, asynchronous remote method execution, automatic overlap of communication and computation, and dynamic load balancing.

Among the notable...