extend install

This commit is contained in:
Dimitrii
2021-08-18 13:02:20 +03:00
parent 4c748e7ba4
commit 7ed6d2e7c9
2 changed files with 53 additions and 4 deletions

View File

@@ -1,5 +1,5 @@
.ONESHELL:
.PHONY: download_darknet build clean
.PHONY: prepare_cuda prepare_cudnn download_darknet build_darknet build_darknet_gpu clean
# Latest battletested AlexeyAB version of Darknet commit
LATEST_COMMIT?=f056fc3b6a11528fa0522a468eca1e909b7004b7
@@ -7,6 +7,45 @@ LATEST_COMMIT?=f056fc3b6a11528fa0522a468eca1e909b7004b7
# Temporary folder for building Darknet
TMP_DIR?=/tmp/
# Manage cuda version
CUDA_VERSION = 10.2
CUDNN_VERSION = 7.6.5
CUDNN_FULL_VERSION = 7.6.5.32
OS_NAME_LOW_CASE = ubuntu
OS_VERSION_CONCATENATED = 1804
OS_ARCH = x86_64
OS_ALTER_ARCH = linux-x64
OS_FULLNAME = $(OS_NAME_LOW_CASE)$(OS_VERSION_CONCATENATED)
# I guess *.pub is static for most of systems
PUBNAME = 7fa2af80
# Install CUDA
prepare_cuda:
sudo apt-get install linux-headers-$(uname -r)
rm -rf $(TMP_DIR)install_cuda
mkdir $(TMP_DIR)install_cuda
wget -P $(TMP_DIR)install_cuda https://developer.download.nvidia.com/compute/cuda/repos/$(OS_FULLNAME)/$(OS_ARCH)/cuda-$(OS_FULLNAME).pin
cd $(TMP_DIR)install_cuda
sudo mv cuda-$(OS_FULLNAME).pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/$(OS_FULLNAME)/$(OS_ARCH)/$(PUBNAME).pub
sudo add-apt-repository "deb http://developer.download.nvidia.com/compute/cuda/repos/$(OS_FULLNAME)/$(OS_ARCH)/ /"
sudo apt-get update
sudo apt-get -y install cuda-$(subst .,-,$(CUDA_VERSION))
cd -
# Install cuDNN
# Notice: this valid instruction for cuDNN version from v7.2.1 up to 8.1.0.77
prepare_cudnn:
rm -rf $(TMP_DIR)install_cudnn
mkdir $(TMP_DIR)install_cudnn
wget -P $(TMP_DIR)install_cudnn https://developer.download.nvidia.com/compute/redist/cudnn/v${CUDNN_VERSION}/cudnn-${CUDA_VERSION}-${OS_ALTER_ARCH}-v${CUDNN_FULL_VERSION}.tgz
cd $(TMP_DIR)install_cudnn
tar -xzvf cudnn-${CUDA_VERSION}-${OS_ALTER_ARCH}-v${CUDNN_FULL_VERSION}.tgz
sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
cd -
# Download AlexeyAB version of Darknet
download_darknet:
rm -rf $(TMP_DIR)install_darknet
@@ -52,4 +91,7 @@ clean:
install_darknet: download_darknet build_darknet sudo_install clean
# Do every step for both CPU and GPU-based build.
install_darknet_gpu: download_darknet build_darknet_gpu sudo_install clean
install_darknet_gpu: download_darknet build_darknet_gpu sudo_install clean
# Do every step for both CPU and GPU-based build if you haven't installed CUDA.
install_darknet_gpu_cuda: prepare_cuda prepare_cudnn download_darknet build_darknet_gpu sudo_install clean

View File

@@ -43,11 +43,18 @@ Use provided [Makefile](Makefile).
```shell
make install_darknet
```
* For both CPU and GPU-based instalattion:
* For both CPU and GPU-based instalattion if you HAVE CUDA installed:
```shell
make install_darknet_gpu
```
Note: If you want to have GPU-acceleration before running command above install [CUDA](https://developer.nvidia.com/cuda-downloads) and [cuDNN](https://developer.nvidia.com/cudnn) (Latest CUDA version I've tested is [10.2](https://developer.nvidia.com/cuda-10.2-download-archive) and cuDNN is [7.6.5](https://developer.nvidia.com/rdp/cudnn-archive#a-collapse765-102))
Note: I've tested CUDA [10.2](https://developer.nvidia.com/cuda-10.2-download-archive) and cuDNN is [7.6.5](https://developer.nvidia.com/rdp/cudnn-archive#a-collapse765-102))
* For both CPU and GPU-based instalattion if you HAVE NOT CUDA installed:
```shell
make install_darknet_gpu_cuda
```
Note: There is some struggle in Makefile for cuDNN, but I hope it works in Ubuntu atleast. Do not forget provide proper CUDA and cuDNN versions.
## Installation