Experiences Accelerating MATLAB Systems Biology Applications

Systems biology seeks to develop an understanding of the myriad interacting components of full biological systems, often in order to help treat or prevent diseases. System biology relies heavily on computation for parameterization of systems and their simulation. Although MATLAB is a convenient programming environment of choice for most scientists, its performance suffers because of single-threaded interpreted execution model. Optimizations of code and architectures are required in order for scientists to perform large-scale simulations on desktop machines. This paper presents a study of accelerating two typical systems biology applications, Heart Wall Tracking and Cardiac Myocyte Simulation, which result in 2.4x and 5.0x speed-ups, respectively. Our optimizations include improving single thread performance by using compiled (vs. interpreted) code as well as taking advantage of multiple thread execution by offloading parts of code via multi-core CPU or GPU. We show that each of the applications presents different programming and architectural challenges related to code structure and degree of parallelism exhibited. GPUs have the potential to provide the best speed-up if overhead due to the driver and data transfer can be eliminated. The feasibility of optimizations is analyzed in terms of the tradeoff between coding effort, degree of code modification and achievable speed-up. The paper also discusses code and architecture changes that would result in better

[1]  Kevin Skadron,et al.  A performance study of general-purpose applications on graphics processors using CUDA , 2008, J. Parallel Distributed Comput..

[2]  Alan Edelman,et al.  Parallel MATLAB: Doing it Right , 2005, Proceedings of the IEEE.

[3]  Kevin Skadron,et al.  Scalable parallel programming , 2008, 2008 IEEE Hot Chips 20 Symposium (HCS).

[4]  Scott T. Acton,et al.  Speckle reducing anisotropic diffusion , 2002, IEEE Trans. Image Process..

[5]  Donald M Bers,et al.  Calmodulin mediates differential sensitivity of CaMKII and calcineurin to local Ca2+ in cardiac myocytes. , 2008, Biophysical journal.