mirror of
https://github.com/pjreddie/darknet.git
synced 2023-08-10 21:13:14 +03:00
automatically detect CUDA and use it, without any possible manual intervention
This commit is contained in:
@ -1,5 +1,4 @@
|
|||||||
# To use your libs, launch cmake with -DUSE_INTEGRATED_LIBS:BOOL=FALSE
|
# To use your libs, launch cmake with -DUSE_INTEGRATED_LIBS:BOOL=FALSE
|
||||||
# To enable CUDA, launch cmake with -DENABLE_CUDA. Also it is advisable to set the highest compute model with -DCOMPUTE_MODEL=..., depending on your specific card capabilities. If CUDA is not required, this setting is completely ignored.
|
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 3.8 FATAL_ERROR)
|
cmake_minimum_required(VERSION 3.8 FATAL_ERROR)
|
||||||
|
|
||||||
@ -17,12 +16,13 @@ else()
|
|||||||
set(USE_INTEGRATED_LIBS "FALSE" CACHE BOOL "Use libs distributed with this repo")
|
set(USE_INTEGRATED_LIBS "FALSE" CACHE BOOL "Use libs distributed with this repo")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(ENABLE_CUDA "FALSE" CACHE BOOL "Enable building with CUDA")
|
|
||||||
|
|
||||||
enable_language(C)
|
enable_language(C)
|
||||||
enable_language(CXX)
|
enable_language(CXX)
|
||||||
if(ENABLE_CUDA)
|
|
||||||
enable_language(CUDA) # do not enable after searching for OpenCV package!
|
include(CheckLanguage)
|
||||||
|
check_language(CUDA)
|
||||||
|
if(CMAKE_CUDA_COMPILER)
|
||||||
|
enable_language(CUDA)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 11)
|
set(CMAKE_CXX_STANDARD 11)
|
||||||
@ -30,24 +30,24 @@ set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake/Modules/" ${CMAKE_MODULE_
|
|||||||
include_directories(${CMAKE_CURRENT_LIST_DIR}/include)
|
include_directories(${CMAKE_CURRENT_LIST_DIR}/include)
|
||||||
include_directories(${CMAKE_CURRENT_LIST_DIR}/src)
|
include_directories(${CMAKE_CURRENT_LIST_DIR}/src)
|
||||||
|
|
||||||
set(COMPUTE_MODEL_75 "75") #Compute capability for Tesla T4, RTX 2080
|
set(CUDA_COMPUTE_MODEL_75 "75") #Compute capability for Tesla T4, RTX 2080
|
||||||
set(COMPUTE_MODEL_72 "72") #Compute capability for Jetson Xavier
|
set(CUDA_COMPUTE_MODEL_72 "72") #Compute capability for Jetson Xavier
|
||||||
set(COMPUTE_MODEL_70 "70") #Compute capability for Tesla V100
|
set(CUDA_COMPUTE_MODEL_70 "70") #Compute capability for Tesla V100
|
||||||
set(COMPUTE_MODEL_62 "62") #Compute capability for Jetson TX2
|
set(CUDA_COMPUTE_MODEL_62 "62") #Compute capability for Jetson TX2
|
||||||
set(COMPUTE_MODEL_61 "61") #Compute capability for Tesla P40
|
set(CUDA_COMPUTE_MODEL_61 "61") #Compute capability for Tesla P40
|
||||||
set(COMPUTE_MODEL_60 "60") #Compute capability for Tesla P100
|
set(CUDA_COMPUTE_MODEL_60 "60") #Compute capability for Tesla P100
|
||||||
set(COMPUTE_MODEL_53 "53") #Compute capability for Jetson TX1
|
set(CUDA_COMPUTE_MODEL_53 "53") #Compute capability for Jetson TX1
|
||||||
set(COMPUTE_MODEL_52 "52") #Compute capability for Tesla M40/M60
|
set(CUDA_COMPUTE_MODEL_52 "52") #Compute capability for Tesla M40/M60
|
||||||
set(COMPUTE_MODEL_37 "37") #Compute capability for Tesla K80
|
set(CUDA_COMPUTE_MODEL_37 "37") #Compute capability for Tesla K80
|
||||||
set(COMPUTE_MODEL_35 "35") #Compute capability for Tesla K20/K40
|
set(CUDA_COMPUTE_MODEL_35 "35") #Compute capability for Tesla K20/K40
|
||||||
set(COMPUTE_MODEL_30 "30") #Compute capability for Tesla K10, Quadro K4000
|
set(CUDA_COMPUTE_MODEL_30 "30") #Compute capability for Tesla K10, Quadro K4000
|
||||||
|
|
||||||
set(default_compute_model ${COMPUTE_MODEL_30})
|
set(default_cuda_compute_model ${CUDA_COMPUTE_MODEL_30})
|
||||||
if(NOT COMPUTE_MODEL)
|
if(CMAKE_CUDA_COMPILER AND NOT CUDA_COMPUTE_MODEL)
|
||||||
message(STATUS "Setting the compute model to '${default_compute_model}' as none was specified.")
|
message(STATUS "Setting the compute model to ${default_cuda_compute_model} as none was specified.")
|
||||||
set(COMPUTE_MODEL "${default_compute_model}" CACHE
|
set(CUDA_COMPUTE_MODEL "${default_cuda_compute_model}" CACHE
|
||||||
STRING "Choose the best compute model supported by your GPU" FORCE)
|
STRING "Choose the best compute model supported by your GPU" FORCE)
|
||||||
set_property(CACHE COMPUTE_MODEL PROPERTY STRINGS ${COMPUTE_MODEL_75} ${COMPUTE_MODEL_72} ${COMPUTE_MODEL_70} ${COMPUTE_MODEL_62} ${COMPUTE_MODEL_61} ${COMPUTE_MODEL_60} ${COMPUTE_MODEL_53} ${COMPUTE_MODEL_52} ${COMPUTE_MODEL_37} ${COMPUTE_MODEL_35} ${COMPUTE_MODEL_30})
|
set_property(CACHE CUDA_COMPUTE_MODEL PROPERTY STRINGS ${CUDA_COMPUTE_MODEL_75} ${CUDA_COMPUTE_MODEL_72} ${CUDA_COMPUTE_MODEL_70} ${CUDA_COMPUTE_MODEL_62} ${CUDA_COMPUTE_MODEL_61} ${CUDA_COMPUTE_MODEL_60} ${CUDA_COMPUTE_MODEL_53} ${CUDA_COMPUTE_MODEL_52} ${CUDA_COMPUTE_MODEL_37} ${CUDA_COMPUTE_MODEL_35} ${CUDA_COMPUTE_MODEL_30})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(USE_INTEGRATED_LIBS)
|
if(USE_INTEGRATED_LIBS)
|
||||||
@ -108,17 +108,17 @@ if(OpenCV_FOUND)
|
|||||||
include_directories(${OpenCV_INCLUDE_DIRS})
|
include_directories(${OpenCV_INCLUDE_DIRS})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(ENABLE_CUDA)
|
if(CMAKE_CUDA_COMPILER)
|
||||||
add_definitions(-DGPU)
|
add_definitions(-DGPU)
|
||||||
if(COMPUTE_MODEL VERSION_GREATER_EQUAL 75 AND CMAKE_CUDA_COMPILER_VERSION VERSION_LESS_EQUAL 9)
|
if(CUDA_COMPUTE_MODEL VERSION_GREATER_EQUAL 75 AND CMAKE_CUDA_COMPILER_VERSION VERSION_LESS_EQUAL 9)
|
||||||
message(STATUS "CUDA 10 is required for Compute Model 7.5 - Lowering settings to 7.0")
|
message(STATUS "CUDA 10 is required for Compute Model 7.5 - Lowering settings to 7.0")
|
||||||
set(COMPUTE_MODEL "70")
|
set(CUDA_COMPUTE_MODEL ${CUDA_COMPUTE_MODEL_70})
|
||||||
endif()
|
endif()
|
||||||
find_package(CUDNN)
|
find_package(CUDNN)
|
||||||
if(CUDNN_FOUND)
|
if(CUDNN_FOUND)
|
||||||
add_definitions(-DCUDNN)
|
add_definitions(-DCUDNN)
|
||||||
include_directories(${CUDNN_INCLUDE_DIR})
|
include_directories(${CUDNN_INCLUDE_DIR})
|
||||||
if(COMPUTE_MODEL VERSION_GREATER_EQUAL 53)
|
if(CUDA_COMPUTE_MODEL VERSION_GREATER_EQUAL 53)
|
||||||
add_definitions(-DCUDNN_HALF)
|
add_definitions(-DCUDNN_HALF)
|
||||||
message(STATUS "Enabled CUDNN_HALF")
|
message(STATUS "Enabled CUDNN_HALF")
|
||||||
endif()
|
endif()
|
||||||
@ -126,29 +126,29 @@ if(ENABLE_CUDA)
|
|||||||
if (MSVC)
|
if (MSVC)
|
||||||
if(CUDNN_FOUND)
|
if(CUDNN_FOUND)
|
||||||
if(OpenCV_FOUND)
|
if(OpenCV_FOUND)
|
||||||
set(CMAKE_CUDA_FLAGS "-gencode arch=compute_${COMPUTE_MODEL},code=[sm_${COMPUTE_MODEL},compute_${COMPUTE_MODEL}] -Wno-deprecated-declarations -Xcompiler=\"/wd4028,/wd4190,/wd4244,/wd4267,/wd4305,/wd4477,/wd4996,/DGPU,/DCUDNN,/DOPENCV\" ${CMAKE_CUDA_FLAGS}")
|
set(CMAKE_CUDA_FLAGS "-gencode arch=compute_${CUDA_COMPUTE_MODEL},code=[sm_${CUDA_COMPUTE_MODEL},compute_${CUDA_COMPUTE_MODEL}] -Wno-deprecated-declarations -Xcompiler=\"/wd4028,/wd4190,/wd4244,/wd4267,/wd4305,/wd4477,/wd4996,/DGPU,/DCUDNN,/DOPENCV\" ${CMAKE_CUDA_FLAGS}")
|
||||||
else()
|
else()
|
||||||
set(CMAKE_CUDA_FLAGS "-gencode arch=compute_${COMPUTE_MODEL},code=[sm_${COMPUTE_MODEL},compute_${COMPUTE_MODEL}] -Wno-deprecated-declarations -Xcompiler=\"/wd4028,/wd4190,/wd4244,/wd4267,/wd4305,/wd4477,/wd4996,/DGPU,/DCUDNN\" ${CMAKE_CUDA_FLAGS}")
|
set(CMAKE_CUDA_FLAGS "-gencode arch=compute_${CUDA_COMPUTE_MODEL},code=[sm_${CUDA_COMPUTE_MODEL},compute_${CUDA_COMPUTE_MODEL}] -Wno-deprecated-declarations -Xcompiler=\"/wd4028,/wd4190,/wd4244,/wd4267,/wd4305,/wd4477,/wd4996,/DGPU,/DCUDNN\" ${CMAKE_CUDA_FLAGS}")
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
if(OpenCV_FOUND)
|
if(OpenCV_FOUND)
|
||||||
set(CMAKE_CUDA_FLAGS "-gencode arch=compute_${COMPUTE_MODEL},code=[sm_${COMPUTE_MODEL},compute_${COMPUTE_MODEL}] -Wno-deprecated-declarations -Xcompiler=\"/wd4028,/wd4190,/wd4244,/wd4267,/wd4305,/wd4477,/wd4996,/DGPU,/DOPENCV\" ${CMAKE_CUDA_FLAGS}")
|
set(CMAKE_CUDA_FLAGS "-gencode arch=compute_${CUDA_COMPUTE_MODEL},code=[sm_${CUDA_COMPUTE_MODEL},compute_${CUDA_COMPUTE_MODEL}] -Wno-deprecated-declarations -Xcompiler=\"/wd4028,/wd4190,/wd4244,/wd4267,/wd4305,/wd4477,/wd4996,/DGPU,/DOPENCV\" ${CMAKE_CUDA_FLAGS}")
|
||||||
else()
|
else()
|
||||||
set(CMAKE_CUDA_FLAGS "-gencode arch=compute_${COMPUTE_MODEL},code=[sm_${COMPUTE_MODEL},compute_${COMPUTE_MODEL}] -Wno-deprecated-declarations -Xcompiler=\"/wd4028,/wd4190,/wd4244,/wd4267,/wd4305,/wd4477,/wd4996,/DGPU\" ${CMAKE_CUDA_FLAGS}")
|
set(CMAKE_CUDA_FLAGS "-gencode arch=compute_${CUDA_COMPUTE_MODEL},code=[sm_${CUDA_COMPUTE_MODEL},compute_${CUDA_COMPUTE_MODEL}] -Wno-deprecated-declarations -Xcompiler=\"/wd4028,/wd4190,/wd4244,/wd4267,/wd4305,/wd4477,/wd4996,/DGPU\" ${CMAKE_CUDA_FLAGS}")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
if(CUDNN_FOUND)
|
if(CUDNN_FOUND)
|
||||||
if(OpenCV_FOUND)
|
if(OpenCV_FOUND)
|
||||||
set(CMAKE_CUDA_FLAGS "-gencode arch=compute_${COMPUTE_MODEL},code=[sm_${COMPUTE_MODEL},compute_${COMPUTE_MODEL}] --compiler-options \"-Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -Wno-deprecated-declarations -fPIC -fopenmp -Ofast -DOPENCV -DGPU -DCUDNN \" ${CMAKE_CUDA_FLAGS}")
|
set(CMAKE_CUDA_FLAGS "-gencode arch=compute_${CUDA_COMPUTE_MODEL},code=[sm_${CUDA_COMPUTE_MODEL},compute_${CUDA_COMPUTE_MODEL}] --compiler-options \"-Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -Wno-deprecated-declarations -fPIC -fopenmp -Ofast -DOPENCV -DGPU -DCUDNN \" ${CMAKE_CUDA_FLAGS}")
|
||||||
else()
|
else()
|
||||||
set(CMAKE_CUDA_FLAGS "-gencode arch=compute_${COMPUTE_MODEL},code=[sm_${COMPUTE_MODEL},compute_${COMPUTE_MODEL}] --compiler-options \"-Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -Wno-deprecated-declarations -fPIC -fopenmp -Ofast -DGPU -DCUDNN \" ${CMAKE_CUDA_FLAGS}")
|
set(CMAKE_CUDA_FLAGS "-gencode arch=compute_${CUDA_COMPUTE_MODEL},code=[sm_${CUDA_COMPUTE_MODEL},compute_${CUDA_COMPUTE_MODEL}] --compiler-options \"-Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -Wno-deprecated-declarations -fPIC -fopenmp -Ofast -DGPU -DCUDNN \" ${CMAKE_CUDA_FLAGS}")
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
if(OpenCV_FOUND)
|
if(OpenCV_FOUND)
|
||||||
set(CMAKE_CUDA_FLAGS "-gencode arch=compute_${COMPUTE_MODEL},code=[sm_${COMPUTE_MODEL},compute_${COMPUTE_MODEL}] --compiler-options \"-Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -Wno-deprecated-declarations -fPIC -fopenmp -Ofast -DOPENCV -DGPU \" ${CMAKE_CUDA_FLAGS}")
|
set(CMAKE_CUDA_FLAGS "-gencode arch=compute_${CUDA_COMPUTE_MODEL},code=[sm_${CUDA_COMPUTE_MODEL},compute_${CUDA_COMPUTE_MODEL}] --compiler-options \"-Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -Wno-deprecated-declarations -fPIC -fopenmp -Ofast -DOPENCV -DGPU \" ${CMAKE_CUDA_FLAGS}")
|
||||||
else()
|
else()
|
||||||
set(CMAKE_CUDA_FLAGS "-gencode arch=compute_${COMPUTE_MODEL},code=[sm_${COMPUTE_MODEL},compute_${COMPUTE_MODEL}] --compiler-options \"-Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -Wno-deprecated-declarations -fPIC -fopenmp -Ofast -DGPU \" ${CMAKE_CUDA_FLAGS}")
|
set(CMAKE_CUDA_FLAGS "-gencode arch=compute_${CUDA_COMPUTE_MODEL},code=[sm_${CUDA_COMPUTE_MODEL},compute_${CUDA_COMPUTE_MODEL}] --compiler-options \"-Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -Wno-deprecated-declarations -fPIC -fopenmp -Ofast -DGPU \" ${CMAKE_CUDA_FLAGS}")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
@ -195,7 +195,7 @@ list(REMOVE_ITEM sources
|
|||||||
${CMAKE_CURRENT_LIST_DIR}/src/getopt.c
|
${CMAKE_CURRENT_LIST_DIR}/src/getopt.c
|
||||||
)
|
)
|
||||||
|
|
||||||
if(ENABLE_CUDA)
|
if(CMAKE_CUDA_COMPILER)
|
||||||
file(GLOB cuda_sources "${CMAKE_CURRENT_LIST_DIR}/src/*.cu")
|
file(GLOB cuda_sources "${CMAKE_CURRENT_LIST_DIR}/src/*.cu")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -215,7 +215,7 @@ set_source_files_properties(${sources} PROPERTIES LANGUAGE CXX)
|
|||||||
|
|
||||||
add_library(darklib SHARED ${CMAKE_CURRENT_LIST_DIR}/include/yolo_v2_class.hpp ${CMAKE_CURRENT_LIST_DIR}/src/yolo_v2_class.cpp ${sources} ${headers} ${cuda_sources})
|
add_library(darklib SHARED ${CMAKE_CURRENT_LIST_DIR}/include/yolo_v2_class.hpp ${CMAKE_CURRENT_LIST_DIR}/src/yolo_v2_class.cpp ${sources} ${headers} ${cuda_sources})
|
||||||
set_target_properties(darklib PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
set_target_properties(darklib PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||||
if(ENABLE_CUDA)
|
if(CMAKE_CUDA_COMPILER)
|
||||||
set_target_properties(darklib PROPERTIES CUDA_SEPARABLE_COMPILATION ON)
|
set_target_properties(darklib PROPERTIES CUDA_SEPARABLE_COMPILATION ON)
|
||||||
endif()
|
endif()
|
||||||
target_compile_definitions(darklib PRIVATE LIB_EXPORTS=1)
|
target_compile_definitions(darklib PRIVATE LIB_EXPORTS=1)
|
||||||
@ -264,7 +264,7 @@ endif()
|
|||||||
target_link_libraries(darknet Threads::Threads)
|
target_link_libraries(darknet Threads::Threads)
|
||||||
target_link_libraries(darklib Threads::Threads)
|
target_link_libraries(darklib Threads::Threads)
|
||||||
|
|
||||||
if(ENABLE_CUDA)
|
if(CMAKE_CUDA_COMPILER)
|
||||||
target_link_libraries(darknet curand cublas)
|
target_link_libraries(darknet curand cublas)
|
||||||
target_link_libraries(darklib curand cublas)
|
target_link_libraries(darklib curand cublas)
|
||||||
endif()
|
endif()
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
"cmakeCommandArgs": "",
|
"cmakeCommandArgs": "",
|
||||||
"configurationType": "Release",
|
"configurationType": "Release",
|
||||||
"generator": "Visual Studio 15 2017 Win64",
|
"generator": "Visual Studio 15 2017 Win64",
|
||||||
"name": "x64-Release CPU - int. libs",
|
"name": "x64-Release-int-libs",
|
||||||
"variables": [
|
"variables": [
|
||||||
{
|
{
|
||||||
"name": "USE_INTEGRATED_LIBS",
|
"name": "USE_INTEGRATED_LIBS",
|
||||||
@ -20,7 +20,7 @@
|
|||||||
"cmakeCommandArgs": "",
|
"cmakeCommandArgs": "",
|
||||||
"configurationType": "Debug",
|
"configurationType": "Debug",
|
||||||
"generator": "Visual Studio 15 2017 Win64",
|
"generator": "Visual Studio 15 2017 Win64",
|
||||||
"name": "x64-Debug CPU",
|
"name": "x64-Debug",
|
||||||
"variables": [
|
"variables": [
|
||||||
{
|
{
|
||||||
"name": "CMAKE_TOOLCHAIN_FILE",
|
"name": "CMAKE_TOOLCHAIN_FILE",
|
||||||
@ -42,7 +42,7 @@
|
|||||||
"cmakeCommandArgs": "",
|
"cmakeCommandArgs": "",
|
||||||
"configurationType": "Release",
|
"configurationType": "Release",
|
||||||
"generator": "Visual Studio 15 2017 Win64",
|
"generator": "Visual Studio 15 2017 Win64",
|
||||||
"name": "x64-Release CPU",
|
"name": "x64-Release",
|
||||||
"variables": [
|
"variables": [
|
||||||
{
|
{
|
||||||
"name": "CMAKE_TOOLCHAIN_FILE",
|
"name": "CMAKE_TOOLCHAIN_FILE",
|
||||||
@ -57,58 +57,6 @@
|
|||||||
"value": "${env.VCPKG_DEFAULT_TRIPLET}"
|
"value": "${env.VCPKG_DEFAULT_TRIPLET}"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
|
||||||
{
|
|
||||||
"buildCommandArgs": "-m -v:minimal",
|
|
||||||
"buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}",
|
|
||||||
"cmakeCommandArgs": "",
|
|
||||||
"configurationType": "Debug",
|
|
||||||
"generator": "Visual Studio 15 2017 Win64",
|
|
||||||
"name": "x64-Debug GPU",
|
|
||||||
"variables": [
|
|
||||||
{
|
|
||||||
"name": "CMAKE_TOOLCHAIN_FILE",
|
|
||||||
"value": "${env.VCPKG_ROOT}\\scripts\\buildsystems\\vcpkg.cmake"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "USE_INTEGRATED_LIBS",
|
|
||||||
"value": "FALSE"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "ENABLE_CUDA",
|
|
||||||
"value": "TRUE"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "VCPKG_TARGET_TRIPLET",
|
|
||||||
"value": "${env.VCPKG_DEFAULT_TRIPLET}"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"buildCommandArgs": "-m -v:minimal",
|
|
||||||
"buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}",
|
|
||||||
"cmakeCommandArgs": "",
|
|
||||||
"configurationType": "Release",
|
|
||||||
"generator": "Visual Studio 15 2017 Win64",
|
|
||||||
"name": "x64-Release GPU",
|
|
||||||
"variables": [
|
|
||||||
{
|
|
||||||
"name": "CMAKE_TOOLCHAIN_FILE",
|
|
||||||
"value": "${env.VCPKG_ROOT}\\scripts\\buildsystems\\vcpkg.cmake"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "USE_INTEGRATED_LIBS",
|
|
||||||
"value": "FALSE"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "ENABLE_CUDA",
|
|
||||||
"value": "TRUE"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "VCPKG_TARGET_TRIPLET",
|
|
||||||
"value": "${env.VCPKG_DEFAULT_TRIPLET}"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
22
build.ps1
22
build.ps1
@ -16,36 +16,22 @@ if ((Get-Command "cl.exe" -ErrorAction SilentlyContinue) -eq $null)
|
|||||||
Write-Host "Visual Studio 2017 ${vstype} Command Prompt variables set.`n" -ForegroundColor Yellow
|
Write-Host "Visual Studio 2017 ${vstype} Command Prompt variables set.`n" -ForegroundColor Yellow
|
||||||
}
|
}
|
||||||
|
|
||||||
# CPU ONLY, DEBUG
|
# DEBUG
|
||||||
New-Item -Path .\build_win_debug -ItemType directory -Force
|
New-Item -Path .\build_win_debug -ItemType directory -Force
|
||||||
Set-Location build_win_debug
|
Set-Location build_win_debug
|
||||||
cmake -G "Visual Studio 15 2017" -T "host=x64" -A "x64" "-DCMAKE_TOOLCHAIN_FILE=$env:VCPKG_ROOT\scripts\buildsystems\vcpkg.cmake" "-DVCPKG_TARGET_TRIPLET=$env:VCPKG_DEFAULT_TRIPLET" "-DCMAKE_BUILD_TYPE=Debug" ..
|
cmake -G "Visual Studio 15 2017" -T "host=x64" -A "x64" "-DCMAKE_TOOLCHAIN_FILE=$env:VCPKG_ROOT\scripts\buildsystems\vcpkg.cmake" "-DVCPKG_TARGET_TRIPLET=$env:VCPKG_DEFAULT_TRIPLET" "-DCMAKE_BUILD_TYPE=Debug" ..
|
||||||
cmake --build . --config Debug --parallel ${number_of_build_workers}
|
cmake --build . --config Debug --parallel ${number_of_build_workers}
|
||||||
Set-Location ..
|
Set-Location ..
|
||||||
|
|
||||||
# CPU ONLY, RELEASE
|
# RELEASE
|
||||||
New-Item -Path .\build_win_release -ItemType directory -Force
|
New-Item -Path .\build_win_release -ItemType directory -Force
|
||||||
Set-Location build_win_release
|
Set-Location build_win_release
|
||||||
cmake -G "Visual Studio 15 2017" -T "host=x64" -A "x64" "-DCMAKE_TOOLCHAIN_FILE=$env:VCPKG_ROOT\scripts\buildsystems\vcpkg.cmake" "-DVCPKG_TARGET_TRIPLET=$env:VCPKG_DEFAULT_TRIPLET" "-DCMAKE_BUILD_TYPE=Release" ..
|
cmake -G "Visual Studio 15 2017" -T "host=x64" -A "x64" "-DCMAKE_TOOLCHAIN_FILE=$env:VCPKG_ROOT\scripts\buildsystems\vcpkg.cmake" "-DVCPKG_TARGET_TRIPLET=$env:VCPKG_DEFAULT_TRIPLET" "-DCMAKE_BUILD_TYPE=Release" ..
|
||||||
cmake --build . --config Release --parallel ${number_of_build_workers}
|
cmake --build . --config Release --parallel ${number_of_build_workers}
|
||||||
Set-Location ..
|
Set-Location ..
|
||||||
|
|
||||||
# CUDA, DEBUG
|
# USE LOCAL PTHREAD LIB, NO VCPKG: remember to use "vcpkg.exe integrate remove" in case you had enable user-wide vcpkg integration
|
||||||
New-Item -Path .\build_win_debug_cuda -ItemType directory -Force
|
New-Item -Path .\build_win_release_cuda_int_libs -ItemType directory -Force
|
||||||
Set-Location build_win_debug_cuda
|
|
||||||
cmake -G "Visual Studio 15 2017" -T "host=x64" -A "x64" "-DENABLE_CUDA:BOOL=TRUE" "-DCMAKE_TOOLCHAIN_FILE=$env:VCPKG_ROOT\scripts\buildsystems\vcpkg.cmake" "-DVCPKG_TARGET_TRIPLET=$env:VCPKG_DEFAULT_TRIPLET" "-DCMAKE_BUILD_TYPE=Debug" ..
|
|
||||||
cmake --build . --config Debug --parallel ${number_of_build_workers}
|
|
||||||
Set-Location ..
|
|
||||||
|
|
||||||
# CUDA, RELEASE
|
|
||||||
New-Item -Path .\build_win_release_cuda -ItemType directory -Force
|
|
||||||
Set-Location build_win_release_cuda
|
|
||||||
cmake -G "Visual Studio 15 2017" -T "host=x64" -A "x64" "-DENABLE_CUDA:BOOL=TRUE" "-DCMAKE_TOOLCHAIN_FILE=$env:VCPKG_ROOT\scripts\buildsystems\vcpkg.cmake" "-DVCPKG_TARGET_TRIPLET=$env:VCPKG_DEFAULT_TRIPLET" "-DCMAKE_BUILD_TYPE=Release" ..
|
|
||||||
cmake --build . --config Release --parallel ${number_of_build_workers}
|
|
||||||
Set-Location ..
|
|
||||||
|
|
||||||
# CPU ONLY, USE LOCAL PTHREAD LIB, NO VCPKG: remember to use "vcpkg.exe integrate remove" in case you had enable user-wide vcpkg integration
|
|
||||||
New-Item -Path .\build_win_release_cuda_custom_libs -ItemType directory -Force
|
|
||||||
Set-Location build_win_release_cuda_custom_libs
|
Set-Location build_win_release_cuda_custom_libs
|
||||||
cmake -G "Visual Studio 15 2017" -T "host=x64" -A "x64" ..
|
cmake -G "Visual Studio 15 2017" -T "host=x64" -A "x64" ..
|
||||||
cmake --build . --config Release --parallel ${number_of_build_workers}
|
cmake --build . --config Release --parallel ${number_of_build_workers}
|
||||||
|
20
build.sh
20
build.sh
@ -9,7 +9,7 @@ fi
|
|||||||
|
|
||||||
rm -f uselib darknet
|
rm -f uselib darknet
|
||||||
|
|
||||||
# CPU ONLY, DEBUG
|
# DEBUG
|
||||||
mkdir -p build_debug
|
mkdir -p build_debug
|
||||||
cd build_debug
|
cd build_debug
|
||||||
cmake .. -DCMAKE_BUILD_TYPE=Debug
|
cmake .. -DCMAKE_BUILD_TYPE=Debug
|
||||||
@ -17,26 +17,10 @@ cmake --build . --target install -- -j${number_of_build_workers}
|
|||||||
#cmake --build . --target install --parallel ${number_of_build_workers} #valid only for CMake 3.12+
|
#cmake --build . --target install --parallel ${number_of_build_workers} #valid only for CMake 3.12+
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
# CPU ONLY, RELEASE
|
# RELEASE
|
||||||
mkdir -p build_release
|
mkdir -p build_release
|
||||||
cd build_release
|
cd build_release
|
||||||
cmake .. -DCMAKE_BUILD_TYPE=Release
|
cmake .. -DCMAKE_BUILD_TYPE=Release
|
||||||
cmake --build . --target install -- -j${number_of_build_workers}
|
cmake --build . --target install -- -j${number_of_build_workers}
|
||||||
#cmake --build . --target install --parallel ${number_of_build_workers} #valid only for CMake 3.12+
|
#cmake --build . --target install --parallel ${number_of_build_workers} #valid only for CMake 3.12+
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
# CUDA, DEBUG
|
|
||||||
mkdir -p build_debug_gpu
|
|
||||||
cd build_debug_gpu
|
|
||||||
cmake .. -DCMAKE_BUILD_TYPE=Debug -DENABLE_CUDA:BOOL=TRUE
|
|
||||||
cmake --build . --target install -- -j${number_of_build_workers}
|
|
||||||
#cmake --build . --target install --parallel ${number_of_build_workers} #valid only for CMake 3.12+
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
# CUDA, RELEASE
|
|
||||||
mkdir -p build_release_gpu
|
|
||||||
cd build_release_gpu
|
|
||||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_CUDA:BOOL=TRUE
|
|
||||||
cmake --build . --target install -- -j${number_of_build_workers}
|
|
||||||
#cmake --build . --target install --parallel ${number_of_build_workers} #valid only for CMake 3.12+
|
|
||||||
cd ..
|
|
||||||
|
@ -19,26 +19,18 @@
|
|||||||
# ``CUDNN_LIBRARIES``
|
# ``CUDNN_LIBRARIES``
|
||||||
# The CUDNN libraries.
|
# The CUDNN libraries.
|
||||||
#
|
#
|
||||||
# Hints
|
|
||||||
# ^^^^^
|
|
||||||
#
|
|
||||||
# ``CUDNN_ROOT_DIR``
|
|
||||||
# Set this variable to a directory that contains a CUDNN installation.
|
|
||||||
#
|
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
include(FindPackageHandleStandardArgs)
|
||||||
|
|
||||||
#set(CUDNN_ROOT_DIR "" CACHE PATH "Folder contains NVIDIA cuDNN")
|
|
||||||
|
|
||||||
if(NOT CUDNN_INCLUDE_DIR)
|
if(NOT CUDNN_INCLUDE_DIR)
|
||||||
find_path(CUDNN_INCLUDE_DIR cudnn.h
|
find_path(CUDNN_INCLUDE_DIR cudnn.h
|
||||||
HINTS ${CUDNN_ROOT_DIR} ${CUDA_HOME} ${CUDA_TOOLKIT_ROOT_DIR}
|
HINTS ${CUDA_HOME} ${CUDA_TOOLKIT_ROOT_DIR}
|
||||||
PATH_SUFFIXES cuda/include include)
|
PATH_SUFFIXES cuda/include include)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT CUDNN_LIBRARY)
|
if(NOT CUDNN_LIBRARY)
|
||||||
find_library(CUDNN_LIBRARY cudnn
|
find_library(CUDNN_LIBRARY cudnn
|
||||||
HINTS ${CUDNN_ROOT_DIR} ${CUDA_HOME} ${CUDA_TOOLKIT_ROOT_DIR}
|
HINTS ${CUDA_HOME} ${CUDA_TOOLKIT_ROOT_DIR}
|
||||||
PATH_SUFFIXES lib lib64 cuda/lib cuda/lib64 lib/x64)
|
PATH_SUFFIXES lib lib64 cuda/lib cuda/lib64 lib/x64)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user