167 research outputs found
X10 for high-performance scientific computing
High performance computing is a key technology that enables large-scale physical
simulation in modern science. While great advances have been made in methods and
algorithms for scientific computing, the most commonly used programming models
encourage a fragmented view of computation that maps poorly to the underlying
computer architecture.
Scientific applications typically manifest physical locality, which means that interactions
between entities or events that are nearby in space or time are stronger
than more distant interactions. Linear-scaling methods exploit physical locality by approximating
distant interactions, to reduce computational complexity so that cost is
proportional to system size. In these methods, the computation required for each
portion of the system is different depending on that portion’s contribution to the
overall result. To support productive development, application programmers need
programming models that cleanly map aspects of the physical system being simulated
to the underlying computer architecture while also supporting the irregular
workloads that arise from the fragmentation of a physical system.
X10 is a new programming language for high-performance computing that uses
the asynchronous partitioned global address space (APGAS) model, which combines
explicit representation of locality with asynchronous task parallelism. This thesis
argues that the X10 language is well suited to expressing the algorithmic properties
of locality and irregular parallelism that are common to many methods for physical
simulation.
The work reported in this thesis was part of a co-design effort involving researchers
at IBM and ANU in which two significant computational chemistry codes
were developed in X10, with an aim to improve the expressiveness and performance
of the language. The first is a Hartree–Fock electronic structure code, implemented
using the novel Resolution of the Coulomb Operator approach. The second evaluates
electrostatic interactions between point charges, using either the smooth particle
mesh Ewald method or the fast multipole method, with the latter used to simulate
ion interactions in a Fourier Transform Ion Cyclotron Resonance mass spectrometer.
We compare the performance of both X10 applications to state-of-the-art software
packages written in other languages.
This thesis presents improvements to the X10 language and runtime libraries for
managing and visualizing the data locality of parallel tasks, communication using
active messages, and efficient implementation of distributed arrays. We evaluate these improvements in the context of computational chemistry application examples.
This work demonstrates that X10 can achieve performance comparable to established
programming languages when running on a single core. More importantly,
X10 programs can achieve high parallel efficiency on a multithreaded architecture,
given a divide-and-conquer pattern parallel tasks and appropriate use of worker-local
data. For distributed memory architectures, X10 supports the use of active messages
to construct local, asynchronous communication patterns which outperform global,
synchronous patterns. Although point-to-point active messages may be implemented
efficiently, productive application development also requires collective communications;
more work is required to integrate both forms of communication in the X10
language. The exploitation of locality is the key insight in both linear-scaling methods and
the APGAS programming model; their combination represents an attractive opportunity
for future co-design efforts
Efficient coarse-grained brownian dynamics simulations for dna and lipid bilayer membrane with hydrodynamic interactions
The coarse-grained molecular dynamics (CGMD) or Brownian dynamics (BD) simulation is a particle-based approach that has been applied to a wide range of biological problems that involve interactions with surrounding fluid molecules or the so-called hydrodynamic interactions (HIs). From simple biological systems such as a single DNA macromolecule to large and complicated systems, for instances, vesicles and red blood cells (RBCs), the numerical results have shown outstanding agreements with experiments and continuum modeling by adopting Stokesian dynamics and explicit solvent model. Finally, when combined with fast algorithms such as the fast multipole method (FMM) which has nearly optimal complexity in the total number of CG particles, the resulting method is parallelizable, scalable to large systems, and stable for large time step size, thus making the long-time large-scale BD simulation within practical reach. This will be useful for the study of a large collection of molecules or cells immersed in the fluids.
This dissertation can be divided into three main subjects: (1) An efficient algorithm is proposed to simulate the motion of a single DNA molecule in linear flows. The algorithm utilizes the integrating factor method to cope with the effect of the linear flow of the surrounding fluid and applies the Metropolis method (MM) in [N. Bou-Rabee, A. Donev, and E. Vanden-Eijnden, Multiscale Model. Simul. 12, 781 (2014)] to achieve more efficient BD simulation. More importantly, this proposed method permits much larger time step size than methods in previous literature while still maintaining the stability of the BD simulation, which is advantageous for long-time BD simulation. The numerical results on λ-DNA agree very well with both experimental data and previous simulation results. (2) Lipid bilayer membranes have been extensively studied by CGMD simulations. Numerical efficiencies have been reported in the cases of aggressive coarse-graining, where several lipids are coarse-grained into a particle of size 4 ~ 6 nm so that there is only one particle in the thickness direction. In [H. Yuan et al., Phys. Rev. E, 82, 011905 (2010)], Yuan et al. proposed a pair-potential between these one-particle-thick coarse-grained lipid particles to capture the mechanical properties of a lipid bilayer membrane, such as gel-fluid-gas phase transitions of lipids, diffusion, and bending rigidity. This dissertation provides a detailed implementation of this interaction potential in LAMMPS to simulate large-scale lipid systems such as a giant unilamellar vesicle (GUV) and RBCs. Moreover, this work also considers the effect of cytoskeleton on the lipid membrane dynamics as a model for RBC dynamics, and incorporates coarse-grained water molecules to account for hydrodynamic interactions. (3) An action field method for lipid bilayer membrane model is introduced where several lipid molecules are represented by a Janus particle with corresponding orientation pointing from lipid head to lipid tail. With this level of coarse-grained modeling, as the preliminary setup, the lipid tails occupy a half sphere and the lipid heads take the other half. An action field is induced from lipid-lipid interactions and exists everywhere in the computational domain. Therefore, a hydrophobic attraction energy can be described from utilizing the variational approach and its minimizer with respect to the action field is the so-called screened Laplace equation. For the numerical method, the well-known integral equation method (IEM) has great capability to solve exterior screened Laplace equation with Dirichlet boundary conditions. Finally, one then can obtain the lipid dynamics to validate the self-assembly property and other physical properties of lipid bilayer membrane. This approach combines continuum modeling with CGMD and gives a different perspective to the membrane energy model from the traditional Helfrich membrane free energy
User Manual for MOLSCAT, BOUND and FIELD, Version 2020.0: programs for quantum scattering properties and bound states of interacting pairs of atoms and molecules
MOLSCAT is a general-purpose package for performing non-reactive quantum
scattering calculations for atomic and molecular collisions using
coupled-channel methods. Simple atom-molecule and molecule-molecule collision
types are coded internally and additional ones may be handled with plug-in
routines. Plug-in routines may include external magnetic, electric or photon
fields (and combinations of them). Simple interaction potentials are coded
internally and more complicated ones may be handled with plug-in routines.
BOUND is a general-purpose package for performing calculations of bound-state
energies in weakly bound atomic and molecular systems using coupled-channel
methods. It solves the same sets of coupled equations as \MOLSCAT, and can use
the same plug-in routines if desired, but with different boundary conditions.
FIELD is a development of BOUND that locates external fields at which a bound
state exists with a specified energy. One important use is to locate the
positions of magnetically tunable Feshbach resonance positions in ultracold
collisions.
Versions of these programs before version 2019.0 were released separately.
However, there is a significant degree of overlap between their internal
structures and usage specifications. This manual therefore describes all three,
with careful identification of parts that are specific to one or two of the
programs.Comment: 206 pages. Program source code available from
https://github.com/molscat/molscat This is the full program documentation for
the programs described in the journal papers Comp. Phys. Commun. 241, 1-8
(2019) (arXiv:1811.09111) and Comp. Phys. Commun. 241, 9-16 (2019)
(arXiv:1811.09584). There is significant text overlap between some parts of
the documentation and the (much shorter) journal paper
- …