Skip to main content
Log in

Improving the Execution Performance of FreeSurfer

A New Scheduled Pipeline Scheme for Optimizing the Use of CPU and GPU Resources

  • Original Article
  • Published:
Neuroinformatics Aims and scope Submit manuscript

Abstract

A scheme to significantly speed up the processing of MRI with FreeSurfer (FS) is presented. The scheme is aimed at maximizing the productivity (number of subjects processed per unit time) for the use case of research projects with datasets involving many acquisitions. The scheme combines the already existing GPU-accelerated version of the FS workflow with a task-level parallel scheme supervised by a resource scheduler. This allows for an optimum utilization of the computational power of a given hardware platform while avoiding problems with shortages of platform resources. The scheme can be executed on a wide variety of platforms, as its implementation only involves the script that orchestrates the execution of the workflow components and the FS code itself requires no modifications. The scheme has been implemented and tested on a commodity platform within the reach of most research groups (a personal computer with four cores and an NVIDIA GeForce 480 GTX graphics card). Using the scheduled task-level parallel scheme, a productivity above 0.6 subjects per hour is achieved on the test platform, corresponding to a speedup of over six times compared to the default CPU-only serial FS workflow.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

References

  • Dale, A. M., Fischl, B., & Sereno, M. I. (1999). Cortical Surface-Based Analysis I: Segmentation and Surface Reconstruction. NeuroImage, 9(2), 179–194.

    Article  CAS  PubMed  Google Scholar 

  • Fischl, B., Sereno, M. I., & Dale, A. M. (1999). Cortical Surface-Based Analysis II: Ination, Flattering and a Surface-Based Coordinate System. NeuroImage, 9(2), 175–207.

    Article  Google Scholar 

  • Fischl, B., Salat, D. H., Busa, E., Albert, M., Dieterich, M., Haselgrove, C., et al. (2002). Whole Brain Segmentation: Automated Labeling of Neuroanatomical Structures in the Human Brain. Neuron, 33, 341–355.

    Article  CAS  PubMed  Google Scholar 

  • Fischl, B., van der Kouwe, A., Destrieux, C., Halgren, E., Segonne, F., Salat, D., et al. (2004). Automatically Parcellating the Human Cerebral Cortex. Cerebral Cortex, 14, 11–22.

    Article  PubMed  Google Scholar 

  • Fung, W., Sham, I., Yuan, G., Aamodt, T. (2007). Dynamic Warp Formation and Scheduling for Efficient GPU Control Flow. In: Proceedings of the 40th Annual IEEE/ACM International Symposium on Microarchitecture (Micro). pp. 407420. IEEE Computer Society.

  • NVIDIA CUDA Programming Guide - pp. 86, 136-139 - http://developer.download.nvidia.com/compute/DevZone/docs/html/C/doc/CUDA_C_Programming Guide.pdf

  • NVIDIAs Next Generation CUDA Compute Architecture: Fermi. White Paper (Oct 2009) http://www.nvidia.com/content/PDF/fermi white papers/NVIDIA Fermi Compute Architecture Whitepaper.pdf.

  • PBS: Portable Batch System, External Reference Specification, Bayucan, A., Henderson, R. L., Lesiak, C., Mann, B., Proett, T., Tweten, D., (1999). MRJ Technology Solutions, November.

  • PSCHED: An API for Parallel Job/Resource Management, The PSCHED Working Group, November (1996).

  • Edgar R. (2011). Acceleration of the Freesurfer Suite for Neuroimaging Analysis, GPU Technology Conference.

  • Membarth, R., Lupp, J.-H., Hannig, F., Teich, J., Krner, M., & Eckert, W. (2012). Dynamic Task-Scheduling and Resource Management for GPU Accelerators in Medical Imaging, Proceedings of the 25th International Conference on Architecture of Computing Systems (ARCS), Munich.

  • SLURM: Simple Linux Utility for Resource Management, Yoo, A., Jette, M. & Grondona, M. (2003). Job Scheduling Strategies for Parallel Processing, volume 2862 of Lecture Notes in Computer Science, (pp. 44–60). Springer-Verlag.

Download references

Acknowledgments

This research has been supported by INNDACYT Association, partly funded by the Talent Empresa program of the AGAUR Agency, Knowledge and Economy Department of Generalitat de Catalunya and also MICINN-Spain under contract TIN2011-28689-C02-01.

Our work was possible thanks to the cooperation of INNDACYT Association with Port d’Informació Científica (PIC), and Hospital de la Santa Creu i Sant Pau (Barcelona). The Port d’Informació Científica (PIC) is maintained through a collaboration agreement between the Generalitat de Catalunya, CIEMAT, IFAE and the Universitat Autònoma de Barcelona.

We thank specially Richard Edgar, Bruce Fischl et al. from Athinoula A. Martinos Center for Biomedical Imaging (Harvard-MIT) for the offered support.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to J. Delgado.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Delgado, J., Moure, J.C., Vives-Gilabert, Y. et al. Improving the Execution Performance of FreeSurfer. Neuroinform 12, 413–421 (2014). https://doi.org/10.1007/s12021-013-9214-1

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s12021-013-9214-1

Keywords

Navigation