Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
8 changes: 4 additions & 4 deletions ci/checks/doxygen.sh
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
#!/bin/bash
# SPDX-FileCopyrightText: Copyright (c) 2024-2025, NVIDIA CORPORATION & AFFILIATES.
# SPDX-FileCopyrightText: Copyright (c) 2024-2026, NVIDIA CORPORATION & AFFILIATES.
# SPDX-License-Identifier: Apache-2.0
###############################
# cuDF doxygen warnings check #
###############################
#######################################
# rapidsmpf doxygen warnings check #
#######################################

# skip if doxygen is not installed
if ! [ -x "$(command -v doxygen)" ]; then
Expand Down
19 changes: 0 additions & 19 deletions ci/run_cpp_benchmark_smoketests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,28 +15,12 @@ export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1
export OMPI_MCA_opal_cuda_support=1 # enable CUDA support in OpenMPI

# Ensure that benchmarks are runnable
python "${TIMEOUT_TOOL_PATH}" 30 \
mpirun --map-by node --bind-to none -np 3 ./bench_shuffle -m cuda

python "${TIMEOUT_TOOL_PATH}" 30 \
mpirun --map-by node --bind-to none -np 3 ./bench_comm -m cuda

RAPIDSMPF_SMOKE_TEST_MODE="ON" \
python "${TIMEOUT_TOOL_PATH}" 30 ./bench_memory_resources

python "${TIMEOUT_TOOL_PATH}" 30 \
./bench_streaming_shuffle -m cuda

# Ensure that shuffle benchmark with CUPTI monitor is runnable and creates the expected csv files
python "${TIMEOUT_TOOL_PATH}" 30 \
mpirun --map-by node --bind-to none -np 3 ./bench_shuffle -m cuda -M cupti_shuffle
for i in {0..2}; do
if [[ ! -f cupti_shuffle${i}.csv ]]; then
echo "Error: cupti_shuffle${i}.csv was not created!"
exit 1
fi
done

# Ensure that comm benchmark with CUPTI monitor is runnable and creates the expected csv files
python "${TIMEOUT_TOOL_PATH}" 30 \
mpirun --map-by node --bind-to none -np 3 ./bench_comm -m cuda -M cupti_comm
Expand All @@ -46,6 +30,3 @@ for i in {0..2}; do
exit 1
fi
done

# bench pack smoketest (only run 1MB buffer benchmarks)
python "${TIMEOUT_TOOL_PATH}" 30 ./bench_pack --benchmark_filter="/1/" --benchmark_min_time=0s
11 changes: 1 addition & 10 deletions ci/run_cpp_example_smoketests.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash
# SPDX-FileCopyrightText: Copyright (c) 2024-2025, NVIDIA CORPORATION & AFFILIATES.
# SPDX-FileCopyrightText: Copyright (c) 2024-2026, NVIDIA CORPORATION & AFFILIATES.
# SPDX-License-Identifier: Apache-2.0

set -xeuo pipefail
Expand All @@ -9,15 +9,6 @@ TIMEOUT_TOOL_PATH="$(dirname "$(realpath "${BASH_SOURCE[0]}")")"/timeout_with_st
# Support customizing the ctests' install location
cd "${INSTALL_PREFIX:-${CONDA_PREFIX:-/usr}}/bin/examples/librapidsmpf/"

# OpenMPI specific options
export OMPI_ALLOW_RUN_AS_ROOT=1 # CI runs as root
export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1
export OMPI_MCA_opal_cuda_support=1 # enable CUDA support in OpenMPI

# Ensure that shuffle example is runnable
python "${TIMEOUT_TOOL_PATH}" 30 \
mpirun --map-by node --bind-to none -np 2 ./example_shuffle

# Ensure that cupti monitor example is runnable and creates the expected csv file
python "${TIMEOUT_TOOL_PATH}" 30 ./example_cupti_monitor
if [[ ! -f cupti_monitor_example.csv ]]; then
Expand Down
4 changes: 1 addition & 3 deletions ci/run_cpp_tools_smoketests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,6 @@ python "${TIMEOUT_TOOL_PATH}" 30 \
python "${TIMEOUT_TOOL_PATH}" 30 \
rrun --tag-output -n 3 -g 0,0,0 ./bench_comm -m cuda -C ucxx
python "${TIMEOUT_TOOL_PATH}" 30 \
rrun --tag-output -n 3 -g 0,0,0 ./bench_shuffle -m cuda -C ucxx
python "${TIMEOUT_TOOL_PATH}" 30 \
rrun --tag-output -n 1 -g 0 ./bench_streaming_shuffle -m cuda -C ucxx
rrun --tag-output -n 1 -g 0 -x RAPIDSMPF_SMOKE_TEST_MODE=ON ./bench_memory_resources

topology_discovery | python "${VALIDATE_TOPOLOGY_PATH}" -
16 changes: 0 additions & 16 deletions ci/test_cpp.sh
Original file line number Diff line number Diff line change
Expand Up @@ -67,21 +67,5 @@ rapids-logger "Run tools smoketests"
rapids-logger "Run rrun gtests"
./run_rrun_tests.sh

BENCHMARKS_DIR=$CONDA_PREFIX/bin/benchmarks/librapidsmpf

rapids-logger "Run NDSH benchmarks"
python ../cpp/scripts/ndsh.py run \
--input-dir scale-1/ \
--output-dir validation/ \
--generate-data \
--benchmark-dir "${BENCHMARKS_DIR}" \
--benchmark-args='--no-pinned-host-memory'

rapids-logger "Validate NDSH benchmarks"
python ../cpp/scripts/ndsh.py validate \
--results-path validation/output \
--expected-path validation/expected \
--ignore-timezone

rapids-logger "Test script exiting with exit code: $EXITCODE"
exit ${EXITCODE}
2 changes: 1 addition & 1 deletion cmake/Modules/ConfigureCUDA.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,6 @@ endif()

# Debug options
if(CMAKE_BUILD_TYPE MATCHES Debug)
message(VERBOSE "CUDF: Building with debugging flags")
message(VERBOSE "RAPIDSMPF: Building with debugging flags")
list(APPEND RAPIDSMPF_CUDA_FLAGS -Xcompiler=-rdynamic)
endif()
44 changes: 0 additions & 44 deletions cmake/thirdparty/get_cudf_streaming.cmake

This file was deleted.

7 changes: 0 additions & 7 deletions conda/environments/all_cuda-129_arch-aarch64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,9 @@ dependencies:
- cxx-compiler
- cython>=3.2.2
- doxygen=1.9.1
- duckdb
- gcc_linux-aarch64=14.*
- gdb
- ipython
- libcudf-streaming==26.8.*,>=0.0.0a0
- libnuma
- libpmix-devel >=5.0,<6.0
- librmm==26.8.*,>=0.0.0a0
Expand All @@ -38,14 +36,11 @@ dependencies:
- myst-nb
- myst-parser
- ninja
- numpy
- numpy >=1.23,<3.0
- numpydoc
- openmpi >=5.0
- pip
- pre-commit
- psutil
- pyarrow
- pydata-sphinx-theme>=0.15.4
- pytest
- python>=3.11
Expand All @@ -59,6 +54,4 @@ dependencies:
- sysroot_linux-aarch64=2.28
- ucxx==0.51.*,>=0.0.0a0
- valgrind
- pip:
- tpchgen-cli
name: all_cuda-129_arch-aarch64
7 changes: 0 additions & 7 deletions conda/environments/all_cuda-129_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,9 @@ dependencies:
- cxx-compiler
- cython>=3.2.2
- doxygen=1.9.1
- duckdb
- gcc_linux-64=14.*
- gdb
- ipython
- libcudf-streaming==26.8.*,>=0.0.0a0
- libnuma
- libpmix-devel >=5.0,<6.0
- librmm==26.8.*,>=0.0.0a0
Expand All @@ -38,14 +36,11 @@ dependencies:
- myst-nb
- myst-parser
- ninja
- numpy
- numpy >=1.23,<3.0
- numpydoc
- openmpi >=5.0
- pip
- pre-commit
- psutil
- pyarrow
- pydata-sphinx-theme>=0.15.4
- pytest
- python>=3.11
Expand All @@ -59,6 +54,4 @@ dependencies:
- sysroot_linux-64=2.28
- ucxx==0.51.*,>=0.0.0a0
- valgrind
- pip:
- tpchgen-cli
name: all_cuda-129_arch-x86_64
7 changes: 0 additions & 7 deletions conda/environments/all_cuda-132_arch-aarch64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,9 @@ dependencies:
- cxx-compiler
- cython>=3.2.2
- doxygen=1.9.1
- duckdb
- gcc_linux-aarch64=14.*
- gdb
- ipython
- libcudf-streaming==26.8.*,>=0.0.0a0
- libnuma
- libpmix-devel >=5.0,<6.0
- librmm==26.8.*,>=0.0.0a0
Expand All @@ -38,14 +36,11 @@ dependencies:
- myst-nb
- myst-parser
- ninja
- numpy
- numpy >=1.23,<3.0
- numpydoc
- openmpi >=5.0
- pip
- pre-commit
- psutil
- pyarrow
- pydata-sphinx-theme>=0.15.4
- pytest
- python>=3.11
Expand All @@ -59,6 +54,4 @@ dependencies:
- sysroot_linux-aarch64=2.28
- ucxx==0.51.*,>=0.0.0a0
- valgrind
- pip:
- tpchgen-cli
name: all_cuda-132_arch-aarch64
7 changes: 0 additions & 7 deletions conda/environments/all_cuda-132_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,9 @@ dependencies:
- cxx-compiler
- cython>=3.2.2
- doxygen=1.9.1
- duckdb
- gcc_linux-64=14.*
- gdb
- ipython
- libcudf-streaming==26.8.*,>=0.0.0a0
- libnuma
- libpmix-devel >=5.0,<6.0
- librmm==26.8.*,>=0.0.0a0
Expand All @@ -38,14 +36,11 @@ dependencies:
- myst-nb
- myst-parser
- ninja
- numpy
- numpy >=1.23,<3.0
- numpydoc
- openmpi >=5.0
- pip
- pre-commit
- psutil
- pyarrow
- pydata-sphinx-theme>=0.15.4
- pytest
- python>=3.11
Expand All @@ -59,6 +54,4 @@ dependencies:
- sysroot_linux-64=2.28
- ucxx==0.51.*,>=0.0.0a0
- valgrind
- pip:
- tpchgen-cli
name: all_cuda-132_arch-x86_64
10 changes: 1 addition & 9 deletions conda/recipes/librapidsmpf/recipe.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ cache:
export CXXFLAGS=$(echo $CXXFLAGS | sed -E 's@\-fdebug\-prefix\-map[^ ]*@@g')
set +x

./build.sh -v -n --cmake-args="\"-DBUILD_CUPTI_SUPPORT=ON -DBUILD_CUDF_TESTS=ON\"" --no-clang-tidy librapidsmpf
./build.sh -v -n --cmake-args="\"-DBUILD_CUPTI_SUPPORT=ON\"" --no-clang-tidy librapidsmpf
secrets:
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
Expand Down Expand Up @@ -78,8 +78,6 @@ cache:
- cuda-cupti-dev
- cuda-nvml-dev
- libnuma
- libcudf =${{ minor_version }}
- libcudf-streaming =${{ minor_version }}
- libpmix-devel >=5.0,<6.0
- librmm =${{ minor_version }}
- libucxx ${{ ucxx_version }}
Expand Down Expand Up @@ -132,8 +130,6 @@ outputs:
- ${{ stdlib("c") }}
by_name:
- cuda-cupti
- libcudf
- libcudf-streaming
- librmm
- openmpi
about:
Expand All @@ -160,17 +156,13 @@ outputs:
- cuda-cupti-dev
- cuda-nvml-dev
- cuda-version =${{ cuda_version }}
- libcudf =${{ minor_version }}
- libcudf-streaming =${{ minor_version }}
- librmm =${{ minor_version }}
- openmpi >=5.0
- libnuma
- ${{ pin_subpackage("librapidsmpf", exact=True) }}
run:
- ${{ pin_compatible("cuda-version", upper_bound="x", lower_bound="x") }}
- cuda-cupti
- libcudf =${{ minor_version }}
- libcudf-streaming =${{ minor_version }}
- librmm =${{ minor_version }}
- openmpi >=5.0 # See <https://github.com/rapidsai/rapidsmpf/issues/17>
- libucxx ${{ ucxx_version }}
Expand Down
10 changes: 0 additions & 10 deletions cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ option(BUILD_SHARED_LIBS "Build RapidsMPF shared library" ON)
option(RAPIDSMPF_CLANG_TIDY "Enable clang-tidy during compilation" OFF)
option(RAPIDSMPF_ASAN "Enable AddressSanitizer" OFF)
option(RAPIDSMPF_VERBOSE_INFO "Enable detail mode" OFF)
option(BUILD_CUDF_TESTS "Build tests/benchmarks that require cudf" OFF)

message(STATUS "librapidsmpf build options:")
message(STATUS " BUILD_MPI_SUPPORT : ${BUILD_MPI_SUPPORT}")
Expand All @@ -70,7 +69,6 @@ message(STATUS " BUILD_SHARED_LIBS : ${BUILD_SHARED_LIBS}")
message(STATUS " RAPIDSMPF_CLANG_TIDY : ${RAPIDSMPF_CLANG_TIDY}")
message(STATUS " RAPIDSMPF_ASAN : ${RAPIDSMPF_ASAN}")
message(STATUS " RAPIDSMPF_VERBOSE_INFO : ${RAPIDSMPF_VERBOSE_INFO}")
message(STATUS " BUILD_CUDF_TESTS : ${BUILD_CUDF_TESTS}")

# Copy options to our prefix to prevent upstream projects from modifying them.
set(RAPIDSMPF_HAVE_MPI ${BUILD_MPI_SUPPORT})
Expand Down Expand Up @@ -335,18 +333,10 @@ target_compile_definitions(

rapids_cuda_set_runtime(rapidsmpf USE_STATIC ON)

# Guard: when BUILD_CUDF_TESTS is enabled, cudf_streaming is fetched via CPM and its own
# cmake/thirdparty/get_rapidsmpf.cmake calls rapids_cpm_find(rapidsmpf ...) which creates this alias
# target. Without the guard we get "cannot create ALIAS target because another target with the same
# name already exists" due to the circular dependency (rapidsmpf -> cudf_streaming -> rapidsmpf).
if(NOT TARGET rapidsmpf::rapidsmpf)
add_library(rapidsmpf::rapidsmpf ALIAS rapidsmpf)
endif()

if(BUILD_CUDF_TESTS)
include(../cmake/thirdparty/get_cudf_streaming.cmake)
endif()

# ##################################################################################################
# * linter configuration ---------------------------------------------------------------------------
if(RAPIDSMPF_CLANG_TIDY)
Expand Down
Loading