Charm++, Offload API, and the Cell Processor
Workshop on Programming Models for Ubiquitous Parallelism at PACT (PMUP) 2006
Publication Type: Paper
Repository URL:
Abstract
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.
TextRef
David Kunzman, Gengbin Zheng, Eric Bohm, and Laxmikant V. Kale
Charm++, Offload API, and the Cell Processor
In PMUP Workshop, at PACT06, September 2006
People
Research Areas