GSoC 2025 Project #40 :: GPU CUDA :: Expanding GPU Acceleration in Neuroimaging Tools Beyond CUDA (350 h)

Several popular neuroimaging tools leverage graphics cards to accelerate image processing. However, many of these tools are restricted to NVidia GPUs that support CUDA, limiting accessibility to a broader range of hardware. Our goal is to extend hardware compatibility by porting FSL’s Bedpostx, Eddy, and Probtrackx from CUDA to oneAPI, enabling these tools to run on GPUs from multiple manufacturers. This transition will enhance flexibility and ensure that more researchers can benefit from GPU acceleration regardless of their hardware setup.

As a reach goal, we will explore expanding hardware support for popular Python-based AI neuroimaging models. We have already demonstrated that the nobrainer brainchop AI models can run on web technologies such as ONNX (WebGPU), TensorFlowJS (WebGL2), and TinyGrad (WebGPU). Building on this work, we will investigate whether command-line tools can support additional backends beyond CUDA, further democratizing access to high-performance neuroimaging computations.

Project repository: GPU_test evaluates GPU versus CPU performance for Bedpostx, Eddy and Probtrackx GitHub - neurolabusc/gpu_test: Test FSL GPU acceleration (bedpost, eddy, probtrackx)

Skill level: Advanced

Required skills: C++; familiarity with neuroimaging tools (FSL) and GPU languages (CUDA, OpenCL, oneAPI, SYCL would be beneficial

Time commitment: Full-time (350 h)

Lead mentors: Chris Rorden crorden6@gmail.com, John Melonakos (ArrayFire/Intel)

Tech keywords: CUDA, C++, oneAPI, GPU, FSL

Hmm… look interesting

@Anuj_tripathi if you are interested consider:

  • Our team is currently following the selecting-a-student guide, with an emphasis on Tips for finding the “right” GSoC contributor. Therefore, I would suggest each potential contributor provide a concrete plan for our project (what packages would you use) as well as details on their experience (e.g. a CV and GitLab/GitHub profile that allows us to evaluation prior contributions with distributed teams). Feel free to send me your plans and experience details to my instittutional email if you would rather not share your plan with other potential competitors. Atlernatively, if you want to ask questions publicly, this neurostars thread is the best location. Once we see your proposed solution for our problem we can provide you rapid feedback for and start a personalize chat to determine your match for this project.

Hi Dr. Chris and Dr. John,

I’m writing to express my interest in your GSoC 2025 project . As a PhD student in Computer Science at the University of Florida with extensive experience in GPU-accelerated CT reconstruction, I believe my background makes me an excellent candidate for this project.

My research focuses on high-resolution CT reconstruction using GPU acceleration, directly aligning with your project’s objectives. My recent publications demonstrate my expertise in this area:

  1. “A Comparative Study of Mismatch Projectors in Cone Beam CT” (ISBI 2025)
  2. “An Evaluation of State-of-the-Art Projectors in the Presence of Noise And Nonlinearity” (MICCAI 2024)

My technical skills relevant to this project include:

  • Programming proficiency in C++ and CUDA
  • Experience with GPU optimization and parallel computing
  • Strong background in mathematical modeling for imaging applications
  • Familiarity with medical imaging data structures and formats

While I don’t have direct experience with FSL tools, my background in CT reconstruction provides me with a solid understanding of the underlying principles in medical imaging. The data structures and algorithms used in CT reconstruction share many similarities with those in brain imaging, and I’m confident I can quickly become proficient with FSL.

For this project, I would propose the following approach:

  1. Begin with a thorough analysis of the current CUDA implementations of Bedpostx, Eddy, and Probtrackx
  2. Identify the core computational kernels that would benefit most from oneAPI implementation
  3. Incrementally port these kernels while maintaining compatibility with the existing codebase
  4. Use DPC++ as the primary implementation language to leverage its compatibility with SYCL
  5. Implement comprehensive testing to ensure equivalent results between CUDA and oneAPI versions
  6. Focus on performance optimization to ensure the oneAPI implementation matches or exceeds CUDA performance where possible

What particularly excites me about this project is the opportunity to make GPU-accelerated neuroimaging more accessible to researchers without NVIDIA hardware. My experience optimizing GPU code for medical imaging applications gives me the right background to tackle the challenges of cross-platform GPU programming.

I would be happy to discuss my proposal in more detail and adapt it based on your feedback. I look forward to the possibility of working with you on this important project.

Best,
Shiyu Xie
shiyu.xie@ufl.edu

I have replied by email.