diff --git a/conda/environments/all_cuda-118_arch-x86_64.yaml b/conda/environments/all_cuda-118_arch-x86_64.yaml index 075b03e5..ef11a095 100644 --- a/conda/environments/all_cuda-118_arch-x86_64.yaml +++ b/conda/environments/all_cuda-118_arch-x86_64.yaml @@ -45,7 +45,7 @@ dependencies: - raft-dask==24.10.* - recommonmark - rmm==24.10.* -- scikit-build-core>=0.7.0 +- scikit-build-core>=0.10.0 - scipy - setuptools>=61.0.0 - sphinx-copybutton diff --git a/conda/environments/all_cuda-121_arch-x86_64.yaml b/conda/environments/all_cuda-121_arch-x86_64.yaml index 115058f6..58cf524c 100644 --- a/conda/environments/all_cuda-121_arch-x86_64.yaml +++ b/conda/environments/all_cuda-121_arch-x86_64.yaml @@ -50,7 +50,7 @@ dependencies: - raft-dask==24.10.* - recommonmark - rmm==24.10.* -- scikit-build-core>=0.7.0 +- scikit-build-core>=0.10.0 - scipy - setuptools>=61.0.0 - sphinx-copybutton diff --git a/conda/recipes/libwholegraph/build.sh b/conda/recipes/libwholegraph/build.sh new file mode 100644 index 00000000..731a0e16 --- /dev/null +++ b/conda/recipes/libwholegraph/build.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +# Copyright (c) 2021-2024, NVIDIA CORPORATION. + +./build.sh -n libwholegraph tests -v --allgpuarch diff --git a/conda/recipes/libwholegraph/conda_build_config.yaml b/conda/recipes/libwholegraph/conda_build_config.yaml new file mode 100644 index 00000000..35b1d6b6 --- /dev/null +++ b/conda/recipes/libwholegraph/conda_build_config.yaml @@ -0,0 +1,26 @@ +c_compiler_version: + - 11 + +cxx_compiler_version: + - 11 + +cuda_compiler: + - cuda-nvcc + +cuda11_compiler: + - nvcc + +cmake_version: + - ">=3.26.4,!=3.30.0" + +doxygen_version: + - ">=1.8.11" + +nccl_version: + - ">=2.9.9" + +c_stdlib: + - sysroot + +c_stdlib_version: + - "2.17" diff --git a/conda/recipes/libwholegraph/install_libwholegraph.sh b/conda/recipes/libwholegraph/install_libwholegraph.sh new file mode 100644 index 00000000..0f9ca72f --- /dev/null +++ b/conda/recipes/libwholegraph/install_libwholegraph.sh @@ -0,0 +1,4 @@ +#!/bin/bash +# Copyright (c) 2022-2024, NVIDIA CORPORATION. + +cmake --install cpp/build diff --git a/conda/recipes/libwholegraph/install_libwholegraph_tests.sh b/conda/recipes/libwholegraph/install_libwholegraph_tests.sh new file mode 100644 index 00000000..e031f85e --- /dev/null +++ b/conda/recipes/libwholegraph/install_libwholegraph_tests.sh @@ -0,0 +1,4 @@ +#!/bin/bash +# Copyright (c) 2022-2024, NVIDIA CORPORATION. + +cmake --install cpp/build --component testing diff --git a/conda/recipes/libwholegraph/meta.yaml b/conda/recipes/libwholegraph/meta.yaml new file mode 100644 index 00000000..2a9468a1 --- /dev/null +++ b/conda/recipes/libwholegraph/meta.yaml @@ -0,0 +1,140 @@ +# Copyright (c) 2019-2024, NVIDIA CORPORATION. + +{% set version = environ['RAPIDS_PACKAGE_VERSION'].lstrip('v') + environ.get('VERSION_SUFFIX', '') %} +{% set minor_version = version.split('.')[0] + '.' + version.split('.')[1] %} +{% set cuda_version = '.'.join(environ['RAPIDS_CUDA_VERSION'].split('.')[:2]) %} +{% set cuda_major = cuda_version.split('.')[0] %} +{% set date_string = environ['RAPIDS_DATE_STRING'] %} + +package: + name: libwholegraph-split + +source: + path: ../../.. + +build: + script_env: + - AWS_ACCESS_KEY_ID + - AWS_SECRET_ACCESS_KEY + - AWS_SESSION_TOKEN + - BUILD_ABI + - CMAKE_C_COMPILER_LAUNCHER + - CMAKE_CUDA_COMPILER_LAUNCHER + - CMAKE_CXX_COMPILER_LAUNCHER + - CMAKE_GENERATOR + - PARALLEL_LEVEL + - SCCACHE_BUCKET + - SCCACHE_IDLE_TIMEOUT + - SCCACHE_REGION + - SCCACHE_S3_KEY_PREFIX=libwholegraph-aarch64 # [aarch64] + - SCCACHE_S3_KEY_PREFIX=libwholegraph-linux64 # [linux64] + - SCCACHE_S3_USE_SSL + - SCCACHE_S3_NO_CREDENTIALS + +# Here we duplicate the dependencies so conda will populate both _build_env +# and _h_env_placeholder directories. This is needed to run clang-tidy. +# We need both build and host, or conda will only use _h_env_placeholder +# directory, which is removed after a build. Having only _build_env is not +# enough as CMake will not search for dependencies in this directory. +# This needs to be removed once CI support from sources builds +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + {% if cuda_major == "11" %} + - {{ compiler('cuda11') }} ={{ cuda_version }} + {% else %} + - {{ compiler('cuda') }} + {% endif %} + - cuda-version ={{ cuda_version }} + - cmake {{ cmake_version }} + - ninja + - {{ stdlib("c") }} + host: + {% if cuda_major == "11" %} + - cudatoolkit + {% else %} + - cuda-cudart-dev + - cuda-nvml-dev + - cuda-driver-dev + {% endif %} + - cuda-version ={{ cuda_version }} + - doxygen {{ doxygen_version }} + - libraft ={{ minor_version }} + - libraft-headers ={{ minor_version }} + - librmm ={{ minor_version }} + - nccl {{ nccl_version }} + + +outputs: + - name: libwholegraph + version: {{ version }} + script: install_libwholegraph.sh + build: + number: {{ GIT_DESCRIBE_NUMBER }} + string: cuda{{ cuda_major }}_{{ date_string }}_{{ GIT_DESCRIBE_HASH }}_{{ GIT_DESCRIBE_NUMBER }} + ignore_run_exports_from: + {% if cuda_major == "11" %} + - {{ compiler('cuda11') }} + {% else %} + - {{ compiler('cuda') }} + - cuda-cudart-dev + {% endif %} + requirements: + build: + - cmake {{ cmake_version }} + host: + - cuda-version ={{ cuda_version }} + {% if cuda_major != "11" %} + - cuda-cudart-dev + - cuda-driver-dev + {% endif %} + run: + - {{ pin_compatible('cuda-version', max_pin='x', min_pin='x') }} + {% if cuda_major == "11" %} + - cudatoolkit + {% else %} + - cuda-cudart + {% endif %} + - libraft ={{ minor_version }} + - nccl {{ nccl_version }} + about: + home: https://rapids.ai/ + license: Apache-2.0 + license_file: ../../../LICENSE + summary: libwholegraph library + - name: libwholegraph-tests + version: {{ version }} + script: install_libwholegraph_tests.sh + build: + number: {{ GIT_DESCRIBE_NUMBER }} + string: cuda{{ cuda_major }}_{{ date_string }}_{{ GIT_DESCRIBE_HASH }}_{{ GIT_DESCRIBE_NUMBER }} + ignore_run_exports_from: + {% if cuda_major == "11" %} + - {{ compiler('cuda11') }} + {% else %} + - {{ compiler('cuda') }} + - cuda-cudart-dev + {% endif %} + requirements: + build: + - cmake {{ cmake_version }} + host: + - cuda-version ={{ cuda_version }} + {% if cuda_major != "11" %} + - cuda-cudart-dev + - cuda-driver-dev + {% endif %} + run: + - {{ pin_compatible('cuda-version', max_pin='x', min_pin='x') }} + - {{ pin_subpackage('libwholegraph', exact=True) }} + {% if cuda_major == "11" %} + - cudatoolkit + {% else %} + - cuda-cudart + {% endif %} + about: + home: https://rapids.ai/ + license: Apache-2.0 + license_file: ../../../LICENSE + summary: libwholegraph tests diff --git a/conda/recipes/pylibwholegraph/build.sh b/conda/recipes/pylibwholegraph/build.sh new file mode 100644 index 00000000..cd61f906 --- /dev/null +++ b/conda/recipes/pylibwholegraph/build.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +# Copyright (c) 2022-2024, NVIDIA CORPORATION. + +CMAKE_EXTRA_ARGS="--cmake-args=\"-DBUILD_OPS_WITH_TORCH_C10_API=OFF\"" + +./build.sh pylibwholegraph --allgpuarch -v ${CMAKE_EXTRA_ARGS} diff --git a/conda/recipes/pylibwholegraph/conda_build_config.yaml b/conda/recipes/pylibwholegraph/conda_build_config.yaml new file mode 100644 index 00000000..b5e529cb --- /dev/null +++ b/conda/recipes/pylibwholegraph/conda_build_config.yaml @@ -0,0 +1,23 @@ +c_compiler_version: + - 11 + +cxx_compiler_version: + - 11 + +cuda_compiler: + - cuda-nvcc + +cuda11_compiler: + - nvcc + +cmake_version: + - ">=3.26.4,!=3.30.0" + +scikit_build_core_version: + - ">=0.10.0" + +c_stdlib: + - sysroot + +c_stdlib_version: + - "2.17" diff --git a/conda/recipes/pylibwholegraph/meta.yaml b/conda/recipes/pylibwholegraph/meta.yaml new file mode 100644 index 00000000..d3f9a49b --- /dev/null +++ b/conda/recipes/pylibwholegraph/meta.yaml @@ -0,0 +1,78 @@ +# Copyright (c) 2022-2024, NVIDIA CORPORATION. + +{% set version = environ['RAPIDS_PACKAGE_VERSION'].lstrip('v') + environ.get('VERSION_SUFFIX', '') %} +{% set minor_version = version.split('.')[0] + '.' + version.split('.')[1] %} +{% set cuda_version = '.'.join(environ['RAPIDS_CUDA_VERSION'].split('.')[:2]) %} +{% set cuda_major = cuda_version.split('.')[0] %} +{% set py_version = environ['CONDA_PY'] %} +{% set date_string = environ['RAPIDS_DATE_STRING'] %} + +package: + name: pylibwholegraph + version: {{ version }} + +source: + path: ../../.. + +build: + number: {{ GIT_DESCRIBE_NUMBER }} + string: cuda{{ cuda_major }}_py{{ py_version }}_{{ date_string }}_{{ GIT_DESCRIBE_HASH }}_{{ GIT_DESCRIBE_NUMBER }} + script_env: + - AWS_ACCESS_KEY_ID + - AWS_SECRET_ACCESS_KEY + - AWS_SESSION_TOKEN + - CMAKE_C_COMPILER_LAUNCHER + - CMAKE_CUDA_COMPILER_LAUNCHER + - CMAKE_CXX_COMPILER_LAUNCHER + - CMAKE_GENERATOR + - PARALLEL_LEVEL + - RAPIDS_BUILD_TYPE + - SCCACHE_BUCKET + - SCCACHE_IDLE_TIMEOUT + - SCCACHE_REGION + - SCCACHE_S3_KEY_PREFIX=pylibwholegraph-aarch64 # [aarch64] + - SCCACHE_S3_KEY_PREFIX=pylibwholegraph-linux64 # [linux64] + - SCCACHE_S3_USE_SSL + - SCCACHE_S3_NO_CREDENTIALS + ignore_run_exports_from: + {% if cuda_major == "11" %} + - {{ compiler('cuda11') }} + {% else %} + - {{ compiler('cuda') }} + {% endif %} + +requirements: + build: + - {{ compiler('c') }} + - {{ compiler('cxx') }} + {% if cuda_major == "11" %} + - {{ compiler('cuda11') }} ={{ cuda_version }} + {% else %} + - {{ compiler('cuda') }} + {% endif %} + - cuda-version ={{ cuda_version }} + - cmake {{ cmake_version }} + - ninja + - doxygen =1.8.20 + - {{ stdlib("c") }} + host: + - cuda-version ={{ cuda_version }} + {% if cuda_major == "11" %} + - cudatoolkit + {% endif %} + - cython + - libwholegraph ={{ version }} + - python + - rapids-build-backend >=0.3.0,<0.4.0.dev0 + - scikit-build-core {{ scikit_build_core_version }} + run: + - {{ pin_compatible('cuda-version', max_pin='x', min_pin='x') }} + {% if cuda_major == "11" %} + - cudatoolkit + {% endif %} + - libwholegraph ={{ version }} + - python + +about: + home: https://rapids.ai/ + summary: pylibwholegraph library diff --git a/dependencies.yaml b/dependencies.yaml index 29298ae3..aa00cd9d 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -259,10 +259,10 @@ dependencies: - cython>=3.0.0 - output_types: conda packages: - - scikit-build-core>=0.7.0 + - scikit-build-core>=0.10.0 - output_types: [pyproject, requirements] packages: - - scikit-build-core[pyproject]>=0.7.0 + - scikit-build-core[pyproject]>=0.10.0 python_run_cugraph_dgl: common: - output_types: [conda, pyproject] diff --git a/python/pylibwholegraph/pyproject.toml b/python/pylibwholegraph/pyproject.toml index 19b48cb9..20b0b3aa 100644 --- a/python/pylibwholegraph/pyproject.toml +++ b/python/pylibwholegraph/pyproject.toml @@ -16,7 +16,7 @@ build-backend = "rapids_build_backend.build" requires = [ "rapids-build-backend>=0.3.0,<0.4.0.dev0", - "scikit-build-core[pyproject]>=0.7.0", + "scikit-build-core[pyproject]>=0.10.0", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. [project] @@ -52,7 +52,8 @@ requires = [ [tool.scikit-build] build-dir = "build/{wheel_tag}" cmake.build-type = "Release" -cmake.minimum-version = "3.26.4" +cmake.version = "CMakeLists.txt" +minimum-version = "build-system.requires" ninja.make-fallback = true sdist.exclude = ["*tests*"] sdist.reproducible = true