PDF

Description

In this paper we present a case study of implementing an Adaptive Mesh Refinement algorithm in Titanium, a partitioned global address space language based on Java. We extend prior work by focusing on the problem of scalable parallelism and demonstrate the use of language, compiler, runtime and application level support to address problems of load balancing, parallelism, and communication optimizations. We demonstrate that, while the Titanium code is an order of magnitude more compact than an equivalent program written in C++ and Fortran with MPI, the Titanium implementation has comparable seriable performance and scalability. The Titanium code uses one-sided array copy operations which are transformed by the compiler to perform automatic packing using an SMP-aware communication model suitable for hybrid shared and distributed memory machines.

Details

Files

Statistics

from
to
Export
Download Full History