No Arabic abstract
Replica Exchange (RE) simulations have emerged as an important algorithmic tool for the molecular sciences. RE simulations involve the concurrent execution of independent simulations which infrequently interact and exchange information. The next set of simulation parameters are based upon the outcome of the exchanges. Typically RE functionality is integrated into the molecular simulation software package. A primary motivation of the tight integration of RE functionality with simulation codes has been performance. This is limiting at multiple levels. First, advances in the RE methodology are tied to the molecular simulation code. Consequently these advances remain confined to the molecular simulation code for which they were developed. Second, it is difficult to extend or experiment with novel RE algorithms, since expertise in the molecular simulation code is typically required. In this paper, we propose the RepEx framework which address these aforementioned shortcomings of existing approaches, while striking the balance between flexibility (any RE scheme) and scalability (tens of thousands of replicas) over a diverse range of platforms. RepEx is designed to use a pilot-job based runtime system and support diverse RE Patterns and Execution Modes. RE Patterns are concerned with synchronization mechanisms in RE simulation, and Execution Modes with spatial and temporal mapping of workload to the CPU cores. We discuss how the design and implementation yield the following primary contributions of the RepEx framework: (i) its ability to support different RE schemes independent of molecular simulation codes, (ii) provide the ability to execute different exchange schemes and replica counts independent of the specific availability of resources, (iii) provide a runtime system that has first-class support for task-level parallelism, and (iv) required scalability along multiple dimensions.
In the replica-exchange molecular dynamics method, where constant-temperature molecular dynamics simulations are performed in each replica, one usually rescales the momentum of each particle after replica exchange. This rescaling method had previously been worked out only for the Gaussian constraint method. In this letter, we present momentum rescaling formulae for four other commonly used constant-temperature algorithms, namely, Langevin dynamics, Andersen algorithm, Nos{e}-Hoover thermostat, and Nos{e}-Poincar{e} thermostat. The effectiveness of these rescaling methods is tested with a small biomolecular system, and it is shown that proper momentum rescaling is necessary to obtain correct results in the canonical ensemble.
Efficient computational methods that are capable of supporting experimental measures obtained at constant values of pH and redox potential are important tools as they serve to, among other things, provide additional atomic level information that cannot be obtained experimentally. Replica Exchange is an enhanced sampling technique that allows converged results to be obtained faster in comparison to regular molecular dynamics simulations. In this work we report the implementation, also available with GPU-accelerated code, of pH and redox potential (E) as options for multidimensional REMD simulations in AMBER. Previous publications have only reported multidimensional REMD simulations with the temperature and Hamiltonian dimensions. In this work results are shown for N-acetylmicroperoxidase-8 (NAcMP8) axially connected to a histidine peptide. This is a small system that contains only a single heme group. We compare results from E,pH-REMD, E,T-REMD and E,T,pH-REMD to one dimensional REMD simulations and to simulations without REMD. We show that 2D-REMD simulations improve sampling convergence in comparison to 1D-REMD simulations, and that 3D-REMD further improves convergence in comparison to 2D-REMD simulations. Also, our computational benchmarks show that our multidimensional REMD calculations have a small and bearable computational performance, essentially the same as one dimensional REMD. However, in multidimensional REMD a significantly higher number of replicas is required as the number of replicas scales geometrically with the number of dimensions, which requires additional computational resources. In addition to the pH dependence on standard redox potential values and the redox potential dependence on pKa values,we also investigate the influence of the temperature in our results. We observe an agreement between our computational results and theoretical predictions.
As machine learning (ML) has seen increasing adoption in safety-critical domains (e.g., autonomous vehicles), the reliability of ML systems has also grown in importance. While prior studies have proposed techniques to enable efficient error-resilience techniques (e.g., selective instruction duplication), a fundamental requirement for realizing these techniques is a detailed understanding of the applications resilience. In this work, we present TensorFI, a high-level fault injection (FI) framework for TensorFlow-based applications. TensorFI is able to inject both hardware and software faults in general TensorFlow programs. TensorFI is a configurable FI tool that is flexible, easy to use, and portable. It can be integrated into existing TensorFlow programs to assess their resilience for different fault types (e.g., faults in particular operators). We use TensorFI to evaluate the resilience of 12 ML programs, including DNNs used in the autonomous vehicle domain. Our tool is publicly available at https://github.com/DependableSystemsLab/TensorFI.
Molecular Dynamics (MD) codes predict the fundamental properties of matter by following the trajectories of a collection of interacting model particles. To exploit diverse modern manycore hardware, efficient codes must use all available parallelism. At the same time they need to be portable and easily extendible by the domain specialist (physicist/chemist) without detailed knowledge of this hardware. To address this challenge, we recently described a new Domain Specific Language (DSL) for the development of performance portable MD codes based on a Separation of Concerns: a Python framework automatically generates efficient parallel code for a range of target architectures. Electrostatic interactions between charged particles are important in many physical systems and often dominate the runtime. Here we discuss the inclusion of long-range interaction algorithms in our code generation framework. These algorithms require global communications and careful consideration has to be given to any impact on parallel scalability. We implemented an Ewald summation algorithm for electrostatic forces, present scaling comparisons for different system sizes and compare to the performance of existing codes. We also report on further performance optimisations delivered with OpenMP shared memory parallelism.
The implementation of Molecular Dynamics (MD) on FPGAs has received substantial attention. Previous work, however, has consisted of either proof-of-concept implementations of components, usually the range-limited force; full systems, but with much of the work shared by the host CPU; or prototype demonstrations, e.g., using OpenCL, that neither implement a whole system nor have competitive performance. In this paper, we present what we believe to be the first full-scale FPGA-based simulation engine, and show that its performance is competitive with a GPU (running Amber in an industrial production environment). The system features on-chip particle data storage and management, short- and long-range force evaluation, as well as bonded forces, motion update, and particle migration. Other contributions of this work include exploring numerous architectural trade-offs and analysis on various mappings schemes among particles/cells and the various on-chip compute units. The potential impact is that this system promises to be the basis for long timescale Molecular Dynamics with a commodity cluster.