Learn More
Exploiting the full performance potential of distributed memory machines requires a careful distribution of data across the processors. Vienna Fortran is a language extension of Fortran which provides the user with a wide range of facilities for such mapping of data structures. In contrast to current programming practice , programs in Vienna Fortran are(More)
Data parallel languages, such as High Performance F ortran, can be successfully applied to a wide range of numerical applications. However, many advanced scientic and engineering applications are multidisciplinary and heterogeneous in nature, and thus do not t well into the data parallel paradigm. In this paper we present Opus, a language designed to ll(More)
ii ACKNOWLEDGMENTS First of all I would like to thank my advisor, Rich DeMillo, who gave me the initial impetus to look into the problem of software debugging and helped me develop many ideas presented in this dissertation. I am also grateful to my co-advisor, Gene Spaord, whose expert advise, particularly on implementation issues, was always indispensable.(More)
The rapidly increasing number of cores in modern microprocessors is pushing the current high performance computing (HPC) systems into the petascale and exascale era. The hybrid nature of these systems—distributed memory across nodes and shared memory with non-uniform memory access within each node—poses a challenge to application developers. In this paper,(More)
Cloud computing environments are now widely available and are being increasingly utilized for technical computing. They are also being touted for high-performance computing (HPC) applications in science and engineering. For example, Amazon EC2 Services offers a specialized Cluster Compute instance to run HPC applications. In this paper, we compare the(More)
We h a v e recently introduced a set of Fortran language extensions that allow for integrated support of task and data parallelism, and provide for shared data abstractions SDAs as a method for communication and synchronization among these tasks. In this paper we discuss the design and implementation issues of the runtime system necessary to support these(More)