diff --git a/.ci_support/linux_64_cuda_compiler_version12.9python3.11.____cpython.yaml b/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.11.____cpython.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_version12.9python3.11.____cpython.yaml rename to .ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.11.____cpython.yaml diff --git a/.ci_support/linux_64_cuda_compiler_version12.9python3.12.____cpython.yaml b/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.12.____cpython.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_version12.9python3.12.____cpython.yaml rename to .ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.12.____cpython.yaml diff --git a/.ci_support/linux_64_cuda_compiler_version12.9python3.13.____cp313.yaml b/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.13.____cp313.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_version12.9python3.13.____cp313.yaml rename to .ci_support/linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.13.____cp313.yaml diff --git a/.ci_support/linux_64_cuda_compiler_versionNonepython3.11.____cpython.yaml b/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_versionNonepython3.11.____cpython.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_versionNonepython3.11.____cpython.yaml rename to .ci_support/linux_64_c_stdlib_version2.17cuda_compiler_versionNonepython3.11.____cpython.yaml diff --git a/.ci_support/linux_64_cuda_compiler_versionNonepython3.12.____cpython.yaml b/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_versionNonepython3.12.____cpython.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_versionNonepython3.12.____cpython.yaml rename to .ci_support/linux_64_c_stdlib_version2.17cuda_compiler_versionNonepython3.12.____cpython.yaml diff --git a/.ci_support/linux_64_cuda_compiler_versionNonepython3.13.____cp313.yaml b/.ci_support/linux_64_c_stdlib_version2.17cuda_compiler_versionNonepython3.13.____cp313.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_versionNonepython3.13.____cp313.yaml rename to .ci_support/linux_64_c_stdlib_version2.17cuda_compiler_versionNonepython3.13.____cp313.yaml diff --git a/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.11.____cpython.yaml b/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.11.____cpython.yaml new file mode 100644 index 00000000..9e9bfa8b --- /dev/null +++ b/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.11.____cpython.yaml @@ -0,0 +1,55 @@ +c_compiler: +- gcc +c_compiler_version: +- '14' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.28' +cdt_name: +- conda +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- '13.0' +cudnn: +- '9' +cxx_compiler: +- gxx +cxx_compiler_version: +- '14' +docker_image: +- quay.io/condaforge/linux-anvil-x86_64:alma9 +github_actions_labels: +- cirun-openstack-cpu-large +libabseil: +- '20250127' +libgrpc: +- '1.71' +libprotobuf: +- 5.29.3 +nccl: +- '2' +numpy: +- '2' +openssl: +- '3' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.11.* *_cpython +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - c_stdlib_version + - cuda_compiler_version +zlib: +- '1' diff --git a/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.12.____cpython.yaml b/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.12.____cpython.yaml new file mode 100644 index 00000000..8a6ba894 --- /dev/null +++ b/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.12.____cpython.yaml @@ -0,0 +1,55 @@ +c_compiler: +- gcc +c_compiler_version: +- '14' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.28' +cdt_name: +- conda +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- '13.0' +cudnn: +- '9' +cxx_compiler: +- gxx +cxx_compiler_version: +- '14' +docker_image: +- quay.io/condaforge/linux-anvil-x86_64:alma9 +github_actions_labels: +- cirun-openstack-cpu-large +libabseil: +- '20250127' +libgrpc: +- '1.71' +libprotobuf: +- 5.29.3 +nccl: +- '2' +numpy: +- '2' +openssl: +- '3' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.12.* *_cpython +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - c_stdlib_version + - cuda_compiler_version +zlib: +- '1' diff --git a/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.13.____cp313.yaml b/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.13.____cp313.yaml new file mode 100644 index 00000000..7ea4c24c --- /dev/null +++ b/.ci_support/linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.13.____cp313.yaml @@ -0,0 +1,55 @@ +c_compiler: +- gcc +c_compiler_version: +- '14' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.28' +cdt_name: +- conda +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- '13.0' +cudnn: +- '9' +cxx_compiler: +- gxx +cxx_compiler_version: +- '14' +docker_image: +- quay.io/condaforge/linux-anvil-x86_64:alma9 +github_actions_labels: +- cirun-openstack-cpu-large +libabseil: +- '20250127' +libgrpc: +- '1.71' +libprotobuf: +- 5.29.3 +nccl: +- '2' +numpy: +- '2' +openssl: +- '3' +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.13.* *_cp313 +target_platform: +- linux-64 +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - c_stdlib_version + - cuda_compiler_version +zlib: +- '1' diff --git a/.ci_support/linux_aarch64_cuda_compiler_versionNonepython3.11.____cpython.yaml b/.ci_support/linux_aarch64_c_stdlib_version2.17cuda_compiler_versionNonepython3.11.____cpython.yaml similarity index 100% rename from .ci_support/linux_aarch64_cuda_compiler_versionNonepython3.11.____cpython.yaml rename to .ci_support/linux_aarch64_c_stdlib_version2.17cuda_compiler_versionNonepython3.11.____cpython.yaml diff --git a/.ci_support/linux_aarch64_cuda_compiler_versionNonepython3.12.____cpython.yaml b/.ci_support/linux_aarch64_c_stdlib_version2.17cuda_compiler_versionNonepython3.12.____cpython.yaml similarity index 100% rename from .ci_support/linux_aarch64_cuda_compiler_versionNonepython3.12.____cpython.yaml rename to .ci_support/linux_aarch64_c_stdlib_version2.17cuda_compiler_versionNonepython3.12.____cpython.yaml diff --git a/.ci_support/linux_aarch64_cuda_compiler_versionNonepython3.13.____cp313.yaml b/.ci_support/linux_aarch64_c_stdlib_version2.17cuda_compiler_versionNonepython3.13.____cp313.yaml similarity index 100% rename from .ci_support/linux_aarch64_cuda_compiler_versionNonepython3.13.____cp313.yaml rename to .ci_support/linux_aarch64_c_stdlib_version2.17cuda_compiler_versionNonepython3.13.____cp313.yaml diff --git a/.ci_support/migrations/cuda130.yaml b/.ci_support/migrations/cuda130.yaml new file mode 100644 index 00000000..01d65a51 --- /dev/null +++ b/.ci_support/migrations/cuda130.yaml @@ -0,0 +1,62 @@ +migrator_ts: 1755016036 +__migrator: + operation: key_add + migration_number: + 1 + build_number: + 1 + paused: false + override_cbc_keys: + - cuda_compiler_stub + check_solvable: false + primary_key: cuda_compiler_version + ordering: + cuda_compiler_version: + - 12.4 + - 12.6 + - 12.8 + - None + - 12.9 + - 13.0 + # to allow manual opt-in for CUDA 11.8, see + # https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/7472 + # must be last due to how cuda_compiler ordering in that migrator works + - 11.8 + wait_for_migrators: + - cuda129 + commit_message: | + Upgrade to CUDA 13.0 + + CUDA 13.0 requires architecture `sm_75` or higher, and renamed `sm_101` to + `sm_110`. To build for these, maintainers will need to modify their existing list of + specified architectures (e.g. `CMAKE_CUDA_ARCHITECTURES`, `TORCH_CUDA_ARCH_LIST`, etc.) + for their package. + + Since CUDA 12.8, the conda-forge nvcc package now sets `CUDAARCHS` and + `TORCH_CUDA_ARCH_LIST` in its activation script to a string containing all + of the supported real architectures plus the virtual architecture of the + latest. Recipes for packages who use these variables to control their build + but do not want to build for all supported architectures will need to override + these variables in their build script. + + ref: https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#new-features + + > [[!IMPORTANT]] + > Remember to update any CUDA 11/12 specific selector syntax in the recipe to include + > CUDA 13. For example `# [(cuda_compiler_version or "None").startswith("12")]` + > might be replaced with `# [cuda_compiler_version != "None"]`. + +cuda_compiler_version: # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 13.0 # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +c_stdlib_version: # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 2.28 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +c_compiler_version: # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 14 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +cxx_compiler_version: # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 14 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +fortran_compiler_version: # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 14 # [(linux and (x86_64 or aarch64)) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml index bf2b96b6..131be788 100644 --- a/.github/workflows/conda-build.yml +++ b/.github/workflows/conda-build.yml @@ -21,50 +21,65 @@ jobs: fail-fast: false matrix: include: - - CONFIG: linux_64_cuda_compiler_version12.9python3.11.____cpython + - CONFIG: linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.11.____cpython UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_cuda_compiler_version12.9python_h9224ed27', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_stdlib_version2.17cuda_compil_h3747ab2d', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_64_cuda_compiler_version12.9python3.12.____cpython + - CONFIG: linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.12.____cpython UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_cuda_compiler_version12.9python_h33f95ef4', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_stdlib_version2.17cuda_compil_h86c3c167', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_64_cuda_compiler_version12.9python3.13.____cp313 + - CONFIG: linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.13.____cp313 UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_cuda_compiler_version12.9python_hd2594ab6', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_stdlib_version2.17cuda_compil_h88f978e6', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_64_cuda_compiler_versionNonepython3.11.____cpython + - CONFIG: linux_64_c_stdlib_version2.17cuda_compiler_versionNonepython3.11.____cpython UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_cuda_compiler_versionNonepython_h3c1a96fc', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_stdlib_version2.17cuda_compil_h25b83c4e', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_64_cuda_compiler_versionNonepython3.12.____cpython + - CONFIG: linux_64_c_stdlib_version2.17cuda_compiler_versionNonepython3.12.____cpython UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_cuda_compiler_versionNonepython_h7883cd14', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_stdlib_version2.17cuda_compil_hd2612ca0', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_64_cuda_compiler_versionNonepython3.13.____cp313 + - CONFIG: linux_64_c_stdlib_version2.17cuda_compiler_versionNonepython3.13.____cp313 UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_cuda_compiler_versionNonepython_h46731b07', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_stdlib_version2.17cuda_compil_hbb4dfae4', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_aarch64_cuda_compiler_versionNonepython3.11.____cpython + - CONFIG: linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.11.____cpython UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_aarch64_cuda_compiler_versionNonep_h61f3f778', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_stdlib_version2.28cuda_compil_h9cd8e738', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_aarch64_cuda_compiler_versionNonepython3.12.____cpython + - CONFIG: linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.12.____cpython UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_aarch64_cuda_compiler_versionNonep_h72ca1b73', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_stdlib_version2.28cuda_compil_h8d03b736', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 - - CONFIG: linux_aarch64_cuda_compiler_versionNonepython3.13.____cp313 + - CONFIG: linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.13.____cp313 UPLOAD_PACKAGES: True os: ubuntu - runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_aarch64_cuda_compiler_versionNonep_h35b9d921', 'linux', 'x64', 'self-hosted'] + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_64_c_stdlib_version2.28cuda_compil_h7b65d883', 'linux', 'x64', 'self-hosted'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_aarch64_c_stdlib_version2.17cuda_compiler_versionNonepython3.11.____cpython + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_aarch64_c_stdlib_version2.17cuda_c_h3eb98a43', 'linux', 'x64', 'self-hosted'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_aarch64_c_stdlib_version2.17cuda_compiler_versionNonepython3.12.____cpython + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_aarch64_c_stdlib_version2.17cuda_c_h50a48a7a', 'linux', 'x64', 'self-hosted'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + - CONFIG: linux_aarch64_c_stdlib_version2.17cuda_compiler_versionNonepython3.13.____cp313 + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['cirun-openstack-cpu-large--${{ github.run_id }}-linux_aarch64_c_stdlib_version2.17cuda_c_hb1d95a49', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 steps: diff --git a/README.md b/README.md index 4e8599b1..7688977d 100644 --- a/README.md +++ b/README.md @@ -29,66 +29,87 @@ Current build status - + - + - + - + - + - + - + - + - + + + + + + + + + + diff --git a/recipe/build.sh b/recipe/build.sh index 059a67d8..23107065 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -24,35 +24,34 @@ export CXXFLAGS="${CXXFLAGS} -DNDEBUG -Dabsl_nullable= -Dabsl_nonnull=" if [[ "${cuda_compiler_version:-None}" != "None" ]]; then if [[ ${cuda_compiler_version} == 12* ]]; then export HERMETIC_CUDA_COMPUTE_CAPABILITIES=sm_60,sm_70,sm_75,sm_80,sm_86,sm_89,sm_90,sm_100,sm_120,compute_120 - export CUDA_HOME="${BUILD_PREFIX}/targets/x86_64-linux" - export TF_CUDA_PATHS="${BUILD_PREFIX}/targets/x86_64-linux,${PREFIX}/targets/x86_64-linux" - # Needed for some nvcc binaries - export PATH=$PATH:${BUILD_PREFIX}/nvvm/bin - # XLA can only cope with a single cuda header include directory, merge both - rsync -a ${PREFIX}/targets/x86_64-linux/include/ ${BUILD_PREFIX}/targets/x86_64-linux/include/ - - # Although XLA supports a non-hermetic build, it still tries to find headers in the hermetic locations. - # We do this in the BUILD_PREFIX to not have any impact on the resulting jaxlib package. - # Otherwise, these copied files would be included in the package. - rm -rf ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party - mkdir -p ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/gpus/cuda/extras/CUPTI - cp -r ${PREFIX}/targets/x86_64-linux/include ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/gpus/cuda/ - cp -r ${PREFIX}/targets/x86_64-linux/include ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/gpus/cuda/extras/CUPTI/ - mkdir -p ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/gpus/cudnn - cp ${PREFIX}/include/cudnn*.h ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/gpus/cudnn/ - mkdir -p ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/nccl - cp ${PREFIX}/include/nccl*.h ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/nccl/ - export LOCAL_CUDA_PATH="${BUILD_PREFIX}/targets/x86_64-linux" - export LOCAL_CUDNN_PATH="${PREFIX}/targets/x86_64-linux" - export LOCAL_NCCL_PATH="${PREFIX}/targets/x86_64-linux" - mkdir -p ${BUILD_PREFIX}/targets/x86_64-linux/bin - test -f ${BUILD_PREFIX}/targets/x86_64-linux/bin/ptxas || ln -s $(which ptxas) ${BUILD_PREFIX}/targets/x86_64-linux/bin/ptxas - test -f ${BUILD_PREFIX}/targets/x86_64-linux/bin/nvlink || ln -s $(which nvlink) ${BUILD_PREFIX}/targets/x86_64-linux/bin/nvlink - test -f ${BUILD_PREFIX}/targets/x86_64-linux/bin/fatbinary || ln -s $(which fatbinary) ${BUILD_PREFIX}/targets/x86_64-linux/bin/fatbinary else - echo "unsupported cuda version." - exit 1 + export HERMETIC_CUDA_COMPUTE_CAPABILITIES=sm_75,sm_80,sm_86,sm_89,sm_90,sm_100,sm_110,sm_120,compute_120 fi + export CUDA_HOME="${BUILD_PREFIX}/targets/x86_64-linux" + export TF_CUDA_PATHS="${BUILD_PREFIX}/targets/x86_64-linux,${PREFIX}/targets/x86_64-linux" + # Needed for some nvcc binaries + export PATH=$PATH:${BUILD_PREFIX}/nvvm/bin + # XLA can only cope with a single cuda header include directory, merge both + rsync -a ${PREFIX}/targets/x86_64-linux/include/ ${BUILD_PREFIX}/targets/x86_64-linux/include/ + + # Although XLA supports a non-hermetic build, it still tries to find headers in the hermetic locations. + # We do this in the BUILD_PREFIX to not have any impact on the resulting jaxlib package. + # Otherwise, these copied files would be included in the package. + rm -rf ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party + mkdir -p ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/gpus/cuda/extras/CUPTI + cp -r ${PREFIX}/targets/x86_64-linux/include ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/gpus/cuda/ + cp -r ${PREFIX}/targets/x86_64-linux/include ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/gpus/cuda/extras/CUPTI/ + mkdir -p ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/gpus/cudnn + cp ${PREFIX}/include/cudnn*.h ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/gpus/cudnn/ + mkdir -p ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/nccl + cp ${PREFIX}/include/nccl*.h ${BUILD_PREFIX}/targets/x86_64-linux/include/third_party/nccl/ + export LOCAL_CUDA_PATH="${BUILD_PREFIX}/targets/x86_64-linux" + export LOCAL_CUDNN_PATH="${PREFIX}/targets/x86_64-linux" + export LOCAL_NCCL_PATH="${PREFIX}/targets/x86_64-linux" + mkdir -p ${BUILD_PREFIX}/targets/x86_64-linux/bin + test -f ${BUILD_PREFIX}/targets/x86_64-linux/bin/ptxas || ln -s $(which ptxas) ${BUILD_PREFIX}/targets/x86_64-linux/bin/ptxas + test -f ${BUILD_PREFIX}/targets/x86_64-linux/bin/nvlink || ln -s $(which nvlink) ${BUILD_PREFIX}/targets/x86_64-linux/bin/nvlink + test -f ${BUILD_PREFIX}/targets/x86_64-linux/bin/fatbinary || ln -s $(which fatbinary) ${BUILD_PREFIX}/targets/x86_64-linux/bin/fatbinary export TF_CUDA_VERSION="${cuda_compiler_version}" export TF_CUDNN_VERSION="${cudnn}" diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 13523e4d..25092e5e 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set version = "0.7.0" %} -{% set build = 1 %} +{% set build = 2 %} {% if cuda_compiler_version != "None" %} {% set build = build + 200 %} @@ -23,6 +23,8 @@ build: number: {{ build }} skip: true # [win or py<311] skip: true # [cuda_compiler_version != "None" and aarch64] + # debug + skip: true # [not (cuda_compiler_version == "13.0" and py==313)] string: cuda{{ cuda_compiler_version | replace('.', '') }}py{{ CONDA_PY }}h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} # [cuda_compiler_version != "None"] string: cpu_py{{ CONDA_PY }}h{{ PKG_HASH }}_{{ PKG_BUILDNUM }} # [cuda_compiler_version == "None"]
VariantStatus
linux_64_cuda_compiler_version12.9python3.11.____cpythonlinux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.11.____cpython - variant + variant
linux_64_cuda_compiler_version12.9python3.12.____cpythonlinux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.12.____cpython - variant + variant
linux_64_cuda_compiler_version12.9python3.13.____cp313linux_64_c_stdlib_version2.17cuda_compiler_version12.9python3.13.____cp313 - variant + variant
linux_64_cuda_compiler_versionNonepython3.11.____cpythonlinux_64_c_stdlib_version2.17cuda_compiler_versionNonepython3.11.____cpython - variant + variant
linux_64_cuda_compiler_versionNonepython3.12.____cpythonlinux_64_c_stdlib_version2.17cuda_compiler_versionNonepython3.12.____cpython - variant + variant
linux_64_cuda_compiler_versionNonepython3.13.____cp313linux_64_c_stdlib_version2.17cuda_compiler_versionNonepython3.13.____cp313 - variant + variant
linux_aarch64_cuda_compiler_versionNonepython3.11.____cpythonlinux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.11.____cpython - variant + variant
linux_aarch64_cuda_compiler_versionNonepython3.12.____cpythonlinux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.12.____cpython - variant + variant
linux_aarch64_cuda_compiler_versionNonepython3.13.____cp313linux_64_c_stdlib_version2.28cuda_compiler_version13.0python3.13.____cp313 - variant + variant + +
linux_aarch64_c_stdlib_version2.17cuda_compiler_versionNonepython3.11.____cpython + + variant + +
linux_aarch64_c_stdlib_version2.17cuda_compiler_versionNonepython3.12.____cpython + + variant + +
linux_aarch64_c_stdlib_version2.17cuda_compiler_versionNonepython3.13.____cp313 + + variant