Learn More
We describe a parallel library written with message-passing (MPI) calls that allows algorithms to be expressed in the MapReduce paradigm. This means the calling program does not need to include explicit parallel code, but instead provides " map " and " reduce " functions that operate independently on elements of a data set distributed across processors. The(More)
The traditional, serial, algorithm for finding the strongly connected components in a graph is based on depth first search and has complexity which is linear in the size of the graph. Depth first search is difficult to parallelize, which creates a need for a different parallel algorithm for this problem. We describe the implementation of a recently proposed(More)
Extensive molecular dynamics simulations are performed on a glass-forming Lennard-Jones mixture to determine the nature of the cooperative motions occurring in this model fragile liquid. We observe stringlike cooperative molecular motion (" strings ") at temperatures well above the glass transition. The mean length of the strings increases upon cooling, and(More)
Grid partitioning is the method of choice for decomposing a wide variety of computational problems into naturally parallel pieces. In problems where computational load on the grid or the grid itself changes as the simulation progresses, the ability to repar-tition dynamically and in parallel is attractive for achieving higher performance. We describe three(More)
The time evolution of species concentrations in biochemical reaction networks is often modeled using the stochastic simulation algorithm (SSA) [Gillespie, J. Phys. Chem. 81, 2340 (1977)]. The computational cost of the original SSA scaled linearly with the number of reactions in the network. Gibson and Bruck developed a logarithmic scaling version of the SSA(More)
Government nor any agency thereof, nor any of their employees, nor any of their contractors, subcontractors, or their employees, makes any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would(More)
– The method of discrete ordinates is commonly used to solve the Boltzmann transport equation. The solution in each ordinate direction is most efficiently computed by sweeping the radiation flux across the computational grid. For unstructured grids this poses many challenges, particularly when implemented on distributed-memory parallel machines where the(More)
The multiplication of a vector by a matrix is the kernel operation in many algorithms used in scien-tiic computation. A fast and eecient parallel algorithm for this calculation is therefore desirable. This paper describes a parallel matrix{vector multiplication algorithm which is particularly well suited to dense matrices or matrices with an irregular(More)
Scientific research and engineering development are relying increasingly on computational simulation to augment theoretical analysis, e+r&rztation, and testing. May of today's problems are far too complex to yield to mathematical analyses. Likewise, large-scale experinen-tal testing is often infeasible for a variety of economic, political, or environmental(More)
Short{range molecular dynamics simulations of molecular systems are commonly parallelized by replicated{data methods, where each processor stores a copy of all atom positions. This enables computation of bonded 2{, 3{, and 4{body forces within the molecular topology to be partitioned among processors straightforwardly. A drawback to such methods is that the(More)