James A. Crotinger
Los Alamos National Laboratory
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by James A. Crotinger.
Lecture Notes in Computer Science | 1998
Steve Karmesin; James A. Crotinger; Julian C. Cummings; Scott W. Haney; William J. Humphrey; John Reynders; Stephen Smith; Timothy J. Williams
POOMA is a templated C++ class library for use in the development of large-scale scientific simulations on serial and parallel computers. POOMA II is a new design and implementation of POOMA intended to add richer capabilities and greater flexibility to the framework. The new design employs a generic Array class that acts as an interface to, or view on, a wide variety of data representation objects referred to as engines. This design separates the interface and the representation of multidimensional arrays. The separation is achieved using compile-time techniques rather than virtual functions, and thus code efficiency is maintained. POOMA II uses PETE, the Portable Expression Template Engine, to efficiently represent complex mathematical expressions involving arrays and other objects. The representation of expressions is kept separate from expression evaluation, allowing the use of multiple evaluator mechanisms that can support nested where-block constructs, hardware-specific optimizations and different run-time environments.
international conference on supercomputing | 1999
Suvas Vajracharya; Steve Karmesin; Peter H. Beckman; James A. Crotinger; Allen D. Malony; Sameer Shende; R. R. Oldehoeft; Stephen Smith
In the solution of large-scale numerical prob- lems, parallel computing is becoming simultaneously more important and more difficult. The complex organization of todays multiprocessors with several memory hierarchies has forced the scientific programmer to make a choice between simple but unscalable code and scalable but extremely com- plex code that does not port to other architectures. This paper describes how the SMARTS runtime system and the POOMA C++ class library for high-performance scientific computing work together to exploit data parallelism in scientific applications while hiding the details of manag- ing parallelism and data locality from the user. We present innovative algorithms, based on the macro -dataflow model, for detecting data parallelism and efficiently executing data- parallel statements on shared-memory multiprocessors. We also desclibe how these algorithms can be implemented on clusters of SMPS.
Selected Papers from the International Seminar on Generic Programming | 1998
James A. Crotinger; Julian C. Cummings; Scott W. Haney; William Humphrey; Steve Karmesin; John Reynders; Stephen Smith; Timothy J. Williams
POOMA is a C++ framework for developing portable scientific applications for serial and parallel computers using high-level physical abstractions. PETE is an general-purpose expression-template library employed by POOMA to implement expression evaluation. This paper discusses generic programming techniques that are used to achieve flexibility and high performance in both POOMA and PETE. POOMAs array class factors the data representation and look-up into a generic engine concept. PETEs expression templates are used to build and operate efficiently on expressions. PETE is implemented using generic techniques that allow it to adapt to a variety of client-class interfaces, and to provide a powerful and flexible compile-time expression-tree-traversal mechanism.
Archive | 1998
Julian C. Cummings; James A. Crotinger; Scott W. Haney; William Humphrey; Steve Karmesin; John Reynders; Al Stephen; Timothy Joe Williams
Archive | 1999
Scott W. Haney; James A. Crotinger; Steve Karmesin; Stephen Smith. Pete
Archive | 2002
Steve Karmesin; Scott W. Haney; B. Humphrey; Jonathon N. Cummings; Tiffani L. Williams; James A. Crotinger; Stephen J. Smith; Eugene M. Gavrilov
Computers in Physics | 1992
Scott W. Haney; James A. Crotinger
Archive | 2000
William Humphrey; John J. Ambrosiano; James A. Crotinger; Julian C. Cummings; Scott W. Haney; Steve Karmesin; Christopher B. Luchini; Stephen C. Smith; Timothy O. Williams
Lecture Notes in Computer Science | 2000
James A. Crotinger; Julian C. Cummings; Scott W. Haney; William Humphrey; Steve Karmesin; John Reynders; Stephen F. Smith; Timothy Joe Williams
Archive | 1998
Timothy Joe Williams; James A. Crotinger; Julian C. Cummings; Zhihong Lin