nvidia-auto-installer-for-fedora-linux
nvidia-auto-installer-for-fedora-linux copied to clipboard
Implement CuDNN and CuBLAS auto-install
This PR adds two modes, cublas
and cudnn
, for installing CuBLAS and CuDNN automatically. These packages are needed in order to install/run PyTorch on Fedora 37, so it would be convenient if users have the option of installing them through this tool.
- CuBLAS installs the
libcublas-<version>
package from the RPMFusion repository normally. Since a distinct package is distributed for each version, the user can specify a version or "latest". - CuDNN installs the
libcudnn<version>
package from the NVIDIA RHEL 8 repository, which unfortunately is the only repository in which they distribute libcudnn. I could not figure out any other way of installing the library which can bypass the requirement to log into the NVIDIA Developer Program (see https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#download). This may or may not be in good form, so if you want, I can remove this functionality and make a separate PR for CuBLAS only.
Implements #153.
I've tested this on my PC, running Fedora 37.
@onuralpszr, could you please take a look at this? Thanks!
- CuDNN installs the
libcudnn<version>
package from the NVIDIA RHEL 8 repository, which unfortunately is the only repository in which they distribute libcudnn. I could not figure out any other way of installing the library which can bypass the requirement to log into the NVIDIA Developer Program (see https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#download). This may or may not be in good form, so if you want, I can remove this functionality and make a separate PR for CuBLAS only.
Let's skip login all together ;)
https://developer.download.nvidia.com/compute/redist/cudnn/v8.7.0/local_installers/11.8/
@t0xic0der we have to make sure which cuda and cudnn going to install because latest cudann is exist for cuda 10 and 11 so based on that choice people can change that too. (Or replace cudann with cuda 10 or back to cuda 11)
The PR currently requires the user to install CUDA before installing cudnn or cublas. If, when running the cudnn
or cublas
options, we assume CUDA is already installed and automatically detect the currently installed CUDA version and install the correct cudnn/cublas package, this will require little effort for the user to get up and running. If they want to switch CUDA versions, they would first install a different version of CUDA using plcuda
option, then reinstall cudnn or cublas. Would this be a good solution to the versioning considerations?
The PR currently requires the user to install CUDA before installing cudnn or cublas. If, when running the
cudnn
orcublas
options, we assume CUDA is already installed and automatically detect the currently installed CUDA version and install the correct cudnn/cublas package, this will require little effort for the user to get up and running. If they want to switch CUDA versions, they would first install a different version of CUDA usingplcuda
option, then reinstall cudnn or cublas. Would this be a good solution to the versioning considerations?
We have couple of scenarios;
- Install cudnn or cublas for the first time, and proper cuda version will install
- Default version selection (latest and still install cuda as well)
- Changing cudnn or cublas version (We need to warn user and swap cudnn version based on user confirmation and this change can lead to install another cuda version as well, we also need to check package conflicts If there is any. Sometimes nvidia-driver can be problem so we need to find a workaround solution for that.