Enlarging the scope of vector-based computations: extending Fortran 90 by nested data parallelism
Kin-Chung Au, Manuel M. T. Chakravarty, John Darlington, Yike Guo, Stefan Jähnichen, Martin Köhler, Gabriele Keller, Wolf Pfannenstiel, M. Simons · 2002
This paper describes the integration of nested data parallelism into Fortran 90. Unlike flat data parallelism, nested data parallelism directly provides means for handling irregular data structures and certain forms of control parallelism, such as divide-and-conquer algorithms thus enabling the programmer to express such algorithms far more naturally. Existing work deals with nested data parallelism in a functional environment, which does help avoid a set of problems, but makes efficient implementations more complicated. Moreover functional languages are not readily accepted by programmers used to languages such as Fortran and C, which are currently predominant in programming parallel machines. In this paper, we introduce the imperative data-parallel language Fortran 90V and give an overview of its implementation.