Advanced Search

Journal Navigation

Journal Home

Subscriptions

Archive

Contact Us

Table of Contents

Click here to sign up for SAGE Journal Email Alerts today!

Sign In to gain access to subscriptions and/or personal tools.
International Journal of High Performance Computing Applications
This Article
Right arrow Full Text (PDF)
Right arrow References
Right arrow Alert me when this article is cited
Right arrow Alert me if a correction is posted
Services
Right arrow Email this article to a friend
Right arrow Similar articles in this journal
Right arrow Similar articles in ISI Web of Science
Right arrow Alert me to new issues of the journal
Right arrow Add to Saved Citations
Right arrow Download to citation manager
Right arrowRequest Permissions
Right arrow Request Reprints
Right arrow Add to My Marked Citations
Citing Articles
Right arrow Citing Articles via Google Scholar
Right arrow Citing Articles via Scopus
Google Scholar
Right arrow Articles by Yelick, K.
Right arrow Articles by Wen, T.
Right arrow Search for Related Content
Social Bookmarking
 Add to CiteULike   Add to Connotea   Add to Del.icio.us   Add to Digg   Add to Reddit   Add to Technorati  
What's this?

Parallel Languages and Compilers: Perspective From the Titanium Experience

K. Yelick

COMPUTER SCIENCE DIVISION, UNIVERSITY OF CALIFORNIA AT BERKELEY, YELICK{at}CS.BERKELEY.EDU, LAWRENCE BERKELEY NATIONAL LABORATORY, YELICK{at}CS.BERKELEY.EDU

P. Hilfinger

COMPUTER SCIENCE DIVISION, UNIVERSITY OF CALIFORNIA AT BERKELEY

S. Graham

COMPUTER SCIENCE DIVISION, UNIVERSITY OF CALIFORNIA AT BERKELEY

D. Bonachea

COMPUTER SCIENCE DIVISION, UNIVERSITY OF CALIFORNIA AT BERKELEY

J. Su

COMPUTER SCIENCE DIVISION, UNIVERSITY OF CALIFORNIA AT BERKELEY

A. Kamil

COMPUTER SCIENCE DIVISION, UNIVERSITY OF CALIFORNIA AT BERKELEY

K. Datta

COMPUTER SCIENCE DIVISION, UNIVERSITY OF CALIFORNIA AT BERKELEY

P. Colella

LAWRENCE BERKELEY NATIONAL LABORATORY

T. Wen

LAWRENCE BERKELEY NATIONAL LABORATORY

We describe the rationale behind the design of key features of Titanium—an explicitly parallel dialect of Java for high-performance scientific programming—and our experiences in building applications with the language. Specifically, we address Titanium's partitioned global address space model, single program multiple data parallelism support, multi-dimensional arrays and array-index calculus, memory management, immutable classes (class-like types that are value types rather than reference types), operator overloading, 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.

Key Words: Titanium • parallel • language • compiler

International Journal of High Performance Computing Applications, Vol. 21, No. 3, 266-290 (2007)
DOI: 10.1177/1094342007078449


Add to CiteULike CiteULike   Add to Connotea Connotea   Add to Del.icio.us Del.icio.us   Add to Digg Digg   Add to Reddit Reddit   Add to Technorati Technorati    What's this?