Development of a library based on skeletal parallel programming in Fortress

Information Processing Laboratory,
Department of Mathematical Informatics,
Graduate School of Information Science and Technology,
University of Tokyo


The formal period of our collaborarion research with Sun Microsysytems finished this September. However, we have agreed with continuing our collaborative research on new-style programming for reliable and efficient parallel programs. A report about the collaboration work is now available.

We have tried a (systematic) translation of Fortran programs into Fortress programs. Example translated programs can be found in the demo directory of the Fortress repository (/ProjectFortress/demos/BiCGSTAB.fss, BiCGSTAB2.fss). A report about the translation is available at

Our proposed library has been integrated into the standard library of the current Fortress. Our library can optimize nested reductions drastically and non-trivially, equipped with an optimization mechanism based on program calculation. Some example codes being optimized are found in the demo program (/ProjectFortress/demos/Generator2Demo.fss). A small tour on the library is found at the community wiki: .

About This Research

Our group will collaborate with Dr. Guy Steele and his team at Sun Microsystems Laboratories to develop a library based on skeletal parallel programming in Fortress (a programming language designed by Sun for high-performance computing). The collaborative research is expected to enhance the convenience of parallel programming significantly, and the results will be disclosed under an OSI-approved license.

Skeletal parallelism is a programming method that uses pre-defined components (skeletons) extracted from general-purpose parallel processing constructs to make parallelization process simpler and more scalable, while shielding programmers from the complexity of parallelism such as task communication and synchronization. In addition, the use of constructive algorithmics is being studied to understand the structure of programs mathematically to facilitate program generation and improve the efficiency through program transformation.

Fortress is a new programming language being created "to do for Fortran what Java(TM)-based technologies have done for C" by enabling highly productive programming constructs. The wide-ranging language constructs of Fortress and the knowledge gained from the study of skeletal parallel programming are expected to produce a synergistic effect. Once the theoretical and implementation issues of the programming language are clearly defined, development of a library will be attempted.

Research Members at IPL

  1. Graduate School of Information Science and Technology, University of Tokyo
  2. Information Systems Architecture Research Division, National institute of Informatics
  3. Division of University Corporate Relations (DUCR), The University of Tokyo
  4. School of Information, Kochi University of Technology



Our library codes have been committed to Fortress' subversion repository. Please refer to and download from the community site.


© 2008,2009 Kento EMOTO<>. All rights reserved.

Valid XHTML 1.1! Valid CSS!