skip to main content
research-article

ODoST: Automatic Hardware Acceleration for Biomedical Model Integration

Published:11 August 2016Publication History
Skip Abstract Section

Abstract

Dynamic biomedical systems are mathematically described by Ordinary Differential Equations (ODEs) and their solution is often one of the most computationally intensive parts in biomedical simulations. With high inherent parallelism, hardware acceleration based on Field-Programmable Gate Arrays (FPGAs) has great potential to increase the computational performance of the model simulations, while being very power-efficient. However, the manual hardware implementation is complex and time consuming. The advantages of FPGA designs can only be realised if there is a general solution to automate the process. In this article, we propose a domain-specific high-level synthesis tool called ODoST that automatically generates an FPGA-based Hardware Accelerator Module (HAM) from a high-level description. In this direct approach, ODE equations are directly mapped to processing pipelines without any intermediate architecture layer of processing elements. We evaluate the generated HAMs on real hardware based on their resource usage, processing speed, and power consumption, and compare them with CPUs and a GPU. The results show that FPGA implementations can achieve 15.3 times more speedup compared to a single core CPU solution and perform similarly to an auto-generated GPU solution, while the FPGA implementations can achieve 14.5 times more power efficiency than the CPU and 3.1 times compared to the optimised GPU solution. Improved speedups are foreseeable based on further optimisations.

References

  1. Altera. 2010. Stratix V FPGAs: Built for Bandwidth. Retrieved from http://www.altera.com/devices/fpga/stratix-fpgas/stratix-v/stxv-index.jsp.Google ScholarGoogle Scholar
  2. Altera. 2011. DE4 Development and Education Board. Retrieved from http://www.altera.com/education/univ/materials/boards/de4/unv-de4-board.html.Google ScholarGoogle Scholar
  3. Altera. 2013. Stratix 10 FPGAs and SoCs. Retrieved from http://www.altera.com/devices/fpga/stratix-fpgas/stratix10/stx10-index.jsp.Google ScholarGoogle Scholar
  4. Altera. 2014. Qsys - Altera’s System Integration Tool. Retrieved from http://www.altera.com/products/software/quartus-ii/subscription-edition/qsys/qts-qsys.html.Google ScholarGoogle Scholar
  5. James Bassingthwaighte, Erik Butterworth, Bart Jardine, Gary Raymond, and Maxwell Neal. 2014. JSim, an open-source modeling system for data analysis and reproducibility in research (733.1). The FASEB Journal 28, 1 Supplement (April 2014), 733.1.Google ScholarGoogle Scholar
  6. G. W. Beeler and H. Reuter. 1977. Reconstruction of the action potential of ventricular myocardial fibres. The Journal of Physiology 268, 1 (June 1977), 177--210.Google ScholarGoogle ScholarCross RefCross Ref
  7. B. Betkaoui, D. B. Thomas, and W. Luk. 2010. Comparing performance and energy efficiency of FPGAs and GPUs for high productivity computing. In 2010 International Conference on Field-Programmable Technology (FPT). 94--101.Google ScholarGoogle Scholar
  8. Matthias Birk, Michael Zapf, Matthias Balzer, Nicole Ruiter, and Jürgen Becker. 2014. A comprehensive comparison of GPU-and FPGA-based acceleration of reflection image reconstruction for 3D ultrasound computer tomography. Journal of Real-Time Image Processing 9, 1 (2014), 159--170. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Chris Bradley, Andy Bowery, Randall Britten, Vincent Budelmann, Oscar Camara, Richard Christie, Andrew Cookson, Alejandro F. Frangi, Thiranja Babarenda Gamage, Thomas Heidlauf, and others. 2011. OpenCMISS: A multi-physics & multi-scale computational infrastructure for the VPH/Physiome project. Progress in Biophysics and Molecular Biology 107, 1 (2011), 32--47.Google ScholarGoogle ScholarCross RefCross Ref
  10. Andrew Canis, Jongsok Choi, Mark Aldham, Victor Zhang, Ahmed Kammoona, Jason H. Anderson, Stephen Brown, and Tomasz Czajkowski. 2011. LegUp: High-level synthesis for FPGA-based processor/accelerator systems. In 19th ACM/SIGDA International Symposium on Field Programmable Gate Arrays (FPGA’11). ACM, New York, NY, 33--36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. D. Chen and D. Singh. 2012. Invited paper: Using OpenCL to evaluate the efficiency of CPUS, GPUS and FPGAS for information filtering. In 2012 22nd International Conference on Field Programmable Logic and Applications (FPL). 5--12.Google ScholarGoogle Scholar
  12. Hao Chen, Song Sun, D. C. Aliprantis, and J. Zambreno. 2009. Dynamic simulation of electric machines on FPGA boards. In Electric Machines and Drives Conference, 2009. IEMDC’09. IEEE International. 1523--1528.Google ScholarGoogle Scholar
  13. J. Cong, Yiping Fan, G. Han, Wei Jiang, and Zhiru Zhang. 2006. Platform-based behavior-level and system-level synthesis. In Conference, 2006 IEEE International SOC Conference. 199--202.Google ScholarGoogle ScholarCross RefCross Ref
  14. Philippe Coussy, Cyrille Chavet, Pierre Bomel, Dominique Heller, Eric Senn, and Eric Martin. 2008. GAUT: A high-level synthesis tool for DSP applications. In High-Level Synthesis, Philippe Coussy and Adam Morawiec (Eds.). Springer, Netherlands, 147--169.Google ScholarGoogle Scholar
  15. Autumn A. Cuellar, Catherine M. Lloyd, Poul F. Nielsen, David P. Bullivant, David P. Nickerson, and Peter J. Hunter. 2003. An overview of CellML 1.1, a biological model description language. Simulation 79, 12 (2003), 740--747.Google ScholarGoogle ScholarCross RefCross Ref
  16. Christopher Cullinan, Christopher Wyant, Timothy Frattesi, and Xinming Huang. 2012. Computing performance benchmarks among CPU, GPU, and FPGA. E-project-030212-123508 (2012).Google ScholarGoogle Scholar
  17. Florent de Dinechin and Bogdan Pasca. 2010. FloPoCo, a generator of arithmetic cores for FPGAs. (2010).Google ScholarGoogle Scholar
  18. J. C. G. de Pimentel and Y. G. Tirat-Gefen. 2006. Hardware acceleration for real time simulation of physiological systems. In 28th Annual International Conference of the IEEE Engineering in Medicine and Biology Society, 2006. EMBS’06. 218--223.Google ScholarGoogle Scholar
  19. Grune Dick and H Ceriel. 1990. Parsing Techniques, a Practical Guide. Technical Report. Technical Report.Google ScholarGoogle Scholar
  20. Edsger Wybe Dijkstra. 1961. ALGOL-60 Translation. Mathematisch Centrum.Google ScholarGoogle Scholar
  21. Alan Garny, David P. Nickerson, Jonathan Cooper, Rodrigo Weber dos Santos, Andrew K. Miller, Steve McKeever, Poul M. F. Nielsen, and Peter J. Hunter. 2008. CellML and associated tools and techniques. Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences 366, 1878 (2008), 3017--3043.Google ScholarGoogle ScholarCross RefCross Ref
  22. S. Gupta, N. Dutt, R. Gupta, and A. Nicolau. 2003. SPARK: A high-level synthesis framework for applying parallelizing compiler transformations. In 16th International Conference on VLSI Design, 2003. 461--466. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. D. W. Hilgemann and D. Noble. 1987. Excitation-contraction coupling and extracellular calcium transients in rabbit atrium: Reconstruction of basic cellular mechanisms. Proceedings of the Royal Society of London. Series B, Containing Papers of a Biological Character. Royal Society (Great Britain) 230, 1259 (March 1987), 163--205.Google ScholarGoogle Scholar
  24. A. L. Hodgkin and A. F. Huxley. 1952. A quantitative description of membrane current and its application to conduction and excitation in nerve. The Journal of Physiology 117, 4 (Aug. 1952), 500--544.Google ScholarGoogle ScholarCross RefCross Ref
  25. Chen Huang, Frank Vahid, and Tony Givargis. 2013. Automatic synthesis of physical system differential equation models to a custom network of general processing elements on FPGAs. ACM Transactions on Embedded Computing Systems (TECS) 13, 2 (2013), 23. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Michael Hucka, Andrew Finney, Herbert M. Sauro, Hamid Bolouri, John C. Doyle, Hiroaki Kitano, Adam P. Arkin, Benjamin J. Bornstein, Dennis Bray, Athel Cornish-Bowden, and others. 2003. The systems biology markup language (SBML): A medium for representation and exchange of biochemical network models. Bioinformatics 19, 4 (2003), 524--531.Google ScholarGoogle ScholarCross RefCross Ref
  27. Intel. 2012. Intel Xeon Processor E5-4650 (20M Cache, 2.70 GHz, 8.00 GT/s Intel QPI). Retrieved from http://ark.intel.com/products/64622/Intel-Xeon-Processor-E5-4650-20M-Cache-2_70-GHz-8_00-GTs-Intel-QPI.Google ScholarGoogle Scholar
  28. Intel. 2014. Optimizing Performance with Intel Advanced Vector Extensions. Retrieved from http://www.intel.com/content/dam/www/public/us/en/documents/white-papers/performance-xeon-e5-v3-advanced-vector-extensions-paper.pdf.Google ScholarGoogle Scholar
  29. David Huw Jones, Adam Powell, C. Bouganis, and Peter Y. K. Cheung. 2010. GPU versus FPGA for high productivity computing. In 2010 International Conference on Field Programmable Logic and Applications (FPL). IEEE, 119--124. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. S. Kestur, J. D. Davis, and O. Williams. 2010. BLAS comparison on FPGA, CPU and GPU. In 2010 IEEE Computer Society Annual Symposium on VLSI (ISVLSI). 288--293. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Mathworks. 2014. Matlab and Simulink. Retrieved from http://www.mathworks.com.Google ScholarGoogle Scholar
  32. Andrew K. Miller, Justin Marsh, Adam Reeve, Alan Garny, Randall Britten, Matt Halstead, Jonathan Cooper, David P. Nickerson, and Poul F. Nielsen. 2010. An overview of the CellML API and its implementation. BMC Bioinformatics 11, 1 (2010), 178.Google ScholarGoogle ScholarCross RefCross Ref
  33. Bailey Miller, Frank Vahid, Tony Givargis, and Philip Brisk. 2014. Graph-based approaches to placement of processing element networks on FPGAs for physical model simulation. ACM Transactions on Reconfigurable Technology and Systems (TRETS) 7, 4 (2014), 22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. National instruments. 2014. NI LabView. http://www.ni.com/labview/.Google ScholarGoogle Scholar
  35. NSR Physiome Project. 2012. Mathematical Markup Language. Retrieved from http://nsr.bioeng.washington.edu/jsim/docs/MML_Intro.html.Google ScholarGoogle Scholar
  36. NVIDIA UK. 2011. Tesla C2050 /C2070 GPU Computing Processor. Retrieved from http://www.nvidia.co.uk/object/product_tesla_C2050_C2070_uk.html.Google ScholarGoogle Scholar
  37. T. Okuyama, M. Okita, T. Abe, Y. Asai, H. Kitano, T. Nomura, and K. Hagihara. 2014. Accelerating ODE-based simulation of general and heterogeneous biophysical models using a GPU. IEEE Transactions on Parallel and Distributed Systems 25, 8 (Aug. 2014), 1966--1975.Google ScholarGoogle ScholarCross RefCross Ref
  38. Julian Oppermann, Andreas Koch, Ting Yu, and Oliver Sinnen. 2015. Domain-specific optimisation for the high-level synthesis of CellML-based simulation accelerators. In Field Programmable Logic and Applications (FPL), 2015 25th International Conference on. IEEE, 1--7.Google ScholarGoogle ScholarCross RefCross Ref
  39. Yasunori Osana, Masato Yoshimi, Yow Iwaoka, Toshinori Kojima, Yuri Nishikawa, Akira Funahashi, Noriko Hiroi, Yuichiro Shibata, Naoki Iwanaga, Hiroaki Kitano, and Hideharu Amano. 2007. ReCSiP: An FPGA-based general-purpose biochemical simulator. Electronics and Communications in Japan (Part II: Electronics) 90, 7 (July 2007), 1--10.Google ScholarGoogle ScholarCross RefCross Ref
  40. John K. Ousterhout. 1989. Tcl: An Embeddable Command Language. Citeseer.Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Joe Pitt-Francis, Pras Pathmanathan, Miguel O. Bernabeu, Rafel Bordas, Jonathan Cooper, Alexander G. Fletcher, Gary R. Mirams, Philip Murray, James M. Osborne, Alex Walter, and others. 2009. Chaste: A test-driven approach to software development for biological modelling. Computer Physics Communications 180, 12 (2009), 2452--2471.Google ScholarGoogle ScholarCross RefCross Ref
  42. Ravikesh Chandra. 2013. Novel Approaches to Automatic Hardware Acceleration of High-Level Software.Google ScholarGoogle Scholar
  43. Diana C. Resasco, Fei Gao, Frank Morgan, Igor L. Novak, James C. Schaff, and Boris M. Slepchenko. 2012. Virtual cell: Computational tools for modeling in cell biology. Wiley Interdisciplinary Reviews: Systems Biology and Medicine 4, 2 (2012), 129--140.Google ScholarGoogle ScholarCross RefCross Ref
  44. Armin Ronacher. 2011. Jinja2 (The Python Template Engine).Google ScholarGoogle Scholar
  45. Shubhranshu. 2011. Integrating SED-ML and CellML Models on the GPU. Technical Report.Google ScholarGoogle Scholar
  46. D. B. Thomas and H. Amano. 2013. A fully pipelined FPGA architecture for stochastic simulation of chemical systems. In 2013 23rd International Conference on Field Programmable Logic and Applications (FPL). 1--7.Google ScholarGoogle Scholar
  47. TOP500. 2014. TOP500 Supercomputer. Retrieved from http://www.top500.org/project/.Google ScholarGoogle Scholar
  48. Josh Umbehr. 2008. Supercomputer Creates Most Advanced Heart Model. Retrieved from http://www.medgadget.com/2008/01/worlds_biggest_heart_model_simulated_1.html.Google ScholarGoogle Scholar
  49. Wolfram. 2014. Wolfram Mathematica: Definitive System for Modern Technical Computing. Retrieved from http://www.wolfram.com/mathematica.Google ScholarGoogle Scholar
  50. M. Yoshimi, Y. Osana, T. Fukushima, and H. Amano. 2004. Stochastic simulation for biochemical reactions on FPGA. In Field Programmable Logic and Application, JÁŒrgen Becker, Marco Platzner, and Serge Vernalde (Eds.). Number 3203 in Lecture Notes in Computer Science. Springer, Berlin, 105--114.Google ScholarGoogle Scholar
  51. Ting Yu, Chris Bradley, and Oliver Sinnen. 2013. Hardware acceleration of biomedical models with OpenCMISS and CellML. In 2013 International Conference on Field-Programmable Technology (FPT). IEEE, 370--373.Google ScholarGoogle ScholarCross RefCross Ref
  52. Ting Yu, Julian Oppermann, Chris Bradley, and Oliver Sinnen. 2016. Performance optimisation strategies for automatically generated FPGA accelerators for biomedical models. Concurrency and Computation: Practice and Experience 28, 5 (April 2016), 1480--1506. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. ODoST: Automatic Hardware Acceleration for Biomedical Model Integration

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM Transactions on Reconfigurable Technology and Systems
      ACM Transactions on Reconfigurable Technology and Systems  Volume 9, Issue 4
      Regular Papers and Special Section on Field Programmable Gate Arrays (FPGA) 2015
      September 2016
      161 pages
      ISSN:1936-7406
      EISSN:1936-7414
      DOI:10.1145/2984740
      • Editor:
      • Steve Wilton
      Issue’s Table of Contents

      Copyright © 2016 ACM

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 11 August 2016
      • Accepted: 1 December 2015
      • Revised: 1 November 2015
      • Received: 1 March 2015
      Published in trets Volume 9, Issue 4

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!