Open Access. Powered by Scholars. Published by Universities.®

Physical Sciences and Mathematics Commons

Open Access. Powered by Scholars. Published by Universities.®

Articles 1 - 14 of 14

Full-Text Articles in Physical Sciences and Mathematics

An Hpspmd Programming Model, Bryan Carpenter, Geoffrey C. Fox, Guansong Zhang Jan 2000

An Hpspmd Programming Model, Bryan Carpenter, Geoffrey C. Fox, Guansong Zhang

Northeast Parallel Architecture Center

Building on research carried out in the Parallel Compiler Runtime Consortium (PCRC) project, this article discusses a language model that combines characteristic data-parallel features from the HPF standard with an explicitly SPMD programming style. This model, which we call the HPspmd model, is designed to facilitate direct calls to established libraries for parallel programming with distributed data. We describe a Java-based HPspmd language called HPJava.


Pcrc-Based Hpf Compilation, Guansong Zhang, Bryan Carpenter, Geoffrey C. Fox, Xiaoming Li Jan 1997

Pcrc-Based Hpf Compilation, Guansong Zhang, Bryan Carpenter, Geoffrey C. Fox, Xiaoming Li

Northeast Parallel Architecture Center

This paper describes an ongoing effort supported by ARPA PCRC (Parallel Compiler Runtime Consortium) project. In particular, we discuss the design and implementation of an HPF compilation system based on PCRC runtime. The approaches to issues such as directive analysis and communication detection are discussed in detail. The discussion includes fragments of code generated by the compiler.


Evaluation Of High Performance Fortran Through Application Kernels, Hon W. Yau, Geoffrey C. Fox, Ken Hawick Jan 1997

Evaluation Of High Performance Fortran Through Application Kernels, Hon W. Yau, Geoffrey C. Fox, Ken Hawick

Northeast Parallel Architecture Center

Since the definition of the High Performance Fortran (HPF) standard, we have been maintaining a suite of application kernel codes with the aim of using them to evaluate the available compilers. This paper presents the results and conclusions from this study, for sixteen codes, on compilers from IBM, DEC, and the Portland Group Inc. (PGI), and on three machines: a DEC Alphafarm, an IBM SP-2, and a Cray T3D. From this, we hope to show the prospective HPF user that scalable performance is possible with modest effort, yet also where the current weaknesses lay.


A Library-Based Approach To Task Parallelism In A Data-Parallel Language, Ian Foster, David R. Kohr, Rakesh Krishnaiyer, Alok Choudhary Jan 1996

A Library-Based Approach To Task Parallelism In A Data-Parallel Language, Ian Foster, David R. Kohr, Rakesh Krishnaiyer, Alok Choudhary

College of Engineering and Computer Science - Former Departments, Centers, Institutes and Projects

The data-parallel language High Performance Fortran (HPF) does not allow efficient expression of mixed task/data-parallel computations or the coupling of separately compiled data-parallel modules. In this paper, we show how these common parallel program structures can be represented, with only minor extensions to the HPF model, by using a coordination library based on the Message Passing Interface (MPI). This library allows data-parallel tasks to exchange distributed data structures using calls to simple communication functions. We present microbenchmark results that characterize the performance of this library and that quantify the impact of optimizations that allow reuse of communication schedules in common …


The Distributed Array Descriptor For A Pcrc Hpf Compiler Version 2.0 Sccs-770d, Bryan Carpenter, James Cowie, Donald Leskiw, Xiaoming Li Jan 1996

The Distributed Array Descriptor For A Pcrc Hpf Compiler Version 2.0 Sccs-770d, Bryan Carpenter, James Cowie, Donald Leskiw, Xiaoming Li

Northeast Parallel Architecture Center

We describe a distributed array descriptor that can be used by a runtime supporting HPFlike compilers. This descriptor captures all five types of alignment and BLOCK and CYCLIC distribution as defined in HPF specification. In essence, this descriptor does not distinguish whole array and array sections. Prior to this version, we had versions 1.0, 1.1, and 1.2. This version is not only an update of previous versions, but more importantly it also directly reflects our current practice in an HPF compilation effort.


Efficient Algorithms For Array Redistribution, Rajeev Thakur, Alok Choudhary, J. Ramanujam Jan 1996

Efficient Algorithms For Array Redistribution, Rajeev Thakur, Alok Choudhary, J. Ramanujam

Electrical Engineering and Computer Science - All Scholarship

Dynamic redistribution of arrays is required very often in programs on distributed memory parallel computers. This paper presents efficient algorithms for redistribution between different cyclic(k) distributions, as defined in High Performance Fortran. We first propose special optimized algorithms for a cyclic(x) to cyclic(y) redistribution when x is a multiple of y, or y is a multiple of x. We then propose two algorithms, called the GCD method and the LCM method, for the general cyclic(x) to cyclic(y) redistribution when there is no particular relation between x and y. We have implemented these algorithms on the Intel Touchstone Delta, and find …


Supporting Irregular Distributions Using Data-Parallel Languages, Ravi Ponnusamy, Yuan-Shin Hwang, Raja Das, Alok Choudhary, Geoffrey Fox Jan 1995

Supporting Irregular Distributions Using Data-Parallel Languages, Ravi Ponnusamy, Yuan-Shin Hwang, Raja Das, Alok Choudhary, Geoffrey Fox

Northeast Parallel Architecture Center

Languages such as Fortran D provide irregular distribution schemes that can efficiently support irregular problems. Irregular distributions can also be emulated in HPF. Compilers can incorporate runtime procedures to automatically support these distributions.


High Performance Fortran And Possible Extensions To Support Conjugate Gradient Algorithms, K. Dincer, Ken Hawick, Alok Choudhary, Geoffrey C. Fox Jan 1995

High Performance Fortran And Possible Extensions To Support Conjugate Gradient Algorithms, K. Dincer, Ken Hawick, Alok Choudhary, Geoffrey C. Fox

Northeast Parallel Architecture Center

We evaluate the High-Performance Fortran (HPF) language for the compact expression and efficient implementation of conjugate gradient iterative matrix-solvers on High Performance Computing and Communications(HPCC) platforms. We discuss the use of intrinsic functions, data distribution directives and explicitly parallel constructs to optimize performance by minimizing communications requirements in a portable manner. We focus on implementations using the existing HPF definitions but also discuss issues arising that may influence a revised definition for HPF-2. Some of the codes discussed are available on the World Wide Web at http://www.npac.syr.edu/hpfa/ alongwith other educational and discussion material related to applications in HPF.


Passion Runtime Library For The Intel Paragon, Alok Choudhary, Rajesh Bordawekar, Sachin More, K. Sivaram, Rajeev Thakur Jan 1995

Passion Runtime Library For The Intel Paragon, Alok Choudhary, Rajesh Bordawekar, Sachin More, K. Sivaram, Rajeev Thakur

Electrical Engineering and Computer Science - All Scholarship

We are developing a runtime library which provides a number of routines to perform the I/O required in parallel applications in an efficient and convenient manner. This is part of a project called PASSION, which aims to provide software support for high-performance parallel I/O at the compiler, runtime and file system levels. The PASSION Runtime Library uses a high-level interface which makes it easy for the user to specify the I/O required in the program. The user only needs to specify what portion of the data structure needs to read from or written to the file, and the PASSION routines …


Runtime Array Redistribution In Hpf Programs, Rajeev Thakur, Alok Choudhary, Geoffrey C. Fox Jan 1994

Runtime Array Redistribution In Hpf Programs, Rajeev Thakur, Alok Choudhary, Geoffrey C. Fox

Northeast Parallel Architecture Center

This paper describes efficient algorithms for runtime array redistribution in HPF programs. We consider block(m) to cyclic, cyclic to block(m) and the general cyclic(x) to cyclic(y) type redistributions. We initially describe algorithms for one-dimensional arrays and then extend the methodology to multidimensional arrays. The algorithms are practical enough to be easily implemented in the runtime library of an HPF compiler and can also be directly used in application programs requiring redistribution. Performance results on the Intel Paragon are discussed.


Data Access Reorganizations In Compiling Out-Of-Core Data Parallel Programs On Distributed Memory Machines, Rajesh Bordawekar, Alok Choudhary, Rajeev Thakur Jan 1994

Data Access Reorganizations In Compiling Out-Of-Core Data Parallel Programs On Distributed Memory Machines, Rajesh Bordawekar, Alok Choudhary, Rajeev Thakur

Electrical Engineering and Computer Science - All Scholarship

This paper describes techniques for translating out-of-core programs written in a data parallel language like HPF to message passing node programs with explicit parallel I/O. We describe the basic compilation model and various steps involved in the compilation. The compilation process is explained with the help of an out-of-core matrix multiplication program. We first discuss how an out-of-core program can be translated by extending the method used for translating in-core programs. We demonstrate that straightforward extension of in-core compiler does not work for out-of-core programs. We then describe how the compiler can optimize the code by (1) estimating the I/O …


Passion Runtime Library For Parallel I/O, Rajeev Thakur, Rajesh Bordawekar, Alok Choudhary, Ravi Ponnusamy Jan 1994

Passion Runtime Library For Parallel I/O, Rajeev Thakur, Rajesh Bordawekar, Alok Choudhary, Ravi Ponnusamy

Electrical Engineering and Computer Science - All Scholarship

We are developing a compiler and runtime support system called PASSION: Parallel And Scalable Software for Input-Output. PASSION provides software support for I/O intensive out-of-core loosely synchronous problems. This paper gives an overview of the PASSION Runtime Library and describes two of the optimizations incorporated in it, namely Data Prefetching and Data Sieving. Performance improvements provided by these optimizations on the Intel Touchstone Delta are discussed, together with an out of -core Median Filtering application.


Passion: Parallel And Scalable Software For Input-Output, Alok Choudhary, Rajesh Bordawekar, Michael Harry, Rakesh Krishnaiyer Jan 1994

Passion: Parallel And Scalable Software For Input-Output, Alok Choudhary, Rajesh Bordawekar, Michael Harry, Rakesh Krishnaiyer

Electrical Engineering and Computer Science - All Scholarship

We are developing a software system called PASSION: Parallel And Scalable Software for Input-Output which provides software support for high performance parallel I/O. PASSION provides support at the language, compiler, runtime as well as file system level. PASSION provides runtime procedures for parallel access to files (read/write), as well as for out-of-core computations. These routines can either be used together with a compiler to translate out-of-core data parallel programs written in a language like HPF, or used directly by application programmers. A number of optimizations such as Two-Phase Access, Data Sieving, Data Prefetching and Data Reuse have been incorporated in …


Compiling Distribution Directives In A Fortran 90d Compiler, Zeki Bozkus, Alok Choudhary, Geoffrey C. Fox, Sanjay Ranka Jan 1992

Compiling Distribution Directives In A Fortran 90d Compiler, Zeki Bozkus, Alok Choudhary, Geoffrey C. Fox, Sanjay Ranka

Northeast Parallel Architecture Center

Data Partitioning and mapping is one of the most important steps of in writing a parallel program; especially data parallel one. Recently, Fortran D, and subsequently, High Performance Fortran (HPF) have been proposed to allow users to specify data distributions and alignments for arrays in programs. This paper presents the design of a Fortran 90D compiler that takes a Fortran 90D program as input and produces a node program + message passing calls for distributed memory machines. Specifically, we present the design of the Data Partitioning Module that processes the alignment and distribution directives and illustrate what are the important …