FEREBUS: Highly parallelized engine for kriging training. Issue 29 (21st September 2016) - Di Pasquale, Nicodemo; Bane, Michael; Davie, Stuart J.; Popelier, Paul L. A.
Abstract : 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 (θ andp ) 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. Abstract : In the framework of the new force‐field FFLUX, FEREBUS is a tool designed to generate kriging models in a fast and reliable way thanks to its high level of parallelization.