Network


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

Hotspot


Dive into the research topics where Julian C. Cummings is active.

Publication


Featured researches published by Julian C. Cummings.


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)


Lecture Notes in Computer Science | 1998

Particle Beam Dynamics Simulations Using the POOMA Framework

William Humphrey; Robert D. Ryne; Timothy James Cleland; Julian C. Cummings; Salman Habib; Graham Mark; Ji Qiang

A program for simulation of the dynamics of high intensity charged particle beams in linear particle accelerators has been developed in C++ using the POOMA Framework, for use on serial and parallel architectures. The code models the trajectories of charged particles through a sequence of different accelerator beamline elements such as drift chambers, quadrupole magnets, or RF cavities. An FFT-based particle-in-cell algorithm is used to solve the Poisson equation that models the Coulomb interactions of the particles. The code employs an object-oriented design with software abstractions for the particle beam, accelerator beamline, and beamline elements, using C++ templates to efficiently support both 2D and 3D capabilities in the same code base. The POOMA Framework, which encapsulates much of the effort required for parallel execution, provides particle and field classes, particle-field interaction capabilities, and parallel FFT algorithms. The performance of this application running serially and in parallel is compared to an existing HPF implementation, with the POOMA version seen to run four times faster than the HPF code.


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.


conference on scientific computing | 1997

MC++and a Transport Physics Framework

Stephen R. Lee; Julian C. Cummings; Steven D. Nolen; Noel D. Keen

The Department of Energy has launched the Accelerated Strategic Computing Initiative (ASCI) to address a pressing need for more comprehensive computer simulation capabilities in the area of nuclear weapons safety and reliability. In light of the decision by the US Government to abandon underground nuclear testing, the Science-Based Stockpile Stewardship (SBSS) program is focused on using computer modeling to assure the continued safety and effectiveness of the nuclear stockpile. The authors believe that the utilization of object-oriented design and programming techniques can help in this regard. Object-oriented programming (OOP) has become a popular model in the general software community for several reasons. MC++ is a specific ASCI-relevant application project which demonstrates the effectiveness of the object-oriented approach. It is a Monte Carlo neutron transport code written in C++. It is designed to be simple yet flexible, with the ability to quickly introduce new numerical algorithms or representations of the physics into the code. MC++ is easily ported to various types of Unix workstations and parallel computers such as the three new ASCI platforms, largely because it makes extensive use of classes from the Parallel Object-Oriented Methods and Applications (POOMA) C++ class library. The MC++ code has been successfully benchmarked using some simple physics test problems, has been shown to provide comparable serial performance and a parallel efficiency superior to that of a well-known Monte Carlo neutronics package written in Fortran, and was the first ASCI-relevant application to run in parallel on all three ASCI computing platforms.


annual simulation symposium | 1997

MC++: a parallel, portable, Monte Carlo neutron transport code in C++

Stephen R. Lee; Julian C. Cummings; Steven D. Nolen

MC++ is a multi group Monte Carlo neutron transport code written in C++ and based on the Parallel Object Oriented Methods and Applications (POOMA) class library. MC++ runs in parallel on and is portable to a wide variety of platforms, including MPPs, SMPs, clustered SMPs, and clusters of Unix workstations. MC++ is being developed to provide transport capabilities to the Accelerated Strategic Computing Initiative (ASCI). It is also intended to form the basis of the first transport physics framework (TPF), which is a C++ class library containing appropriate abstractions, objects, and methods for the particle transport problem. The transport problem is briefly described, as well as the current status and algorithms in MC++ for solving the transport equation. The alpha version of the POOMA class library is also discussed, along with the implementation of the transport solution algorithms using POOMA. Finally, some simple test problems are defined and performance and physics results on a variety of platforms are discussed.


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


high-level parallel programming models and supportive environments | 1996

POOMA: A Framework for Scientific Simulation on Parallel Architectures

John Reynders; Paul J. Hinker; Julian C. Cummings

Collaboration


Dive into the Julian C. Cummings's collaboration.

Top Co-Authors

Avatar

John Reynders

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

Scott W. Haney

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

Paul J. Hinker

Los Alamos National Laboratory

View shared research outputs
Top Co-Authors

Avatar

Stephen R. Lee

Los Alamos National Laboratory

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

John R. Cary

University of Colorado Boulder

View shared research outputs
Top Co-Authors

Avatar

Noel D. Keen

University of New Mexico

View shared research outputs
Researchain Logo
Decentralizing Knowledge