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