diff --git a/.ci_support/linux_ppc64le_c_compiler_version12channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.4cxx_compiler_version12is_rcFalse.yaml b/.ci_support/linux_ppc64le_c_compiler_version12channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.4cxx_compiler_version12is_rcFalse.yaml new file mode 100644 index 00000000..9c16e8dc --- /dev/null +++ b/.ci_support/linux_ppc64le_c_compiler_version12channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.4cxx_compiler_version12is_rcFalse.yaml @@ -0,0 +1,82 @@ +blas_impl: +- generic +c_compiler: +- gcc +c_compiler_version: +- '12' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +cdt_name: +- conda +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- cuda-nvcc +cuda_compiler_version: +- '12.4' +cxx_compiler: +- gxx +cxx_compiler_version: +- '12' +docker_image: +- quay.io/condaforge/linux-anvil-x86_64:alma9 +github_actions_labels: +- cirun-openstack-gpu-2xlarge +is_rc: +- 'False' +libabseil: +- '20250127' +libblas: +- 3.9.* *netlib +libcblas: +- 3.9.* *netlib +liblapack: +- 3.9.* *netlib +libprotobuf: +- 5.29.3 +libtorch: +- '2.5' +megabuild: +- 'true' +mkl: +- '2024' +nccl: +- '2' +numpy: +- '2.0' +- '2.0' +- '2.0' +- '2' +- '2.0' +orc: +- 2.1.1 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.10.* *_cpython +- 3.11.* *_cpython +- 3.12.* *_cpython +- 3.13.* *_cp313 +- 3.9.* *_cpython +pytorch: +- '2.5' +target_platform: +- linux-ppc64le +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - cuda_compiler + - cuda_compiler_version + - docker_image +- - channel_targets + - is_rc +- - python + - numpy +zlib: +- '1' diff --git a/.ci_support/linux_ppc64le_c_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse.yaml b/.ci_support/linux_ppc64le_c_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse.yaml new file mode 100644 index 00000000..c3db5b4f --- /dev/null +++ b/.ci_support/linux_ppc64le_c_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse.yaml @@ -0,0 +1,82 @@ +blas_impl: +- generic +c_compiler: +- gcc +c_compiler_version: +- '13' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +cdt_name: +- conda +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler: +- None +cuda_compiler_version: +- None +cxx_compiler: +- gxx +cxx_compiler_version: +- '13' +docker_image: +- quay.io/condaforge/linux-anvil-x86_64:alma9 +github_actions_labels: +- cirun-openstack-gpu-2xlarge +is_rc: +- 'False' +libabseil: +- '20250127' +libblas: +- 3.9.* *netlib +libcblas: +- 3.9.* *netlib +liblapack: +- 3.9.* *netlib +libprotobuf: +- 5.29.3 +libtorch: +- '2.5' +megabuild: +- 'true' +mkl: +- '2024' +nccl: +- '2' +numpy: +- '2.0' +- '2.0' +- '2.0' +- '2' +- '2.0' +orc: +- 2.1.1 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.10.* *_cpython +- 3.11.* *_cpython +- 3.12.* *_cpython +- 3.13.* *_cp313 +- 3.9.* *_cpython +pytorch: +- '2.5' +target_platform: +- linux-ppc64le +zip_keys: +- - c_compiler_version + - cxx_compiler_version + - cuda_compiler + - cuda_compiler_version + - docker_image +- - channel_targets + - is_rc +- - python + - numpy +zlib: +- '1' diff --git a/.github/workflows/conda-build.yml b/.github/workflows/conda-build.yml index 40a005a9..d8e66e56 100644 --- a/.github/workflows/conda-build.yml +++ b/.github/workflows/conda-build.yml @@ -57,6 +57,18 @@ jobs: runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_aarch64_c_compiler_version13c_h94771c6c09', 'linux', 'x64', 'self-hosted'] DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 CONDA_FORGE_DOCKER_RUN_ARGS: "--gpus all" + - CONFIG: linux_ppc64le_c_compiler_version12channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.4cxx_compiler_version12is_rcFalse + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_ppc64le_c_compiler_version12c_ha7f0e70c1b', 'linux', 'x64', 'self-hosted'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + CONDA_FORGE_DOCKER_RUN_ARGS: "--gpus all" + - CONFIG: linux_ppc64le_c_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse + UPLOAD_PACKAGES: True + os: ubuntu + runs_on: ['cirun-openstack-gpu-2xlarge--${{ github.run_id }}-linux_ppc64le_c_compiler_version13c_hcf0949fca5', 'linux', 'x64', 'self-hosted'] + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-x86_64:alma9 + CONDA_FORGE_DOCKER_RUN_ARGS: "--gpus all" - CONFIG: win_64_channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNoneis_rcFalse UPLOAD_PACKAGES: True os: windows diff --git a/README.md b/README.md index 4ce0f750..805be6d2 100644 --- a/README.md +++ b/README.md @@ -78,6 +78,20 @@ Current build status variant + + linux_ppc64le_c_compiler_version12channel_targetsconda-forge_maincuda_compilercuda-nvcccuda_compiler_version12.4cxx_compiler_version12is_rcFalse + + + variant + + + + linux_ppc64le_c_compiler_version13channel_targetsconda-forge_maincuda_compilerNonecuda_compiler_versionNonecxx_compiler_version13is_rcFalse + + + variant + + osx_64_blas_implgenericchannel_targetsconda-forge_mainis_rcFalsenumpy2.0python3.10.____cpython diff --git a/conda-forge.yml b/conda-forge.yml index d4eae11d..069ebab1 100644 --- a/conda-forge.yml +++ b/conda-forge.yml @@ -10,6 +10,7 @@ bot: - v2.5.x build_platform: linux_aarch64: linux_64 + linux_ppc64le: linux_64 osx_arm64: osx_64 conda_build: pkg_format: '2' @@ -26,5 +27,6 @@ github_actions: provider: linux_64: github_actions linux_aarch64: azure + linux_ppc64le: azure win_64: github_actions test: native_and_emulated diff --git a/recipe/build.sh b/recipe/build.sh index 13d48aa6..2dc63195 100644 --- a/recipe/build.sh +++ b/recipe/build.sh @@ -178,7 +178,9 @@ elif [[ ${cuda_compiler_version} != "None" ]]; then # with no NVIDIA GPUs. export USE_MKLDNN=1 export USE_CUDA=1 - export USE_CUFILE=1 + if [[ "$target_platform" != "linux-ppc64le" ]]; then + export USE_CUFILE=1 + fi # PyTorch has multiple different bits of logic finding CUDA, override # all of them. export CUDAToolkit_BIN_DIR=${BUILD_PREFIX}/bin @@ -193,6 +195,9 @@ elif [[ ${cuda_compiler_version} != "None" ]]; then linux-aarch64) export CUDAToolkit_TARGET_DIR=${PREFIX}/targets/sbsa-linux ;; + linux-ppc64le) + export CUDAToolkit_TARGET_DIR=${PREFIX}/targets/sbsa-linux + ;; *) echo "unknown CUDA arch, edit build.sh" exit 1 diff --git a/recipe/meta.yaml b/recipe/meta.yaml index d5e05e13..fecd0da9 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,6 +1,6 @@ # if you wish to build release candidate number X, append the version string with ".rcX" {% set version = "2.6.0" %} -{% set build = 2 %} +{% set build = 3 %} # Use a higher build number for the CUDA variant, to ensure that it's # preferred by conda's solver, and it's preferentially @@ -122,7 +122,7 @@ requirements: - rsync # [unix] host: # GPU requirements - - cudnn # [cuda_compiler_version != "None"] + - cudnn # [cuda_compiler_version != "None" and not ppc64le] - nccl # [cuda_compiler_version != "None" and linux] - magma # [cuda_compiler_version != "None"] - cuda-version {{ cuda_compiler_version }} # [cuda_compiler_version != "None"] @@ -135,10 +135,10 @@ requirements: - cuda-nvtx-dev - cuda-nvml-dev - cuda-profiler-api - - cusparselt + - cusparselt # [not ppc64le] - libcublas-dev - - libcudss-dev - - libcufile-dev # [linux] + - libcudss-dev # [not ppc64le] + - libcufile-dev # [linux and not ppc64le] - libcufft-dev - libcurand-dev - libcusolver-dev @@ -273,7 +273,7 @@ outputs: host: - {{ pin_subpackage('libtorch', exact=True) }} # GPU requirements - - cudnn # [cuda_compiler_version != "None"] + - cudnn # [cuda_compiler_version != "None" and not ppc64le] - nccl # [cuda_compiler_version != "None" and linux] - cuda-version {{ cuda_compiler_version }} # [cuda_compiler_version != "None"] - nvtx-c # [cuda_compiler_version != "None"] @@ -286,10 +286,10 @@ outputs: - cuda-nvtx-dev - cuda-nvml-dev - cuda-profiler-api - - cusparselt + - cusparselt # [not ppc64le] - libcublas-dev - - libcudss-dev - - libcufile-dev # [linux] + - libcudss-dev # [not ppc64le] + - libcufile-dev # [linux and not ppc64le] - libcufft-dev - libcurand-dev - libcusolver-dev