Installation
Compatibility
simDRIFT is compatible with Python 3.8 or later and requires a CUDA device with a compute capability of 3 or higher. We find that in typical use-case simulations on isotropic imaging voxels on the micrometer size scale, simDRIFT will use less than 1.5 Gb of VRAM. For much larger simulations of image voxels on the millimeter size scale, typical GPU memory consumption doesn’t exceed 2.0 Gb. Thus, we don’t anticipate any memory issues given the available memory of compatible GPUs.
Installing
We recommend installing simDRIFT in its own conda environment. This allows for easier installation and prevents conflicts with any other Python packages you may have installed. To install simDRIFT from source:
First, create a conda environment and activate it:
>conda create -n simDRIFT python=3.8
>conda activate simDRIFT
Then, install numba by following the linked instructions. For different hardware platforms, the specific numba installation syntax may varry. These instructions are covered in the numba installation guide. Shown below are the commands for installation on our lab’s computers, which are x64-based windows machines. If you encounter any difficulties with this step, please see our troubleshooting guide for an alternative installation procedure.
(simDRIFT) >conda install -c numba numba=0.56.0
After numba has been installed, please download and install the appropriate NVIDIA Drivers . Afer the driver installation is complete, install cudatoolkit:
(simDRIFT) >conda install cudatoolkit
Also, please install the appropriate version of pytorch (shown below using the syntax for our lab’s GPUs; however, the specific syntax will vary based on your CUDA Toolkit version) :
(simDRIFT) >conda install pytorch==2.0.0 torchvision==0.15.0 torchaudio==2.0.0 pytorch-cuda=11.7 -c pytorch -c nvidia
Clone this repository and install simDRIFT:
(simDRIFT) >git clone https://github.com/jacobblum/simDRIFT.git
(simDRIFT) >pip install -e simDRIFT
To confirm that everything is working as expected, run the test suite:
(simDRIFT) >simDRIFT run_tests