From d17ec15a06a9bde6e12de9354e1fde9888dd6de0 Mon Sep 17 00:00:00 2001 From: Stefano Sinigardi Date: Thu, 10 Oct 2024 09:59:36 +0200 Subject: [PATCH] update cuda to 12.6 (#8922) * update cuda to 12.6 * remove cuda from opencv2 and opencv3 --- .github/workflows/ccpp.yml | 44 ++--------- .github/workflows/on_pr.yml | 44 ++--------- .gitignore | 2 + CMakeLists.txt | 8 +- build.ps1 | 12 --- scripts/requested_cuda_version.sh | 2 +- scripts/utils.psm1 | 106 ++++++++++++++++++++----- vcpkg.json | 46 +---------- vcpkg.json.opencv23 | 126 ------------------------------ 9 files changed, 112 insertions(+), 278 deletions(-) delete mode 100644 vcpkg.json.opencv23 diff --git a/.github/workflows/ccpp.yml b/.github/workflows/ccpp.yml index af7c5b9a..18aa31db 100644 --- a/.github/workflows/ccpp.yml +++ b/.github/workflows/ccpp.yml @@ -147,7 +147,7 @@ jobs: path: ${{ github.workspace }}/uselib* - ubuntu-vcpkg-opencv3-cuda: + ubuntu-vcpkg-opencv3: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v3 @@ -161,16 +161,6 @@ jobs: - name: Clean downloads run: sudo apt-get clean - - name: 'Install CUDA' - run: ${{ github.workspace }}/scripts/deploy-cuda.sh - - - name: 'Create softlinks for CUDA' - run: | - source ${{ github.workspace }}/scripts/requested_cuda_version.sh - sudo ln -s /usr/local/cuda-${CUDA_VERSION}/lib64/stubs/libcuda.so /usr/local/cuda-${CUDA_VERSION}/lib64/stubs/libcuda.so.1 - sudo ln -s /usr/local/cuda-${CUDA_VERSION}/lib64/stubs/libcuda.so /usr/local/cuda-${CUDA_VERSION}/lib64/libcuda.so.1 - sudo ln -s /usr/local/cuda-${CUDA_VERSION}/lib64/stubs/libcuda.so /usr/local/cuda-${CUDA_VERSION}/lib64/libcuda.so - - name: 'Setup vcpkg and NuGet artifacts backend' shell: bash run: > @@ -192,15 +182,10 @@ jobs: - name: 'Build' shell: pwsh - env: - CUDACXX: "/usr/local/cuda/bin/nvcc" - 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 -ForceOpenCVVersion 3 -DisableInteractive -DoNotUpdateTOOL + run: ${{ github.workspace }}/build.ps1 -UseVCPKG -DoNotUpdateVCPKG -EnableOPENCV -ForceOpenCVVersion 3 -DisableInteractive -DoNotUpdateTOOL - ubuntu-vcpkg-opencv2-cuda: + ubuntu-vcpkg-opencv2: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v3 @@ -214,16 +199,6 @@ jobs: - name: Clean downloads run: sudo apt-get clean - - name: 'Install CUDA' - run: ${{ github.workspace }}/scripts/deploy-cuda.sh - - - name: 'Create softlinks for CUDA' - run: | - source ${{ github.workspace }}/scripts/requested_cuda_version.sh - sudo ln -s /usr/local/cuda-${CUDA_VERSION}/lib64/stubs/libcuda.so /usr/local/cuda-${CUDA_VERSION}/lib64/stubs/libcuda.so.1 - sudo ln -s /usr/local/cuda-${CUDA_VERSION}/lib64/stubs/libcuda.so /usr/local/cuda-${CUDA_VERSION}/lib64/libcuda.so.1 - sudo ln -s /usr/local/cuda-${CUDA_VERSION}/lib64/stubs/libcuda.so /usr/local/cuda-${CUDA_VERSION}/lib64/libcuda.so - - name: 'Setup vcpkg and NuGet artifacts backend' shell: bash run: > @@ -245,12 +220,7 @@ jobs: - name: 'Build' shell: pwsh - env: - CUDACXX: "/usr/local/cuda/bin/nvcc" - 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 -ForceOpenCVVersion 2 -DisableInteractive -DoNotUpdateTOOL + run: ${{ github.workspace }}/build.ps1 -UseVCPKG -DoNotUpdateVCPKG -EnableOPENCV -ForceOpenCVVersion 2 -DisableInteractive -DoNotUpdateTOOL ubuntu: @@ -693,9 +663,9 @@ jobs: - name: 'Build' env: - CUDA_PATH: "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.2" - CUDA_TOOLKIT_ROOT_DIR: "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.2" - CUDACXX: "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.2\\bin\\nvcc.exe" + CUDA_PATH: "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.6" + CUDA_TOOLKIT_ROOT_DIR: "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.6" + CUDACXX: "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.6\\bin\\nvcc.exe" shell: pwsh run: ${{ github.workspace }}/build.ps1 -EnableCUDA -DisableInteractive -DoNotUpdateTOOL diff --git a/.github/workflows/on_pr.yml b/.github/workflows/on_pr.yml index 409523fd..1ad990ba 100644 --- a/.github/workflows/on_pr.yml +++ b/.github/workflows/on_pr.yml @@ -106,7 +106,7 @@ jobs: run: ${{ github.workspace }}/build.ps1 -UseVCPKG -DoNotUpdateVCPKG -EnableOPENCV -EnableCUDA -EnableCUDNN -DisableInteractive -DoNotUpdateTOOL - ubuntu-vcpkg-opencv3-cuda: + ubuntu-vcpkg-opencv3: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v3 @@ -120,16 +120,6 @@ jobs: - name: Clean downloads run: sudo apt-get clean - - name: 'Install CUDA' - run: ${{ github.workspace }}/scripts/deploy-cuda.sh - - - name: 'Create softlinks for CUDA' - run: | - source ${{ github.workspace }}/scripts/requested_cuda_version.sh - sudo ln -s /usr/local/cuda-${CUDA_VERSION}/lib64/stubs/libcuda.so /usr/local/cuda-${CUDA_VERSION}/lib64/stubs/libcuda.so.1 - sudo ln -s /usr/local/cuda-${CUDA_VERSION}/lib64/stubs/libcuda.so /usr/local/cuda-${CUDA_VERSION}/lib64/libcuda.so.1 - sudo ln -s /usr/local/cuda-${CUDA_VERSION}/lib64/stubs/libcuda.so /usr/local/cuda-${CUDA_VERSION}/lib64/libcuda.so - - name: 'Setup vcpkg and NuGet artifacts backend' shell: bash run: > @@ -141,15 +131,10 @@ jobs: - name: 'Build' shell: pwsh - env: - CUDACXX: "/usr/local/cuda/bin/nvcc" - 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 -ForceOpenCVVersion 3 -DisableInteractive -DoNotUpdateTOOL + run: ${{ github.workspace }}/build.ps1 -UseVCPKG -DoNotUpdateVCPKG -EnableOPENCV -ForceOpenCVVersion 3 -DisableInteractive -DoNotUpdateTOOL - ubuntu-vcpkg-opencv2-cuda: + ubuntu-vcpkg-opencv2: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v3 @@ -163,16 +148,6 @@ jobs: - name: Clean downloads run: sudo apt-get clean - - name: 'Install CUDA' - run: ${{ github.workspace }}/scripts/deploy-cuda.sh - - - name: 'Create softlinks for CUDA' - run: | - source ${{ github.workspace }}/scripts/requested_cuda_version.sh - sudo ln -s /usr/local/cuda-${CUDA_VERSION}/lib64/stubs/libcuda.so /usr/local/cuda-${CUDA_VERSION}/lib64/stubs/libcuda.so.1 - sudo ln -s /usr/local/cuda-${CUDA_VERSION}/lib64/stubs/libcuda.so /usr/local/cuda-${CUDA_VERSION}/lib64/libcuda.so.1 - sudo ln -s /usr/local/cuda-${CUDA_VERSION}/lib64/stubs/libcuda.so /usr/local/cuda-${CUDA_VERSION}/lib64/libcuda.so - - name: 'Setup vcpkg and NuGet artifacts backend' shell: bash run: > @@ -184,12 +159,7 @@ jobs: - name: 'Build' shell: pwsh - env: - CUDACXX: "/usr/local/cuda/bin/nvcc" - 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 -ForceOpenCVVersion 2 -DisableInteractive -DoNotUpdateTOOL + run: ${{ github.workspace }}/build.ps1 -UseVCPKG -DoNotUpdateVCPKG -EnableOPENCV -ForceOpenCVVersion 2 -DisableInteractive -DoNotUpdateTOOL ubuntu: @@ -435,9 +405,9 @@ jobs: - name: 'Build' env: - CUDA_PATH: "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.2" - CUDA_TOOLKIT_ROOT_DIR: "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.2" - CUDACXX: "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.2\\bin\\nvcc.exe" + CUDA_PATH: "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.6" + CUDA_TOOLKIT_ROOT_DIR: "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.6" + CUDACXX: "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.6\\bin\\nvcc.exe" shell: pwsh run: ${{ github.workspace }}/build.ps1 -EnableCUDA -DisableInteractive -DoNotUpdateTOOL diff --git a/.gitignore b/.gitignore index bb62a606..3166d82c 100644 --- a/.gitignore +++ b/.gitignore @@ -41,6 +41,8 @@ build/detect_cuda_compute_capabilities.cu build/.ninja_deps build/.ninja_log build/Makefile +CMakeFiles/ +CMakeCache.txt */vcpkg-manifest-install.log build.log __pycache__/ diff --git a/CMakeLists.txt b/CMakeLists.txt index 4710e39d..fc34cc1e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -52,17 +52,17 @@ if(ENABLE_OPENCV) if(VCPKG_USE_OPENCV4) list(APPEND VCPKG_MANIFEST_FEATURES "opencv-cuda") elseif(VCPKG_USE_OPENCV3) - list(APPEND VCPKG_MANIFEST_FEATURES "opencv3-cuda") + list(APPEND VCPKG_MANIFEST_FEATURES "opencv3") elseif(VCPKG_USE_OPENCV2) - list(APPEND VCPKG_MANIFEST_FEATURES "opencv2-cuda") + list(APPEND VCPKG_MANIFEST_FEATURES "opencv2") endif() else() if(VCPKG_USE_OPENCV4) list(APPEND VCPKG_MANIFEST_FEATURES "opencv-base") elseif(VCPKG_USE_OPENCV3) - list(APPEND VCPKG_MANIFEST_FEATURES "opencv3-base") + list(APPEND VCPKG_MANIFEST_FEATURES "opencv3") elseif(VCPKG_USE_OPENCV2) - list(APPEND VCPKG_MANIFEST_FEATURES "opencv2-base") + list(APPEND VCPKG_MANIFEST_FEATURES "opencv2") endif() endif() endif() diff --git a/build.ps1 b/build.ps1 index de8916d9..07ecf1f1 100755 --- a/build.ps1 +++ b/build.ps1 @@ -907,21 +907,14 @@ if ($BuildInstaller) { if (($ForceOpenCVVersion -eq 2) -and $UseVCPKG) { Write-Host "You requested OpenCV version 2, so vcpkg will install that version" -ForegroundColor Yellow - Write-Host "This requires using vcpkg.json.opencv23 as manifest file" -ForegroundColor Yellow $AdditionalBuildSetup = $AdditionalBuildSetup + " -DVCPKG_USE_OPENCV4=OFF -DVCPKG_USE_OPENCV2=ON" } if (($ForceOpenCVVersion -eq 3) -and $UseVCPKG) { Write-Host "You requested OpenCV version 3, so vcpkg will install that version" -ForegroundColor Yellow - Write-Host "This requires using vcpkg.json.opencv23 as manifest file" -ForegroundColor Yellow $AdditionalBuildSetup = $AdditionalBuildSetup + " -DVCPKG_USE_OPENCV4=OFF -DVCPKG_USE_OPENCV3=ON" } -if($ForceOpenCVVersion -gt 0) { - Move-Item $PSCustomScriptRoot/vcpkg.json $PSCustomScriptRoot/vcpkg.json.bak - Move-Item $PSCustomScriptRoot/vcpkg.json.opencv23 $PSCustomScriptRoot/vcpkg.json -} - if ($UseVCPKG -and $ForceVCPKGCacheRemoval) { if ($IsWindows -or $IsWindowsPowerShell) { $vcpkgbinarycachepath = "$env:LOCALAPPDATA/vcpkg/archive" @@ -1175,11 +1168,6 @@ if ($vcpkg_host_triplet_set_by_this_script) { $env:VCPKG_DEFAULT_HOST_TRIPLET = $null } -if($ForceOpenCVVersion -gt 0) { - Move-Item $PSCustomScriptRoot/vcpkg.json $PSCustomScriptRoot/vcpkg.json.opencv23 - Move-Item $PSCustomScriptRoot/vcpkg.json.bak $PSCustomScriptRoot/vcpkg.json -} - if ($vcpkg_branch_set_by_this_script) { Push-Location $vcpkg_path $git_args = "checkout -" diff --git a/scripts/requested_cuda_version.sh b/scripts/requested_cuda_version.sh index ae9ea2a4..8cb3f6ad 100755 --- a/scripts/requested_cuda_version.sh +++ b/scripts/requested_cuda_version.sh @@ -1,4 +1,4 @@ #!/usr/bin/env bash -export CUDA_VERSION="12.2" +export CUDA_VERSION="12.6" export CUDA_VERSION_DASHED="${CUDA_VERSION//./-}" diff --git a/scripts/utils.psm1 b/scripts/utils.psm1 index 6e220569..cf4f0dcc 100644 --- a/scripts/utils.psm1 +++ b/scripts/utils.psm1 @@ -22,7 +22,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #> -$utils_psm1_version = "1.2.3" +$utils_psm1_version = "1.4.1" $IsWindowsPowerShell = switch ( $PSVersionTable.PSVersion.Major ) { 5 { $true } 4 { $true } @@ -38,6 +38,31 @@ if ($IsWindowsPowerShell -or $IsWindows) { $64bitPwsh = $([Environment]::Is64BitProcess) $64bitOS = $([Environment]::Is64BitOperatingSystem) +$osArchitecture = [System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture +switch ($osArchitecture) { + "X86" { + $vcpkgArchitecture = "x86" + $vsArchitecture = "Win32" + } + "X64" { + $vcpkgArchitecture = "x64" + $vsArchitecture = "x64" + } + "Arm" { + $vcpkgArchitecture = "arm" + $vsArchitecture = "arm" + } + "Arm64" { + $vcpkgArchitecture = "arm64" + $vsArchitecture = "arm64" + } + default { + $vcpkgArchitecture = "x64" + $vsArchitecture = "x64" + Write-Output "Unknown architecture. Trying x64" + } +} + Push-Location $PSScriptRoot $GIT_EXE = Get-Command "git" -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Definition @@ -55,11 +80,36 @@ else { } Pop-Location -$cuda_version_full = "12.2.0" -$cuda_version_short = "12.2" +$cuda_version_full = "12.6.2" +$cuda_version_short = "12.6" $cuda_version_full_dashed = $cuda_version_full.replace('.', '-') $cuda_version_short_dashed = $cuda_version_short.replace('.', '-') +function activateVenv([string]$VenvPath) { + if ($IsWindowsPowerShell -or $IsWindows) { + $activate_script = "$VenvPath/Scripts/Activate.ps1" + } + else { + $activate_script = "$VenvPath/bin/Activate.ps1" + } + + $activate_script = Resolve-Path $activate_script + $VenvPath = Resolve-Path $VenvPath + + if ($env:VIRTUAL_ENV -eq $VenvPath) { + Write-Host "Venv already activated" + return + } + else { + Write-Host "Activating venv" + if (-Not (Test-Path $activate_script)) { + MyThrow("Could not find activate script at $activate_script") + } + & $activate_script + } +} + + function getProgramFiles32bit() { $out = ${env:PROGRAMFILES(X86)} if ($null -eq $out) { @@ -167,21 +217,34 @@ function getLatestVisualStudioWithDesktopWorkloadVersion([bool]$required = $true return $installationVersion } -function setupVisualStudio([bool]$required = $true) { +function setupVisualStudio([bool]$required = $true, [bool]$enable_clang = $false) { $CL_EXE = Get-Command "cl" -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Definition - if ((-Not $CL_EXE) -or ($CL_EXE -match "HostX86\\x86") -or ($CL_EXE -match "HostX64\\x86")) { - $vsfound = getLatestVisualStudioWithDesktopWorkloadPath - Write-Host "Found VS in ${vsfound}" - Push-Location "${vsfound}/Common7/Tools" - cmd.exe /c "VsDevCmd.bat -arch=x64 & set" | - ForEach-Object { - if ($_ -match "=") { - $v = $_.split("="); Set-Item -force -path "ENV:\$($v[0])" -value "$($v[1])" + if (-Not $CL_EXE) { + $vsfound = getLatestVisualStudioWithDesktopWorkloadPath($required) + if (-Not $vsfound) { + if ($required) { + MyThrow("Could not locate any installation of Visual Studio") + } + else { + Write-Host "Could not locate any installation of Visual Studio" -ForegroundColor Red + return } } - Pop-Location - $env:PATH = "${vsfound}/VC/Tools/Llvm/x64/bin;$env:PATH" - Write-Host "Visual Studio Command Prompt variables set" + else { + Write-Host "Found VS in ${vsfound}" + Push-Location "${vsfound}/Common7/Tools" + cmd.exe /c "VsDevCmd.bat -arch=${vsArchitecture} & set" | + ForEach-Object { + if ($_ -match "=") { + $v = $_.split("="); Set-Item -force -path "ENV:\$($v[0])" -value "$($v[1])" + } + } + Pop-Location + if ($enable_clang) { + $env:PATH = "${vsfound}/VC/Tools/Llvm/${vsArchitecture}/bin;$env:PATH" + } + Write-Host "Visual Studio Command Prompt variables set" + } } } @@ -190,13 +253,13 @@ function DownloadNinja() { Remove-Item -Force -Recurse -ErrorAction SilentlyContinue ninja Remove-Item -Force -ErrorAction SilentlyContinue ninja.zip if ($IsWindows -or $IsWindowsPowerShell) { - $url = "https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-win.zip" + $url = "https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-win.zip" } elseif ($IsLinux) { - $url = "https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-linux.zip" + $url = "https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-linux.zip" } elseif ($IsMacOS) { - $url = "https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-mac.zip" + $url = "https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-mac.zip" } else { MyThrow("Unknown OS, unsupported") @@ -247,7 +310,7 @@ function DownloadAria2() { } function DownloadLicencpp() { - $licencpp_version = "0.2.1" + $licencpp_version = "0.2.5" Write-Host "Downloading a portable version of licencpp v${licencpp_version}" -ForegroundColor Yellow if ($IsWindows -or $IsWindowsPowerShell) { $basename = "licencpp-Windows" @@ -433,6 +496,11 @@ Export-ModuleMember -Variable cuda_version_full Export-ModuleMember -Variable cuda_version_short Export-ModuleMember -Variable cuda_version_full_dashed Export-ModuleMember -Variable cuda_version_short_dashed +Export-ModuleMember -Variable osArchitecture +Export-ModuleMember -Variable vcpkgArchitecture +Export-ModuleMember -Variable vsArchitecture +Export-ModuleMember -Variable ExecutableSuffix +Export-ModuleMember -Function activateVenv Export-ModuleMember -Function getProgramFiles32bit Export-ModuleMember -Function getLatestVisualStudioWithDesktopWorkloadPath Export-ModuleMember -Function getLatestVisualStudioWithDesktopWorkloadVersion diff --git a/vcpkg.json b/vcpkg.json index 6f142bed..752d0fc3 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -73,54 +73,16 @@ } ] }, - "opencv2-base": { + "opencv2": { "description": "Build darknet with support for OpenCV2", "dependencies": [ - { - "name": "opencv2", - "features": [ - "ffmpeg" - ] - } + "opencv2" ] }, - "opencv2-cuda": { - "description": "Build darknet with support for CUDA-enabled OpenCV2", - "dependencies": [ - { - "name": "opencv2", - "features": [ - "cuda", - "ffmpeg" - ] - } - ] - }, - "opencv3-base": { + "opencv3": { "description": "Build darknet with support for OpenCV3", "dependencies": [ - { - "name": "opencv3", - "features": [ - "contrib", - "dnn", - "ffmpeg" - ] - } - ] - }, - "opencv3-cuda": { - "description": "Build darknet with support for CUDA-enabled OpenCV3", - "dependencies": [ - { - "name": "opencv3", - "features": [ - "contrib", - "cuda", - "dnn", - "ffmpeg" - ] - } + "opencv3" ] } } diff --git a/vcpkg.json.opencv23 b/vcpkg.json.opencv23 deleted file mode 100644 index 0a45be9a..00000000 --- a/vcpkg.json.opencv23 +++ /dev/null @@ -1,126 +0,0 @@ -{ - "name": "darknet", - "version": "0.2.5.7", - "description": "Darknet is an open source neural network framework written in C and CUDA. You only look once (YOLO) is a state-of-the-art, real-time object detection system, best example of darknet functionalities.", - "homepage": "https://github.com/alexeyab/darknet", - "dependencies": [ - { - "name": "getopt", - "platform": "windows & !mingw" - }, - "pthreads", - "stb" - ], - "features": { - "cuda": { - "description": "Build darknet with support for CUDA", - "dependencies": [ - "cuda" - ] - }, - "cudnn": { - "description": "Build darknet with support for cuDNN", - "dependencies": [ - "cuda", - "cudnn" - ] - }, - "full": { - "description": "Build darknet fully featured", - "dependencies": [ - { - "name": "darknet", - "features": [ - "cuda", - "cudnn", - "opencv-cuda" - ] - } - ] - }, - "opencv-base": { - "description": "Build darknet with support for latest version of OpenCV", - "dependencies": [ - { - "name": "opencv", - "features": [ - "contrib", - "dnn", - "ffmpeg" - ] - } - ] - }, - "opencv-cuda": { - "description": "Build darknet with support for latest version of CUDA-enabled OpenCV", - "dependencies": [ - { - "name": "opencv", - "features": [ - "contrib", - "cuda", - "dnn", - "ffmpeg" - ] - } - ] - }, - "opencv2-base": { - "description": "Build darknet with support for OpenCV2", - "dependencies": [ - { - "name": "opencv2", - "features": [ - "ffmpeg" - ] - } - ] - }, - "opencv2-cuda": { - "description": "Build darknet with support for CUDA-enabled OpenCV2", - "dependencies": [ - { - "name": "opencv2", - "features": [ - "cuda", - "ffmpeg" - ] - } - ] - }, - "opencv3-base": { - "description": "Build darknet with support for OpenCV3", - "dependencies": [ - { - "name": "opencv3", - "features": [ - "contrib", - "dnn", - "ffmpeg" - ] - } - ] - }, - "opencv3-cuda": { - "description": "Build darknet with support for CUDA-enabled OpenCV3", - "dependencies": [ - { - "name": "opencv3", - "features": [ - "contrib", - "cuda", - "dnn", - "ffmpeg" - ] - } - ] - } - }, - "overrides": [ - { - "name": "ffmpeg", - "version": "4.4.3" - } - ], - "builtin-baseline": "54cc53c43430c73f489e52af5fadd032c1aced16" -}