Live Webcast 15th Annual Charm++ Workshop

Charm++, Offload API, and the Cell Processor
Workshop on Programming Models for Ubiquitous Parallelism at PACT (PMUP) 2006
Publication Type: Paper
Repository URL:
As multicore processor designs become more mainstream, it becomes more important to both expose and efficiently exploit parallelism in a clear and straight forward manner. We believe that the Charm++ paradigm is a good fit for the Cell processor (a heterogeneous multicore processor). Many aspects of the Charm++ runtime system allow it to take advantage of the benefits provided by the Cell processor in a clear and natural manner. These aspects include being able to peek ahead in the message queue, effective prefetching of data, virtualization, encapsulation of data, etc. In adapting the Charm++ runtime system to be able to use the Cell processor, we have developed the Offload API. The Offload API is a general purpose API, which can be used independently of Charm++, that allows a program to easily take advantage of the Cell's potential. Additionally, Charm++ applications are portable between many existing platforms in common use today. By adapting the Charm++ runtime system to utilize the Cell processor without modification to the user's application code, Cell programs written using Charm++ will automatically be portable to Cell-based platforms. Finally, we will discuss some initial efforts in porting the popular molecular dynamics program NAMD to the Cell processor.
David Kunzman, Gengbin Zheng, Eric Bohm, and Laxmikant V. Kale Charm++, Offload API, and the Cell Processor In PMUP Workshop, at PACT06, September 2006
Research Areas