8000 improve cuda handling by cenit · Pull Request #8931 · AlexeyAB/darknet · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

improve cuda handling #8931

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Apr 3, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 55 additions & 24 deletions .github/workflows/ccpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,15 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Update apt
run: sudo apt update
- name: Install dependencies
run: sudo apt install libopencv-dev libgles2-mesa-dev
- name: Update apt & install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libopencv-dev
sudo apt-get install -y mono-devel zlib1g
sudo apt-get install -y libgles2-mesa-dev

- name: Clean downloads 10000
run: sudo apt-get clean

- name: 'Install CUDA'
run: ${{ github.workspace }}/scripts/deploy-cuda.sh
Expand Down Expand Up @@ -84,10 +89,13 @@ jobs:

- uses: lukka/get-cmake@latest

- name: Update apt
run: sudo apt update
- name: Install dependencies
run: sudo apt-get install -y --no-install-recommends yasm nasm gperf automake autoconf libtool pkg-config autoconf-archive libgles2-mesa-dev libx11-dev libxft-dev libxext-dev libxrandr-dev libxi-dev libxcursor-dev libxdamage-dev libxinerama-dev libdbus-1-dev libxtst-dev
- name: Update apt & install dependencies
run: |
sudo apt-get update
sudo apt-get install -y mono-devel zlib1g
sudo apt-get install -y libgles2-mesa-dev
sudo apt-get install -y --no-install-recommends yasm nasm gperf automake autoconf libtool pkg-config autoconf-archive libx11-dev libxft-dev libxext-dev libxrandr-dev libxi-dev libxcursor-dev libxdamage-dev libxinerama-dev libdbus-1-dev libxtst-dev libltdl-dev

- name: Clean downloads
run: sudo apt-get clean

Expand Down Expand Up @@ -154,10 +162,13 @@ jobs:

- uses: lukka/get-cmake@latest

- name: Update apt
run: sudo apt update
- name: Install dependencies
run: sudo apt-get install -y --no-install-recommends yasm nasm gperf automake autoconf libtool pkg-config autoconf-archive libgles2-mesa-dev libx11-dev libxft-dev libxext-dev libxrandr-dev libxi-dev libxcursor-dev libxdamage-dev libxinerama-dev libdbus-1-dev libxtst-dev
- name: Update apt & install dependencies
run: |
sudo apt-get update
sudo apt-get install -y mono-devel zlib1g
sudo apt-get install -y libgles2-mesa-dev
sudo apt-get install -y --no-install-recommends yasm nasm gperf automake autoconf libtool pkg-config autoconf-archive libx11-dev libxft-dev libxext-dev libxrandr-dev libxi-dev libxcursor-dev libxdamage-dev libxinerama-dev libdbus-1-dev libxtst-dev libltdl-dev

- name: Clean downloads
run: sudo apt-get clean

Expand Down Expand Up @@ -192,10 +203,13 @@ jobs:

- uses: lukka/get-cmake@latest

- name: Update apt
run: sudo apt update
- name: Install dependencies
run: sudo apt-get install -y --no-install-recommends yasm nasm gperf automake autoconf libtool pkg-config autoconf-archive libgles2-mesa-dev libx11-dev libxft-dev libxext-dev libxrandr-dev libxi-dev libxcursor-dev libxdamage-dev libxinerama-dev libdbus-1-dev libxtst-dev
- name: Update apt & install dependencies
run: |
sudo apt-get update
sudo apt-get install -y mono-devel zlib1g
sudo apt-get install -y libgles2-mesa-dev
sudo apt-get install -y --no-install-recommends yasm nasm gperf automake autoconf libtool pkg-config autoconf-archive libx11-dev libxft-dev libxext-dev libxrandr-dev libxi-dev libxcursor-dev libxdamage-dev libxinerama-dev libdbus-1-dev libxtst-dev libltdl-dev

- name: Clean downloads
run: sudo apt-get clean

Expand Down Expand Up @@ -228,10 +242,14 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Update apt
run: sudo apt update
- name: Install dependencies
run: sudo apt install libopencv-dev
- name: Update apt & install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libopencv-dev
sudo apt-get install -y mono-devel zlib1g

- name: Clean downloads
run: sudo apt-get clean

- uses: lukka/get-cmake@latest

Expand Down Expand Up @@ -259,10 +277,15 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Update apt
run: sudo apt update
- name: Install dependencies
run: sudo apt install libopencv-dev libgles2-mesa-dev
- name: Update apt & install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libopencv-dev
sudo apt-get install -y mono-devel zlib1g
sudo apt-get install -y libgles2-mesa-dev

- name: Clean downloads
run: sudo apt-get clean

- uses: lukka/get-cmake@latest

Expand Down Expand Up @@ -318,6 +341,14 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Update apt & install dependencies
run: |
sudo apt-get update
sudo apt-get install -y mono-devel

- name: Clean downloads
run: sudo apt-get clean

- name: 'Setup vcpkg and NuGet artifacts backend'
shell: bash
run: >
Expand Down
85 changes: 58 additions & 27 deletions .github/workflows/on_pr.yml
AE20
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,15 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Update apt
run: sudo apt update
- name: Install dependencies
run: sudo apt install libopencv-dev libgles2-mesa-dev
- name: Update apt & install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libopencv-dev
sudo apt-get install -y mono-devel zlib1g
sudo apt-get install -y libgles2-mesa-dev

- name: Clean downloads
run: sudo apt-get clean

- name: 'Install CUDA'
run: ${{ github.workspace }}/scripts/deploy-cuda.sh
Expand Down Expand Up @@ -70,10 +75,13 @@ jobs:

- uses: lukka/get-cmake@latest

- name: Update apt
run: sudo apt update
- name: Install dependencies
run: sudo apt-get install -y --no-install-recommends yasm nasm gperf automake autoconf libtool pkg-config autoconf-archive libgles2-mesa-dev libx11-dev libxft-dev libxext-dev libxrandr-dev libxi-dev libxcursor-dev libxdamage-dev libxinerama-dev libdbus-1-dev libxtst-dev
- name: Update apt & install dependencies
run: |
sudo apt-get update
sudo apt-get install -y mono-devel zlib1g
sudo apt-get install -y libgles2-mesa-dev
sudo apt-get install -y --no-install-recommends yasm nasm gperf automake autoconf libtool pkg-config autoconf-archive libx11-dev libxft-dev libxext-dev libxrandr-dev libxi-dev libxcursor-dev libxdamage-dev libxinerama-dev libdbus-1-dev libxtst-dev libltdl-dev

- name: Clean downloads
run: sudo apt-get clean

Expand Down Expand Up @@ -103,7 +111,7 @@ jobs:
CUDA_PATH: "/usr/local/cuda"
CUDA_TOOLKIT_ROOT_DIR: "/usr/local/cuda"
LD_LIBRARY_PATH: "/usr/local/cuda/lib64:/usr/local/cuda/lib64/stubs:$LD_LIBRARY_PATH"
run: ${{ github.workspace }}/build.ps1 -UseVCPKG -DoNotUpdateVCPKG -EnableOPENCV -EnableCUDA -EnableCUDNN -DisableInteractive -DoNotUpdateTOOL
run: ${{ github.workspace }}/build.ps1 -UseVCPKG -DoNotUpdateVCPKG -EnableOPENCV -EnableCUDA -EnableCUDNN -DisableInteractive -DoNotUpdateTOOL -BuildInstaller


ubuntu-vcpkg-opencv3:
Expand All @@ -113,10 +121,13 @@ jobs:

- uses: lukka/get-cmake@latest

- name: Update apt
run: sudo apt update
- name: Install dependencies
run: sudo apt-get install -y --no-install-recommends yasm nasm gperf automake autoconf libtool pkg-config autoconf-archive libgles2-mesa-dev libx11-dev libxft-dev libxext-dev libxrandr-dev libxi-dev libxcursor-dev libxdamage-dev libxinerama-dev libdbus-1-dev libxtst-dev
- name: Update apt & install dependencies
run: |
sudo apt-get update
sudo apt-get install -y mono-devel zlib1g
sudo apt-get install -y libgles2-mesa-dev
sudo apt-get install -y --no-install-recommends yasm nasm gperf automake autoconf libtool pkg-config autoconf-archive libx11-dev libxft-dev libxext-dev libxrandr-dev libxi-dev libxcursor-dev libxdamage-dev libxinerama-dev libdbus-1-dev libxtst-dev libltdl-dev

- name: Clean downloads
run: sudo apt-get clean

Expand All @@ -141,10 +152,13 @@ jobs:

- uses: lukka/get-cmake@latest

- name: Update apt
run: sudo apt update
- name: Install dependencies
run: sudo apt-get install -y --no-install-recommends yasm nasm gperf automake autoconf libtool pkg-config autoconf-archive libgles2-mesa-dev libx11-dev libxft-dev libxext-dev libxrandr-dev libxi-dev libxcursor-dev libxdamage-dev libxinerama-dev libdbus-1-dev libxtst-dev
- name: Update apt & install dependencies
run: |
sudo apt-get update
sudo apt-get install -y mono-devel zlib1g
sudo apt-get install -y libgles2-mesa-dev
sudo apt-get install -y --no-install-recommends yasm nasm gperf automake autoconf libtool pkg-config autoconf-archive libx11-dev libxft-dev libxext-dev libxrandr-dev libxi-dev libxcursor-dev libxdamage-dev libxinerama-dev libdbus-1-dev libxtst-dev libltdl-dev

- name: Clean downloads
run: sudo apt-get clean

Expand All @@ -167,10 +181,14 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Update apt
run: sudo apt update
- name: Install dependencies
run: sudo apt install libopencv-dev
- name: Update apt & install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libopencv-dev
sudo apt-get install -y mono-devel zlib1g

- name: Clean downloads
run: sudo apt-get clean

- uses: lukka/get-cmake@latest

Expand All @@ -189,10 +207,15 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Update apt
run: sudo apt update
- name: Install dependencies
run: sudo apt install libopencv-dev libgles2-mesa-dev
- name: Update apt & install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libopencv-dev
sudo apt-get install -y mono-devel zlib1g
sudo apt-get install -y libgles2-mesa-dev

- name: Clean downloads
run: sudo apt-get clean

- uses: lukka/get-cmake@latest

Expand Down Expand Up @@ -239,6 +262,14 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Update apt & install dependencies
run: |
sudo apt-get update
sudo apt-get install -y mono-devel

- name: Clean downloads
run: sudo apt-get clean

- name: 'Setup vcpkg and NuGet artifacts backend'
shell: bash
run: >
Expand Down Expand Up @@ -274,7 +305,7 @@ jobs:

- name: 'Build'
shell: pwsh
run: ${{ github.workspace }}/build.ps1 -UseVCPKG -DoNotUpdateVCPKG -EnableOPENCV -DisableInteractive -DoNotUpdateTOOL
run: ${{ github.workspace }}/build.ps1 -UseVCPKG -DoNotUpdateVCPKG -EnableOPENCV -DisableInteractive -DoNotUpdateTOOL -BuildInstaller


osx:
Expand Down Expand Up @@ -322,7 +353,7 @@ jobs:

- name: 'Build'
shell: pwsh
run: ${{ github.workspace }}/build.ps1 -UseVCPKG -ForceLocalVCPKG -DoNotUpdateVCPKG -EnableOPENCV -DisableInteractive -DoNotUpdateTOOL
run: ${{ github.workspace }}/build.ps1 -UseVCPKG -ForceLocalVCPKG -DoNotUpdateVCPKG -EnableOPENCV -DisableInteractive -DoNotUpdateTOOL -BuildInstaller


win-intlibs:
Expand Down
16 changes: 12 additions & 4 deletions scripts/deploy-cuda.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,15 @@ if [[ "$OSTYPE" == "darwin"* ]]; then
exit 1
elif [[ $(cut -f2 <<< $(lsb_release -i)) == "Ubuntu" ]]; then
distr_name="$(cut -f2 <<< $(lsb_release -i) | tr '[:upper:]' '[:lower:]')$(cut -f2 <<< $(lsb_release -r) | tr -d '.')"
arch_name="$(uname -m)"
if [[ $arch_name == "x86_64" ]]; then
arch_name="x86_64"
elif [[ $arch_name == "aarch64" ]]; then
arch_name="arm64"
else
echo "Unsupported architecture: $arch_name"
exit 1
fi
else
echo "Unable to deploy CUDA on this OS, please wait for a future script update"
exit 2
Expand All @@ -20,16 +29,15 @@ else
fi

sudo apt-key del 7fa2af80
wget https://developer.download.nvidia.com/compute/cuda/repos/$distr_name/x86_64/cuda-keyring_1.1-1_all.deb
wget https://developer.download.nvidia.com/compute/cuda/repos/$distr_name/$arch_name/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get install -y --no-install-recommends build-essential g++
sudo apt-get install -y --no-install-recommends apt-transport-https ca-certificates gnupg software-properties-common wget
sudo apt-get install -y --no-install-recommends zlib1g
sudo apt-get dist-upgrade -y
sudo apt-get install -y --no-install-recommends cuda-${CUDA_VERSION_DASHED}
sudo apt-get install -y --no-install-recommends libcudnn8
sudo apt-get install -y --no-install-recommends libcudnn8-dev
sudo apt-get install -y cuda-toolkit-${CUDA_VERSION_DASHED}
sudo apt-get install -y cudnn${CUDNN_MAJOR_VERSION}-cuda-${CUDA_MAJOR_VERSION}

sudo rm -rf /usr/local/cuda
sudo ln -s /usr/local/cuda-${CUDA_VERSION} /usr/local/cuda
Expand Down
7 changes: 7 additions & 0 deletions scripts/requested_cuda_version.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
#!/usr/bin/env bash

export CUDA_VERSION="12.6"
export CUDNN_VERSION="9.0"

export CUDA_VERSION_DASHED="${CUDA_VERSION//./-}"
export CUDA_MAJOR_VERSION="${CUDA_VERSION%%.*}"
export CUDA_MINOR_VERSION="${CUDA_VERSION#*.}"
export CUDNN_VERSION_DASHED="${CUDNN_VERSION//./-}"
export CUDNN_MAJOR_VERSION="${CUDNN_VERSION%%.*}"
export CUDNN_MINOR_VERSION="${CUDNN_VERSION#*.}"
2 changes: 1 addition & 1 deletion scripts/setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ elif [[ $(cut -f2 <<< $(lsb_release -i)) == "Ubuntu" ]]; then
sudo apt-get update
sudo apt-get install -y --no-install-recommends git ninja-build build-essential g++ nasm yasm gperf
sudo apt-get install -y --no-install-recommends apt-transport-https ca-certificates gnupg software-properties-common wget
sudo apt-get install -y --no-install-recommends libgles2-mesa-dev libx11-dev libxft-dev libxext-dev libxrandr-dev libxi-dev libxcursor-dev libxdamage-dev libxinerama-dev libdbus-1-dev libxtst-dev
sudo apt-get install -y --no-install-recommends libgles2-mesa-dev libx11-dev libxft-dev libxext-dev libxrandr-dev libxi-dev libxcursor-dev libxdamage-dev libxinerama-dev libdbus-1-dev libxtst-dev libltdl-dev
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null
sudo apt-add-repository "deb https://apt.kitware.com/ubuntu/ $(cut -f2 <<< $(lsb_release -c)) main"
wget -q https://packages.microsoft.com/config/ubuntu/$(cut -f2 <<< $(lsb_release -r))/packages-microsoft-prod.deb
Expand Down
Loading
0