diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index a0a4716..b5d1f64 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -17,6 +17,7 @@ jobs: UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 timeoutInMinutes: 360 + variables: {} steps: # configure qemu binfmt-misc running. This allows us to run docker containers diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 4eda80e..8d6d64d 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -27,7 +27,7 @@ jobs: scriptSource: inline script: | import urllib.request - url = 'https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Windows-x86_64.exe' + url = 'https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Windows-x86_64.exe' path = r"$(Build.ArtifactStagingDirectory)/Miniforge.exe" urllib.request.urlretrieve(url, path) diff --git a/.ci_support/linux_64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11.yaml b/.ci_support/linux_64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11.yaml index 241fc3a..262591b 100644 --- a/.ci_support/linux_64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11.yaml +++ b/.ci_support/linux_64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11.yaml @@ -2,6 +2,10 @@ c_compiler: - gcc c_compiler_version: - '11' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' cdt_name: - cos7 channel_sources: @@ -23,7 +27,8 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version + - c_stdlib_version + - cdt_name - cuda_compiler - cuda_compiler_version - - cdt_name - docker_image diff --git a/.ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12.yaml b/.ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12.yaml index 28c8a6b..5a47d08 100644 --- a/.ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12.yaml +++ b/.ci_support/linux_64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12.yaml @@ -2,6 +2,10 @@ c_compiler: - gcc c_compiler_version: - '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' cdt_name: - cos7 channel_sources: @@ -23,7 +27,8 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version + - c_stdlib_version + - cdt_name - cuda_compiler - cuda_compiler_version - - cdt_name - docker_image diff --git a/.ci_support/linux_aarch64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11.yaml b/.ci_support/linux_aarch64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11.yaml index 84b00ce..5bfe804 100644 --- a/.ci_support/linux_aarch64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11.yaml +++ b/.ci_support/linux_aarch64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11.yaml @@ -6,6 +6,10 @@ c_compiler: - gcc c_compiler_version: - '11' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' cdt_arch: - aarch64 cdt_name: @@ -29,7 +33,8 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version + - c_stdlib_version + - cdt_name - cuda_compiler - cuda_compiler_version - - cdt_name - docker_image diff --git a/.ci_support/linux_aarch64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12.yaml b/.ci_support/linux_aarch64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12.yaml index 17c43d9..2929564 100644 --- a/.ci_support/linux_aarch64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12.yaml +++ b/.ci_support/linux_aarch64_c_compiler_version12cuda_compilercuda-nvcccuda_compiler_version12.0cxx_compiler_version12.yaml @@ -6,6 +6,10 @@ c_compiler: - gcc c_compiler_version: - '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' cdt_arch: - aarch64 cdt_name: @@ -29,7 +33,8 @@ target_platform: zip_keys: - - c_compiler_version - cxx_compiler_version + - c_stdlib_version + - cdt_name - cuda_compiler - cuda_compiler_version - - cdt_name - docker_image diff --git a/.ci_support/win_64_cuda_compilercuda-nvcccuda_compiler_version12.0.yaml b/.ci_support/win_64_cuda_compilercuda-nvcccuda_compiler_version12.0.yaml index 67e5a06..32322aa 100644 --- a/.ci_support/win_64_cuda_compilercuda-nvcccuda_compiler_version12.0.yaml +++ b/.ci_support/win_64_cuda_compilercuda-nvcccuda_compiler_version12.0.yaml @@ -1,5 +1,7 @@ c_compiler: - vs2019 +c_stdlib: +- vs channel_sources: - conda-forge channel_targets: diff --git a/.ci_support/win_64_cuda_compilernvcccuda_compiler_version11.8.yaml b/.ci_support/win_64_cuda_compilernvcccuda_compiler_version11.8.yaml index dbb62f3..19cf41b 100644 --- a/.ci_support/win_64_cuda_compilernvcccuda_compiler_version11.8.yaml +++ b/.ci_support/win_64_cuda_compilernvcccuda_compiler_version11.8.yaml @@ -1,5 +1,7 @@ c_compiler: - vs2019 +c_stdlib: +- vs channel_sources: - conda-forge channel_targets: diff --git a/.gitattributes b/.gitattributes index 7f32763..18f114a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -20,8 +20,8 @@ bld.bat text eol=crlf .travis.yml linguist-generated=true .scripts/* linguist-generated=true .woodpecker.yml linguist-generated=true -LICENSE.txt linguist-generated=true -README.md linguist-generated=true +/LICENSE.txt linguist-generated=true +/README.md linguist-generated=true azure-pipelines.yml linguist-generated=true build-locally.py linguist-generated=true shippable.yml linguist-generated=true diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index d750f7f..eb2049f 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @adibbley @bdice @jakirkham \ No newline at end of file +* @conda-forge/cuda \ No newline at end of file diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index f017291..6c805a9 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -34,9 +34,9 @@ CONDARC export CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1 mamba install --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build boa conda-forge-ci-setup=4 + pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" mamba update --update-specs --yes --quiet --channel conda-forge --strict-channel-priority \ - pip mamba conda-build boa conda-forge-ci-setup=4 + pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" @@ -65,10 +65,16 @@ if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then # Drop into an interactive shell /bin/bash else - conda mambabuild "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + conda-build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ --suppress-variables ${EXTRA_CB_OPTIONS:-} \ --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" \ --extra-meta flow_run_id="${flow_run_id:-}" remote_url="${remote_url:-}" sha="${sha:-}" + ( startgroup "Inspecting artifacts" ) 2> /dev/null + + # inspect_artifacts was only added in conda-forge-ci-setup 4.6.0 + command -v inspect_artifacts >/dev/null 2>&1 && inspect_artifacts || echo "inspect_artifacts needs conda-forge-ci-setup >=4.6.0" + + ( endgroup "Inspecting artifacts" ) 2> /dev/null ( startgroup "Validating outputs" ) 2> /dev/null validate_recipe_outputs "${FEEDSTOCK_NAME}" diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat index 7bde26b..24ef201 100755 --- a/.scripts/run_win_build.bat +++ b/.scripts/run_win_build.bat @@ -24,7 +24,7 @@ set "CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1" :: Provision the necessary dependencies to build the recipe later echo Installing dependencies -mamba.exe install "python=3.10" pip mamba conda-build boa conda-forge-ci-setup=4 -c conda-forge --strict-channel-priority --yes +mamba.exe install "python=3.10" pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" -c conda-forge --strict-channel-priority --yes if !errorlevel! neq 0 exit /b !errorlevel! :: Set basic configuration @@ -50,9 +50,14 @@ call :end_group :: Build the recipe echo Building recipe -conda.exe mambabuild "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% +conda-build.exe "recipe" -m .ci_support\%CONFIG%.yaml --suppress-variables %EXTRA_CB_OPTIONS% if !errorlevel! neq 0 exit /b !errorlevel! +call :start_group "Inspecting artifacts" +:: inspect_artifacts was only added in conda-forge-ci-setup 4.6.0 +WHERE inspect_artifacts >nul 2>nul && inspect_artifacts || echo "inspect_artifacts needs conda-forge-ci-setup >=4.6.0" +call :end_group + :: Prepare some environment variables for the upload step if /i "%CI%" == "github_actions" ( set "FEEDSTOCK_NAME=%GITHUB_REPOSITORY:*/=%" diff --git a/.travis.yml b/.travis.yml index 0cb3f64..96ce0f8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,11 +1,11 @@ # This file was generated automatically from conda-smithy. To update this configuration, # update the conda-forge.yml and/or the recipe/meta.yaml. -language: generic +language: shell -matrix: +jobs: include: - env: CONFIG=linux_aarch64_c_compiler_version11cuda_compilernvcccuda_compiler_version11.8cxx_compiler_version11 UPLOAD_PACKAGES=True PLATFORM=linux-aarch64 DOCKER_IMAGE=quay.io/condaforge/linux-anvil-aarch64-cuda:11.8 os: linux diff --git a/README.md b/README.md index 945698b..ea2df74 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Summary: High Speed Data Compression Using NVIDIA GPUs Development: https://developer.nvidia.com/nvcomp -Documentation: https://github.com/NVIDIA/nvcomp/blob/main/README.md +Documentation: https://docs.nvidia.com/cuda/nvcomp/index.html The nvCOMP library provides fast lossless data compression and decompression using a GPU. It features generic compression interfaces to @@ -219,7 +219,5 @@ In order to produce a uniquely identifiable distribution: Feedstock Maintainers ===================== -* [@adibbley](https://github.com/adibbley/) -* [@bdice](https://github.com/bdice/) -* [@jakirkham](https://github.com/jakirkham/) +* [@conda-forge/cuda](https://github.com/orgs/conda-forge/teams/cuda/) diff --git a/build-locally.py b/build-locally.py index 3f4b7a7..d78427b 100755 --- a/build-locally.py +++ b/build-locally.py @@ -3,11 +3,11 @@ # This file has been generated by conda-smithy in order to build the recipe # locally. # -import os import glob +import os +import platform import subprocess from argparse import ArgumentParser -import platform def setup_environment(ns): @@ -64,8 +64,9 @@ def verify_config(ns): elif ns.config.startswith("osx"): if "OSX_SDK_DIR" not in os.environ: raise RuntimeError( - "Need OSX_SDK_DIR env variable set. Run 'export OSX_SDK_DIR=SDKs' " - "to download the SDK automatically to 'SDKs/MacOSX.sdk'. " + "Need OSX_SDK_DIR env variable set. Run 'export OSX_SDK_DIR=$PWD/SDKs' " + "to download the SDK automatically to '$PWD/SDKs/MacOSX.sdk'. " + "Note: OSX_SDK_DIR must be set to an absolute path. " "Setting this variable implies agreement to the licensing terms of the SDK by Apple." ) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index faf051a..0da7bf3 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,9 +1,9 @@ -{% set version = "3.0.6" %} +{% set version = "4.0.1" %} {% set cuda_major = (cuda_compiler_version|default("12.0.0")).split(".")[0] %} -{% set platform = "x86_64" %} # [linux64] -{% set platform = "SBSA" %} # [aarch64] -{% set platform = "windows" %} # [win] -{% set extension = "tgz" %} # [not win] +{% set platform = "linux-x86_64" %} # [linux64] +{% set platform = "linux-sbsa" %} # [aarch64] +{% set platform = "windows-x86_64" %} # [win] +{% set extension = "tar.gz" %} # [not win] {% set extension = "zip" %} # [win] package: @@ -11,23 +11,22 @@ package: version: {{ version }} source: - - url: https://developer.download.nvidia.com/compute/nvcomp/{{ version }}/local_installers/nvcomp_{{ version }}_{{ platform }}_{{ cuda_major }}.x.{{ extension }} - sha256: 2631c4cb36c2b65e1c8d3a818bc470b849893e72bdbee0365d22dc3f7c130954 # [linux64 and (cuda_compiler_version or "None").startswith("11")] - sha256: a76511cc55a40aa9f8ca6b6b437102cc90969c69bfbcd66265f2e04f8f01435f # [linux64 and (cuda_compiler_version or "None").startswith("12")] - sha256: 21b0b6ad262101a9d89bc5dc83cddf3da6b57b0a5ef8d75e5876e921ca46c9c5 # [aarch64 and (cuda_compiler_version or "None").startswith("11")] - sha256: d1a25754c21e37e643ebe5828ffdb11d0f237e27c4f29b83b5c17de2e44247d5 # [aarch64 and (cuda_compiler_version or "None").startswith("12")] - sha256: 10b98c8b58b9186656bfaf06ce8a7d06a5ce3c1318a9eaa254c47cadb71f748d # [win and (cuda_compiler_version or "None").startswith("11")] - sha256: f7f25250d628e015854c0f65688921a2947f53f8b72aa01ce7c45aa2ea04893c # [win and (cuda_compiler_version or "None").startswith("12")] + - url: https://developer.download.nvidia.com/compute/nvcomp/{{ version }}/local_installers/nvcomp-{{ platform }}-{{ version }}-cuda{{ cuda_major }}.x.{{ extension }} # [linux64 or aarch64 or win] + sha256: 8e92afa5f007e0d5373bf373ffa6d3c531e0a1d33c76f475e100bb0252e53777 # [linux64 and (cuda_compiler_version or "None").startswith("11")] + sha256: 609f64607d02e77c77c1848f81a04bbb1389329fa95533813c3fe7d77c57bd30 # [linux64 and (cuda_compiler_version or "None").startswith("12")] + sha256: 456129c03bfce6c3935b9f68455f40b65bc1b88b3f7972f70cc6fb9df222e676 # [aarch64 and (cuda_compiler_version or "None").startswith("11")] + sha256: bc314da00094fd93adbaf0bd762ab9f914643bd832ae45e238f321ee6477a2e0 # [aarch64 and (cuda_compiler_version or "None").startswith("12")] + sha256: 9263cfd57bb1ccec26e13b65fa2cd99c04877d54e42c17c57053bc5391ec733f # [win and (cuda_compiler_version or "None").startswith("11")] + sha256: 4343aabbb4b3cf96bfbbb01ce2177cfdb3a10e477cf07702500ea98ff9e51308 # [win and (cuda_compiler_version or "None").startswith("12")] # Include cudart license because it is statically linked. - url: https://developer.download.nvidia.com/compute/cuda/redist/cuda_cudart/LICENSE.txt fn: cudart_LICENSE.txt - sha256: 5db25d4fd138013b563f9a3d1d87f7de7df1dac014fd4cccdfbb3435a5cff761 + sha256: e2c71babfd18a8e69542dd7e9ca018f9caa438094001a58e6bc4d8c999bf0d07 build: number: 0 skip: True # [osx or ppc64le or not ((cuda_compiler_version or "None") == "11.8" or (cuda_compiler_version or "None").startswith("12"))] script: - - mv -v $SRC_DIR/LICENSE $SRC_DIR/LICENSE.txt # [linux] - mkdir -pv $PREFIX/include # [linux] - mv -v include/* $PREFIX/include # [linux] - mkdir -pv $PREFIX/lib # [linux] @@ -48,8 +47,8 @@ requirements: - {{ compiler('c') }} - {{ compiler('cxx') }} - {{ compiler('cuda') }} + - {{ stdlib('c') }} - arm-variant * {{ arm_variant_type }} # [aarch64] - - sysroot_{{ target_platform }} 2.17 # [linux] host: - cuda-version {{ cuda_major }} run: @@ -66,26 +65,22 @@ test: - test -f $PREFIX/include/nvcomp.h # [linux] - test -f $PREFIX/include/nvcomp.hpp # [linux] - test -f $PREFIX/lib/libnvcomp.so # [linux] - - test -f $PREFIX/lib/libnvcomp_bitcomp.so # [linux] - - test -f $PREFIX/lib/libnvcomp_gdeflate.so # [linux] - - test -f $PREFIX/lib/libnvcomp_gdeflate_cpu.so # [linux] + - test -f $PREFIX/lib/libnvcomp_cpu.so # [linux] - ${GCC} test_load_elf.c -std=c99 -Werror -ldl -o test_load_elf # [linux] - for f in $PREFIX/lib/libnvcomp*.so; do ./test_load_elf $f; done # [linux] - if not exist %LIBRARY_INC%/nvcomp.h exit 1 # [win] - if not exist %LIBRARY_INC%/nvcomp.hpp exit 1 # [win] - if not exist %LIBRARY_LIB%/nvcomp.lib exit 1 # [win] - - if not exist %LIBRARY_LIB%/nvcomp_bitcomp.lib exit 1 # [win] - - if not exist %LIBRARY_LIB%/nvcomp_gdeflate.lib exit 1 # [win] + - if not exist %LIBRARY_LIB%/nvcomp_cpu.lib exit 1 # [win] - if not exist %LIBRARY_BIN%/nvcomp.dll exit 1 # [win] - - if not exist %LIBRARY_BIN%/nvcomp_bitcomp.dll exit 1 # [win] - - if not exist %LIBRARY_BIN%/nvcomp_gdeflate.dll exit 1 # [win] + - if not exist %LIBRARY_BIN%/nvcomp_cpu.dll exit 1 # [win] about: home: https://developer.nvidia.com/nvcomp license: LicenseRef-nvCOMP-Software-License-Agreement AND LicenseRef-NVIDIA-End-User-License-Agreement license_file: - - LICENSE.txt + - LICENSE - cudart_LICENSE.txt license_url: https://developer.download.nvidia.com/compute/nvcomp/2.3/LICENSE.txt summary: "High Speed Data Compression Using NVIDIA GPUs" @@ -99,11 +94,9 @@ about: Software License Agreement (EULA). By downloading and using the packages, you accept the terms and conditions of the NVIDIA nvCOMP EULA - https://developer.download.nvidia.com/compute/nvcomp/2.3/LICENSE.txt - doc_url: https://github.com/NVIDIA/nvcomp/blob/main/README.md + doc_url: https://docs.nvidia.com/cuda/nvcomp/index.html dev_url: https://developer.nvidia.com/nvcomp extra: recipe-maintainers: - - adibbley - - bdice - - jakirkham + - conda-forge/cuda