Development prerequisites#
Tool |
Requirement |
|---|---|
Git |
With submodule support; BART and FINUFFT are the submodules |
Python |
3.10 or later, with PyTorch installed first as described in Installation |
C and C++ compiler |
clang, or GCC 14 or later. BART’s nested functions are compiled as Blocks by clang and as heap trampolines ( |
CMake |
3.25 or later, with Ninja or Make |
OpenMP |
Linux: the runtime matching the compiler, for example |
CUDA (optional) |
A CUDA toolkit with |
FINUFFT and cuFINUFFT are compiled into the library from external/finufft;
no FINUFFT package is installed or used. The dev extra installs SimpleITK
for the correction and motion tests; pip install mkl deepinv enables the
tests that need MKL and the DeepInverse adapter, and pip install PyHySCO
the susceptibility-correction tests.
On Windows the compiler is clang from MSYS2’s CLANG64 environment, with the
packages mingw-w64-clang-x86_64-{clang,cmake,ninja,llvm-openmp,llvm-tools},
clang64/bin on PATH and CMAKE_GENERATOR=Ninja. The build links against
the OpenMP runtime PyTorch installs rather than MSYS2’s, and loads into the
official CPython with nothing from MSYS2 at run time. There is no CUDA build on
Windows.