Skip to content

Commit

Permalink
Merge pull request #28 from alexbarghi-nv/fix-wg-conda
Browse files Browse the repository at this point in the history
Add and Update WholeGraph Conda Files
  • Loading branch information
alexbarghi-nv authored Aug 16, 2024
2 parents a600a2a + 3bbdbb5 commit 44a06e5
Show file tree
Hide file tree
Showing 12 changed files with 292 additions and 6 deletions.
2 changes: 1 addition & 1 deletion conda/environments/all_cuda-118_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion conda/environments/all_cuda-121_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 4 additions & 0 deletions conda/recipes/libwholegraph/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2024, NVIDIA CORPORATION.

./build.sh -n libwholegraph tests -v --allgpuarch
26 changes: 26 additions & 0 deletions conda/recipes/libwholegraph/conda_build_config.yaml
Original file line number Diff line number Diff line change
@@ -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"
4 changes: 4 additions & 0 deletions conda/recipes/libwholegraph/install_libwholegraph.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/bash
# Copyright (c) 2022-2024, NVIDIA CORPORATION.

cmake --install cpp/build
4 changes: 4 additions & 0 deletions conda/recipes/libwholegraph/install_libwholegraph_tests.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/bash
# Copyright (c) 2022-2024, NVIDIA CORPORATION.

cmake --install cpp/build --component testing
140 changes: 140 additions & 0 deletions conda/recipes/libwholegraph/meta.yaml
Original file line number Diff line number Diff line change
@@ -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
6 changes: 6 additions & 0 deletions conda/recipes/pylibwholegraph/build.sh
Original file line number Diff line number Diff line change
@@ -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}
23 changes: 23 additions & 0 deletions conda/recipes/pylibwholegraph/conda_build_config.yaml
Original file line number Diff line number Diff line change
@@ -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"
78 changes: 78 additions & 0 deletions conda/recipes/pylibwholegraph/meta.yaml
Original file line number Diff line number Diff line change
@@ -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
4 changes: 2 additions & 2 deletions dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down
5 changes: 3 additions & 2 deletions python/pylibwholegraph/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 44a06e5

Please sign in to comment.