Skip to main content

Analyzing Parallel Programming Models for Magnetic Resonance Imaging

  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 2016)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 10136))

Abstract

The last several decades have been marked by dramatic increases in the use of diagnostic medical imaging and improvements in the modalities themselves. As such, more data is being generated at an ever increasing rate. However, in the case of Magnetic Resonance Imaging (MRI) analysis and reports remain semi-quantitative, despite reported advantages of quantitative analysis (QA), due to prohibitive execution times. We present a collaborator’s QA algorithm for Dynamic Contrast-Enhanced (DCE) MRI data written in MATLAB as a case study for exploring parallel programming in MATLAB and Julia. Parallelization resulted in a 7.66x speedup in MATLAB and a 72x speedup in Julia. To the best of our knowledge, this comparison of Julia’s performance in a parallel, application-level program is novel. On the basis of these results and our experiences while programming in each language, our collaborator now prototypes in MATLAB and then ports to Julia when performance is critical.

F. Danford and E. Welch—Authors contributed equally

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Almási, G., Padua, D.: MaJIC: compiling matlab for speed and responsiveness. In: ACM SIGPLAN Notices, vol. 37, pp. 294–303. ACM (2002)

    Google Scholar 

  2. Basili, V.R., Carver, J.C., Cruzes, D., Hochstein, L.M., Hollingsworth, J.K., Shull, F., Zelkowitz, M.V.: Understanding the high-performance-computing community: a software engineer’s perspective. IEEE Softw. 25(4), 29 (2008)

    Article  Google Scholar 

  3. Bezanson, J., Edelman, A., Karpinski, S., Shah, V.B.: Julia: a fresh approach to numerical computing. arXiv preprint arXiv:1411.1607 (2014)

  4. Bezanson, J., Karpinski, S., Shah, V.B., Edelman, A.: Julia: a fast dynamic language for technical computing. arXiv preprint arXiv:1209.5145 (2012)

  5. Cárdenas-Rodríguez, J., Li, X., Whisenant, J.G., Barnes, S., Stollberger, R., Gore, J.C., Yankeelov, T.E.: The basic principles of dynamic contrast-enhanced magnetic resonance imaging. In: Bammer, R. (ed.) MR & CT Perfusion Imaging: Clinical Applications and Theoretical Principles, chapter 31. Lippincott Williams & Wilkins, Philadelphia (2016)

    Google Scholar 

  6. Casey, A., Li, J., Doherty, J., Chevalier-Boisvert, M., Aslam, T., Dubrau, A., Lameed, N., Aslam, A., Garg, R., Radpour, S., Belanger, O.S., Hendren, L., Verbrugge, C.: McLab: an extensible compiler toolkit for MATLAB and related languages. In: Proceedings of the Third C* Conference on Computer Science and Software Engineering, C3S2E 2010, pp. 114–117. ACM, New York (2010)

    Google Scholar 

  7. Chauhan, A., Kennedy, K.: Optimizing strategies for telescoping languages: procedure strength reduction and procedure vectorization. In: Proceedings of the 15th ACM International Conference on Supercomputing, New York, pp. 92–102 (2001)

    Google Scholar 

  8. Chevalier-Boisvert, M., Hendren, L., Verbrugge, C.: Optimizing MATLAB through just-in-time specialization. In: International Conference on Compiler Construction, pp. 46–65. Springer, Heidelberg (2010)

    Google Scholar 

  9. De Rose, L., Padua, D.: Techniques for the translation of MATLAB programs into FORTRAN 90. ACM Trans. Program. Lang. Syst. (TOPLAS) 21(2), 286–323 (1999)

    Article  Google Scholar 

  10. DeGrandchamp, J.B., Whisenant, J.G., Arlinghaus, L.R., Abramson, V.G., Yankeelov, T.E., Cardenas-Rodrguez, J.: Predicting response before initiation of neoadjuvant chemotherapy in breast cancer using new methods for the analysis of dynamic contrast enhanced MRI (DCE MRI) data. In: International Society for Optics and Photonics, SPIE Medical Imaging, pp. 978811–978811, March 2016

    Google Scholar 

  11. DeGrandchamp, J.B., Whisenant, J.G., Arlinghaus, L.R., Abramson, V.G., Yankeelov, T.E., Cárdenas-Rodríguez, J.: Predicting response before initiation of neoadjuvant chemotherapy in breast cancer using new methods for the analysis of dynamic contrast enhanced MRI (DCE MRI) data. In: Proceedings of SPIE, pp. 9788:978811–978811-10 (2016)

    Google Scholar 

  12. DeRose, L., Gallivan, K., Gallopoulous, E., Marsolf, B., Padua, D.: A MATLAB compiler and restructurer for the development of scientific libraries and applications. In: Preliminary Proceedings of the 8th International Workshop on Languages and Compilers for Parallel Computing, pp. 18.1–18.18, May 1995

    Google Scholar 

  13. Doherty, J., Hendren, L., Radpour, S.: Kind analysis for MATLAB. ACM SIGPLAN Not. 46(10), 99–118 (2011)

    Article  Google Scholar 

  14. Dubrau, A.W., Hendren L.J.: Taming MATLAB, vol. 47. ACM (2012)

    Google Scholar 

  15. Kumar, V., Hendren, L.: Compiling MATLAB for high performance computing via x10. Sable Technical report 03 (2013)

    Google Scholar 

  16. Li, X., Hendren, L.: Mc2FOR: a tool for automatically translating MATLAB to FORTRAN 95. In: 2014 Software Evolution Week-IEEE Conference on Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), pp. 234–243. IEEE (2014)

    Google Scholar 

  17. Markonis, D., Schaer, R., Eggel, I., Müller, H., Depeursinge, A.: Using mapreduce for large-scale medical image analysis. arXiv preprint arXiv:1510.06937 (2015)

  18. MathWorks. Matlab parallel computing toolbox users guide (2016). www.mathworks.com/help/pdf_doc/distcomp/distcomp.pdf. Accessed 20 May 2016

  19. Menon, V., Pingali, K.: A case for source-level transformations in MATLAB. In: Proceedings of the 2nd Conference on Domain-Specific Languages, pp. 53–66. USENIX Association, Berkeley, 3–5 1999

    Google Scholar 

  20. O’Connor, J.P., Jackson, A., Parker, G.J., Jayson, G.C.: DCE-MRI biomarkers in the clinical evaluation of antiangiogenic and vascular disrupting agents. Br. J. Cancer 96(2), 189–195 (2007)

    Article  Google Scholar 

  21. O’Connor, J.P.B., Tofts, P.S., Miles, K.A., Parkes, L.M., Thompson, G., Jackson, A.: Dynamic contrast-enhanced imaging techniques: CT and MRI. Br. J. Radiol. 84(2) (2011)

    Google Scholar 

  22. Ortuño, J.E., Ledesma-Carbayo, M.J., Simões, R.V., Candiota, A.P., Arús, C., Santos, A.: Dce@ urlab: a dynamic contrast-enhanced mri pharmacokinetic analysis tool for preclinical data. BMC Bioinform. 14(1), 1 (2013)

    Article  Google Scholar 

  23. Radpour, S., Hendren, L., Schäfer, M.: Refactoring MATLAB. In: Jhala, R., Bosschere, K. (eds.) CC 2013. LNCS, vol. 7791, pp. 224–243. Springer, Heidelberg (2013). doi:10.1007/978-3-642-37051-9_12

    Chapter  Google Scholar 

  24. Sharma, G., Martin, J.: MATLAB: a language for parallel computing. Int. J. Parallel Prog. 37(1), 3–36 (2009)

    Article  MATH  Google Scholar 

  25. Smith, D.S., Li, X., Arlinghaus, L.R., Yankeelov, T.E., Welch, E.B.: DCEMRI.jl: a fast, validated, open source toolkit for dynamic contrast enhanced MRI analysis. PeerJ 3, e909 (2015)

    Article  Google Scholar 

  26. Smith-Bindman, R., Miglioretti, D.L., Johnson, E., Lee, C., Feigelson, H.S., Flynn, M., Greenlee, R.T., Kruger, R.L., Hornbrook, M.C., Roblin, D., Solberg, L.I., Vanneman, N., Weinmann, S., Williams, A.E.: Use of diagnostic imaging studies and associated radiation exposure for patients enrolled in large integrated health care systems, 1996–2010. JAMA 307(22), 2400–2409 (2012)

    Article  Google Scholar 

  27. Smith-Bindman, R., Miglioretti, D.L., Larson, E.B.: Rising use of diagnostic medical imaging in a large integrated health system. Health Aff. 27(6), 1491–1502 (2008)

    Article  Google Scholar 

  28. Whitcher, B., Schmid, V.J., et al.: Quantitative analysis of dynamic contrast-enhanced and diffusion-weighted magnetic resonance imaging for oncology in r. J. Stat. Softw. 44(5), 1–29 (2011)

    Article  Google Scholar 

  29. Matlab execution engine. http://www.mathworks.com/products/matlab/matlab-execution-engine/. Accessed 26 Aug 2016

  30. Loren on the art of matlab: Run code faster with the new matlab execution engine. http://blogs.mathworks.com/loren/2016/02/12/run-code-faster-with-the-new-matlab-execution-engine/. Accessed 26 Aug 2016

  31. Techniques to improve performance. http://www.mathworks.com/help/matlab/matlab_prog/techniques-for-improving-performance.html

  32. Parallel computing - julia language 0.4.7 predocumentation. http://docs.julialang.org/en/release-0.4/manual/parallel-computing/. Accessed 11 July 2016

Download references

Acknowledgments

An allocation of computer time from the UA Research Computing High Performance Computing (HPC) and High Throughput Computing (HTC) at the University of Arizona is gratefully acknowledged by the authors.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Forest Danford .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Danford, F., Welch, E., Cárdenas-Ródriguez, J., Strout, M.M. (2017). Analyzing Parallel Programming Models for Magnetic Resonance Imaging. In: Ding, C., Criswell, J., Wu, P. (eds) Languages and Compilers for Parallel Computing. LCPC 2016. Lecture Notes in Computer Science(), vol 10136. Springer, Cham. https://doi.org/10.1007/978-3-319-52709-3_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-52709-3_15

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-52708-6

  • Online ISBN: 978-3-319-52709-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics