Arkitekt and the GPU
Quite a lot of modern image analysis tools, especially those based on deep learning, are designed to run on GPUs. Arkitekt aims to make it easy to use these tools, and to make it easy to run them on GPUs. However there are a few things to be aware of, as Arkitekt is not a magical solution to all GPU problems.
GPU Support
There are two different ways to use GPUs with Arkitekt. The first is to use the GPU support built into the standalone tools themselves and on their hardware. This is probably the case when this tool exists primarily outside of the Arkitekt ecosystem, and Arkitekt is just being used to bridge it. You can then just connect this tool like any other tool, and Arkitekt will run in on the connecting tool and hardware.
The second way is to use the GPU support built into Arkitekt itself. This is the case when the tool is designed to run inside Arkitekt as a PluginApp. See more in the developer section on how to build an Arkitekt plugin. Here Arkitekt uses the docker support system to run the plugin in a docker container within the Arkitekt server.
GPU Support on Windows
Luckily the easy of integration of the CUDA support into docker containers has gotten a lot easier in the last two years. Windows users will no longer need to install the NVIDIA Container Toolkit, but can instead use the WSL2 backend of Docker Desktop. The installation instructions for this can be found here.
- Install the latest NVIDIA drivers on your host machine (https://docs.docker.com/desktop/install/windows-install/)
- Install Docker Desktop and enable the WSL2 backend (https://docs.docker.com/desktop/wsl/)
- Run Konstruktor (which will check if your system is ready for GPU support)
GPU Support on Linux
The same is true for Linux users. The NVIDIA Container Toolkit is no longer needed, and the docker engine can be used directly. The installation instructions for this can be found here.