Learn More
High Performance Fortran (HPF) has emerged as a standard dialect of Fortran for data parallel computing. However, for a wide variety of applications, both task and data parallelism must be exploited to achieve the best possible performance on a multicomputer. We present the design and implementation of a Fortran compiler that integrates task and data(More)
Development of portable network-aware applications demands an interface to the network that allows an application to obtain information about its execution environment. This paper motivates and describes the design of Remos, an API that allows network-aware applications to obtain relevant information. The major challenges in defining a uniform interface are(More)
I Introduction One of the primary reasons debugging shared-memory parallel programs is harder than debugging sequential programs is that the implementation of a parallel program is free to execute tasks in any order and this order might change from one execution of the program to the next. This can lead to unpredictable results if a program depends on this(More)
The idea of exploiting both task and data parallelism in programs is appealing. However, identifying realistic, yet manageable example programs that can beneet from such a mix of task and data parallelism is a major problem for researchers. We address this problem by describing a suite of ve application from the domains of scientiic, signal, and image(More)
The objective of this research is to convert ordinary idle PCs into virtual clusters for executing parallel applications. The paper introduces VolpexMPI that is designed to enable seamless forward application progress in the presence of frequent node failures as well as dynamically changing networks speeds and node execution speeds. Process replica-tion is(More)
Video of a classroom lecture has been shown to be a versatile learning resource comparable to a textbook. Captions in videos are highly valued by students, especially those with hearing disability and those whose first language is not English. Captioning by automatic speech recognition (ASR) tools is of limited use because of low and variable accuracy.(More)
For many applications, achieving good performance on a private memory parallel computer requires exploiting data parallelism as well as task parallelism. Depending on the size of the input data set and the number of nodes (i.e., processors), diierent tradeoos between task and data parallelism are appropriate for a parallel system. Most existing compilers(More)
Understanding synchronization is important for a parallel programming tool that uses dependence analysis as the basis for advising programmers on the correctness of parallel constructs. This paper discusses static analysis methods that can be applied to parallel programs with event variable synchronization. The objective is to be able to predict potential(More)