Build CUDA version on conda-forge
mtazzari opened this issue · comments
Now that many users have started using GALARIO on GPUS, it would significantly increase user-friendliness to ship the GPU version through conda.
It seems that conda-forge now supports CUDA packages quite straightforwardily. I think that adding cudatoolkit
as a dependency would be sufficient:
https://github.com/conda-forge/cudatoolkit-dev-feedstock
A solution adopted by some packages is to offer two versions of the conda package, i.e. galario
and galario-gpu
.
Since we structured galario to have the CPU/GPU libraries inside rather than the whole library compiled for CPU or GPU, a possible solution is to use a docker image to prepare the recipe.
Here there is some discussion:
conda-forge/caffe-feedstock#27
Here two example recipes that use cuda 8:
https://github.com/loopbio/caffe-feedstock/blob/f401380a3b63271ddfe2d89a5c68d2448e80ec00/recipe/meta.yaml#L23
this recipe uses a docker image (could be the neatest way for us):
https://github.com/loopbio/caffe-feedstock/blob/f401380a3b63271ddfe2d89a5c68d2448e80ec00/conda-forge.yml#L12-L21
Here two example recipes that use cuda 8:
I need to check this out, we should always use the latest cuda version so people with the latest hardware benefit. I hope the conda forge system allows us to use the latest cuda automatically
I hope the conda forge system allows us to use the latest cuda automatically
Of course nothing comes for free but it seems that conda is supported by nvidia guys, and they already moved cudatoolkit-dev
to the latest version 10. That's great
I think it would be easiest to always build on ci using cudatoolkit-dev
but not require that for installation. Instead, the user would have to have cuda installed as usual. I wonder if there is a problem if a user has cuda 9 installed and we build galario with cuda 10. But I thought nvidia would strive hard for backwards compatibility.