Parallel Languages and Compilers: Perspective From the Titanium Experience

K. Yelick, P. Hilfinger, S. Graham, D. Bonachea, J. Su, A. Kamil, K. Datta, P. Colella, T. Wen
2007 The international journal of high performance computing applications  
We describe the rationale behind the design of key features of Titanium-an explicitly parallel dialect of Java TM for high-performance scientific programming-and our experiences in building applications with the language. Specifically, we address Titanium's Partitioned Global Address Space model, SPMD parallelism support, multi-dimensional arrays and arrayindex calculus, memory management, immutable classes (class-like types that are value types rather than reference types), operator
more » ... , and generic programming. We provide an overview of the Titanium compiler implementation, covering various parallel analyses and optimizations, Titanium runtime technology and the GASNet network communication layer. We summarize results and lessons learned from implementing the NAS parallel benchmarks, elliptic and hyperbolic solvers using Adaptive Mesh Refinement, and several applications of the Immersed Boundary method.
doi:10.1177/1094342007078449 fatcat:y52hkslgw5fbtjiyb3viwy3quq