Irregular Computations in Fortran – Expression and Implementation Strategies

Modern dialects of Fortran enjoy wide use and good support on high‐performance computers as performance‐oriented programming languages. By providing the ability to express nested data parallelism, modern Fortran dialects enable irregular computations to be incorporated into existing applications wit...

Full description

Bibliographic Details
Main Authors: Jan F. Prins, Siddhartha Chatterjee, Martin Simons
Format: Article
Language:English
Published: Hindawi Limited 1999-01-01
Series:Scientific Programming
Online Access:http://dx.doi.org/10.1155/1999/607659
Description
Summary:Modern dialects of Fortran enjoy wide use and good support on high‐performance computers as performance‐oriented programming languages. By providing the ability to express nested data parallelism, modern Fortran dialects enable irregular computations to be incorporated into existing applications with minimal rewriting and without sacrificing performance within the regular portions of the application. Since performance of nested data‐parallel computation is unpredictable and often poor using current compilers, we investigate threading and flattening, two source‐to‐source transformation techniques that can improve performance and performance stability. For experimental validation of these techniques, we explore nested data‐parallel implementations of the sparse matrix‐vector product and the Barnes–Hut n‐body algorithm by hand‐coding thread‐based (using OpenMP directives) and flattening‐based versions of these algorithms and evaluating their performance on an SGI Origin 2000 and an NEC SX‐4, two shared‐memory machines.
ISSN:1058-9244
1875-919X