mpdcm: A toolbox for massively parallel dynamic causal modeling

BACKGROUND Dynamic causal modeling (DCM) for fMRI is an established method for Bayesian system identification and inference on effective brain connectivity. DCM relies on a biophysical model that links hidden neuronal activity to measurable BOLD signals. Currently, biophysical simulations from DCM constitute a serious computational hindrance. Here, we present Massively Parallel Dynamic Causal Modeling (mpdcm), a toolbox designed to address this bottleneck. NEW METHOD mpdcm delegates the generation of simulations from DCM's biophysical model to graphical processing units (GPUs). Simulations are generated in parallel by implementing a low storage explicit Runge-Kutta's scheme on a GPU architecture. mpdcm is publicly available under the GPLv3 license. RESULTS We found that mpdcm efficiently generates large number of simulations without compromising their accuracy. As applications of mpdcm, we suggest two computationally expensive sampling algorithms: thermodynamic integration and parallel tempering. COMPARISON WITH EXISTING METHOD(S) mpdcm is up to two orders of magnitude more efficient than the standard implementation in the software package SPM. Parallel tempering increases the mixing properties of the traditional Metropolis-Hastings algorithm at low computational cost given efficient, parallel simulations of a model. CONCLUSIONS Future applications of DCM will likely require increasingly large computational resources, for example, when the likelihood landscape of a model is multimodal, or when implementing sampling methods for multi-subject analysis. Due to the wide availability of GPUs, algorithmic advances can be readily available in the absence of access to large computer grids, or when there is a lack of expertise to implement algorithms in such grids.

[1]  Cliburn Chan,et al.  Understanding GPU Programming for Statistical Computation: Studies in Massively Parallel Massive Mixtures , 2010, Journal of computational and graphical statistics : a joint publication of American Statistical Association, Institute of Mathematical Statistics, Interface Foundation of North America.

[2]  Karl J. Friston,et al.  Variational free energy and the Laplace approximation , 2007, NeuroImage.

[3]  John K Kruschke,et al.  Bayesian data analysis. , 2010, Wiley interdisciplinary reviews. Cognitive science.

[4]  L. Shampine,et al.  A 3(2) pair of Runge - Kutta formulas , 1989 .

[5]  Qi Xu,et al.  GPU-based parallel group ICA for functional magnetic resonance data , 2015, Comput. Methods Programs Biomed..

[6]  Sandhya Dwarkadas,et al.  Parallel Metropolis coupled Markov chain Monte Carlo for Bayesian phylogenetic inference , 2002, Bioinform..

[7]  Yaohang Li,et al.  Decentralized Replica Exchange Parallel Tempering: An Efficient Implementation of Parallel Tempering Using MPI and SPRNG , 2007, ICCSA.

[8]  M. Newton,et al.  Estimating the Integrated Likelihood via Posterior Simulation Using the Harmonic Mean Identity , 2006 .

[9]  Karl J. Friston,et al.  Comparing dynamic causal models , 2004, NeuroImage.

[10]  Karl J. Friston,et al.  Comparing Families of Dynamic Causal Models , 2010, PLoS Comput. Biol..

[11]  Chun-Chuan Chen,et al.  Accelerating Computation of DCM for ERP in MATLAB by External Function Calls to the GPU , 2013, PloS one.

[12]  Anders Eklund,et al.  Medical image processing on the GPU - Past, present and future , 2013, Medical Image Anal..

[13]  J. Kirkwood Statistical Mechanics of Fluid Mixtures , 1935 .

[14]  Sudhir Raman,et al.  A hierarchical model for integrating unsupervised generative embedding and empirical Bayes , 2016, Journal of Neuroscience Methods.

[15]  Karl J. Friston,et al.  Gradient-free MCMC methods for dynamic causal modelling , 2015, NeuroImage.

[16]  A. P. Dawid,et al.  Bayesian Statistics 8 , 2007 .

[17]  David I. Ketcheson,et al.  Runge-Kutta methods with minimum storage implementations , 2010, J. Comput. Phys..

[18]  Matematik,et al.  Numerical Methods for Ordinary Differential Equations: Butcher/Numerical Methods , 2005 .

[19]  Karl J. Friston,et al.  Efficient gradient computation for dynamical models , 2014, NeuroImage.

[20]  Timothy Edward John Behrens,et al.  Accelerating Fibre Orientation Estimation from Diffusion Weighted Magnetic Resonance Imaging Using GPUs , 2012, 2012 20th Euromicro International Conference on Parallel, Distributed and Network-based Processing.

[21]  Mark A. Girolami,et al.  Estimating Bayes factors via thermodynamic integration and population MCMC , 2009, Comput. Stat. Data Anal..

[22]  Karl J. Friston,et al.  Dynamic causal modelling , 2003, NeuroImage.

[23]  Jun S. Liu,et al.  The Multiple-Try Method and Local Optimization in Metropolis Sampling , 2000 .

[24]  David J. C. MacKay,et al.  Information Theory, Inference, and Learning Algorithms , 2004, IEEE Transactions on Information Theory.

[25]  Wang,et al.  Replica Monte Carlo simulation of spin glasses. , 1986, Physical review letters.

[26]  Mariano Sigman,et al.  CUDAICA: GPU Optimization of Infomax-ICA EEG Analysis , 2012, Comput. Intell. Neurosci..

[27]  Guangbao Guo,et al.  Parallel Statistical Computing for Statistical Inference , 2012 .

[28]  Maxime Descoteaux,et al.  Dipy, a library for the analysis of diffusion MRI data , 2014, Front. Neuroinform..

[29]  Kathryn B. Laskey,et al.  Population Markov Chain Monte Carlo , 2004, Machine Learning.

[30]  Karl J. Friston,et al.  Nonlinear Dynamic Causal Models for Fmri Nonlinear Dynamic Causal Models for Fmri Nonlinear Dynamic Causal Models for Fmri , 2022 .

[31]  J. Butcher Numerical methods for ordinary differential equations , 2003 .

[32]  E. K. Blum,et al.  A modification of the Runge-Kutta fourth-order method , 1962 .

[33]  Ben Calderhead,et al.  A general construction for parallelizing Metropolis−Hastings algorithms , 2014, Proceedings of the National Academy of Sciences.

[34]  J. Williamson Low-storage Runge-Kutta schemes , 1980 .

[35]  Lin Shi,et al.  A survey of GPU-based medical image computing techniques. , 2012, Quantitative imaging in medicine and surgery.

[36]  Karl J. Friston,et al.  Comparing hemodynamic models with DCM , 2007, NeuroImage.

[37]  Adelino R. Ferreira da Silva,et al.  cudaBayesreg: Parallel Implementation of a Bayesian Multilevel Model for fMRI Data Analysis , 2011 .

[38]  George N. Reeke,et al.  Quantitative Tools for Examining the Vocalizations of Juvenile Songbirds , 2012, Comput. Intell. Neurosci..

[39]  R. Buxton,et al.  Dynamics of blood flow and oxygenation changes during brain activation: The balloon model , 1998, Magnetic resonance in medicine.

[40]  Arnaud Doucet,et al.  On the Utility of Graphics Cards to Perform Massively Parallel Simulation of Advanced Monte Carlo Methods , 2009, Journal of computational and graphical statistics : a joint publication of American Statistical Association, Institute of Mathematical Statistics, Interface Foundation of North America.

[41]  Karl J. Friston,et al.  Bayesian Estimation of Dynamical Systems: An Application to fMRI , 2002, NeuroImage.

[42]  Christian P. Robert,et al.  Using Parallel Computation to Improve Independent Metropolis–Hastings Based Estimation , 2010, ArXiv.

[43]  Pradeep Dubey,et al.  Debunking the 100X GPU vs. CPU myth: an evaluation of throughput computing on CPU and GPU , 2010, ISCA.

[44]  Karl J. Friston,et al.  A Metropolis–Hastings algorithm for dynamic causal models , 2007, NeuroImage.

[45]  Anders Eklund,et al.  BROCCOLI: Software for fast fMRI analysis on many-core CPUs and GPUs , 2014, Front. Neuroinform..

[46]  Mattias Villani,et al.  BROCCOLI: Software for fast fMRI analysis on many-core CPUs and GPUs , 2014, Front. Neuroinform..

[47]  Xiao-Li Meng,et al.  Simulating Normalizing Constants: From Importance Sampling to Bridge Sampling to Path Sampling , 1998 .