Skip to content
This repository has been archived by the owner on Nov 25, 2024. It is now read-only.

[RELEASE] wholegraph v24.06 #179

Merged
merged 20 commits into from
Jun 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
a5e3005
DOC v24.06 Updates [skip ci]
raydouglass Mar 15, 2024
e46b1ef
Merge pull request #151 from rapidsai/branch-24.04
GPUtester Mar 20, 2024
8dfa809
Merge pull request #153 from rapidsai/branch-24.04
GPUtester Mar 21, 2024
7c00775
Merge pull request #156 from rapidsai/branch-24.04
GPUtester Apr 1, 2024
bfd56d8
Merge pull request #157 from rapidsai/branch-24.04
GPUtester Apr 2, 2024
9d1dcb1
Merge pull request #159 from rapidsai/branch-24.04
GPUtester Apr 10, 2024
5c4ffce
fix CI issue due to pytorch and mkl version conflict (#162)
linhu-nv Apr 22, 2024
8624b40
fix CI issue due to pytorch and mkl version conflict (#162)
linhu-nv Apr 22, 2024
f8cadcf
remove unnecessary sync between thrust ops and host threads (#160)
linhu-nv Apr 30, 2024
b453a1d
allow temp_memory_handler to allocate memory for multiple times (#161)
linhu-nv Apr 30, 2024
7d7043e
support read file with multi threads and add test_wholememory_io for …
chuangz0 Apr 30, 2024
d77f6a0
Migrate to `{{ stdlib("c") }}` (#164)
hcho3 May 6, 2024
4187cfa
Always use a static gtest (#167)
vyasr May 10, 2024
afb6a11
Remove scripts/checks/copyright.py (#149)
KyleFromNVIDIA May 17, 2024
a087085
Fix host view for mnnvl (#166)
chuangz0 May 23, 2024
7352f1c
subwarp version gather op for small embedding size (#165)
chuangz0 May 23, 2024
4ff5871
quick fix to a map_indice bug && add comment for parameter round_robi…
linhu-nv May 28, 2024
da0a412
a quick fix to wholememory tensor gather default data type (#173)
linhu-nv May 28, 2024
1921080
Sort indices before gathering (#174)
zhuofan1123 May 29, 2024
ae3748a
Add initial support of distributed sampling (#171)
chang-l May 29, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ concurrency:
jobs:
cpp-build:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-24.06
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
Expand All @@ -38,7 +38,7 @@ jobs:
python-build:
needs: [cpp-build]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-24.06
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
Expand All @@ -49,7 +49,7 @@ jobs:
if: github.ref_type == 'branch'
needs: [python-build]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-24.06
with:
arch: "amd64"
branch: ${{ inputs.branch }}
Expand All @@ -62,15 +62,15 @@ jobs:
upload-conda:
needs: [cpp-build, python-build]
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@branch-24.06
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
wheel-build-pylibwholegraph:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-24.06
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
Expand All @@ -80,7 +80,7 @@ jobs:
wheel-publish-pylibwholegraph:
needs: wheel-build-pylibwholegraph
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@branch-24.06
with:
build_type: ${{ inputs.build_type || 'branch' }}
branch: ${{ inputs.branch }}
Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,41 +21,41 @@ jobs:
- wheel-build-pylibwholegraph
- wheel-test-pylibwholegraph
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/pr-builder.yaml@branch-24.06
checks:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@branch-24.06
with:
enable_check_generated_files: false
conda-cpp-build:
needs: checks
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-24.06
with:
build_type: pull-request
node_type: cpu16
conda-cpp-tests:
needs: conda-cpp-build
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@branch-24.06
with:
build_type: pull-request
conda-python-build:
needs: conda-cpp-build
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-24.06
with:
build_type: pull-request
conda-python-tests:
needs: conda-python-build
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-24.06
with:
build_type: pull-request
docs-build:
needs: conda-python-build
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@branch-24.06
with:
build_type: pull-request
arch: "amd64"
Expand All @@ -64,14 +64,14 @@ jobs:
wheel-build-pylibwholegraph:
needs: checks
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-24.06
with:
build_type: pull-request
script: ci/build_wheel.sh
wheel-test-pylibwholegraph:
needs: wheel-build-pylibwholegraph
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-24.06
with:
build_type: pull-request
script: ci/test_wheel.sh
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,23 +16,23 @@ on:
jobs:
conda-cpp-tests:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@branch-24.06
with:
build_type: nightly
branch: ${{ inputs.branch }}
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
conda-pytorch-tests:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@branch-24.06
with:
build_type: nightly
branch: ${{ inputs.branch }}
date: ${{ inputs.date }}
sha: ${{ inputs.sha }}
wheel-tests-pylibwholegraph:
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-24.04
uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@branch-24.06
with:
build_type: nightly
branch: ${{ inputs.branch }}
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
24.04.00
24.06.00
2 changes: 1 addition & 1 deletion ci/build_docs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ rapids-print-env
rapids-logger "Downloading artifacts from previous jobs"

CPP_CHANNEL=$(rapids-download-conda-from-s3 cpp)
export RAPIDS_VERSION_NUMBER="24.04"
export RAPIDS_VERSION_NUMBER="24.06"
export RAPIDS_DOCS_DIR="$(mktemp -d)"

rapids-mamba-retry install \
Expand Down
1 change: 1 addition & 0 deletions ci/test_python.sh
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ PACKAGES="pylibwholegraph"
rapids-mamba-retry install \
--channel "${CPP_CHANNEL}" \
--channel "${PYTHON_CHANNEL}" \
'mkl<2024.1.0' \
"${PACKAGES}"

rapids-logger "Check GPU usage"
Expand Down
4 changes: 2 additions & 2 deletions conda/environments/all_cuda-118_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ dependencies:
- graphviz
- ipykernel
- ipython
- libraft-headers==24.4.*
- librmm==24.4.*
- libraft-headers==24.6.*
- librmm==24.6.*
- nanobind>=0.2.0
- nbsphinx
- nccl
Expand Down
4 changes: 2 additions & 2 deletions conda/environments/all_cuda-122_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ dependencies:
- graphviz
- ipykernel
- ipython
- libraft-headers==24.4.*
- librmm==24.4.*
- libraft-headers==24.6.*
- librmm==24.6.*
- nanobind>=0.2.0
- nbsphinx
- nccl
Expand Down
9 changes: 3 additions & 6 deletions conda/recipes/libwholegraph/conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,8 @@ doxygen_version:
nccl_version:
- ">=2.9.9"

gtest_version:
- ">=1.13.0"
c_stdlib:
- sysroot

gmock_version:
- ">=1.13.0"

sysroot_version:
c_stdlib_version:
- "2.17"
8 changes: 2 additions & 6 deletions conda/recipes/libwholegraph/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2019-2023, NVIDIA CORPORATION.
# 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] %}
Expand Down Expand Up @@ -49,7 +49,7 @@ requirements:
- cuda-version ={{ cuda_version }}
- cmake {{ cmake_version }}
- ninja
- sysroot_{{ target_platform }} {{ sysroot_version }}
- {{ stdlib("c") }}
host:
{% if cuda_major == "11" %}
- cudatoolkit
Expand All @@ -59,8 +59,6 @@ requirements:
{% endif %}
- cuda-version ={{ cuda_version }}
- doxygen {{ doxygen_version }}
- gmock {{ gtest_version }}
- gtest {{ gtest_version }}
- libraft ={{ minor_version }}
- libraft-headers ={{ minor_version }}
- librmm ={{ minor_version }}
Expand Down Expand Up @@ -134,8 +132,6 @@ outputs:
{% else %}
- cuda-cudart
{% endif %}
- gmock {{ gtest_version }}
- gtest {{ gtest_version }}
about:
home: https://rapids.ai/
license: Apache-2.0
Expand Down
5 changes: 4 additions & 1 deletion conda/recipes/pylibwholegraph/conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,8 @@ cmake_version:
scikit_build_core_version:
- ">=0.7.0"

sysroot_version:
c_stdlib:
- sysroot

c_stdlib_version:
- "2.17"
2 changes: 1 addition & 1 deletion conda/recipes/pylibwholegraph/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ requirements:
- cmake {{ cmake_version }}
- ninja
- doxygen =1.8.20
- sysroot_{{ target_platform }} {{ sysroot_version }}
- {{ stdlib("c") }}
host:
- cuda-version ={{ cuda_version }}
{% if cuda_major == "11" %}
Expand Down
7 changes: 4 additions & 3 deletions cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#=============================================================================
# Copyright (c) 2018-2023, NVIDIA CORPORATION.
# Copyright (c) 2018-2024, NVIDIA CORPORATION.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand All @@ -14,7 +14,7 @@
# limitations under the License.
#=============================================================================

set(RAPIDS_VERSION "24.04")
set(RAPIDS_VERSION "24.06")
set(WHOLEGRAPH_VERSION "${RAPIDS_VERSION}.00")

cmake_minimum_required(VERSION 3.23.1 FATAL_ERROR)
Expand Down Expand Up @@ -213,7 +213,8 @@ endif()

# optionally build tests
if(BUILD_TESTS AND CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
include(./cmake/thirdparty/get_gtest.cmake)
include(${rapids-cmake-dir}/cpm/gtest.cmake)
rapids_cpm_gtest(BUILD_STATIC)
include(CTest) # calls enable_testing()

add_subdirectory(tests)
Expand Down
2 changes: 1 addition & 1 deletion cpp/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ PROJECT_NAME = "WholeGraph C API"
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = 24.04
PROJECT_NUMBER = 24.06

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand Down
24 changes: 0 additions & 24 deletions cpp/cmake/thirdparty/get_gtest.cmake

This file was deleted.

6 changes: 6 additions & 0 deletions cpp/include/wholememory/wholememory.h
Original file line number Diff line number Diff line change
Expand Up @@ -387,6 +387,12 @@ wholememory_error_code_t wholememory_store_to_file(wholememory_handle_t wholemem
size_t file_entry_size,
const char* local_file_name);

/**
* @param comm : WholeMemory Comm
* @return : bool
*/
bool wholememory_is_intranode_communicator(wholememory_comm_t comm);

bool wholememory_is_build_with_nvshmem();
#ifdef WITH_NVSHMEM_SUPPORT
wholememory_error_code_t wholememory_get_nvshmem_reference(
Expand Down
4 changes: 2 additions & 2 deletions cpp/src/graph_ops/append_unique_func.cuh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019-2023, NVIDIA CORPORATION.
* Copyright (c) 2019-2024, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -316,7 +316,7 @@ void graph_append_unique_func(void* target_nodes_ptr,
<<<num_blocks, kAssignThreadBlockSize, 0, stream>>>(value_id, bucket_count_ptr);
WM_CUDA_CHECK(cudaGetLastError());
wholememory_ops::wm_thrust_allocator thrust_allocator(p_env_fns);
thrust::exclusive_scan(thrust::cuda::par(thrust_allocator).on(stream),
thrust::exclusive_scan(thrust::cuda::par_nosync(thrust_allocator).on(stream),
bucket_count_ptr,
bucket_count_ptr + num_bucket_count,
(int*)bucket_prefix_sum_ptr);
Expand Down
39 changes: 38 additions & 1 deletion cpp/src/wholegraph_ops/sample_comm.cuh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019-2023, NVIDIA CORPORATION.
* Copyright (c) 2019-2024, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -57,4 +57,41 @@ __global__ void sample_all_kernel(wholememory_gref_t wm_csr_row_ptr,
}
}
}

__device__ __forceinline__ int log2_up_device(int x)
{
if (x <= 2) return x - 1;
return 32 - __clz(x - 1);
}
template <typename IdType>
struct ExpandWithOffsetFunc {
const IdType* indptr;
IdType* indptr_shift;
int length;
__host__ __device__ auto operator()(int64_t tIdx)
{
indptr_shift[tIdx] = indptr[tIdx % length] + tIdx / length;
}
};

template <typename WMIdType, typename DegreeType>
struct ReduceForDegrees {
WMIdType* rowoffsets;
DegreeType* in_degree_ptr;
int length;
__host__ __device__ auto operator()(int64_t tIdx)
{
in_degree_ptr[tIdx] = rowoffsets[tIdx + length] - rowoffsets[tIdx];
}
};

template <typename DegreeType>
struct MinInDegreeFanout {
int max_sample_count;
__host__ __device__ auto operator()(DegreeType degree)
{
return min(static_cast<int>(degree), max_sample_count);
}
};

} // namespace wholegraph_ops
Loading
Loading