, Volume 12, Issue 3, pp 413–421 | Cite as

Improving the Execution Performance of FreeSurfer

A New Scheduled Pipeline Scheme for Optimizing the Use of CPU and GPU Resources
  • J. DelgadoEmail author
  • J. C. Moure
  • Y. Vives-Gilabert
  • M. Delfino
  • A. Espinosa
  • B. Gómez-Ansón
Original Article


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.


FreeSurfer MRI Medical imaging GPU CUDA Resource scheduler 



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.


  1. Dale, A. M., Fischl, B., & Sereno, M. I. (1999). Cortical Surface-Based Analysis I: Segmentation and Surface Reconstruction. NeuroImage, 9(2), 179–194.PubMedCrossRefGoogle Scholar
  2. 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.CrossRefGoogle Scholar
  3. 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.PubMedCrossRefGoogle Scholar
  4. 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.PubMedCrossRefGoogle Scholar
  5. 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.Google Scholar
  6. NVIDIA CUDA Programming Guide - pp. 86, 136-139 - Guide.pdf
  7. NVIDIAs Next Generation CUDA Compute Architecture: Fermi. White Paper (Oct 2009) white papers/NVIDIA Fermi Compute Architecture Whitepaper.pdf.
  8. 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.Google Scholar
  9. PSCHED: An API for Parallel Job/Resource Management, The PSCHED Working Group, November (1996).Google Scholar
  10. Edgar R. (2011). Acceleration of the Freesurfer Suite for Neuroimaging Analysis, GPU Technology Conference.Google Scholar
  11. 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.Google Scholar
  12. 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.Google Scholar

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  • J. Delgado
    • 1
    • 2
    Email author
  • J. C. Moure
    • 2
  • Y. Vives-Gilabert
    • 3
    • 4
  • M. Delfino
    • 3
    • 5
  • A. Espinosa
    • 2
  • B. Gómez-Ansón
    • 6
  1. 1.Asociación para la Innovación en Análisis, Gestión y Procesamiento de Datos Científicos y Tecnológicos (INNDACYT)BarcelonaSpain
  2. 2.Computer Architecture and Operating Systems (CAOS)Universitat Autònoma de BarcelonaBarcelonaSpain
  3. 3.Port d’Informació Científica (PIC)Universitat Autònoma de BarcelonaBarcelonaSpain
  4. 4.Institut de Física d’Altes Energies (IFAE)Universitat Autònoma de BarcelonaBarcelonaSpain
  5. 5.Department of PhysicsUniversitat Autònoma de BarcelonaBarcelonaSpain
  6. 6.Hospital de la Santa Creu i Sant Pau BarcelonaBarcelonaSpain

Personalised recommendations