Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 0.1.11 (with fix for cuda-version constraint) #47

Merged
merged 5 commits into from
Jan 17, 2024

Conversation

jakirkham
Copy link
Member

@jakirkham jakirkham commented Jan 17, 2024

It looks cuda-version is still being overly constrained even after adding ignore_run_exports_from {{ compiler('cuda') }}. This appears to be due to an issue with how pin_compatible was configured. Namely mixing min_version with upper_bound resulted in a lower bound that was too strict. To fix this, we now use min_version and max_version. This also allowed some simplification in the recipe

Also go ahead and prep the 0.1.11 release with this change

It looks like using `min_version` with `upper_bound` resulted in a wonky
pin for `cuda-version` that was overly strict. To fix that, switch to
`lower_bound`, which appears to behave more consitently.
Try to simplify the recipe by defining these two values beforehand and
using them in the `pin_compatible` line for `cuda-version`.
@jakirkham jakirkham requested a review from a team as a code owner January 17, 2024 01:36
@jakirkham
Copy link
Member Author

Here are the results from conda render before this change:

package:
  name: pynvjitlink
  version: 0.1.10
source:
  path: /home/conda/pynvjitlink
build:
  ignore_run_exports_from:
    - cuda-nvcc_linux-aarch64 12.2.*
    - libnvjitlink-dev
  script:
    - /opt/conda/conda-bld/pynvjitlink_1705455069191/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/bin/python
      -m pip install . -vv
requirements:
  build:
    - libgomp 13.2.0 hf8544c7_3
    - libstdcxx-devel_linux-aarch64 11.4.0 h7ce4923_103
    - cuda-cudart-dev_linux-aarch64 12.2.140 hac28a21_0
    - cuda-nvvm-tools 12.2.140 hac28a21_1
    - libexpat 2.5.0 hd600fc2_1
    - libcurl 8.5.0 h4e8248e_0
    - rhash 1.4.4 h31becfc_0
    - libnghttp2 1.58.0 hb0e430d_1
    - kernel-headers_linux-aarch64 4.18.0 h5b4a56d_13
    - c-ares 1.25.0 h31becfc_0
    - _sysroot_linux-aarch64_curr_repodata_hack 4 h57d6b7b_13
    - ld_impl_linux-aarch64 2.40 h2d8c526_0
    - binutils_impl_linux-aarch64 2.40 h870a726_0
    - cuda-nvcc_linux-aarch64 12.2.140 h028b88b_0
    - bzip2 1.0.8 h31becfc_5
    - cuda-cccl_linux-aarch64 12.2.140 h579c4fd_0
    - krb5 1.21.2 hc419048_0
    - xz 5.2.6 h9cdd2b7_0
    - cuda-nvvm-impl 12.2.140 hac28a21_1
    - openssl 3.2.0 h31becfc_1
    - gcc_linux-aarch64 11.4.0 h2fab22c_2
    - cuda-nvcc-tools 12.2.140 hac28a21_1
    - gxx_linux-aarch64 11.4.0 hd6b6b29_2
    - ninja 1.11.1 hdd96247_0
    - cuda-cudart-static_linux-aarch64 12.2.140 hac28a21_0
    - libedit 3.1.20191231 he28a2e2_2
    - libssh2 1.11.0 h492db2e_0
    - libev 4.33 h31becfc_2
    - libuv 1.46.0 h31becfc_0
    - cuda-cudart-static 12.2.140 hac28a21_0
    - cmake 3.28.1 hef020d8_0
    - cuda-crt-dev_linux-aarch64 12.2.140 h579c4fd_1
    - libstdcxx-ng 13.2.0 h9a76618_3
    - libgcc-ng 13.2.0 hf8544c7_3
    - ca-certificates 2023.11.17 hcefe29a_0
    - cuda-nvvm-dev_linux-aarch64 12.2.140 h579c4fd_1
    - libsanitizer 11.4.0 h6bfd624_3
    - ncurses 6.4 h0425590_2
    - zstd 1.5.5 h4c53e97_0
    - gcc_impl_linux-aarch64 11.4.0 h0207d0b_3
    - cuda-crt-tools 12.2.140 h579c4fd_1
    - gxx_impl_linux-aarch64 11.4.0 h0207d0b_3
    - cuda-cudart 12.2.140 hac28a21_0
    - cuda-nvcc-dev_linux-aarch64 12.2.140 h579c4fd_1
    - cuda-version 12.2 he2b69de_2
    - libgcc-devel_linux-aarch64 11.4.0 h7ce4923_103
    - cuda-driver-dev_linux-aarch64 12.2.140 hac28a21_0
    - cuda-cudart-dev 12.2.140 hac28a21_0
    - cuda-cudart_linux-aarch64 12.2.140 hac28a21_0
    - sysroot_linux-aarch64 2.17 h5b4a56d_13
    - _openmp_mutex 4.5 2_gnu
    - keyutils 1.6.1 h4e544f5_0
    - binutils_linux-aarch64 2.40 h94bbfa1_2
    - cuda-nvcc-impl 12.2.140 hac28a21_1
    - libzlib 1.2.13 h31becfc_5
  host:
    - ca-certificates 2023.11.17 hcefe29a_0
    - cuda-version 12.2 he2b69de_2
    - ld_impl_linux-aarch64 2.40 h2d8c526_0
    - libgomp 13.2.0 hf8544c7_3
    - libstdcxx-ng 13.2.0 h9a76618_3
    - tzdata 2023d h0c530f3_0
    - _openmp_mutex 4.5 2_gnu
    - libgcc-ng 13.2.0 hf8544c7_3
    - bzip2 1.0.8 h31becfc_5
    - libffi 3.4.2 h3557bc0_5
    - libnsl 2.0.1 h31becfc_0
    - libnvjitlink 12.2.140 hac28a21_0
    - libnvjitlink-static 12.2.140 hac28a21_0
    - libuuid 2.38.1 hb4cce97_0
    - libxcrypt 4.4.36 h31becfc_1
    - libzlib 1.2.13 h31becfc_5
    - ncurses 6.4 h0425590_2
    - openssl 3.2.0 h31becfc_1
    - xz 5.2.6 h9cdd2b7_0
    - libnvjitlink-dev 12.2.140 hac28a21_0
    - libsqlite 3.44.2 h194ca79_0
    - readline 8.2 h8fc344f_1
    - tk 8.6.13 h194ca79_0
    - python 3.10.13 hbbe8eec_1_cpython
    - exceptiongroup 1.2.0 pyhd8ed1ab_2
    - packaging 23.2 pyhd8ed1ab_0
    - pathspec 0.12.1 pyhd8ed1ab_0
    - setuptools 69.0.3 pyhd8ed1ab_0
    - tomli 2.0.1 pyhd8ed1ab_0
    - typing_extensions 4.9.0 pyha770c72_0
    - wheel 0.42.0 pyhd8ed1ab_0
    - zipp 3.17.0 pyhd8ed1ab_0
    - importlib-metadata 7.0.1 pyha770c72_0
    - importlib_resources 6.1.1 pyhd8ed1ab_0
    - pip 23.3.2 pyhd8ed1ab_0
    - pyproject-metadata 0.7.1 pyhd8ed1ab_0
    - typing-extensions 4.9.0 hd8ed1ab_0
    - importlib-resources 6.1.1 pyhd8ed1ab_0
    - scikit-build-core 0.7.1 pyh4af843d_0
  run:
    - python_abi 3.10.* *_cp310
    - libgcc-ng >=12
    - numba >=0.57
    - python >=3.10,<3.11.0a0
    - cuda-version >=12.2,<12.3
    - libstdcxx-ng >=12
about:
  dev_url: https://github.com/rapidsai/pynvjitlink
  doc_url: https://github.com/rapidsai/pynvjitlink/blob/main/README.md
  home: https://rapids.ai/
  license: Apache 2.0
  license_family: Apache
  license_file: LICENSE
  license_url: https://github.com/rapidsai/pynvjitlink/blob/main/LICENSE
  summary: nvJitLink Python binding
extra:
  copy_test_source_files: true
  final: true

And here are the results from conda render after this change:

package:
  name: pynvjitlink
  version: 0.1.11
source:
  path: /home/conda/pynvjitlink
build:
  ignore_run_exports_from:
    - cuda-nvcc_linux-aarch64 12.2.*
    - libnvjitlink-dev
  script:
    - /opt/conda/conda-bld/pynvjitlink_1705455368260/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/bin/python
      -m pip install . -vv
requirements:
  build:
    - cuda-cudart-dev_linux-aarch64 12.2.140 hac28a21_0
    - gcc_linux-aarch64 11.4.0 h2fab22c_2
    - keyutils 1.6.1 h4e544f5_0
    - _sysroot_linux-aarch64_curr_repodata_hack 4 h57d6b7b_13
    - gcc_impl_linux-aarch64 11.4.0 h0207d0b_3
    - libstdcxx-ng 13.2.0 h9a76618_3
    - cuda-crt-tools 12.2.140 h579c4fd_1
    - libssh2 1.11.0 h492db2e_0
    - libstdcxx-devel_linux-aarch64 11.4.0 h7ce4923_103
    - cuda-crt-dev_linux-aarch64 12.2.140 h579c4fd_1
    - libexpat 2.5.0 hd600fc2_1
    - krb5 1.21.2 hc419048_0
    - gxx_linux-aarch64 11.4.0 hd6b6b29_2
    - libcurl 8.5.0 h4e8248e_0
    - ld_impl_linux-aarch64 2.40 h2d8c526_0
    - libgomp 13.2.0 hf8544c7_3
    - libedit 3.1.20191231 he28a2e2_2
    - cuda-cudart-static_linux-aarch64 12.2.140 hac28a21_0
    - cuda-nvcc_linux-aarch64 12.2.140 h028b88b_0
    - libgcc-ng 13.2.0 hf8544c7_3
    - _openmp_mutex 4.5 2_gnu
    - libsanitizer 11.4.0 h6bfd624_3
    - libnghttp2 1.58.0 hb0e430d_1
    - sysroot_linux-aarch64 2.17 h5b4a56d_13
    - libuv 1.46.0 h31becfc_0
    - cuda-nvcc-impl 12.2.140 hac28a21_1
    - kernel-headers_linux-aarch64 4.18.0 h5b4a56d_13
    - cmake 3.28.1 hef020d8_0
    - libev 4.33 h31becfc_2
    - zstd 1.5.5 h4c53e97_0
    - cuda-cudart-static 12.2.140 hac28a21_0
    - cuda-nvvm-tools 12.2.140 hac28a21_1
    - cuda-driver-dev_linux-aarch64 12.2.140 hac28a21_0
    - ncurses 6.4 h0425590_2
    - cuda-nvvm-dev_linux-aarch64 12.2.140 h579c4fd_1
    - gxx_impl_linux-aarch64 11.4.0 h0207d0b_3
    - cuda-cudart-dev 12.2.140 hac28a21_0
    - c-ares 1.25.0 h31becfc_0
    - binutils_linux-aarch64 2.40 h94bbfa1_2
    - bzip2 1.0.8 h31becfc_5
    - cuda-cudart 12.2.140 hac28a21_0
    - libzlib 1.2.13 h31becfc_5
    - cuda-cudart_linux-aarch64 12.2.140 hac28a21_0
    - cuda-cccl_linux-aarch64 12.2.140 h579c4fd_0
    - openssl 3.2.0 h31becfc_1
    - xz 5.2.6 h9cdd2b7_0
    - ninja 1.11.1 hdd96247_0
    - cuda-nvcc-tools 12.2.140 hac28a21_1
    - binutils_impl_linux-aarch64 2.40 h870a726_0
    - cuda-nvvm-impl 12.2.140 hac28a21_1
    - cuda-nvcc-dev_linux-aarch64 12.2.140 h579c4fd_1
    - ca-certificates 2023.11.17 hcefe29a_0
    - cuda-version 12.2 he2b69de_2
    - libgcc-devel_linux-aarch64 11.4.0 h7ce4923_103
    - rhash 1.4.4 h31becfc_0
  host:
    - ca-certificates 2023.11.17 hcefe29a_0
    - cuda-version 12.2 he2b69de_2
    - ld_impl_linux-aarch64 2.40 h2d8c526_0
    - libgomp 13.2.0 hf8544c7_3
    - libstdcxx-ng 13.2.0 h9a76618_3
    - tzdata 2023d h0c530f3_0
    - _openmp_mutex 4.5 2_gnu
    - libgcc-ng 13.2.0 hf8544c7_3
    - bzip2 1.0.8 h31becfc_5
    - libffi 3.4.2 h3557bc0_5
    - libnsl 2.0.1 h31becfc_0
    - libnvjitlink 12.2.140 hac28a21_0
    - libnvjitlink-static 12.2.140 hac28a21_0
    - libuuid 2.38.1 hb4cce97_0
    - libxcrypt 4.4.36 h31becfc_1
    - libzlib 1.2.13 h31becfc_5
    - ncurses 6.4 h0425590_2
    - openssl 3.2.0 h31becfc_1
    - xz 5.2.6 h9cdd2b7_0
    - libnvjitlink-dev 12.2.140 hac28a21_0
    - libsqlite 3.44.2 h194ca79_0
    - readline 8.2 h8fc344f_1
    - tk 8.6.13 h194ca79_0
    - python 3.10.13 hbbe8eec_1_cpython
    - exceptiongroup 1.2.0 pyhd8ed1ab_2
    - packaging 23.2 pyhd8ed1ab_0
    - pathspec 0.12.1 pyhd8ed1ab_0
    - setuptools 69.0.3 pyhd8ed1ab_0
    - tomli 2.0.1 pyhd8ed1ab_0
    - typing_extensions 4.9.0 pyha770c72_0
    - wheel 0.42.0 pyhd8ed1ab_0
    - zipp 3.17.0 pyhd8ed1ab_0
    - importlib-metadata 7.0.1 pyha770c72_0
    - importlib_resources 6.1.1 pyhd8ed1ab_0
    - pip 23.3.2 pyhd8ed1ab_0
    - pyproject-metadata 0.7.1 pyhd8ed1ab_0
    - typing-extensions 4.9.0 hd8ed1ab_0
    - importlib-resources 6.1.1 pyhd8ed1ab_0
    - scikit-build-core 0.7.1 pyh4af843d_0
  run:
    - libgcc-ng >=12
    - libstdcxx-ng >=12
    - numba >=0.57
    - python >=3.10,<3.11.0a0
    - cuda-version >=12.0,<12.3
    - python_abi 3.10.* *_cp310
about:
  dev_url: https://github.com/rapidsai/pynvjitlink
  doc_url: https://github.com/rapidsai/pynvjitlink/blob/main/README.md
  home: https://rapids.ai/
  license: Apache 2.0
  license_family: Apache
  license_file: LICENSE
  license_url: https://github.com/rapidsai/pynvjitlink/blob/main/LICENSE
  summary: nvJitLink Python binding
extra:
  copy_test_source_files: true
  final: true

Note that cuda-version now has the constraint >=12.0,<12.3 as originally intended

It looks like we can get the desired behavior with `cuda-version` more
simply by rewriting this to use just `min_pin` and `max_pin`. So switch
to that.
@jakirkham
Copy link
Member Author

Actually it looks like this can be simplified to only use min_pin and max_pin, which cuts down on the boilerplate. Switch to that instead. Here is the result from conda render

package:
  name: pynvjitlink
  version: 0.1.11
source:
  path: /home/conda/pynvjitlink
build:
  ignore_run_exports_from:
    - cuda-nvcc_linux-aarch64 12.2.*
    - libnvjitlink-dev
  script:
    - /opt/conda/conda-bld/pynvjitlink_1705456268626/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_p/bin/python
      -m pip install . -vv
requirements:
  build:
    - _sysroot_linux-aarch64_curr_repodata_hack 4 h57d6b7b_13
    - binutils_linux-aarch64 2.40 h94bbfa1_2
    - cuda-nvvm-dev_linux-aarch64 12.2.140 h579c4fd_1
    - cuda-nvcc-dev_linux-aarch64 12.2.140 h579c4fd_1
    - c-ares 1.25.0 h31becfc_0
    - kernel-headers_linux-aarch64 4.18.0 h5b4a56d_13
    - cuda-cudart-static 12.2.140 hac28a21_0
    - cuda-nvcc-tools 12.2.140 hac28a21_1
    - rhash 1.4.4 h31becfc_0
    - libedit 3.1.20191231 he28a2e2_2
    - ncurses 6.4 h0425590_2
    - cuda-nvvm-impl 12.2.140 hac28a21_1
    - krb5 1.21.2 hc419048_0
    - libssh2 1.11.0 h492db2e_0
    - libev 4.33 h31becfc_2
    - cuda-nvvm-tools 12.2.140 hac28a21_1
    - cuda-nvcc-impl 12.2.140 hac28a21_1
    - keyutils 1.6.1 h4e544f5_0
    - _openmp_mutex 4.5 2_gnu
    - bzip2 1.0.8 h31becfc_5
    - cuda-version 12.2 he2b69de_2
    - libgcc-ng 13.2.0 hf8544c7_3
    - libstdcxx-devel_linux-aarch64 11.4.0 h7ce4923_103
    - libcurl 8.5.0 h4e8248e_0
    - zstd 1.5.5 h4c53e97_0
    - libuv 1.46.0 h31becfc_0
    - gxx_linux-aarch64 11.4.0 hd6b6b29_2
    - gcc_linux-aarch64 11.4.0 h2fab22c_2
    - libstdcxx-ng 13.2.0 h9a76618_3
    - ld_impl_linux-aarch64 2.40 h2d8c526_0
    - cmake 3.28.1 hef020d8_0
    - libexpat 2.5.0 hd600fc2_1
    - libzlib 1.2.13 h31becfc_5
    - cuda-cudart-dev_linux-aarch64 12.2.140 hac28a21_0
    - cuda-nvcc_linux-aarch64 12.2.140 h028b88b_0
    - ca-certificates 2023.11.17 hcefe29a_0
    - cuda-cccl_linux-aarch64 12.2.140 h579c4fd_0
    - openssl 3.2.0 h31becfc_1
    - libsanitizer 11.4.0 h6bfd624_3
    - ninja 1.11.1 hdd96247_0
    - gcc_impl_linux-aarch64 11.4.0 h0207d0b_3
    - cuda-cudart_linux-aarch64 12.2.140 hac28a21_0
    - cuda-driver-dev_linux-aarch64 12.2.140 hac28a21_0
    - cuda-cudart 12.2.140 hac28a21_0
    - gxx_impl_linux-aarch64 11.4.0 h0207d0b_3
    - cuda-cudart-static_linux-aarch64 12.2.140 hac28a21_0
    - libgcc-devel_linux-aarch64 11.4.0 h7ce4923_103
    - cuda-cudart-dev 12.2.140 hac28a21_0
    - binutils_impl_linux-aarch64 2.40 h870a726_0
    - cuda-crt-dev_linux-aarch64 12.2.140 h579c4fd_1
    - xz 5.2.6 h9cdd2b7_0
    - cuda-crt-tools 12.2.140 h579c4fd_1
    - sysroot_linux-aarch64 2.17 h5b4a56d_13
    - libnghttp2 1.58.0 hb0e430d_1
    - libgomp 13.2.0 hf8544c7_3
  host:
    - ca-certificates 2023.11.17 hcefe29a_0
    - cuda-version 12.2 he2b69de_2
    - ld_impl_linux-aarch64 2.40 h2d8c526_0
    - libgomp 13.2.0 hf8544c7_3
    - libstdcxx-ng 13.2.0 h9a76618_3
    - tzdata 2023d h0c530f3_0
    - _openmp_mutex 4.5 2_gnu
    - libgcc-ng 13.2.0 hf8544c7_3
    - bzip2 1.0.8 h31becfc_5
    - libffi 3.4.2 h3557bc0_5
    - libnsl 2.0.1 h31becfc_0
    - libnvjitlink 12.2.140 hac28a21_0
    - libnvjitlink-static 12.2.140 hac28a21_0
    - libuuid 2.38.1 hb4cce97_0
    - libxcrypt 4.4.36 h31becfc_1
    - libzlib 1.2.13 h31becfc_5
    - ncurses 6.4 h0425590_2
    - openssl 3.2.0 h31becfc_1
    - xz 5.2.6 h9cdd2b7_0
    - libnvjitlink-dev 12.2.140 hac28a21_0
    - libsqlite 3.44.2 h194ca79_0
    - readline 8.2 h8fc344f_1
    - tk 8.6.13 h194ca79_0
    - python 3.10.13 hbbe8eec_1_cpython
    - exceptiongroup 1.2.0 pyhd8ed1ab_2
    - packaging 23.2 pyhd8ed1ab_0
    - pathspec 0.12.1 pyhd8ed1ab_0
    - setuptools 69.0.3 pyhd8ed1ab_0
    - tomli 2.0.1 pyhd8ed1ab_0
    - typing_extensions 4.9.0 pyha770c72_0
    - wheel 0.42.0 pyhd8ed1ab_0
    - zipp 3.17.0 pyhd8ed1ab_0
    - importlib-metadata 7.0.1 pyha770c72_0
    - importlib_resources 6.1.1 pyhd8ed1ab_0
    - pip 23.3.2 pyhd8ed1ab_0
    - pyproject-metadata 0.7.1 pyhd8ed1ab_0
    - typing-extensions 4.9.0 hd8ed1ab_0
    - importlib-resources 6.1.1 pyhd8ed1ab_0
    - scikit-build-core 0.7.1 pyh4af843d_0
  run:
    - numba >=0.57
    - libstdcxx-ng >=12
    - python_abi 3.10.* *_cp310
    - libgcc-ng >=12
    - cuda-version >=12,<12.3.0a0
    - python >=3.10,<3.11.0a0
about:
  dev_url: https://github.com/rapidsai/pynvjitlink
  doc_url: https://github.com/rapidsai/pynvjitlink/blob/main/README.md
  home: https://rapids.ai/
  license: Apache 2.0
  license_family: Apache
  license_file: LICENSE
  license_url: https://github.com/rapidsai/pynvjitlink/blob/main/LICENSE
  summary: nvJitLink Python binding
extra:
  copy_test_source_files: true
  final: true

Note: We now have cuda-version >=12,<12.3.0a0

@jakirkham jakirkham merged commit d62cc1d into rapidsai:main Jan 17, 2024
32 checks passed
@jakirkham jakirkham deleted the rel_0.1.11 branch January 17, 2024 02:10
@jakirkham
Copy link
Member Author

Thanks Bradley! 🙏

Tagged v0.1.11. Here are the CI builds

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants