Acceleration of the MMFF94 routines within OpenBabel using Eigen and OpenCL

MSc in High Performance Computing Acceleration of the MMFF94 routines within OpenBabel using Eigen and OpenCL by Omar Valerio Minero Over the last few decades, computer modelling and computer simulation have become an invaluable tool for computational chemists interested in advancing their research and experiment in a more efficient, cost effective way with new molecules. As computer capabilities increase the demand for more accurate models and faster simulations has also grown. Some of these models have proved more successful than others with regards to their predictive power, and therefore experienced widespread adoption and support. One of these models in particular, the Merck Molecular Forcefield 94 (MMFF94), has been chosen as a study research subject for this work. The MMFF94 model and its parallelization using multicore and GPU technologies is presented in this work, using as a study frame, the implementation provided in OpenBabel, an open source cheminformatics software, that uses MMFF94 internally to compute the energy of a molecule, among other applications. The work dissects OpenBabel MMFF94 implementation with respect to its parallelization, proposes a software architecture to test and compare between single-threaded, multicore and GPUparallelized versions of MMFF94. Implementation and benchmarking were carried out for Eigen, OpenMP and OpenCL. Results of the benchmarking are discussed in the context of three different applications within OpenBabel: obenergy, obminimize and obconformer. Each of these applications scaling properties are presented together with a discussion on bottlenecks and implementation drawbacks with regard to their parallelization. In the only case where an application performance gain has been achieved (obconformer), the enabling code has been contributed back to the OpenBabel project.

[1]  T. Halgren Merck molecular force field. I. Basis, form, scope, parameterization, and performance of MMFF94 , 1996, J. Comput. Chem..

[2]  William D. Mattson,et al.  Near-neighbor calculations using a modified cell-linked list method , 1999 .

[3]  Philip C. Pratt-Szeliga,et al.  Rootbeer: Seamlessly Using GPUs from Java , 2012, 2012 IEEE 14th International Conference on High Performance Computing and Communication & 2012 IEEE 9th International Conference on Embedded Software and Systems.

[4]  Anita R. Maguire,et al.  Confab - Systematic generation of diverse low-energy conformers , 2011, J. Cheminformatics.

[5]  David Kaeli,et al.  Heterogeneous Computing with OpenCL , 2011 .

[6]  Chris Morley,et al.  Open Babel: An open chemical toolbox , 2011, J. Cheminformatics.

[7]  Evan Bolton,et al.  Assessment of Conformational Ensemble Sizes Necessary for Specific Resolutions of Coverage of Conformational Space , 2007, J. Chem. Inf. Model..

[8]  Matthew Scarpino OpenCL in Action: How to Accelerate Graphics and Computations , 2011 .

[9]  Xicheng Wang,et al.  Bioactive conformational generation of small molecules: A comparative analysis between force-field and multiple empirical criteria based methods , 2010, BMC Bioinformatics.

[10]  Jonas Boström,et al.  Assessing the performance of OMEGA with respect to retrieving bioactive conformations. , 2003, Journal of molecular graphics & modelling.

[11]  A. Leach Molecular Modelling: Principles and Applications , 1996 .