diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 3697a6c..aec1057 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,14 +8,22 @@ jobs: vmImage: ubuntu-latest strategy: matrix: - linux_64_c_compiler_version10cuda_compiler_version11.2cudnn8cxx_compiler_version10: - CONFIG: linux_64_c_compiler_version10cuda_compiler_version11.2cudnn8cxx_compiler_version10 + linux_64_c_compiler_version10cuda_compiler_version11.2cxx_compiler_version10: + CONFIG: linux_64_c_compiler_version10cuda_compiler_version11.2cxx_compiler_version10 UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cuda:11.2 - linux_ppc64le_cuda_compiler_version11.2cudnn8: - CONFIG: linux_ppc64le_cuda_compiler_version11.2cudnn8 + linux_64_c_compiler_version12cuda_compiler_version12.0cxx_compiler_version12: + CONFIG: linux_64_c_compiler_version12cuda_compiler_version12.0cxx_compiler_version12 + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_ppc64le_c_compiler_version10cuda_compiler_version11.2cxx_compiler_version10: + CONFIG: linux_ppc64le_c_compiler_version10cuda_compiler_version11.2cxx_compiler_version10 UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-ppc64le-cuda:11.2 + linux_ppc64le_c_compiler_version12cuda_compiler_version12.0cxx_compiler_version12: + CONFIG: linux_ppc64le_c_compiler_version12cuda_compiler_version12.0cxx_compiler_version12 + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-ppc64le timeoutInMinutes: 360 steps: diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index b6f9d22..8a96a72 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -5,15 +5,16 @@ jobs: - job: win pool: - vmImage: windows-2019 + vmImage: windows-2022 strategy: matrix: - win_64_cuda_compiler_version11.2cudnn8: - CONFIG: win_64_cuda_compiler_version11.2cudnn8 + win_64_: + CONFIG: win_64_ UPLOAD_PACKAGES: 'True' timeoutInMinutes: 360 variables: CONDA_BLD_PATH: D:\\bld\\ + UPLOAD_TEMP: D:\\tmp steps: - task: PythonScript@0 @@ -35,7 +36,7 @@ jobs: - script: | call activate base - mamba.exe install 'python=3.9' conda-build conda pip boa 'conda-forge-ci-setup=3' -c conda-forge --strict-channel-priority --yes + mamba.exe install "python=3.10" conda-build conda pip boa conda-forge-ci-setup=3 -c conda-forge --strict-channel-priority --yes displayName: Install conda-build - script: set PYTHONUNBUFFERED=1 @@ -53,10 +54,12 @@ jobs: call activate base run_conda_forge_build_setup displayName: conda-forge build setup - - script: | call activate base + if EXIST LICENSE.txt ( + copy LICENSE.txt "recipe\\recipe-scripts-license.txt" + ) conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables displayName: Build recipe env: @@ -70,6 +73,9 @@ jobs: - script: | set "GIT_BRANCH=%BUILD_SOURCEBRANCHNAME%" set "FEEDSTOCK_NAME=%BUILD_REPOSITORY_NAME:*/=%" + set "TEMP=$(UPLOAD_TEMP)" + if not exist "%TEMP%\" md "%TEMP%" + set "TMP=%TEMP%" call activate base upload_package --validate --feedstock-name="%FEEDSTOCK_NAME%" .\ ".\recipe" .ci_support\%CONFIG%.yaml displayName: Upload package diff --git a/.ci_support/linux_64_c_compiler_version10cuda_compiler_version11.2cudnn8cxx_compiler_version10.yaml b/.ci_support/linux_64_c_compiler_version10cuda_compiler_version11.2cxx_compiler_version10.yaml similarity index 94% rename from .ci_support/linux_64_c_compiler_version10cuda_compiler_version11.2cudnn8cxx_compiler_version10.yaml rename to .ci_support/linux_64_c_compiler_version10cuda_compiler_version11.2cxx_compiler_version10.yaml index d68329f..841450d 100644 --- a/.ci_support/linux_64_c_compiler_version10cuda_compiler_version11.2cudnn8cxx_compiler_version10.yaml +++ b/.ci_support/linux_64_c_compiler_version10cuda_compiler_version11.2cxx_compiler_version10.yaml @@ -12,8 +12,6 @@ cuda_compiler: - nvcc cuda_compiler_version: - '11.2' -cudnn: -- '8' cxx_compiler: - gxx cxx_compiler_version: @@ -25,7 +23,6 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version - - cudnn - cuda_compiler_version - cdt_name - docker_image diff --git a/.ci_support/linux_64_c_compiler_version12cuda_compiler_version12.0cxx_compiler_version12.yaml b/.ci_support/linux_64_c_compiler_version12cuda_compiler_version12.0cxx_compiler_version12.yaml new file mode 100644 index 0000000..5b487a7 --- /dev/null +++ b/.ci_support/linux_64_c_compiler_version12cuda_compiler_version12.0cxx_compiler_version12.yaml @@ -0,0 +1,28 @@ +c_compiler: +- gcc +c_compiler_version: +- '12' +cdt_name: +- cos7 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- nvcc +cuda_compiler_version: +- '12.0' +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - cuda_compiler_version + - cdt_name + - docker_image diff --git a/.ci_support/linux_aarch64_cuda_compiler_version11.2cudnn8.yaml b/.ci_support/linux_aarch64_c_compiler_version10cuda_compiler_version11.2cxx_compiler_version10.yaml similarity index 95% rename from .ci_support/linux_aarch64_cuda_compiler_version11.2cudnn8.yaml rename to .ci_support/linux_aarch64_c_compiler_version10cuda_compiler_version11.2cxx_compiler_version10.yaml index 1ac5f6e..fa52260 100644 --- a/.ci_support/linux_aarch64_cuda_compiler_version11.2cudnn8.yaml +++ b/.ci_support/linux_aarch64_c_compiler_version10cuda_compiler_version11.2cxx_compiler_version10.yaml @@ -1,5 +1,7 @@ BUILD: - aarch64-conda_cos7-linux-gnu +arm_variant_type: +- sbsa c_compiler: - gcc c_compiler_version: @@ -16,8 +18,6 @@ cuda_compiler: - nvcc cuda_compiler_version: - '11.2' -cudnn: -- '8' cxx_compiler: - gxx cxx_compiler_version: @@ -29,7 +29,6 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version - - cudnn - cuda_compiler_version - cdt_name - docker_image diff --git a/.ci_support/linux_aarch64_c_compiler_version12cuda_compiler_version12.0cxx_compiler_version12.yaml b/.ci_support/linux_aarch64_c_compiler_version12cuda_compiler_version12.0cxx_compiler_version12.yaml new file mode 100644 index 0000000..6aa0a5e --- /dev/null +++ b/.ci_support/linux_aarch64_c_compiler_version12cuda_compiler_version12.0cxx_compiler_version12.yaml @@ -0,0 +1,34 @@ +BUILD: +- aarch64-conda_cos7-linux-gnu +arm_variant_type: +- sbsa +c_compiler: +- gcc +c_compiler_version: +- '12' +cdt_arch: +- aarch64 +cdt_name: +- cos7 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- nvcc +cuda_compiler_version: +- '12.0' +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-aarch64-cuda:11.8 +target_platform: +- linux-aarch64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - cuda_compiler_version + - cdt_name + - docker_image diff --git a/.ci_support/linux_ppc64le_cuda_compiler_version11.2cudnn8.yaml b/.ci_support/linux_ppc64le_c_compiler_version10cuda_compiler_version11.2cxx_compiler_version10.yaml similarity index 95% rename from .ci_support/linux_ppc64le_cuda_compiler_version11.2cudnn8.yaml rename to .ci_support/linux_ppc64le_c_compiler_version10cuda_compiler_version11.2cxx_compiler_version10.yaml index ff1069f..ed8418a 100644 --- a/.ci_support/linux_ppc64le_cuda_compiler_version11.2cudnn8.yaml +++ b/.ci_support/linux_ppc64le_c_compiler_version10cuda_compiler_version11.2cxx_compiler_version10.yaml @@ -12,8 +12,6 @@ cuda_compiler: - nvcc cuda_compiler_version: - '11.2' -cudnn: -- '8' cxx_compiler: - gxx cxx_compiler_version: @@ -25,7 +23,6 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version - - cudnn - cuda_compiler_version - cdt_name - docker_image diff --git a/.ci_support/linux_ppc64le_c_compiler_version12cuda_compiler_version12.0cxx_compiler_version12.yaml b/.ci_support/linux_ppc64le_c_compiler_version12cuda_compiler_version12.0cxx_compiler_version12.yaml new file mode 100644 index 0000000..7b369b7 --- /dev/null +++ b/.ci_support/linux_ppc64le_c_compiler_version12cuda_compiler_version12.0cxx_compiler_version12.yaml @@ -0,0 +1,28 @@ +c_compiler: +- gcc +c_compiler_version: +- '12' +cdt_name: +- cos7 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- nvcc +cuda_compiler_version: +- '12.0' +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-ppc64le +target_platform: +- linux-ppc64le +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - cuda_compiler_version + - cdt_name + - docker_image diff --git a/.ci_support/win_64_cuda_compiler_version11.2cudnn8.yaml b/.ci_support/win_64_.yaml similarity index 69% rename from .ci_support/win_64_cuda_compiler_version11.2cudnn8.yaml rename to .ci_support/win_64_.yaml index 405041e..c21aa04 100644 --- a/.ci_support/win_64_cuda_compiler_version11.2cudnn8.yaml +++ b/.ci_support/win_64_.yaml @@ -1,5 +1,5 @@ c_compiler: -- vs2017 +- vs2019 channel_sources: - conda-forge channel_targets: @@ -8,12 +8,7 @@ cuda_compiler: - nvcc cuda_compiler_version: - '11.2' -cudnn: -- '8' cxx_compiler: -- vs2017 +- vs2019 target_platform: - win-64 -zip_keys: -- - cudnn - - cuda_compiler_version diff --git a/.circleci/config.yml b/.circleci/config.yml index 3e61aa2..8b4ef2f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,6 +1,6 @@ # This file was generated automatically from conda-smithy. To update this configuration, # update the conda-forge.yml and/or the recipe/meta.yaml. -# -*- mode: yaml -*- +# -*- mode: jinja-yaml -*- version: 2 diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index fec17b4..859dbd7 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @kkraus14 +* @adibbley @bdice @jakirkham @vyasr \ No newline at end of file diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index d71d6ae..595f8b5 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -24,7 +24,10 @@ export CONFIG_FILE="${CI_SUPPORT}/${CONFIG}.yaml" cat >~/.condarc < /dev/null +if [[ -f "${FEEDSTOCK_ROOT}/LICENSE.txt" ]]; then + cp "${FEEDSTOCK_ROOT}/LICENSE.txt" "${RECIPE_ROOT}/recipe-scripts-license.txt" +fi + if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" diff --git a/.travis.yml b/.travis.yml index e214fd1..9f8cfbf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,12 @@ language: generic matrix: include: - - env: CONFIG=linux_aarch64_cuda_compiler_version11.2cudnn8 UPLOAD_PACKAGES=True PLATFORM=linux-aarch64 DOCKER_IMAGE=quay.io/condaforge/linux-anvil-aarch64-cuda:11.2 + - env: CONFIG=linux_aarch64_c_compiler_version10cuda_compiler_version11.2cxx_compiler_version10 UPLOAD_PACKAGES=True PLATFORM=linux-aarch64 DOCKER_IMAGE=quay.io/condaforge/linux-anvil-aarch64-cuda:11.2 + os: linux + arch: arm64 + dist: focal + + - env: CONFIG=linux_aarch64_c_compiler_version12cuda_compiler_version12.0cxx_compiler_version12 UPLOAD_PACKAGES=True PLATFORM=linux-aarch64 DOCKER_IMAGE=quay.io/condaforge/linux-anvil-aarch64-cuda:11.8 os: linux arch: arm64 dist: focal diff --git a/LICENSE.txt b/LICENSE.txt index 6ec1401..2ec51d7 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,13 +1,27 @@ -BSD 3-clause license +BSD-3-Clause license Copyright (c) 2015-2022, conda-forge contributors All rights reserved. -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. -2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. diff --git a/README.md b/README.md index ea2e434..b4571de 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ -About cudnn -=========== +About cudnn-feedstock +===================== + +Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/cudnn-feedstock/blob/main/LICENSE.txt) Home: https://developer.nvidia.com/cudnn Package license: [LicenseRef-cuDNN-Software-License-Agreement](https://docs.nvidia.com/deeplearning/cudnn/sla/index.html) -Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/cudnn-feedstock/blob/main/LICENSE.txt) - Summary: NVIDIA's cuDNN deep neural network acceleration library Development: https://developer.nvidia.com/rdp/cudnn-download @@ -48,31 +48,52 @@ Current build status - + + + + + + + + + + - + - + - + @@ -204,5 +225,8 @@ In order to produce a uniquely identifiable distribution: Feedstock Maintainers ===================== -* [@kkraus14](https://github.com/kkraus14/) +* [@adibbley](https://github.com/adibbley/) +* [@bdice](https://github.com/bdice/) +* [@jakirkham](https://github.com/jakirkham/) +* [@vyasr](https://github.com/vyasr/) diff --git a/build-locally.py b/build-locally.py index eec38a0..3f4b7a7 100755 --- a/build-locally.py +++ b/build-locally.py @@ -86,12 +86,19 @@ def main(args=None): verify_config(ns) setup_environment(ns) - if ns.config.startswith("linux") or ( - ns.config.startswith("osx") and platform.system() == "Linux" - ): - run_docker_build(ns) - elif ns.config.startswith("osx"): - run_osx_build(ns) + try: + if ns.config.startswith("linux") or ( + ns.config.startswith("osx") and platform.system() == "Linux" + ): + run_docker_build(ns) + elif ns.config.startswith("osx"): + run_osx_build(ns) + finally: + recipe_license_file = os.path.join( + "recipe", "recipe-scripts-license.txt" + ) + if os.path.exists(recipe_license_file): + os.remove(recipe_license_file) if __name__ == "__main__": diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml new file mode 100644 index 0000000..92f62f3 --- /dev/null +++ b/recipe/conda_build_config.yaml @@ -0,0 +1,66 @@ +arm_variant_type: # [aarch64] + - sbsa # [aarch64] + +c_compiler_version: + - 12 # [linux and aarch64] + - 12 # [linux and ppc64le] + - 12 # [linux and x86_64] + - 10 # [linux and aarch64] + - 10 # [linux and ppc64le] + - 10 # [linux and x86_64] + +cxx_compiler_version: + - 12 # [linux and aarch64] + - 12 # [linux and ppc64le] + - 12 # [linux and x86_64] + - 10 # [linux and aarch64] + - 10 # [linux and ppc64le] + - 10 # [linux and x86_64] + +fortran_compiler_version: + - 10 # [linux and aarch64] + - 10 # [linux and ppc64le] + - 10 # [linux and x86_64] + - 10 # [linux and aarch64] + - 10 # [linux and ppc64le] + - 10 # [linux and x86_64] + +cuda_compiler_version: + - 12.0 # [linux and aarch64] + - 12.0 # [linux and ppc64le] + - 12.0 # [linux and x86_64] + - 11.2 # [linux and aarch64] + - 11.2 # [linux and ppc64le] + - 11.2 # [linux and x86_64] + - 11.2 # [win] + +cuda_compiler: + - nvcc + +cudnn: + - undefined # [linux and aarch64] + - undefined # [linux and ppc64le] + - undefined # [linux and x86_64] + - undefined # [linux and aarch64] + - undefined # [linux and ppc64le] + - undefined # [linux and x86_64] + - undefined # [win] + +cdt_name: + - cos7 # [linux and aarch64] + - cos7 # [linux and ppc64le] + - cos7 # [linux and x86_64] + - cos7 # [linux and aarch64] + - cos7 # [linux and ppc64le] + - cos7 # [linux and x86_64] + +docker_image: + # TODO: We're using the aarch64-cuda:11.8 image, based on ubi8, only to get a + # newer glibc for the CUDA 12 builds. For some reason, aarch64 + CUDA 12 is + # expecting GLIBC_2.27. + - quay.io/condaforge/linux-anvil-aarch64-cuda:11.8 # [linux and aarch64] + - quay.io/condaforge/linux-anvil-ppc64le # [linux and ppc64le] + - quay.io/condaforge/linux-anvil-cos7-x86_64 # [linux and x86_64] + - quay.io/condaforge/linux-anvil-aarch64-cuda:11.2 # [linux and aarch64] + - quay.io/condaforge/linux-anvil-ppc64le-cuda:11.2 # [linux and ppc64le] + - quay.io/condaforge/linux-anvil-cuda:11.2 # [linux and x86_64] diff --git a/recipe/meta.yaml b/recipe/meta.yaml index f11c716..7dba471 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,41 +1,43 @@ -{% set version = "8.4.1.50" %} - -# cuDNN v8.3.x supports CUDA versions 10.2 - 11.5 -# For CUDA 11.x there is one cuDNN distribution that works with all CUDA 11 versions -# (We don't support CUDA 10.2 anymore as it's x86-64 only.) -{% if cuda_compiler_version[:2] == "11" %} -{% set cudnn_cuda_version = "11.6" %} -{% endif %} +{% set version = "8.8.0.121" %} +{% set cuda_major = (cuda_compiler_version|default("12.0.0")).split(".")[0] %} +{% set platform = "linux-x86_64" %} # [linux64] +{% set platform = "linux-ppc64le" %} # [ppc64le] +{% set platform = "linux-sbsa" %} # [aarch64] +{% set platform = "windows-x86_64" %} # [win] +{% set extension = "tar.xz" %} # [not win] +{% set extension = "zip" %} # [win] package: name: cudnn version: {{ version }} source: - - url: https://developer.download.nvidia.com/compute/redist/cudnn/v{{ ".".join(version.split(".")[:3]) }}/local_installers/{{ cudnn_cuda_version }}/cudnn-linux-x86_64-{{ version }}_cuda{{ cudnn_cuda_version }}-archive.tar.xz # [linux64] - sha256: ec96d2376d81fca42bdd3d4c3d705a99b29a065bab57f920561c763e29c67d01 # [linux64 and cuda_compiler_version == "11.2"] - - url: https://developer.download.nvidia.com/compute/redist/cudnn/v{{ ".".join(version.split(".")[:3]) }}/local_installers/{{ cudnn_cuda_version }}/cudnn-linux-ppc64le-{{ version }}_cuda{{ cudnn_cuda_version }}-archive.tar.xz # [ppc64le] - sha256: 8b806cbfdc81352bf76716d1e53b42537665d110c6ffc068be910505c10e1b98 # [ppc64le and cuda_compiler_version == "11.2"] - - url: https://developer.download.nvidia.com/compute/redist/cudnn/v{{ ".".join(version.split(".")[:3]) }}/local_installers/{{ cudnn_cuda_version }}/cudnn-linux-sbsa-{{ version }}_cuda{{ cudnn_cuda_version }}-archive.tar.xz # [aarch64] - sha256: 0b1b9fac5b78974e2fdaaa74843db18f636ce8f3d999d62ff2a615b9978fc360 # [aarch64 and cuda_compiler_version == "11.2"] - - url: https://developer.download.nvidia.com/compute/redist/cudnn/v{{ ".".join(version.split(".")[:3]) }}/local_installers/{{ cudnn_cuda_version }}/cudnn-windows-x86_64-{{ version }}_cuda{{ cudnn_cuda_version }}-archive.zip # [win64] - sha256: ebecec4be0ba36102d01d50fbdc5f88276648c89a2fa0d7d68bdb35430a72c30 # [win64 and cuda_compiler_version == "11.2"] + url: https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/{{ platform }}/cudnn-{{ platform }}-{{ version }}_cuda{{ cuda_major }}-archive.{{ extension }} + sha256: 62046476076d1b455fb13fb78b38d3496bacafbfdbb0494fb3392240a04466ea # [linux64 and cuda_major == "11"] + sha256: a0792b666caaf593a9dd4130979578fd3a78230f4407645c295700ef8e7aaaf2 # [linux64 and cuda_major == "12"] + sha256: a019f2c8a300991d94d718a3524377d978efadaa62349858741f17ef859a9e55 # [aarch64 and cuda_major == "11"] + sha256: fc668519a8344e9d05335bad4bc5d23a504cdc7579aea41f12d6aa0f3079e709 # [aarch64 and cuda_major == "12"] + sha256: 521c4b6ef579582953e4df2f5fe95a106bfc6d9dc30c6ac26ed6fd92fd0767b9 # [ppc64le and cuda_major == "11"] + sha256: cd41ab8b61f5beb54e32c3668ecd311ce926c39006fba256b053dd7d248419d4 # [ppc64le and cuda_major == "12"] + sha256: 4f0105a51ac6ea947154e252c8b220baf3345803f55644b5aad84e22ae4f8986 # [win and cuda_major == "11"] + sha256: e362e1fbf6b101ad71aa5314f21d00a4353b90efbe5cdedc5fcfb0f3b68cd791 # [win and cuda_major == "12"] build: number: 0 - skip: True # [cuda_compiler_version != "11.2"] + # TODO: Enable Windows with CUDA 12 when it is supported in CI + skip: True # [win32 or osx or (win and cuda_major == "12")] script: - mkdir -p $PREFIX/include # [linux] - cp include/cudnn*.h $PREFIX/include/ # [linux] - mkdir -p $PREFIX/lib # [linux] - mv lib/libcudnn*.so* $PREFIX/lib/ # [linux] - - mkdir %LIBRARY_INC% # [win] - - copy %SRC_DIR%\\include\\cudnn*.h %LIBRARY_INC%\\ # [win] - - mkdir %LIBRARY_LIB% # [win] - - copy %SRC_DIR%\\lib\\cudnn*.lib %LIBRARY_LIB%\\ # [win] - - mkdir %LIBRARY_BIN% # [win] - - copy %SRC_DIR%\\bin\\cudnn*.dll %LIBRARY_BIN%\\ # [win] + - mkdir %LIBRARY_INC% # [win] + - copy %SRC_DIR%\\include\\cudnn*.h %LIBRARY_INC%\\ # [win] + - mkdir %LIBRARY_LIB% # [win] + - copy %SRC_DIR%\\lib\\x64\\cudnn*.lib %LIBRARY_LIB%\\ # [win] + - mkdir %LIBRARY_BIN% # [win] + - copy %SRC_DIR%\\bin\\cudnn*.dll %LIBRARY_BIN%\\ # [win] ignore_run_exports: - cudatoolkit run_exports: @@ -45,18 +47,27 @@ requirements: build: - {{ compiler('c') }} - {{ compiler('cxx') }} - - {{ compiler('cuda') }} - - sysroot_linux-64 2.17 # [linux64] + - {{ compiler('cuda') }} # [cuda_compiler_version != "12.0"] + - arm-variant * {{ arm_variant_type }} # [aarch64] + - sysroot_{{ target_platform }} 2.17 # [linux] host: + - cuda-version {{ cuda_major }}.0 - patchelf >=0.12 # [linux] # to suppress ".so not found" errors - - libzlib # [linux] + - libzlib # [linux] - libzlib-wapi # [win64] run: + - {{ pin_compatible("cuda-version", max_pin="x") }} + {% if cuda_major == "11" %} - cudatoolkit 11.* + {% else %} + - cuda-nvrtc + - libcublas + {% endif %} run_constrained: - # Only GLIBC_2.17 or older symbols present - - __glibc >=2.17 # [linux] + - __glibc >=2.17 # [linux and not aarch64] + - __glibc >=2.28 # [linux and aarch64] + - arm-variant * {{ arm_variant_type }} # [aarch64] test: requires: @@ -64,17 +75,17 @@ test: files: - test_load_elf.c # [linux] commands: - - if not exist %LIBRARY_INC%/cudnn.h exit 1 # [win] - - if not exist %LIBRARY_INC%/cudnn_adv_train.h exit 1 # [win] - - if not exist %LIBRARY_LIB%/cudnn.lib exit 1 # [win] - - if not exist %LIBRARY_LIB%/cudnn_adv_train.lib exit 1 # [win] - - if not exist %LIBRARY_BIN%/cudnn64_8.dll exit 1 # [win] - - if not exist %LIBRARY_BIN%/cudnn_adv_train64_8.dll exit 1 # [win] - - test -f $PREFIX/include/cudnn.h # [linux] - - test -f $PREFIX/include/cudnn_adv_train.h # [linux] - - test -f $PREFIX/lib/libcudnn.so # [linux] - - test -f $PREFIX/lib/libcudnn_adv_train.so # [linux] - - ${GCC} test_load_elf.c -std=c99 -Werror -ldl -o test_load_elf # [linux] + - if not exist %LIBRARY_INC%/cudnn.h exit 1 # [win] + - if not exist %LIBRARY_INC%/cudnn_adv_train.h exit 1 # [win] + - if not exist %LIBRARY_LIB%/cudnn.lib exit 1 # [win] + - if not exist %LIBRARY_LIB%/cudnn_adv_train.lib exit 1 # [win] + - if not exist %LIBRARY_BIN%/cudnn64_8.dll exit 1 # [win] + - if not exist %LIBRARY_BIN%/cudnn_adv_train64_8.dll exit 1 # [win] + - test -f $PREFIX/include/cudnn.h # [linux] + - test -f $PREFIX/include/cudnn_adv_train.h # [linux] + - test -f $PREFIX/lib/libcudnn.so # [linux] + - test -f $PREFIX/lib/libcudnn_adv_train.so # [linux] + - ${GCC} test_load_elf.c -std=c99 -Werror -ldl -o test_load_elf # [linux] - for f in $PREFIX/lib/libcudnn*.so; do ./test_load_elf $f; done # [linux] about: @@ -97,4 +108,7 @@ about: extra: recipe-maintainers: - - kkraus14 + - adibbley + - bdice + - jakirkham + - vyasr
VariantStatus
linux_64_c_compiler_version10cuda_compiler_version11.2cudnn8cxx_compiler_version10linux_64_c_compiler_version10cuda_compiler_version11.2cxx_compiler_version10 + + variant + +
linux_64_c_compiler_version12cuda_compiler_version12.0cxx_compiler_version12 + + variant + +
linux_aarch64_c_compiler_version10cuda_compiler_version11.2cxx_compiler_version10 + + variant + +
linux_aarch64_c_compiler_version12cuda_compiler_version12.0cxx_compiler_version12 - variant + variant
linux_aarch64_cuda_compiler_version11.2cudnn8linux_ppc64le_c_compiler_version10cuda_compiler_version11.2cxx_compiler_version10 - variant + variant
linux_ppc64le_cuda_compiler_version11.2cudnn8linux_ppc64le_c_compiler_version12cuda_compiler_version12.0cxx_compiler_version12 - variant + variant
win_64_cuda_compiler_version11.2cudnn8win_64 - variant + variant