James Coyle

Learn More
SUMMARY MPI is commonly used to write parallel programs for distributed memory parallel computers. MPI-CHECK is a tool developed to aid in the debugging of MPI programs that are written in free or fixed format Fortran 90 and Fortran 77. MPI-CHECK provides automatic compile-time and run-time checking of MPI programs. MPI-CHECK automatically detects the(More)
The Message Passing Interface (MPI) is commonly used to write parallel programs for distributed memory parallel computers. MPI-CHECK is a tool developed to aid in the debugging of MPI programs that are written in free or fixed format Fortran 90 and Fortran 77. This paper presents the methods used in MPI-CHECK 2.0 to detect many situations where actual and(More)
This study was conducted to evaluate relative communication performance of the Cray T3E-900, the Cray Origin 2000 and the IBM P2SC on a collection of 13 communication tests. These tests call MPI routines using 2 to 64 processors with messages varying from 8 bytes to 10 MBytes. The relative performance of these machines varied depending on the communication(More)
This paper presents relative scalability results for the Cray T3E-600 and the Cray Origin 2000 on ve communication tests for a variety of message sizes and for 4, 8, 12, ..., 128 processors. The ve communication tests where chosen to represent commonly-used communication patterns with low contention (accessing distant messages, a right shift and a binary(More)
This paper presents scalability and communication performance results for a cluster of PCs running Linux with the GM communication library, a cluster of PCs running Windows NT with the HPVM communication library, a Cray T3E-600, an IBM SP and a Cray Origin 2000. Both PC clusters were using a Myrinet network. Six communication tests using MPI routines were(More)
The ability of system software to detect run-time errors and issue messages that help programmers quickly fix these errors is an important productivity criterion for developing and maintaining application programs. To evaluate this capability for Unified Parallel C (UPC), over two thousand run-time error tests and a run-time error detection (RTED)(More)
Unified Parallel C (UPC) is a language used to write parallel programs for distributed memory parallel computers. UPC-CHECK ( http://hpcgroup.public.iastate.edu/UPC-CHECK/ ) is a scalable tool developed to automatically detect argument errors in UPC functions and deadlocks in UPC programs at run-time and issue high quality error messages to help programmers(More)
This paper compares the performance of MPI derived types with user packing on a SGI Origin 2000, a Cray T3E-900, a Myrinet Linux cluster and an Ethernet Linux cluster. Four communication tests using MPI derived type routines and packing/unpacking techniques are run for a variety of message sizes using four processors on these machines. Except for one test,(More)
SUMMARY Many scientific codes can achieve significant performance improvement when executed on a computer equipped with a vector processor. Vector constructs in source code should be recognized by a vectorizing compiler or preprocessor. This paper discusses, from a general point of view, how a vectorizing compiler/preprocessor can be evaluated. The areas(More)
—Unified Parallel C (UPC) is a language used to write parallel programs for shared and distributed memory parallel computers. Deadlock detection in UPC programs requires detecting deadlocks that involve either locks, collective operations, or both. In this paper, a distributed deadlock detection algorithm for UPC programs that uses run-time analysis is(More)