diff --git a/ports/cuda/CONTROL b/ports/cuda/CONTROL index 8b0c0a671c087f..514577cf193f57 100644 --- a/ports/cuda/CONTROL +++ b/ports/cuda/CONTROL @@ -1,5 +1,4 @@ Source: cuda -Version: 10.1 -Port-Version: 5 +Version: 10.2 +Homepage: https://developer.nvidia.com/cuda-zone Description: A parallel computing platform and programming model -Homepage: https://developer.nvidia.com/cuda-toolkit diff --git a/ports/cuda/portfile.cmake b/ports/cuda/portfile.cmake index ecdce4cfb0ba15..801ba3166aa1d5 100644 --- a/ports/cuda/portfile.cmake +++ b/ports/cuda/portfile.cmake @@ -1,8 +1,7 @@ # This package doesn't install CUDA. It instead verifies that CUDA is installed. # Other packages can depend on this package to declare a dependency on CUDA. # If this package is installed, we assume that CUDA is properly installed. - -#note: this port must be kept in sync with CUDNN and NCCL ports: every time one is upgraded, the other must be too +# note: this port must be kept in sync with CUDNN and NCCL ports: every time one is upgraded, the others must be too include(${CMAKE_CURRENT_LIST_DIR}/vcpkg_find_cuda.cmake) @@ -11,3 +10,4 @@ vcpkg_find_cuda(OUT_CUDA_TOOLKIT_ROOT CUDA_TOOLKIT_ROOT) file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg_find_cuda.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/vcpkg_find_cuda) set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + diff --git a/ports/cudnn/CONTROL b/ports/cudnn/CONTROL index 3166890d3d22a7..596ca95ed8528b 100644 --- a/ports/cudnn/CONTROL +++ b/ports/cudnn/CONTROL @@ -1,6 +1,7 @@ Source: cudnn -Version: 7.6 -Port-Version: 4 +Version: 7.6.5-CUDA10.2 +Homepage: https://developer.nvidia.com/cudnn +Port-Version: 1 Description: NVIDIA's cuDNN deep neural network acceleration library Build-Depends: cuda Supports: (windows|linux)&x64 diff --git a/ports/cudnn/portfile.cmake b/ports/cudnn/portfile.cmake index 768ef39aa8b24b..d8017ab91d9474 100644 --- a/ports/cudnn/portfile.cmake +++ b/ports/cudnn/portfile.cmake @@ -1,17 +1,23 @@ -if(VCPKG_TARGET_IS_UWP OR VCPKG_TARGET_IS_OSX) - message(FATAL_ERROR "This port is only for Windows Desktop or Linux") -endif() - -if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - message(FATAL_ERROR "This port is only for x64 architectures") -endif() +vcpkg_fail_port_install(ON_ARCH "arm" "arm64" "x86" ON_TARGET "OSX" "UWP") vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) set(VCPKG_POLICY_MISMATCHED_NUMBER_OF_BINARIES enabled) # only release bits are provided #note: this port must be kept in sync with CUDA port: every time one is upgraded, the other must be too -set(CUDNN_VERSION "7.6.0") -set(CUDNN_FULL_VERSION "${CUDNN_VERSION}-cuda10.1_0") + +set(CUDNN_VERSION "7.6.5") +set(CUDNN_FULL_VERSION "${CUDNN_VERSION}-cuda10.2_0") + +if(VCPKG_TARGET_IS_WINDOWS) + set(CUDNN_DOWNLOAD_LINK "https://anaconda.org/anaconda/cudnn/${CUDNN_VERSION}/download/win-64/cudnn-${CUDNN_FULL_VERSION}.tar.bz2") + set(SHA512_CUDNN "86ca2f5f510d4fbeb37548d0bcab42474a1c4041be2cf96c4964f1e51c3641dc4bf25e8434cd5ff99fac9f53946e5f0e83bd845613144731d136cd60913d4aaa") + set(CUDNN_OS "windows") +elseif(VCPKG_TARGET_IS_LINUX) + set(CUDNN_DOWNLOAD_LINK "https://anaconda.org/anaconda/cudnn/${CUDNN_VERSION}/download/linux-64/cudnn-${CUDNN_FULL_VERSION}.tar.bz2") + set(SHA512_CUDNN "b15b554c2ec004105cec8ee2a99f33fab0f9aed12128522730be4fa6204a5b2dff29e42901b5c4840b5ebf35607e8a54f35eb30525885067165b05dd95aa391b") + set(CUDNN_OS "linux") +endif() + string(REPLACE "." ";" VERSION_LIST ${CUDNN_VERSION}) list(GET VERSION_LIST 0 CUDNN_VERSION_MAJOR) list(GET VERSION_LIST 1 CUDNN_VERSION_MINOR) @@ -50,7 +56,7 @@ if(EXISTS "${CUDNN_INCLUDE_DIR}/cudnn.h") endif() endif() -if (CUDNN_INCLUDE_DIR AND CUDNN_LIBRARY AND _CUDNN_VERSION VERSION_GREATER_EQUAL CUDNN_VERSION) +if (CUDNN_INCLUDE_DIR AND CUDNN_LIBRARY AND _CUDNN_VERSION VERSION_EQUAL CUDNN_VERSION) set(CUDNN_FOUND TRUE) else() set(CUDNN_FOUND FALSE) @@ -62,15 +68,6 @@ if (CUDNN_FOUND) set(VCPKG_POLICY_EMPTY_PACKAGE enabled) else() message(STATUS "CUDNN not found on system - downloading...") - if(VCPKG_TARGET_IS_WINDOWS) - set(CUDNN_DOWNLOAD_LINK "https://anaconda.org/anaconda/cudnn/${CUDNN_VERSION}/download/win-64/cudnn-${CUDNN_FULL_VERSION}.tar.bz2") - set(SHA512_CUDNN "c0218407e7bc2b3c1497f1709dedee345bc619603ec0efa094e392888c0d513d645a1241501f9b406f688defa811578f36b49f456eb533535ecd526702156eea") - set(CUDNN_OS "windows") - elseif(VCPKG_TARGET_IS_LINUX) - set(CUDNN_DOWNLOAD_LINK "https://anaconda.org/anaconda/cudnn/${CUDNN_VERSION}/download/linux-64/cudnn-${CUDNN_FULL_VERSION}.tar.bz2") - set(SHA512_CUDNN "128ccdc0ec24a1133947d7a8eff6cd8edc224134fa5065a11a1a01a99dbaee7d799db1454e0a59e411cf6db244f8c2420c160488a5dd4830addc3578b2011e3d") - set(CUDNN_OS "linux") - endif() vcpkg_download_distfile(ARCHIVE URLS ${CUDNN_DOWNLOAD_LINK} @@ -100,3 +97,4 @@ else() file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) endif() # NOT CUDNN_FOUND + diff --git a/scripts/azure-pipelines/linux/provision-image.sh b/scripts/azure-pipelines/linux/provision-image.sh index c04f4b3caac191..04fba009f53617 100755 --- a/scripts/azure-pipelines/linux/provision-image.sh +++ b/scripts/azure-pipelines/linux/provision-image.sh @@ -58,10 +58,10 @@ cd ~ curl -sSL https://get.haskellstack.org/ | sudo sh # Install CUDA -wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-repo-ubuntu1804_10.2.89-1_amd64.deb -sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub +wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-repo-ubuntu1804_10.2.89-1_amd64.deb +sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub sudo dpkg -i cuda-repo-ubuntu1804_10.2.89-1_amd64.deb -wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb +wget https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb sudo dpkg -i nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb sudo apt -y update sudo apt install -y --no-install-recommends cuda-compiler-10-2 cuda-libraries-dev-10-2 cuda-driver-dev-10-2 cuda-cudart-dev-10-2 libcublas10 cuda-curand-dev-10-2 diff --git a/scripts/azure-pipelines/windows/provision-image.txt b/scripts/azure-pipelines/windows/provision-image.txt index e3e04be28e0df6..e17eab7f56f385 100644 --- a/scripts/azure-pipelines/windows/provision-image.txt +++ b/scripts/azure-pipelines/windows/provision-image.txt @@ -128,12 +128,12 @@ $WindowsWDKUrl = 'https://go.microsoft.com/fwlink/?linkid=2128854' $MpiUrl = 'https://download.microsoft.com/download/a/5/2/a5207ca5-1203-491a-8fb8-906fd68ae623/msmpisetup.exe' -$CudaUrl = 'https://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_426.00_win10.exe' -$CudaFeatures = 'nvcc_10.1 cuobjdump_10.1 nvprune_10.1 cupti_10.1 gpu_library_advisor_10.1 memcheck_10.1 ' + ` - 'nvdisasm_10.1 nvprof_10.1 visual_profiler_10.1 visual_studio_integration_10.1 cublas_10.1 cublas_dev_10.1 ' + ` - 'cudart_10.1 cufft_10.1 cufft_dev_10.1 curand_10.1 curand_dev_10.1 cusolver_10.1 cusolver_dev_10.1 cusparse_10.1 ' + ` - 'cusparse_dev_10.1 nvgraph_10.1 nvgraph_dev_10.1 npp_10.1 npp_dev_10.1 nvrtc_10.1 nvrtc_dev_10.1 nvml_dev_10.1 ' + ` - 'occupancy_calculator_10.1 fortran_examples_10.1' +$CudaUrl = 'https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_441.22_win10.exe' +$CudaFeatures = 'nvcc_10.2 cuobjdump_10.2 nvprune_10.2 cupti_10.2 gpu_library_advisor_10.2 memcheck_10.2 ' + ` + 'nvdisasm_10.2 nvprof_10.2 visual_profiler_10.2 visual_studio_integration_10.2 cublas_10.2 cublas_dev_10.2 ' + ` + 'cudart_10.2 cufft_10.2 cufft_dev_10.2 curand_10.2 curand_dev_10.2 cusolver_10.2 cusolver_dev_10.2 cusparse_10.2 ' + ` + 'cusparse_dev_10.2 nvgraph_10.2 nvgraph_dev_10.2 npp_10.2 npp_dev_10.2 nvrtc_10.2 nvrtc_dev_10.2 nvml_dev_10.2 ' + ` + 'occupancy_calculator_10.2 fortran_examples_10.2' $PwshUrl = 'https://github.com/PowerShell/PowerShell/releases/download/v7.1.0/PowerShell-7.1.0-win-x64.msi'