Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where John Reynders is active.

Publication


Featured researches published by John Reynders.


Computer Physics Communications | 1997

Comparison of C++ and Fortran 90 for object-oriented scientific programming

John R. Cary; Svetlana G. Shasharina; Julian C. Cummings; John Reynders; Paul J. Hinker

C++ and Fortran 90 are compared as object-oriented languages for use in scientific computing. C++ is a full-featured, object-oriented language that provides support for inheritance and polymorphism. Fortran 90 can mimic some object-oriented features through combinations of its TYPE and MODULE syntax elements, but it lacks inheritance and thus does not permit code reuse to the same extent as C++. Each language has other useful features unrelated to object-oriented programming, but the additional features of Fortran 90 can be included in C++ through the development of class libraries. In contrast, including the additional features of C++ in Fortran 90 would require further development of the Fortran 90 syntax. A critical feature missing in Fortran 90 is the template, which allows C++ programmers to build portable, reusable code and to dramatically improve the efficiency of the evaluation of complex expressions involving user-defined data types.


Lecture Notes in Computer Science | 1998

Array Design and Expression Evaluation in POOMA II

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.


Selected Papers from the International Seminar on Generic Programming | 1998

Generic Programming in POOMA and PETE

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.


Computers in Physics | 1998

The POOMA framework

John Reynders; Julian C. Cummings

The Parallel Object-Oriented Methods and Applications (POOMA) Framework is described. The POOMA FrameworK is an integrated collection of C++ classes designed to increase simulation lifetime and agility, ease data-parallel interfaces, and improve portability across rapidly evolving high-performance computing architectures. (AIP)


conference on scientific computing | 1997

Optimization of Data-Parallel Field Expressions in the POOMA Framework

William Humphrey; Steve Karmesin; Federico Bassetti; John Reynders

The POOMA framework is a C++ class library for the development of large-scale parallel scientific applications. POOMAs Field class implements a templated, multidimensional, data-parallel array that partitions data in a simulation domain into sub-blocks. These subdomain blocks are used on a parallel computer in data-parallel Field expressions. In this paper we describe the design of Fields, their implementation in the POOMA framework, and their performance on a Silicon Graphics Inc. Origin 2000. We focus on the aspects of the Field implementation which relate to efficient memory use and improvement of run-time performance: reducing the number of temporaries through expression templates, reducing the total memory used by compressing constant regions, and performing calculations on sparsely populated Fields by using sparse index lists.


Physics of Plasmas | 1994

Finite‐β modification of the ion‐temperature‐gradient‐driven instability in a sheared slab geometry

John Reynders

A coupled system of linear integral equations are derived from the electromagnetic gyrokinetic equations and solved in straight and sheared slab geometries. Simulation results of a finite‐β modified ion‐temperature‐gradient‐driven instability in a sheared geometry are presented. It is shown for typical tokamak parameters that the fundamental l=0 slab mode can be completely stabilized at β≊1% while the l=1 slab mode persists.


Computer Physics Communications | 1995

OOPS: an object-oriented particle simulation class library for distributed architectures

John Reynders; D. W. Forslund; Paul J. Hinker; Marydell Tholburn; David G. Kilman; William Humphrey

Abstract A general purpose, object-oriented particle simulation (OOPS) library has been developed for use on a variety of system architectures with a uniform high-level interface. This includes the development of library implementations for the CM5, PVM clusters, and the CRI T3D. Codes written on any of these platforms can be ported to other platforms without modifications by utilizing the high-level library. The general character of the library allows application to such diverse areas as plasma physics, suspension flows, vortex simulations, porous media, and materials science.


european conference on object-oriented programming | 1998

Tecolote: An Object-Oriented Framework for Physics Development

J. C. Marshall; L. A. Ankeny; S. P. Clancy; J. H. Hall; J. H. Heiken; K. S. Holian; Stephen R. Lee; G. R. McNamara; J. W. Painter; M. E. Zander; Julian C. Cummings; Scott W. Haney; Steve Karmesin; William Humphrey; John Reynders; T. W. Williams; R. L. Graham

The authors describe a C++ physics development environment, called the Tecolote Framework, which allows model developers to work more efficiently and accurately. This Framework contains a variety of meshes, operators, and parallel fields, as well as an input/output (I/O) subsystem and graphics capabilities. Model developers can inherit Tecolote`s generic model interface and use the Framework`s high-level field and operator components to write parallel physics equations. New Tecolote models are easily registered with the Framework, and they can be built and called directly from the input file, which greatly expedites model installation. In the process of developing an extensible and robust framework, they have found appealing solutions to some of the serious problems they encounter when parallelizing and extending the older codes. They also discuss memory and performance issues for a large hydrodynamics application built in this Framework.


Archive | 1997

Scientific Computing in Object-Oriented Parallel Environments

Yutaka Ishikawa; Rodney R. Oldehoeft; John Reynders; Marydell Tholburn


SC | 1995

Pooma: a high performance distributed simulation environment for scientific applications

Sujata Banerjee; Julian C. Cummings; Paul J. Hinker; M. Srikant; John Reynders; Marydell Tholburn

Collaboration


Dive into the John Reynders's collaboration.

Top Co-Authors

Avatar

Julian C. Cummings

Los Alamos National Laboratory

View shared research outputs
Top Co-Authors

Avatar

Steve Karmesin

Los Alamos National Laboratory

View shared research outputs
Top Co-Authors

Avatar

Marydell Tholburn

Los Alamos National Laboratory

View shared research outputs
Top Co-Authors

Avatar

Paul J. Hinker

Los Alamos National Laboratory

View shared research outputs
Top Co-Authors

Avatar

Scott W. Haney

Los Alamos National Laboratory

View shared research outputs
Top Co-Authors

Avatar

James A. Crotinger

Los Alamos National Laboratory

View shared research outputs
Top Co-Authors

Avatar

John R. Cary

University of Colorado Boulder

View shared research outputs
Top Co-Authors

Avatar

Stephen Smith

Los Alamos National Laboratory

View shared research outputs
Top Co-Authors

Avatar

Svetlana G. Shasharina

University of Colorado Boulder

View shared research outputs
Top Co-Authors

Avatar

Timothy J. Williams

Los Alamos National Laboratory

View shared research outputs
Researchain Logo
Decentralizing Knowledge