
Talk Topic: Fortress Programming Language Mini-Tutorial David Chase, Sun Microsystems August 1, 2007
Abstract Fortress is a new programming language designed for high-performance computing (HPC) with high programmability. In order to explore breakaway approaches to improving programmability, the Fortress design has not been tied to legacy language syntax or semantics; all aspects of HPC language design have been rethought from the ground up. As a result, we are able to support features in Fortress such as transactions, specification of locality, and implicit parallel computation, as integral features built into the core of the language. Features such as the Fortress component system and test framework facilitate program assembly and testing, and enable powerful compiler optimizations across library boundaries. Even the syntax and type system of Fortress are custom-tailored to modern HPC programming, supporting mathematical notation and static checking of properties such as physical units and dimensions, static type checking of multidimensional arrays and matrices, and definitions of domain-specific language syntax in libraries. Moreover, Fortress has been designed with the intent that it be a "growable" language, gracefully supporting the addition of future language features. In fact, much of the Fortress language itself (even the definition of arrays and other basic types) is encoded in libraries atop a relatively small core language.
Bio David Chase (PhD, Rice University 1988) is a Senior Staff Engineer at Sun Microsystems, Inc. He received a BSEE, MSCS, and PhD. CS from Rice University, where he studied (among other things) vectorization, programming environments, and garbage collection. Since then, he has worked on Modula-3 at Olivetti research, an optimizing compiler back- end at Sun, embarked on a ten-year tour of failing startups (spanning supercomputers to storage systems), and returned to Sun in 2003 to join the Fortress team.
|