FEREBUS : Highly parallelized engine for kriging training

© 2016 The Authors. Journal of Computational Chemistry Published by Wiley Periodicals, Inc.

Détails bibliographiques
Publié dans:Journal of computational chemistry. - 1984. - 37(2016), 29 vom: 05. Nov., Seite 2606-16
Auteur principal: Di Pasquale, Nicodemo (Auteur)
Autres auteurs: Bane, Michael, Davie, Stuart J, Popelier, Paul L A
Format: Article en ligne
Langue:English
Publié: 2016
Accès à la collection:Journal of computational chemistry
Sujets:Journal Article IQA MPI OpenMP QTAIM differential evolution force field design kriging machine learning parallellization particle swarm optimization
Description
Résumé:© 2016 The Authors. Journal of Computational Chemistry Published by Wiley Periodicals, Inc.
FFLUX is a novel force field based on quantum topological atoms, combining multipolar electrostatics with IQA intraatomic and interatomic energy terms. The program FEREBUS calculates the hyperparameters of models produced by the machine learning method kriging. Calculation of kriging hyperparameters (θ and p) requires the optimization of the concentrated log-likelihood L̂(θ,p). FEREBUS uses Particle Swarm Optimization (PSO) and Differential Evolution (DE) algorithms to find the maximum of L̂(θ,p). PSO and DE are two heuristic algorithms that each use a set of particles or vectors to explore the space in which L̂(θ,p) is defined, searching for the maximum. The log-likelihood is a computationally expensive function, which needs to be calculated several times during each optimization iteration. The cost scales quickly with the problem dimension and speed becomes critical in model generation. We present the strategy used to parallelize FEREBUS, and the optimization of L̂(θ,p) through PSO and DE. The code is parallelized in two ways. MPI parallelization distributes the particles or vectors among the different processes, whereas the OpenMP implementation takes care of the calculation of L̂(θ,p), which involves the calculation and inversion of a particular matrix, whose size increases quickly with the dimension of the problem. The run time shows a speed-up of 61 times going from single core to 90 cores with a saving, in one case, of ∼98% of the single core time. In fact, the parallelization scheme presented reduces computational time from 2871 s for a single core calculation, to 41 s for 90 cores calculation. © 2016 The Authors. Journal of Computational Chemistry Published by Wiley Periodicals, Inc
Description:Date Completed 19.07.2018
Date Revised 19.07.2018
published: Print-Electronic
Citation Status PubMed-not-MEDLINE
ISSN:1096-987X
DOI:10.1002/jcc.24486