You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
From my understanding, MicaPipe disables by default the use of CUDA with line export CUDA_VISIBLE_DEVICES=''" in $MICAPIPE/functions/utilities.sh script.
What is the motivation / use case for changing the behaviour?
Certain MRtrix dwifslpreproc eddy functions only work on GPU (ex: slice-to-volume correction).
Solution:
The micapipe FSL version requires cudatoolkit version 9.1. This can be installed in the micapipe conda environement with the command: conda install numba::cudatoolkit (latest version of cudatoolkit on numba is v9.1).
A pointer to toolkit in the conda environment must be addded with command export LD_LIBRARY_PATH="$CONDA_PREFIX/lib:$LD_LIBRARY_PATH"
Comment this line export CUDA_VISIBLE_DEVICES=''" in $MICAPIPE/functions/utilities.sh script.
Other information
I think the solution could be implemented on the local MicaPipe env (keeping cudatoolkit version to eddy_cuda/FSL requirements). The use of CUDA could continue to be disabled by default and a different dwifslpreproc command could be used when flag -use_cuda is enabled.
What is the current behaviour?
export CUDA_VISIBLE_DEVICES=''"
in$MICAPIPE/functions/utilities.sh
script.What is the motivation / use case for changing the behaviour?
Solution:
conda install numba::cudatoolkit
(latest version of cudatoolkit on numba is v9.1).export LD_LIBRARY_PATH="$CONDA_PREFIX/lib:$LD_LIBRARY_PATH"
export CUDA_VISIBLE_DEVICES=''"
in$MICAPIPE/functions/utilities.sh
script.Other information
I think the solution could be implemented on the local MicaPipe env (keeping cudatoolkit version to eddy_cuda/FSL requirements). The use of CUDA could continue to be disabled by default and a different dwifslpreproc command could be used when flag -use_cuda is enabled.
without flag -use_cuda:
dwifslpreproc "$dwi_4proc" "$dwi_corr" $opt -pe_dir "$pe_dir" -readout_time "$ReadoutTime" -eddy_options " --data_is_shelled --slm=linear --repol " -nthreads "$threads" -nocleanup -scratch "$tmp" -force
with flag -use_cuda:
dwifslpreproc "$dwi_4proc" "$dwi_corr" $opt -pe_dir "$pe_dir" -readout_time "$ReadoutTime" -eddy_options " --data_is_shelled --slm=linear --repol --mporder=# --nvoxhp=4000" -nthreads "$threads" -nocleanup -scratch "$tmp" -force
The text was updated successfully, but these errors were encountered: