A parallel programming framework orchestrating multiple languages and architectures
Abstract
This paper presents a novel parallel programming framework that orchestrates multiple languages such as C, C++, and Fortran and multiple computational architectures such as x86, POWER, and NVIDIA's Fermi to enhance productivity of parallel stencil applications while supporting high performance. Unlike traditional parallel programming frameworks, our framework provides three unique features: (1) simple meta-level, visual programming to construct workflows of components written in traditional programming languages, (2) optimal component parallelization and resource scheduling with the stencil communication pattern resolution, and (3) automatic network code generation including MPI, sockets, memory copies, and pointer passing. We prototyped incompressible computational fluid dynamics applications and demonstrate the effectiveness of our approach by evaluating our framework. © 2011 Authors.