Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add latest cuGraph #458

Draft
wants to merge 23 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
f1674d1
Add latest cuGraph
gitbuda Mar 29, 2024
5859b13
Update all versions
gitbuda Mar 29, 2024
8dd7aec
Fix libcugraph paths
gitbuda Mar 29, 2024
d7b5880
Make pip install to pass, dgl fails because of FindCUDA arch unknown
gitbuda Mar 30, 2024
dee55aa
Add experiments_to_delete script
gitbuda Mar 30, 2024
af269d3
Add Dockerfile.experiment
gitbuda Apr 6, 2024
c7f3828
spdlog making problems
gitbuda Apr 7, 2024
4cae1fe
Move to Memgraph v2.16.0
gitbuda Apr 20, 2024
93a3be9
Add potential solution for spdlog
gitbuda Apr 20, 2024
38dcb33
Fix basic includes and arch setup
gitbuda Apr 21, 2024
f9b297b
Add latest changes, mostly comments and all on rapids v24.04
gitbuda Apr 21, 2024
43295ab
Align everything to C++17 but it does NOT help
gitbuda Apr 21, 2024
b9db63a
Fix basic compilation errors -> cugraph API changed -> FIXIT
gitbuda Apr 25, 2024
26ddd45
Move to the latest memgraph
gitbuda Apr 28, 2024
f9eaf83
All cugraph modules are compilable -> TESTING next
gitbuda Apr 28, 2024
a233c5a
Add working cugraph.pagerank
gitbuda May 12, 2024
7a121ba
Build and package all, tests still fails (deps)
gitbuda May 12, 2024
e7af2d9
Add IPR example1 for CPU and GPU
gitbuda Jun 2, 2024
061c0c9
Improve and suppress some warnings under pagerank
gitbuda Jun 2, 2024
8959cf9
Add list command to test_e2e
gitbuda Jun 2, 2024
d991740
Upgrade to the latest version of Memgraph
gitbuda Aug 7, 2024
bda68b0
Fix betweenness centrality
gitbuda Sep 15, 2024
5dae101
Make Leiden runnable (still doesn't work correctly)
gitbuda Sep 15, 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
3 changes: 2 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@ htmlcov
dist
**/__pycache__
cpp/build
cpp/memgraph/build
Dockerfile*
.dockerignore
.dockerignore
3 changes: 2 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ env:
NEO4J_CONTAINER: "neo4j_test"
OFFICIAL: "true"

on: [pull_request, workflow_dispatch]
# TODO(gitbuda): Revert
# on: [pull_request, workflow_dispatch]

jobs:
build:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/test_no_ml.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ env:
NEO4J_CONTAINER: "neo4j_test"
OFFICIAL: "true"

on: [pull_request, workflow_dispatch]
# TODO(gitbuda): Revert
# on: [pull_request, workflow_dispatch]

jobs:
build:
Expand Down
49 changes: 24 additions & 25 deletions Dockerfile.cugraph
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
ARG CUGRAPH_VERSION=22.02
ARG CUDA_VERSION=11.5
ARG CUDA_VERSION_MINOR=11.5.2
ARG PY_VERSION=3.8
ARG MG_VERSION=2.14.1
ARG CUGRAPH_VERSION=24.06a
ARG CUDA_VERSION=12.2
ARG CUDA_VERSION_MINOR=12.2.2
ARG PY_VERSION=3.11
ARG MG_VERSION=2.15.1

FROM rapidsai/rapidsai:${CUGRAPH_VERSION}-cuda${CUDA_VERSION}-runtime-ubuntu20.04-py${PY_VERSION} as cugraph-dev
# TODO(gitbuda): Probably turn this into Dockerfile.only_cugraph

FROM nvidia/cuda:${CUDA_VERSION_MINOR}-devel-ubuntu20.04 AS dev
FROM rapidsai/base:${CUGRAPH_VERSION}-cuda${CUDA_VERSION}-py${PY_VERSION} as cugraph-dev
FROM nvidia/cuda:${CUDA_VERSION_MINOR}-devel-ubuntu22.04 AS dev

USER root

Expand All @@ -17,15 +18,12 @@ ENV MG_VERSION ${MG_VERSION}
ENV PY_VERSION ${PY_VERSION}

# Copy RAPIDS libraries
COPY --from=cugraph-dev /opt/conda/envs/rapids/lib/libcugraph.so /opt/conda/envs/rapids/lib/libcugraph.so
COPY --from=cugraph-dev /opt/conda/envs/rapids/include /opt/conda/envs/rapids/include
COPY --from=cugraph-dev /opt/conda/lib/libcugraph.so /opt/conda/lib/libcugraph.so
COPY --from=cugraph-dev /opt/conda/include /opt/conda/include

# Prevent from linking the Conda environment
ENV LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib64:/usr/local/lib

# NVIDIA key rotation
RUN rm /etc/apt/sources.list.d/cuda.list

# Essentials for production/dev
RUN apt-get update && apt-get install -y \
libcurl4 `memgraph` \
Expand Down Expand Up @@ -62,29 +60,30 @@ EXPOSE 7687
# Copy and build MAGE
WORKDIR /mage
COPY . /mage
# TODO(gitbuda): In the meantime, we moved the whole memgraph repo under cpp -> init submodules.

RUN curl https://sh.rustup.rs -sSf | sh -s -- -y && \
export PATH="/root/.cargo/bin:${PATH}" && \
python3 -m pip install -r /mage/python/requirements.txt && \
python3 -m pip install -r /mage/python/tests/requirements.txt && \
python3 -m pip install dgl -f https://data.dgl.ai/wheels/repo.html && \
python3 /mage/setup build \
--gpu \
--cpp-build-flags MAGE_CUGRAPH_ROOT=/opt/conda/envs/rapids/ CMAKE_BUILD_TYPE=Release \
--cpp-build-flags MAGE_CUGRAPH_ROOT=/opt/conda/ CMAKE_BUILD_TYPE=Release \
-p /usr/lib/memgraph/query_modules/
# python3 -m pip install dgl -f https://data.dgl.ai/wheels/repo.html && \ # TODO(gitbuda): Figure out DGL

#DGL build from source
RUN git clone --recurse-submodules -b 0.9.x https://github.com/dmlc/dgl.git \
&& cd dgl && mkdir build && cd build && cmake -DUSE_CUDA=ON .. \
&& make -j4 && cd ../python && python3 setup.py install
# # TODO(gitbuda): Figure out DGL
# # Build DGL from source.
# RUN git clone --recurse-submodules -b 2.1.x https://github.com/dmlc/dgl.git \
# && cd dgl && mkdir build && cd build && cmake -DUSE_CUDA=ON .. \
# && make -j4 && cd ../python && python3 setup.py install

USER memgraph
ENTRYPOINT ["/usr/lib/memgraph/memgraph"]

FROM nvidia/cuda:${CUDA_VERSION_MINOR}-runtime-ubuntu20.04 AS prod
FROM nvidia/cuda:${CUDA_VERSION_MINOR}-runtime-ubuntu22.04 AS prod

USER root

ARG DEBIAN_FRONTEND=noninteractive
ARG MG_VERSION
ARG PY_VERSION
Expand All @@ -94,9 +93,9 @@ ENV PY_VERSION ${PY_VERSION}
# Copy modules
COPY --from=dev /usr/lib/memgraph/query_modules/ /usr/lib/memgraph/query_modules/
# Copy cugraph library
COPY --from=dev /opt/conda/envs/rapids/lib/libcugraph.so /opt/conda/envs/rapids/lib/libcugraph.so
COPY --from=dev /opt/conda/lib/libcugraph.so /opt/conda/lib/libcugraph.so
# Copy python build
COPY --from=dev /usr/local/lib/python${PY_VERSION}/ /usr/local/lib/python${PY_VERSION}/
COPY --from=dev /usr/lib/python${PY_VERSION}/ /usr/lib/python${PY_VERSION}/

# NVIDIA key rotation
RUN rm /etc/apt/sources.list.d/cuda.list
Expand All @@ -112,15 +111,15 @@ RUN apt-get update && apt-get install -y \
libgomp1 `mage-memgraph` \
python3 `mage-memgraph` \
python3-setuptools `mage-memgraph` \
&& curl https://download.memgraph.com/memgraph/v${MG_VERSION}/ubuntu-20.04/memgraph_${MG_VERSION}-1_amd64.deb --output memgraph.deb \
&& curl https://download.memgraph.com/memgraph/v${MG_VERSION}/ubuntu-22.04/memgraph_${MG_VERSION}-1_amd64.deb --output memgraph.deb \
&& dpkg -i memgraph.deb \
&& rm memgraph.deb \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

RUN export PATH="/usr/local/lib/python${PY_VERSION}:${PATH}"
RUN export PATH="/usr/lib/python${PY_VERSION}:${PATH}"

RUN rm -rf /mage \
&& export PATH="/usr/local/lib/python${PY_VERSION}:${PATH}" \
&& export PATH="/usr/lib/python${PY_VERSION}:${PATH}" \
&& apt-get -y --purge autoremove curl python3-dev \
&& apt-get clean

Expand Down
118 changes: 118 additions & 0 deletions Dockerfile.experiment_full
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
# It's important to be 3.10 on Ubuntu 22.04 because memgraph binary depends on exactly that version.
ARG PY_VERSION=3.10
ARG CUDA_VERSION=12.2
ARG CUDA_VERSION_MINOR=12.2.2
ARG RAPIDS_VERSION=24.04a
ARG MG_VERSION=2.18.1
# TODO(gitbuda): Try to build on ARM and adjust settings if needed.

## COMPILATION
FROM rapidsai/base:${RAPIDS_VERSION}-cuda${CUDA_VERSION}-py${PY_VERSION} as rapids-dev
FROM nvidia/cuda:${CUDA_VERSION_MINOR}-devel-ubuntu22.04 AS cuda-dev
USER root
ARG DEBIAN_FRONTEND=noninteractive
ARG PY_VERSION
ENV PY_VERSION ${PY_VERSION}

### SYSTEM SETUP
COPY --from=rapids-dev /opt/conda/lib/libcugraph.so /opt/conda/lib/libcugraph.so
COPY --from=rapids-dev /opt/conda/lib/libcugraph-ops++.so /opt/conda/lib/libcugraph-ops++.so
COPY --from=rapids-dev /opt/conda/lib/libraft.so /opt/conda/lib/libraft.so
COPY --from=rapids-dev /opt/conda/include /opt/conda/include
# Prevent from linking the Conda environment
ENV LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib64:/usr/local/lib
RUN apt-get update && apt-get install -y \
vim `memgraph` \
libcurl4 `memgraph` \
libpython${PY_VERSION} `memgraph` \
libssl3 `memgraph` \
libssl-dev `memgraph` \
openssl `memgraph` \
build-essential `mage-memgraph` \
cmake `mage-memgraph` \
curl `mage-memgraph` \
g++ `mage-memgraph` \
python3 `mage-memgraph` \
python3-pip `mage-memgraph` \
python3-setuptools `mage-memgraph` \
python3-dev `mage-memgraph` \
clang `mage-memgraph` \
git `mage-memgraph` \
unixodbc-dev `mage-memgraph` \
software-properties-common `mage-cugraph` \
lsb-release `mage-cugraph` \
wget `mage-cugraph` \
--no-install-recommends \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
# Install newest CMake (cuGraph requires >= 20.01)
&& wget -qO - https://apt.kitware.com/keys/kitware-archive-latest.asc | apt-key add - && \
apt-add-repository "deb https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main" && \
apt-get install -y \
cmake `mage-memgraph` \
--no-install-recommends
ENV PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/cmake:/usr/lib/cmake
# TODO(gitbuda): How to cleanup rust installation cache?
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y
ENV PATH="${PATH}:/root/.cargo/bin"
# # NOTE: miniconda will be installed under /root/miniconda3
# RUN cd /root && \
# curl -o miniconda.sh https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh && \
# bash miniconda.sh -b
WORKDIR /mage
COPY . /mage
RUN python3 -m pip install -r /mage/python/requirements.txt && \
python3 -m pip install -r /mage/python/tests/requirements.txt
# TODO(gitbuda): Experiment with pipx, the below works on debian-12 (on newer systems)
# RUN python3 -m pip install --break-system-packages -r /mage/python/requirements.txt && \
# python3 -m pip install --break-system-packages -r /mage/python/tests/requirements.txt

### BUILD
RUN python3 /mage/setup build \
--gpu \
--cpp-build-flags \
CMAKE_BUILD_TYPE=RelWithDebInfo \
MAGE_CUGRAPH_ROOT=/opt/conda/ \
-p /usr/lib/memgraph/query_modules/

## RUNTIME
# TODO(gitbuda): Add the ability to inject local RelWithDebInfo package of Memgraph
FROM nvidia/cuda:${CUDA_VERSION_MINOR}-runtime-ubuntu22.04 AS cuda-prod
USER root
ARG DEBIAN_FRONTEND=noninteractive
ARG MG_VERSION
ENV MG_VERSION ${MG_VERSION}
ARG PY_VERSION
ENV PY_VERSION ${PY_VERSION}

#### SYSTEM SETUP
COPY --from=cuda-dev /usr/lib/memgraph/query_modules/ /usr/lib/memgraph/query_modules/
COPY --from=cuda-dev /opt/conda/lib/libcugraph.so /opt/conda/lib/libcugraph.so
COPY --from=cuda-dev /opt/conda/lib/libcugraph-ops++.so /opt/conda/lib/libcugraph-ops++.so
COPY --from=cuda-dev /opt/conda/lib/libraft.so /opt/conda/lib/libraft.so
COPY --from=cuda-dev /usr/lib/python${PY_VERSION}/ /usr/lib/python${PY_VERSION}/
# TODO(gitbuda): Consider how to copy all the requirements from python -> because the above is not full, e.g. networkx is not working.
RUN rm -rf /etc/apt/sources.list.d/cuda*
RUN apt-get update && apt-get install -y \
libcurl4 `memgraph` \
libpython${PY_VERSION} `memgraph` \
libssl3 `memgraph` \
libssl-dev `memgraph` \
openssl `memgraph` \
curl `mage-memgraph` \
libgomp1 `mage-memgraph` \
python3 `mage-memgraph` \
python3-setuptools `mage-memgraph` \
&& curl https://download.memgraph.com/memgraph/v${MG_VERSION}/ubuntu-22.04/memgraph_${MG_VERSION}-1_amd64.deb --output memgraph.deb \
&& dpkg -i memgraph.deb \
&& rm memgraph.deb \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
ENV PATH="/usr/lib/python${PY_VERSION}:${PATH}"
# TODO(gitbuda): extra packages python3-setuptools, python3-pip, cmake -> make sure the dev step wasn't wrongly cached.
# TODO(gitbuda): The rm part should be under the apt install RUN part (/mage is not present here)
RUN rm -rf /mage \
&& export PATH="/usr/lib/python${PY_VERSION}:${PATH}" \
&& apt-get -y --purge autoremove curl python3-dev \
&& apt-get clean

USER memgraph
ENTRYPOINT ["/usr/lib/memgraph/memgraph"]
13 changes: 13 additions & 0 deletions Dockerfile.experiment_partial
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
ARG PY_VERSION=3.11
ARG RAPIDS_VERSION=24.06a
ARG CUDA_VERSION=12.2
ARG CUDA_VERSION_MINOR=12.2.2
ARG MG_VERSION=2.15.1

FROM rapidsai/base:${RAPIDS_VERSION}-cuda${CUDA_VERSION}-py${PY_VERSION} as rapids-dev
RUN ls -alh /opt/ && ls -alh /opt/conda/ && ls -alh /opt/conda/lib/ | grep cugraph
RUN nvcc --version
#
# FROM nvidia/cuda:${CUDA_VERSION_MINOR}-devel-ubuntu22.04 AS cuda-dev
# RUN ls -alh /opt/ && ls -alh /opt/nvidia/
# RUN nvcc --version
30 changes: 23 additions & 7 deletions cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,25 +1,40 @@
# Memgraph Mage C++ Query Modules CMake configuration.
cmake_minimum_required(VERSION 3.14)
set(MEMGRAPH_MAGE_PROJECT_NAME "memgraph-mage")

if (MAGE_CUGRAPH_ENABLE)
# TODO(gitbuda): Duplicated under cugraph.cmake -> FIX.
set(MAGE_CUGRAPH_TAG "v24.04.00" CACHE STRING "cuGraph GIT tag to checkout" )
# RAPIDS.cmake is here because rapids_cuda_init_architectures is required to
# properly set both CMAKE_CUDA_ARCHITECTURES and CUDA_ARCHITECTURES target
# property.
file(DOWNLOAD "https://raw.githubusercontent.com/rapidsai/rapids-cmake/${MAGE_CUGRAPH_TAG}a/RAPIDS.cmake"
${CMAKE_BINARY_DIR}/RAPIDS.cmake)
include(${CMAKE_BINARY_DIR}/RAPIDS.cmake)
# NOTE: RAPIDS init is required to be called before project().
include(rapids-cuda)
rapids_cuda_init_architectures("${MEMGRAPH_MAGE_PROJECT_NAME}")
# rapids_cuda_patch_toolkit()
endif()
project("${MEMGRAPH_MAGE_PROJECT_NAME}" LANGUAGES C CXX)
include(FetchContent)
if (MAGE_CUGRAPH_ENABLE)
find_package(CUDAToolkit REQUIRED)
enable_language(CUDA)
add_definitions(-DLIBCUDACXX_ENABLE_EXPERIMENTAL_MEMORY_RESOURCE)
endif()

include(FetchContent)

# setup CMake module path, defines path for include() and find_package()
# https://cmake.org/cmake/help/latest/variable/CMAKE_MODULE_PATH.html
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/cugraph_cmake)

# Export the compile commands so that we can use clang-tidy. Additional benefit
# is easier debugging of compilation and linker flags.
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

# Required C++ standard.
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)


set(CMAKE_POSITION_INDEPENDENT_CODE ON)

# Compile flags.
Expand Down Expand Up @@ -116,9 +131,10 @@ add_subdirectory(mg_utility)

FetchContent_Declare(fmt
GIT_REPOSITORY https://github.com/fmtlib/fmt.git
GIT_TAG 9.1.0
GIT_TAG 10.2.1
)
FetchContent_MakeAvailable(fmt)
add_compile_definitions(SPDLOG_FMT_EXTERNAL)

function(add_query_module target_name version src)
add_library(${target_name} SHARED ${src})
Expand Down
34 changes: 20 additions & 14 deletions cpp/cugraph_cmake/cugraph.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -27,37 +27,39 @@
# Order of the languages matters because cmake pics different compilers.
#
# Compiling cugraph takes ages and it's complex.
# TODO(gitbuda): Allow linking of an already compiled version of cugraph.
# -> Defining MAGE_CUGRAPH_ROOT will skip compilation.
#
# CUDA_ARCHITECTURES ->
# https://arnon.dk/matching-sm-architectures-arch-and-gencode-for-various-nvidia-cards/
# Rapids CMake add NATIVE + ALL options as CUDA_ARCHITECTURES which simplifies
# build configuration.
#
# CUDA + CMake -> https://developer.download.nvidia.com/video/gputechconf/gtc/2019/presentation/s9444-build-systems-exploring-modern-cmake-cuda-v2.pdf

option(MAGE_CUGRAPH_ENABLE "Enable cuGraph build" OFF)
message(STATUS "MAGE cuGraph build enabled: ${MAGE_CUGRAPH_ENABLE}")

if (MAGE_CUGRAPH_ENABLE)
# Version of cuGraph for local build
set(MAGE_CUGRAPH_TAG "v22.02.00" CACHE STRING "cuGraph GIT tag to checkout" )
# set(MAGE_CUGRAPH_TAG "v24.04.00" CACHE STRING "cuGraph GIT tag to checkout" )
set(MAGE_CUGRAPH_REPO "https://github.com/rapidsai/cugraph.git" CACHE STRING "cuGraph GIT repo URL")
# Custom MAGE_CUGRAPH_BUILD_TYPE.
set(MAGE_CUGRAPH_BUILD_TYPE "Release" CACHE STRING "Passed to cuGraph as CMAKE_BUILD_TYPE")
# NATIVE | ALL -> possible because cugraph calls rapids_cuda_init_architectures
set(MAGE_CUDA_ARCHITECTURES "NATIVE" CACHE STRING "Passed to cuGraph as CMAKE_CUDA_ARCHITECTURES")

# RAPIDS.cmake is here because rapids_cuda_init_architectures is required to
# properly set both CMAKE_CUDA_ARCHITECTURES and CUDA_ARCHITECTURES target
# property.
file(DOWNLOAD "https://raw.githubusercontent.com/rapidsai/rapids-cmake/${MAGE_CUGRAPH_TAG}a/RAPIDS.cmake"
${CMAKE_BINARY_DIR}/RAPIDS.cmake)
include(${CMAKE_BINARY_DIR}/RAPIDS.cmake)

include(rapids-cuda)
rapids_cuda_init_architectures("${MEMGRAPH_MAGE_PROJECT_NAME}")
enable_language(CUDA)
# # RAPIDS.cmake is here because rapids_cuda_init_architectures is required to
# # properly set both CMAKE_CUDA_ARCHITECTURES and CUDA_ARCHITECTURES target
# # property.
# file(DOWNLOAD "https://raw.githubusercontent.com/rapidsai/rapids-cmake/${MAGE_CUGRAPH_TAG}a/RAPIDS.cmake"
# ${CMAKE_BINARY_DIR}/RAPIDS.cmake)
# include(${CMAKE_BINARY_DIR}/RAPIDS.cmake)
#
# include(rapids-cuda)
# rapids_cuda_init_architectures("${MEMGRAPH_MAGE_PROJECT_NAME}")
# enable_language(CUDA)

set(CMAKE_CUDA_STANDARD 17)
set(CMAKE_CUDA_STANDARD 20)
set(CMAKE_CUDA_STANDARD_REQUIRED ON)

message(STATUS "MAGE cuGraph root: ${MAGE_CUGRAPH_ROOT}")
Expand Down Expand Up @@ -104,10 +106,14 @@ macro(target_mage_cugraph target_name)
message(STATUS "Building with CUDA debugging flags")
list(APPEND MAGE_CUDA_FLAGS -g -G -Xcompiler=-rdynamic)
endif()
# NOTE: Ignore some of the warnings produced by nvcc:
# * 186 warning related to pointless comparison of unsigned integer with zero
# * 20200 remark about deprecation of gem.hpp under Nvidia RAFT library
list(APPEND MAGE_CUDA_FLAGS --diag-suppress 186,20200)
target_compile_options("${target_name}"
PRIVATE "$<$<COMPILE_LANGUAGE:CXX>:${MAGE_CXX_FLAGS}>"
"$<$<COMPILE_LANGUAGE:CUDA>:${MAGE_CUDA_FLAGS}>"
)
target_link_libraries("${target_name}" PRIVATE mage_cugraph)
target_link_libraries("${target_name}" PRIVATE mage_cugraph CUDA::toolkit)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The CUDA::toolkit here probably should be deleted here because it's already included.

endif()
endmacro()
Loading