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)
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)
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)
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)
This paper evaluates the ability of a variety of commercial and non-commercial software products to detect serial run-time errors in C and C++ programs, to issue meaningful messages, and to give the line in the source code where the error occurred. The commercial products, Insure++ and Purify, evaluated did the best of all the software products we(More)
We have implemented eight of the MPI collective routines using MPI point-to-point communication routines with algorithms designed to be eecient for large messages. The performance of our implementations of these collective routines is compared with the vendor implementations on the Cray T3E-600, the Cray Origin 2000 and on the IBM SP. Many of our(More)