diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 61d9e94f..9b5d2780 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,86 +8,86 @@ jobs: vmImage: ubuntu-latest strategy: matrix: - linux_64_cuda_compiler_version10.2python3.10.____cpython: - CONFIG: linux_64_cuda_compiler_version10.2python3.10.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-cuda:10.2 - linux_64_cuda_compiler_version10.2python3.11.____cpython: - CONFIG: linux_64_cuda_compiler_version10.2python3.11.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-cuda:10.2 - linux_64_cuda_compiler_version10.2python3.8.____cpython: - CONFIG: linux_64_cuda_compiler_version10.2python3.8.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-cuda:10.2 - linux_64_cuda_compiler_version10.2python3.9.____cpython: - CONFIG: linux_64_cuda_compiler_version10.2python3.9.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-cuda:10.2 - linux_64_cuda_compiler_version11.0python3.10.____cpython: - CONFIG: linux_64_cuda_compiler_version11.0python3.10.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cuda:11.0 - linux_64_cuda_compiler_version11.0python3.11.____cpython: - CONFIG: linux_64_cuda_compiler_version11.0python3.11.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cuda:11.0 - linux_64_cuda_compiler_version11.0python3.8.____cpython: - CONFIG: linux_64_cuda_compiler_version11.0python3.8.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cuda:11.0 - linux_64_cuda_compiler_version11.0python3.9.____cpython: - CONFIG: linux_64_cuda_compiler_version11.0python3.9.____cpython - UPLOAD_PACKAGES: 'True' - DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cuda:11.0 - linux_64_cuda_compiler_version11.1python3.10.____cpython: - CONFIG: linux_64_cuda_compiler_version11.1python3.10.____cpython + linux_64_c_compiler_version10cuda_compiler_version11.1python3.10.____cpython: + CONFIG: linux_64_c_compiler_version10cuda_compiler_version11.1python3.10.____cpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cuda:11.1 - linux_64_cuda_compiler_version11.1python3.11.____cpython: - CONFIG: linux_64_cuda_compiler_version11.1python3.11.____cpython + linux_64_c_compiler_version10cuda_compiler_version11.1python3.11.____cpython: + CONFIG: linux_64_c_compiler_version10cuda_compiler_version11.1python3.11.____cpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cuda:11.1 - linux_64_cuda_compiler_version11.1python3.8.____cpython: - CONFIG: linux_64_cuda_compiler_version11.1python3.8.____cpython + linux_64_c_compiler_version10cuda_compiler_version11.1python3.8.____cpython: + CONFIG: linux_64_c_compiler_version10cuda_compiler_version11.1python3.8.____cpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cuda:11.1 - linux_64_cuda_compiler_version11.1python3.9.____cpython: - CONFIG: linux_64_cuda_compiler_version11.1python3.9.____cpython + linux_64_c_compiler_version10cuda_compiler_version11.1python3.9.____cpython: + CONFIG: linux_64_c_compiler_version10cuda_compiler_version11.1python3.9.____cpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cuda:11.1 - linux_64_cuda_compiler_version11.2python3.10.____cpython: - CONFIG: linux_64_cuda_compiler_version11.2python3.10.____cpython + linux_64_c_compiler_version10cuda_compiler_version11.2python3.10.____cpython: + CONFIG: linux_64_c_compiler_version10cuda_compiler_version11.2python3.10.____cpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cuda:11.2 - linux_64_cuda_compiler_version11.2python3.11.____cpython: - CONFIG: linux_64_cuda_compiler_version11.2python3.11.____cpython + linux_64_c_compiler_version10cuda_compiler_version11.2python3.11.____cpython: + CONFIG: linux_64_c_compiler_version10cuda_compiler_version11.2python3.11.____cpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cuda:11.2 - linux_64_cuda_compiler_version11.2python3.8.____cpython: - CONFIG: linux_64_cuda_compiler_version11.2python3.8.____cpython + linux_64_c_compiler_version10cuda_compiler_version11.2python3.8.____cpython: + CONFIG: linux_64_c_compiler_version10cuda_compiler_version11.2python3.8.____cpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cuda:11.2 - linux_64_cuda_compiler_version11.2python3.9.____cpython: - CONFIG: linux_64_cuda_compiler_version11.2python3.9.____cpython + linux_64_c_compiler_version10cuda_compiler_version11.2python3.9.____cpython: + CONFIG: linux_64_c_compiler_version10cuda_compiler_version11.2python3.9.____cpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cuda:11.2 - linux_64_cuda_compiler_versionNonepython3.10.____cpython: - CONFIG: linux_64_cuda_compiler_versionNonepython3.10.____cpython + linux_64_c_compiler_version11cuda_compiler_versionNonepython3.10.____cpython: + CONFIG: linux_64_c_compiler_version11cuda_compiler_versionNonepython3.10.____cpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_64_cuda_compiler_versionNonepython3.11.____cpython: - CONFIG: linux_64_cuda_compiler_versionNonepython3.11.____cpython + linux_64_c_compiler_version11cuda_compiler_versionNonepython3.11.____cpython: + CONFIG: linux_64_c_compiler_version11cuda_compiler_versionNonepython3.11.____cpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_64_cuda_compiler_versionNonepython3.8.____cpython: - CONFIG: linux_64_cuda_compiler_versionNonepython3.8.____cpython + linux_64_c_compiler_version11cuda_compiler_versionNonepython3.8.____cpython: + CONFIG: linux_64_c_compiler_version11cuda_compiler_versionNonepython3.8.____cpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 - linux_64_cuda_compiler_versionNonepython3.9.____cpython: - CONFIG: linux_64_cuda_compiler_versionNonepython3.9.____cpython + linux_64_c_compiler_version11cuda_compiler_versionNonepython3.9.____cpython: + CONFIG: linux_64_c_compiler_version11cuda_compiler_versionNonepython3.9.____cpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_64_c_compiler_version7cuda_compiler_version10.2python3.10.____cpython: + CONFIG: linux_64_c_compiler_version7cuda_compiler_version10.2python3.10.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-cuda:10.2 + linux_64_c_compiler_version7cuda_compiler_version10.2python3.11.____cpython: + CONFIG: linux_64_c_compiler_version7cuda_compiler_version10.2python3.11.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-cuda:10.2 + linux_64_c_compiler_version7cuda_compiler_version10.2python3.8.____cpython: + CONFIG: linux_64_c_compiler_version7cuda_compiler_version10.2python3.8.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-cuda:10.2 + linux_64_c_compiler_version7cuda_compiler_version10.2python3.9.____cpython: + CONFIG: linux_64_c_compiler_version7cuda_compiler_version10.2python3.9.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-cuda:10.2 + linux_64_c_compiler_version9cuda_compiler_version11.0python3.10.____cpython: + CONFIG: linux_64_c_compiler_version9cuda_compiler_version11.0python3.10.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cuda:11.0 + linux_64_c_compiler_version9cuda_compiler_version11.0python3.11.____cpython: + CONFIG: linux_64_c_compiler_version9cuda_compiler_version11.0python3.11.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cuda:11.0 + linux_64_c_compiler_version9cuda_compiler_version11.0python3.8.____cpython: + CONFIG: linux_64_c_compiler_version9cuda_compiler_version11.0python3.8.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cuda:11.0 + linux_64_c_compiler_version9cuda_compiler_version11.0python3.9.____cpython: + CONFIG: linux_64_c_compiler_version9cuda_compiler_version11.0python3.9.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cuda:11.0 linux_aarch64_python3.10.____cpython: CONFIG: linux_aarch64_python3.10.____cpython UPLOAD_PACKAGES: 'True' diff --git a/.ci_support/linux_64_cuda_compiler_version11.1python3.10.____cpython.yaml b/.ci_support/linux_64_c_compiler_version10cuda_compiler_version11.1python3.10.____cpython.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_version11.1python3.10.____cpython.yaml rename to .ci_support/linux_64_c_compiler_version10cuda_compiler_version11.1python3.10.____cpython.yaml diff --git a/.ci_support/linux_64_cuda_compiler_version11.1python3.11.____cpython.yaml b/.ci_support/linux_64_c_compiler_version10cuda_compiler_version11.1python3.11.____cpython.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_version11.1python3.11.____cpython.yaml rename to .ci_support/linux_64_c_compiler_version10cuda_compiler_version11.1python3.11.____cpython.yaml diff --git a/.ci_support/linux_64_cuda_compiler_version11.1python3.8.____cpython.yaml b/.ci_support/linux_64_c_compiler_version10cuda_compiler_version11.1python3.8.____cpython.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_version11.1python3.8.____cpython.yaml rename to .ci_support/linux_64_c_compiler_version10cuda_compiler_version11.1python3.8.____cpython.yaml diff --git a/.ci_support/linux_64_cuda_compiler_version11.1python3.9.____cpython.yaml b/.ci_support/linux_64_c_compiler_version10cuda_compiler_version11.1python3.9.____cpython.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_version11.1python3.9.____cpython.yaml rename to .ci_support/linux_64_c_compiler_version10cuda_compiler_version11.1python3.9.____cpython.yaml diff --git a/.ci_support/linux_64_cuda_compiler_version11.2python3.10.____cpython.yaml b/.ci_support/linux_64_c_compiler_version10cuda_compiler_version11.2python3.10.____cpython.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_version11.2python3.10.____cpython.yaml rename to .ci_support/linux_64_c_compiler_version10cuda_compiler_version11.2python3.10.____cpython.yaml diff --git a/.ci_support/linux_64_cuda_compiler_version11.2python3.11.____cpython.yaml b/.ci_support/linux_64_c_compiler_version10cuda_compiler_version11.2python3.11.____cpython.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_version11.2python3.11.____cpython.yaml rename to .ci_support/linux_64_c_compiler_version10cuda_compiler_version11.2python3.11.____cpython.yaml diff --git a/.ci_support/linux_64_cuda_compiler_version11.2python3.8.____cpython.yaml b/.ci_support/linux_64_c_compiler_version10cuda_compiler_version11.2python3.8.____cpython.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_version11.2python3.8.____cpython.yaml rename to .ci_support/linux_64_c_compiler_version10cuda_compiler_version11.2python3.8.____cpython.yaml diff --git a/.ci_support/linux_64_cuda_compiler_version11.2python3.9.____cpython.yaml b/.ci_support/linux_64_c_compiler_version10cuda_compiler_version11.2python3.9.____cpython.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_version11.2python3.9.____cpython.yaml rename to .ci_support/linux_64_c_compiler_version10cuda_compiler_version11.2python3.9.____cpython.yaml diff --git a/.ci_support/linux_64_cuda_compiler_versionNonepython3.10.____cpython.yaml b/.ci_support/linux_64_c_compiler_version11cuda_compiler_versionNonepython3.10.____cpython.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_versionNonepython3.10.____cpython.yaml rename to .ci_support/linux_64_c_compiler_version11cuda_compiler_versionNonepython3.10.____cpython.yaml diff --git a/.ci_support/linux_64_cuda_compiler_versionNonepython3.11.____cpython.yaml b/.ci_support/linux_64_c_compiler_version11cuda_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_compiler_version11cuda_compiler_versionNonepython3.11.____cpython.yaml diff --git a/.ci_support/linux_64_cuda_compiler_versionNonepython3.8.____cpython.yaml b/.ci_support/linux_64_c_compiler_version11cuda_compiler_versionNonepython3.8.____cpython.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_versionNonepython3.8.____cpython.yaml rename to .ci_support/linux_64_c_compiler_version11cuda_compiler_versionNonepython3.8.____cpython.yaml diff --git a/.ci_support/linux_64_cuda_compiler_versionNonepython3.9.____cpython.yaml b/.ci_support/linux_64_c_compiler_version11cuda_compiler_versionNonepython3.9.____cpython.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_versionNonepython3.9.____cpython.yaml rename to .ci_support/linux_64_c_compiler_version11cuda_compiler_versionNonepython3.9.____cpython.yaml diff --git a/.ci_support/linux_64_cuda_compiler_version10.2python3.10.____cpython.yaml b/.ci_support/linux_64_c_compiler_version7cuda_compiler_version10.2python3.10.____cpython.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_version10.2python3.10.____cpython.yaml rename to .ci_support/linux_64_c_compiler_version7cuda_compiler_version10.2python3.10.____cpython.yaml diff --git a/.ci_support/linux_64_cuda_compiler_version10.2python3.11.____cpython.yaml b/.ci_support/linux_64_c_compiler_version7cuda_compiler_version10.2python3.11.____cpython.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_version10.2python3.11.____cpython.yaml rename to .ci_support/linux_64_c_compiler_version7cuda_compiler_version10.2python3.11.____cpython.yaml diff --git a/.ci_support/linux_64_cuda_compiler_version10.2python3.8.____cpython.yaml b/.ci_support/linux_64_c_compiler_version7cuda_compiler_version10.2python3.8.____cpython.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_version10.2python3.8.____cpython.yaml rename to .ci_support/linux_64_c_compiler_version7cuda_compiler_version10.2python3.8.____cpython.yaml diff --git a/.ci_support/linux_64_cuda_compiler_version10.2python3.9.____cpython.yaml b/.ci_support/linux_64_c_compiler_version7cuda_compiler_version10.2python3.9.____cpython.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_version10.2python3.9.____cpython.yaml rename to .ci_support/linux_64_c_compiler_version7cuda_compiler_version10.2python3.9.____cpython.yaml diff --git a/.ci_support/linux_64_cuda_compiler_version11.0python3.10.____cpython.yaml b/.ci_support/linux_64_c_compiler_version9cuda_compiler_version11.0python3.10.____cpython.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_version11.0python3.10.____cpython.yaml rename to .ci_support/linux_64_c_compiler_version9cuda_compiler_version11.0python3.10.____cpython.yaml diff --git a/.ci_support/linux_64_cuda_compiler_version11.0python3.11.____cpython.yaml b/.ci_support/linux_64_c_compiler_version9cuda_compiler_version11.0python3.11.____cpython.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_version11.0python3.11.____cpython.yaml rename to .ci_support/linux_64_c_compiler_version9cuda_compiler_version11.0python3.11.____cpython.yaml diff --git a/.ci_support/linux_64_cuda_compiler_version11.0python3.8.____cpython.yaml b/.ci_support/linux_64_c_compiler_version9cuda_compiler_version11.0python3.8.____cpython.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_version11.0python3.8.____cpython.yaml rename to .ci_support/linux_64_c_compiler_version9cuda_compiler_version11.0python3.8.____cpython.yaml diff --git a/.ci_support/linux_64_cuda_compiler_version11.0python3.9.____cpython.yaml b/.ci_support/linux_64_c_compiler_version9cuda_compiler_version11.0python3.9.____cpython.yaml similarity index 100% rename from .ci_support/linux_64_cuda_compiler_version11.0python3.9.____cpython.yaml rename to .ci_support/linux_64_c_compiler_version9cuda_compiler_version11.0python3.9.____cpython.yaml diff --git a/README.md b/README.md index 409bbccb..7cbfc8b4 100644 --- a/README.md +++ b/README.md @@ -27,143 +27,143 @@ Current build status - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/recipe/cross_compile_support.sh b/recipe/cross_compile_support.sh old mode 100644 new mode 100755 index fdb03b9c..528b6106 --- a/recipe/cross_compile_support.sh +++ b/recipe/cross_compile_support.sh @@ -1,13 +1,19 @@ +#!/bin/bash + BUILD_PLATFORM=$(conda info --json | jq -r .platform) if [ -f ${CI_SUPPORT}/${CONFIG}.yaml ]; then HOST_PLATFORM=$(cat ${CI_SUPPORT}/${CONFIG}.yaml | shyaml get-value target_platform.0 ${BUILD_PLATFORM}) + CUDA_COMPILER_VERSION=$(cat ${CI_SUPPORT}/${CONFIG}.yaml | shyaml get-value cuda_compiler_version.0 None) + CDT_NAME=$(cat ${CI_SUPPORT}/${CONFIG}.yaml | shyaml get-value cdt_name.0 cos6) fi HOST_PLATFORM=${HOST_PLATFORM:-${BUILD_PLATFORM}} +CUDA_COMPILER_VERSION=${CUDA_COMPILER_VERSION:-None} +CDT_NAME=${CDT_NAME:-cos6} if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then - echo "export CONDA_BUILD_CROSS_COMPILATION=1" >> "${CONDA_PREFIX}/etc/conda/activate.d/conda-forge-ci-setup-activate.sh" + echo "export CONDA_BUILD_CROSS_COMPILATION=1" >> "${CONDA_PREFIX}/etc/conda/activate.d/conda-forge-ci-setup-activate.sh" export CONDA_BUILD_CROSS_COMPILATION=1 if [ -f ${CI_SUPPORT}/${CONFIG}.yaml ]; then echo "build_platform:" >> ${CI_SUPPORT}/${CONFIG}.yaml @@ -15,19 +21,103 @@ if [[ "${HOST_PLATFORM}" != "${BUILD_PLATFORM}" ]]; then fi if [[ "${BUILD_PLATFORM}" == "linux-64" && "${HOST_PLATFORM}" == linux-* ]]; then mamba create -n sysroot_${HOST_PLATFORM} --yes --quiet sysroot_${HOST_PLATFORM} + HOST_PLATFORM_ARCH=${HOST_PLATFORM:6} if [[ -f ${RECIPE_ROOT}/yum_requirements.txt ]]; then for pkg in $(cat ${RECIPE_ROOT}/yum_requirements.txt); do if [[ "${pkg}" != "#"* && "${pkg}" != "" ]]; then - mamba install "${pkg}-cos7-${HOST_PLATFORM:6}" -n sysroot_${HOST_PLATFORM} --yes --quiet || true + mamba install "${pkg}-cos7-${HOST_PLATFORM_ARCH}" -n sysroot_${HOST_PLATFORM} --yes --quiet || true fi done fi export QEMU_LD_PREFIX=$(find ${CONDA_PREFIX}/envs/sysroot_${HOST_PLATFORM} -name sysroot | head -1) if [ -f ${CI_SUPPORT}/${CONFIG}.yaml ]; then echo "CMAKE_CROSSCOMPILING_EMULATOR: " >> ${CI_SUPPORT}/${CONFIG}.yaml - echo "- /usr/bin/qemu-$(echo $HOST_PLATFORM | cut -b 7-)-static" >> ${CI_SUPPORT}/${CONFIG}.yaml + echo "- /usr/bin/qemu-${HOST_PLATFORM_ARCH}-static" >> ${CI_SUPPORT}/${CONFIG}.yaml echo "CROSSCOMPILING_EMULATOR: " >> ${CI_SUPPORT}/${CONFIG}.yaml - echo "- /usr/bin/qemu-$(echo $HOST_PLATFORM | cut -b 7-)-static" >> ${CI_SUPPORT}/${CONFIG}.yaml + echo "- /usr/bin/qemu-${HOST_PLATFORM_ARCH}-static" >> ${CI_SUPPORT}/${CONFIG}.yaml + fi + + + if [[ "${CUDA_COMPILER_VERSION}" == "11.2" ]] && [[ "${CDT_NAME}" == "cos8" || "${CDT_NAME}" == "cos7" ]]; then + # We use cdt_name=cos7 for rhel8 based nvcc till we figure out + # a stable cos8 replacement. + EXTRACT_DIR=$(mktemp -d) + pushd ${EXTRACT_DIR} + if [[ "${HOST_PLATFORM_ARCH}" == "aarch64" ]]; then + CUDA_HOST_PLATFORM_ARCH=sbsa + else + CUDA_HOST_PLATFORM_ARCH=${HOST_PLATFORM_ARCH} + fi + # download manifest for latest 11.2.x patch version + curl -L https://developer.download.nvidia.com/compute/cuda/repos/rhel8/${CUDA_HOST_PLATFORM_ARCH}/version_11.2.2.json > manifest.json + # packages for which we also need to install the -devel version + # (names need "_" not "-" to match spelling in manifest); + # some packages don't have a key in the manifest, so we + # need to do a mapping, in this case new_key:from_old + declare -a DEVELS=( + "cuda_cudart_devel:cuda_cudart" + "cuda_driver_devel:cuda_cudart" + "cuda_nvrtc_devel:cuda_nvrtc" + "libcublas_devel:libcublas" + "libcufft_devel:libcufft" + "libcurand_devel:libcurand" + "libcusolver_devel:libcusolver" + "libcusparse_devel:libcusparse" + "libnpp_devel:libnpp" + "libnvjpeg_devel:libnvjpeg" + ) + # add additional packages to manifest with same version (and formatting) + # as for key "from_old" specified in the mapping above + for map in "${DEVELS[@]}"; do + new_key=$(echo $map | cut -d ':' -f1) + from_old=$(echo $map | cut -d ':' -f2) + DEVELQUERY="${DEVELQUERY:+${DEVELQUERY} | }. += {${new_key}: {version: .${from_old}.version}}" + done + # update manifest.json with devel packages + jq "${DEVELQUERY}" manifest.json > manifest_ext.json + + # collect as : to avoid further json-parsing within loop + jq 'keys[] as $k | "\($k):\(.[$k] | .version)"' manifest_ext.json > versions.txt + + # map names from spelling in manifest to RPMs: + # remove quotes; normalize "_" -> "-"; remove "-api" suffix from cuda-sanitizer; + # also need to adapt "_dev" -> "-devel" (specifically for cuda_nvml_dev), which + # in turn requires us to undo the "overshoot" for the other devel-packages + sed 's/"//g' versions.txt | sed 's/_/-/g' | sed 's/-api//g' | sed 's/-dev/-devel/g' | sed 's/-develel/-devel/g' > rpms.txt + + # filter packages from manifest down to what we need for cross-compilation + grep -E "cuda-(cudart|cupti|driver|nvcc|nvml|nvprof|nvrtc|nvtx).*|lib(cu|npp|nvjpeg).*" rpms.txt > rpms_cc.txt + + echo "Installing the following packages (:)" + cat rpms_cc.txt + + # read names & versions for necessary RPMs; download & install them + cat rpms_cc.txt | while read pv; do + pkg=$(echo $pv | cut -d ':' -f1) + ver=$(echo $pv | cut -d ':' -f2) + extra="11-2-" + suffix="-1" + + fn="${pkg}-${extra}${ver}${suffix}.${HOST_PLATFORM_ARCH}.rpm" + echo "Downloading & installing: $fn" + curl -L -O https://developer.download.nvidia.com/compute/cuda/repos/rhel8/${CUDA_HOST_PLATFORM_ARCH}/${fn} + bsdtar -xvf ${fn} + done + # daisy-chain the copying because the docker images only have very specific combinations allowed, see + # https://github.com/conda-forge/docker-images/blob/main/scripts/run_commands + mkdir -p /opt/conda/targets/ + mv ./usr/local/cuda-${CUDA_COMPILER_VERSION}/targets/${CUDA_HOST_PLATFORM_ARCH}-linux /opt/conda/targets/${CUDA_HOST_PLATFORM_ARCH}-linux + /usr/bin/sudo cp -r /opt/conda/targets/${CUDA_HOST_PLATFORM_ARCH}-linux ${CUDA_HOME}/targets/${CUDA_HOST_PLATFORM_ARCH}-linux + popd + rm -rf ${EXTRACT_DIR} + elif [[ "${CUDA_COMPILER_VERSION}" == "11.2" ]]; then + echo "cross compiling with cuda == 11.2 and cdt != cos7/8 not supported yet" + exit 1 + elif [[ "${CUDA_COMPILER_VERSION}" != "None" ]]; then + # FIXME: can use anaconda.org/nvidia packages to get the includes and libs + # for cuda >=11.3. + echo "cross compiling with cuda != 11.2 not supported yet" + exit 1 fi fi fi diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 2fa4d8a6..8439b2ec 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,5 +1,5 @@ {% set name = "conda-forge-ci-setup" %} -{% set version = "3.25.0" %} +{% set version = "3.26.0" %} {% set build = 0 %} {% set cuda_compiler_version = cuda_compiler_version or "None" %} {% if cuda_compiler_version == "None" %} @@ -42,7 +42,6 @@ build: - make_build_number = conda_forge_ci_setup.build_utils:make_build_number - mangle_homebrew = conda_forge_ci_setup.mangle_homebrew:main - validate_recipe_outputs = conda_forge_ci_setup.feedstock_outputs:main - skip: True # [py2k] ignore_run_exports_from: - {{ compiler('cuda') }} # [cuda_compiler_version != "None"] - {{ compiler('c') }} # [cuda_compiler_version != "None"] @@ -73,6 +72,7 @@ requirements: - pyyaml - m2-git # [win] - git # [unix] + - libarchive run_constrained: - boa >=0.8,<1.0
VariantStatus
linux_64_cuda_compiler_version10.2python3.10.____cpythonlinux_64_c_compiler_version10cuda_compiler_version11.1python3.10.____cpython - variant + variant
linux_64_cuda_compiler_version10.2python3.11.____cpythonlinux_64_c_compiler_version10cuda_compiler_version11.1python3.11.____cpython - variant + variant
linux_64_cuda_compiler_version10.2python3.8.____cpythonlinux_64_c_compiler_version10cuda_compiler_version11.1python3.8.____cpython - variant + variant
linux_64_cuda_compiler_version10.2python3.9.____cpythonlinux_64_c_compiler_version10cuda_compiler_version11.1python3.9.____cpython - variant + variant
linux_64_cuda_compiler_version11.0python3.10.____cpythonlinux_64_c_compiler_version10cuda_compiler_version11.2python3.10.____cpython - variant + variant
linux_64_cuda_compiler_version11.0python3.11.____cpythonlinux_64_c_compiler_version10cuda_compiler_version11.2python3.11.____cpython - variant + variant
linux_64_cuda_compiler_version11.0python3.8.____cpythonlinux_64_c_compiler_version10cuda_compiler_version11.2python3.8.____cpython - variant + variant
linux_64_cuda_compiler_version11.0python3.9.____cpythonlinux_64_c_compiler_version10cuda_compiler_version11.2python3.9.____cpython - variant + variant
linux_64_cuda_compiler_version11.1python3.10.____cpythonlinux_64_c_compiler_version11cuda_compiler_versionNonepython3.10.____cpython - variant + variant
linux_64_cuda_compiler_version11.1python3.11.____cpythonlinux_64_c_compiler_version11cuda_compiler_versionNonepython3.11.____cpython - variant + variant
linux_64_cuda_compiler_version11.1python3.8.____cpythonlinux_64_c_compiler_version11cuda_compiler_versionNonepython3.8.____cpython - variant + variant
linux_64_cuda_compiler_version11.1python3.9.____cpythonlinux_64_c_compiler_version11cuda_compiler_versionNonepython3.9.____cpython - variant + variant
linux_64_cuda_compiler_version11.2python3.10.____cpythonlinux_64_c_compiler_version7cuda_compiler_version10.2python3.10.____cpython - variant + variant
linux_64_cuda_compiler_version11.2python3.11.____cpythonlinux_64_c_compiler_version7cuda_compiler_version10.2python3.11.____cpython - variant + variant
linux_64_cuda_compiler_version11.2python3.8.____cpythonlinux_64_c_compiler_version7cuda_compiler_version10.2python3.8.____cpython - variant + variant
linux_64_cuda_compiler_version11.2python3.9.____cpythonlinux_64_c_compiler_version7cuda_compiler_version10.2python3.9.____cpython - variant + variant
linux_64_cuda_compiler_versionNonepython3.10.____cpythonlinux_64_c_compiler_version9cuda_compiler_version11.0python3.10.____cpython - variant + variant
linux_64_cuda_compiler_versionNonepython3.11.____cpythonlinux_64_c_compiler_version9cuda_compiler_version11.0python3.11.____cpython - variant + variant
linux_64_cuda_compiler_versionNonepython3.8.____cpythonlinux_64_c_compiler_version9cuda_compiler_version11.0python3.8.____cpython - variant + variant
linux_64_cuda_compiler_versionNonepython3.9.____cpythonlinux_64_c_compiler_version9cuda_compiler_version11.0python3.9.____cpython - variant + variant