Skip to content
Merged
Show file tree
Hide file tree
Changes from 10 commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
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
1 change: 1 addition & 0 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ EXTRA_DIST += debian/copyright
EXTRA_DIST += debian/control
EXTRA_DIST += debian/ucx.install
EXTRA_DIST += debian/ucx-cuda.install
EXTRA_DIST += debian/ucx-ib-mlx5-gda.install
EXTRA_DIST += debian/rules
EXTRA_DIST += debian/source/format
EXTRA_DIST += ucx.pc.in
Expand Down
8 changes: 6 additions & 2 deletions bindings/java/src/test/java/org/openucx/jucx/UcxTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,15 @@ public UcpMemory getMemory() {

public void setData(String data) throws Exception {
if (memory.getMemType() == UcsConstants.MEMORY_TYPE.UCS_MEMORY_TYPE_CUDA) {
ByteBuffer srcBuffer = ByteBuffer.allocateDirect(data.length() * 2);
ByteBuffer srcBuffer = ByteBuffer.allocateDirect((int)memory.getLength());
Comment thread
tvegas1 marked this conversation as resolved.
Resolved
while (srcBuffer.hasRemaining()) {
srcBuffer.put((byte) 0);
}
srcBuffer.clear();
srcBuffer.asCharBuffer().put(data);
UcpRequest send = selfEp.sendTaggedNonBlocking(srcBuffer, 0, null);
worker.progressRequest(worker.recvTaggedNonBlocking(memory.getAddress(),
data.length() * 2L, 0, 0, null));
memory.getLength(), 0, 0, null));
worker.progressRequest(send);
} else {
buffer.asCharBuffer().put(data);
Expand Down
52 changes: 41 additions & 11 deletions config/m4/cuda.m4
Original file line number Diff line number Diff line change
Expand Up @@ -45,16 +45,30 @@ AC_DEFUN([AC_LANG_COMPILER(CUDA)], [
AC_SUBST([NVCC], [$NVCC])
])

AC_DEFUN([UCX_CHECK_CUDA_GE], [{ [test "$CUDA_MAJOR_VERSION" -gt "$1"] ||
Comment thread
yosefe marked this conversation as resolved.
Resolved
[test "$CUDA_MAJOR_VERSION" -eq "$1" &&
test "$CUDA_MINOR_VERSION" -ge "$2"];}])

AC_DEFUN([UCX_CHECK_CUDA_LT], [{ [test "$CUDA_MAJOR_VERSION" -lt "$1"] ||
[test "$CUDA_MAJOR_VERSION" -eq "$1" &&
test "$CUDA_MINOR_VERSION" -lt "$2"];}])

# Check for nvcc compiler support
AC_DEFUN([UCX_CUDA_CHECK_NVCC], [
AS_IF([test "x$NVCC" != "x"], [
CUDA_MAJOR_VERSION=`$NVCC --version | grep release | sed 's/.*release //' | sed 's/\,.*//' | cut -d "." -f 1`
CUDA_MINOR_VERSION=`$NVCC --version | grep release | sed 's/.*release //' | sed 's/\,.*//' | cut -d "." -f 2`
CUDA_MAJOR_VERSION=$($NVCC --version | grep release | sed 's/.*release //' | sed 's/\,.*//' | cut -d "." -f 1)
CUDA_MINOR_VERSION=$($NVCC --version | grep release | sed 's/.*release //' | sed 's/\,.*//' | cut -d "." -f 2)
AC_MSG_RESULT([Detected CUDA version: $CUDA_MAJOR_VERSION.$CUDA_MINOR_VERSION])
AS_IF([test $CUDA_MAJOR_VERSION -lt $NVCC_CUDA_MIN_REQUIRED_MAJOR -o \( $CUDA_MAJOR_VERSION -eq $NVCC_CUDA_MIN_REQUIRED_MAJOR -a $CUDA_MINOR_VERSION -lt $NVCC_CUDA_MIN_REQUIRED_MINOR \)],
[AC_MSG_WARN([Minimum required CUDA version for device code: $NVCC_CUDA_MIN_REQUIRED_MAJOR.$NVCC_CUDA_MIN_REQUIRED_MINOR])
NVCC=""
])
AS_IF([UCX_CHECK_CUDA_LT([$NVCC_CUDA_MIN_REQUIRED_MAJOR],
[$NVCC_CUDA_MIN_REQUIRED_MINOR])],
[AC_MSG_WARN([Minimum required CUDA version for device code: $NVCC_CUDA_MIN_REQUIRED_MAJOR.$NVCC_CUDA_MIN_REQUIRED_MINOR])
NVCC=""])

AS_IF([UCX_CHECK_CUDA_GE([13], [0])],
[NVCC_CXX_DIALECT=c++17
cxx_dialect_ver=201703L],
[NVCC_CXX_DIALECT=c++11
cxx_dialect_ver=201103L])

AS_IF([test "x$NVCC" != "x"], [
AC_ARG_WITH([nvcc-gencode],
Expand All @@ -77,25 +91,26 @@ AC_DEFUN([UCX_CUDA_CHECK_NVCC], [
[NVCC_ARCH="${ARCH9_CODE} ${ARCH10_CODE} ${ARCH110_CODE} ${ARCH111_CODE} ${ARCH120_CODE} ${ARCH124_CODE} ${ARCH128_CODE} ${ARCH128_PTX}"])],

[11],
[AS_CASE([$CUDA_MINOR_VERSION],
[AS_CASE([$CUDA_MINOR_VERSION],
[0],
[NVCC_ARCH="${ARCH9_CODE} ${ARCH10_CODE} ${ARCH110_CODE} ${ARCH110_PTX}"],
[*],
[NVCC_ARCH="${ARCH9_CODE} ${ARCH10_CODE} ${ARCH110_CODE} ${ARCH111_CODE} ${ARCH111_PTX}"])],
[*],
[NVCC_ARCH="${ARCH9_CODE} ${ARCH9_PTX}"])],
[NVCC_ARCH="$with_nvcc_gencode"])

BASE_NVCCFLAGS="$BASE_NVCCFLAGS $NVCC_ARCH"
AC_MSG_CHECKING([$NVCC needs explicit c++11 option])
AC_MSG_CHECKING([$NVCC needs explicit $NVCC_CXX_DIALECT option])
AC_LANG_PUSH([CUDA])
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
#if __cplusplus < 201103L
#error missing C++11
#if __cplusplus < $cxx_dialect_ver
#error missing $NVCC_CXX_DIALECT
#endif
]])],
[AC_MSG_RESULT([no])],
[AC_MSG_RESULT([yes])
BASE_NVCCFLAGS="$BASE_NVCCFLAGS -std=c++11"])
BASE_NVCCFLAGS="$BASE_NVCCFLAGS -std=$NVCC_CXX_DIALECT"])
AC_LANG_POP

AC_MSG_CHECKING([$NVCC can compile])
Expand All @@ -109,6 +124,21 @@ AC_DEFUN([UCX_CUDA_CHECK_NVCC], [
[AC_MSG_RESULT([no])
NVCC=""])
AC_LANG_POP

save_NVCCFLAGS="$NVCCFLAGS"
NVCCFLAGS="$NVCCFLAGS -DCCCL_IGNORE_DEPRECATED_CPP_DIALECT"
AC_MSG_CHECKING([checking cuda/atomic support])
AC_LANG_PUSH([CUDA])
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
#include <cuda/atomic>
int v;
cuda::atomic_ref<int> ref{v};
]])],
[AC_MSG_RESULT([yes])
have_cuda_atomic_support=yes],
[AC_MSG_RESULT([no])])
AC_LANG_POP
NVCCFLAGS="$save_NVCCFLAGS"
])
])

Expand Down
2 changes: 1 addition & 1 deletion debian/rules.in
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

CUDA_OPT = $(shell echo ${DEB_BUILD_PROFILES} | grep -qw cuda \
CUDA_OPT = $(shell echo ${DEB_BUILD_PROFILES} | grep -qw cuda\\\|gda \
Comment thread
yosefe marked this conversation as resolved.
Resolved
&& echo --with-cuda=/usr/local/cuda || echo --without-cuda)

XPMEM_OPT = $(shell echo ${DEB_BUILD_PROFILES} | grep -qw xpmem \
Expand Down
3 changes: 2 additions & 1 deletion debian/ucx-ib-mlx5-gda.install
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
+usr/lib/ucx/libuct_ib_mlx5_gda.*
Comment thread
yosefe marked this conversation as resolved.
Resolved
usr/lib/ucx/libuct_ib_mlx5_gda.*
usr/include/uct/ib/mlx5/gdaki/*
2 changes: 1 addition & 1 deletion src/tools/perf/cuda/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ libucx_perftest_cuda_la_SOURCES = cuda_alloc.c
if HAVE_NVCC
if HAVE_GPUNETIO # temporarily all device code depends on doca

NVCC_EXTRA_FLAGS = $(CUDA_CPPFLAGS) $(GPUNETIO_CFLAGS)
NVCC_EXTRA_FLAGS = $(CUDA_CPPFLAGS)

libucx_perftest_cuda_la_LIBADD += \
$(abs_top_builddir)/src/tools/perf/lib/libucxperf.la \
Expand Down
8 changes: 8 additions & 0 deletions src/ucs/sys/device_code.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,14 @@
#define UCS_DEVICE_NUM_THREADS_IN_WARP 32


/* nvcc does not provide __builtin_ia32_prefetch used by GCC's x86 intrinsic headers.
Redirect to the generic __builtin_prefetch so those headers compile. */
#if defined(__NVCC__) && !defined(__builtin_ia32_prefetch)
#define __builtin_ia32_prefetch(P, RW, LOC, CACHE) \
Comment thread
yosefe marked this conversation as resolved.
Resolved
__builtin_prefetch((P), (RW), (LOC))
#endif


/**
* @brief Cooperation level when calling device functions.
*/
Expand Down
3 changes: 3 additions & 0 deletions src/uct/ib/configure.m4
Original file line number Diff line number Diff line change
Expand Up @@ -257,6 +257,9 @@ AS_IF([test "x$with_ib" = "xyes"],
AC_CHECK_MEMBERS([struct mlx5_cqe64.ib_stride_index],
[], [], [[#include <infiniband/$mlx5_include>]])

AC_CHECK_DECLS([mlx5dv_devx_umem_reg_ex],
[have_mlx5dv_devx_umem=yes], [], [[#include <infiniband/$mlx5_include>]])

AC_DEFINE([HAVE_IB], 1, [IB support])

AS_IF([test "x$with_dc" != xno -a "x$have_dc_dv" = xyes -a "x$have_mlx5" = "xyes"], [
Expand Down
14 changes: 12 additions & 2 deletions src/uct/ib/mlx5/gdaki/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ if HAVE_GPUNETIO
module_LTLIBRARIES = libuct_ib_mlx5_gda.la
libuct_ib_mlx5_gda_la_CPPFLAGS = $(BASE_CPPFLAGS) $(IBVERBS_CPPFLAGS) \
$(CUDA_CPPFLAGS)
libuct_ib_mlx5_gda_la_CFLAGS = $(BASE_CFLAGS) $(LT_CFLAGS) $(CUDA_CFLAGS) \
$(GPUNETIO_CFLAGS)
libuct_ib_mlx5_gda_la_CFLAGS = $(BASE_CFLAGS) $(LT_CFLAGS) $(CUDA_CFLAGS)
libuct_ib_mlx5_gda_la_LDFLAGS = $(IBVERBS_LDFLAGS) $(CUDA_LDFLAGS) \
-version-info $(SOVERSION)
libuct_ib_mlx5_gda_la_LIBADD = $(top_builddir)/src/ucs/libucs.la \
Expand All @@ -27,6 +26,17 @@ nobase_dist_libuct_ib_mlx5_gda_la_HEADERS = \
gdaki.cuh \
gdaki_dev.h

gpunetio_commondir = $(includedir)/uct/ib/mlx5/gdaki/common
Comment thread
yosefe marked this conversation as resolved.
Resolved
dist_gpunetio_common_HEADERS = \
gpunetio/include/common/doca_gpunetio_verbs_def.h \
gpunetio/include/common/doca_gpunetio_verbs_dev.h
Comment thread
yosefe marked this conversation as resolved.
Resolved

gpunetio_devicedir = $(includedir)/uct/ib/mlx5/gdaki/device
dist_gpunetio_device_HEADERS = \
gpunetio/include/device/doca_gpunetio_dev_verbs_common.cuh \
gpunetio/include/device/doca_gpunetio_dev_verbs_qp.cuh \
gpunetio/include/device/doca_gpunetio_dev_verbs_cq.cuh

noinst_HEADERS = \
gdaki.h

Expand Down
1 change: 1 addition & 0 deletions src/uct/ib/mlx5/gdaki/common
46 changes: 12 additions & 34 deletions src/uct/ib/mlx5/gdaki/configure.m4
Original file line number Diff line number Diff line change
Expand Up @@ -3,57 +3,35 @@
# See file LICENSE for terms.
#

AC_ARG_WITH([doca-gpunetio],
[AS_HELP_STRING([--with-doca-gpunetio=(DIR)],
[Use DOCA gpunetio (Default is guess)])],
[with_doca_gpunetio=$withval],
[with_doca_gpunetio=guess])

UCX_CHECK_CUDA

AS_IF([test "x$cuda_happy" = "xyes"],
AS_IF([test "x$cuda_happy" = "xyes"] && [test "x$have_mlx5" = "xyes"] &&
Comment thread
yosefe marked this conversation as resolved.
Resolved
[UCX_CHECK_CUDA_GE([12], [2])] &&
[test "x$have_mlx5dv_devx_umem" = "xyes"] &&
Comment thread
yosefe marked this conversation as resolved.
Resolved
[test "x$have_cuda_atomic_support" = "xyes"],
[
# Default value
GPUNETIO_CFLAGS=""
AS_IF([test "x$with_doca_gpunetio" != "xno"],
AS_IF([test "x$NVCC_CXX_DIALECT" != "xc++17"],
[
AS_IF([test "x$with_doca_gpunetio" = "xguess"],
[
AS_IF([$PKG_CONFIG --exists doca-gpunetio],
[GPUNETIO_CFLAGS=$(pkg-config --cflags doca-gpunetio)])
],
[
GPUNETIO_CFLAGS="-I${with_doca_gpunetio}/include"
]) # "x$with_doca_gpunetio" != "xguess"
]) # "x$with_doca_gpunetio" != "xno"

AS_IF([test "x$CUDA_MAJOR_VERSION" = "x12" -a "x$CUDA_MINOR_VERSION" = "x9"],
NVCCFLAGS="$NVCCFLAGS -DCCCL_IGNORE_DEPRECATED_CPP_DIALECT"
])

AS_IF([UCX_CHECK_CUDA_GE([12], [9])],
[
GPUNETIO_CFLAGS="$GPUNETIO_CFLAGS -D_LIBCUDACXX_ATOMIC_UNSAFE_AUTOMATIC_STORAGE"
NVCCFLAGS="$NVCCFLAGS -D_LIBCUDACXX_ATOMIC_UNSAFE_AUTOMATIC_STORAGE"
])

save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $CUDA_CFLAGS $GPUNETIO_CFLAGS"
# TODO check submodule version

gpunetio_happy=yes
AC_CHECK_HEADERS([doca_gpunetio.h], [], [gpunetio_happy=no])

CPPFLAGS="$save_CPPFLAGS"
LDFLAGS="$save_LDFLAGS"
],
[gpunetio_happy=no])

AS_IF([test "x$gpunetio_happy" = "xyes"],
[
uct_ib_mlx5_modules="${uct_ib_mlx5_modules}:gda"
AC_SUBST(GPUNETIO_CFLAGS)
],
[
# gpunetio was requested but not found
AS_IF([test "x$with_doca_gpunetio" != "xno" -a "x$with_doca_gpunetio" != "xguess"],
Comment thread
tvegas1 marked this conversation as resolved.
Resolved
[AC_MSG_ERROR([doca_gpunetio not found (cuda found: $cuda_happy)])])
])

AM_CONDITIONAL([HAVE_GPUNETIO], [test x$gpunetio_happy = xyes])
AC_CONFIG_FILES([src/uct/ib/mlx5/gdaki/Makefile
src/uct/ib/mlx5/gdaki/ucx-ib-mlx5-gda.pc])

Comment thread
tvegas1 marked this conversation as resolved.
Resolved
1 change: 1 addition & 0 deletions src/uct/ib/mlx5/gdaki/device
25 changes: 16 additions & 9 deletions src/uct/ib/mlx5/gdaki/gdaki.cuh
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,20 @@

#include "gdaki_dev.h"

#include <doca_gpunetio_dev_verbs_qp.cuh>
#include <infiniband/mlx5dv.h> /* TODO add to gpunetio */
Comment thread
tvegas1 marked this conversation as resolved.
Resolved
#include <cuda.h> /* TODO add to gpunetio */
#include <uct/ib/mlx5/gdaki/device/doca_gpunetio_dev_verbs_qp.cuh>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

can we include "device/doca_gpunetio_dev_verbs_qp.cuh" ?

#include <cooperative_groups.h>

#define UCT_RC_GDA_RESV_WQE_NO_RESOURCE -1ULL
#define UCT_RC_GDA_WQE_ERR UCS_BIT(63)
#define UCT_RC_GDA_WQE_MASK UCS_MASK(63)

UCS_F_DEVICE uint32_t uct_rc_mlx5_gda_wqe_idx_inc_mask(uint32_t wqe_idx,
Comment thread
yosefe marked this conversation as resolved.
Resolved
uint32_t increment)
{
return (wqe_idx + increment) & DOCA_GPUNETIO_VERBS_WQE_PI_MASK;
}

UCS_F_DEVICE uct_rc_gdaki_dev_qp_t *
uct_rc_mlx5_gda_get_qp(uct_rc_gdaki_dev_ep_t *ep, unsigned cid)
Expand All @@ -30,7 +37,7 @@ UCS_F_DEVICE void *uct_rc_mlx5_gda_get_wqe_ptr(uct_rc_gdaki_dev_ep_t *ep,
const uintptr_t wqe_addr = __ldg((uintptr_t*)&ep->sq_wqe_daddr);
const uint32_t idx = wqe_idx & (wqe_num - 1);
const uint32_t full_idx = idx + cid * wqe_num;
return (void*)(wqe_addr + (full_idx << DOCA_GPUNETIO_MLX5_WQE_SQ_SHIFT));
return (void*)(wqe_addr + (full_idx << DOCA_GPUNETIO_IB_MLX5_WQE_SQ_SHIFT));
}

UCS_F_DEVICE void uct_rc_mlx5_gda_ring_db(uct_rc_gdaki_dev_ep_t *ep,
Expand Down Expand Up @@ -320,7 +327,7 @@ UCS_F_DEVICE ucs_status_t uct_rc_mlx5_gda_ep_single(
if (lane_id == 0) {
uint16_t wqe_idx = (uint16_t)wqe_base;
if ((comp != nullptr) || uct_rc_mlx5_gda_fc(ep, wqe_idx)) {
cflag = DOCA_GPUNETIO_MLX5_WQE_CTRL_CQ_UPDATE;
cflag = DOCA_GPUNETIO_IB_MLX5_WQE_CTRL_CQ_UPDATE;
if (comp != nullptr) {
comp->wqe_idx = wqe_base;
comp->channel_id = cid;
Expand Down Expand Up @@ -446,7 +453,7 @@ UCS_F_DEVICE ucs_status_t uct_rc_mlx5_gda_ep_put_multi(
return UCS_ERR_NO_RESOURCE;
}

wqe_idx = doca_gpu_dev_verbs_wqe_idx_inc_mask(wqe_base, lane_id);
wqe_idx = uct_rc_mlx5_gda_wqe_idx_inc_mask(wqe_base, lane_id);
for (uint32_t i = lane_id; i < count; i += num_lanes) {
if (i == counter_index) {
atomic = true;
Expand All @@ -468,7 +475,7 @@ UCS_F_DEVICE ucs_status_t uct_rc_mlx5_gda_ep_put_multi(
cflag = 0;
if (((comp != nullptr) && (i == count - 1)) ||
((comp == nullptr) && uct_rc_mlx5_gda_fc(ep, wqe_idx))) {
cflag = DOCA_GPUNETIO_MLX5_WQE_CTRL_CQ_UPDATE;
cflag = DOCA_GPUNETIO_IB_MLX5_WQE_CTRL_CQ_UPDATE;
if (comp != nullptr) {
comp->wqe_idx = wqe_base;
comp->channel_id = cid;
Expand All @@ -482,7 +489,7 @@ UCS_F_DEVICE ucs_status_t uct_rc_mlx5_gda_ep_put_multi(
ep, wqe_ptr, wqe_idx, opcode, cflag, remote_address, rkey,
reinterpret_cast<uint64_t>(address), lkey, length, atomic,
counter_inc_value, cid);
wqe_idx = doca_gpu_dev_verbs_wqe_idx_inc_mask(wqe_idx, num_lanes);
wqe_idx = uct_rc_mlx5_gda_wqe_idx_inc_mask(wqe_idx, num_lanes);
}

uct_rc_mlx5_gda_sync<level>();
Expand Down Expand Up @@ -540,7 +547,7 @@ UCS_F_DEVICE ucs_status_t uct_rc_mlx5_gda_ep_put_multi_partial(
return UCS_ERR_NO_RESOURCE;
}

wqe_idx = doca_gpu_dev_verbs_wqe_idx_inc_mask(wqe_base, lane_id);
wqe_idx = uct_rc_mlx5_gda_wqe_idx_inc_mask(wqe_base, lane_id);
for (uint32_t i = lane_id; i < count; i += num_lanes) {
if (i == mem_list_count) {
idx = counter_index;
Expand All @@ -564,7 +571,7 @@ UCS_F_DEVICE ucs_status_t uct_rc_mlx5_gda_ep_put_multi_partial(
cflag = 0;
if (((comp != nullptr) && (i == count - 1)) ||
((comp == nullptr) && uct_rc_mlx5_gda_fc(ep, wqe_idx))) {
cflag = DOCA_GPUNETIO_MLX5_WQE_CTRL_CQ_UPDATE;
cflag = DOCA_GPUNETIO_IB_MLX5_WQE_CTRL_CQ_UPDATE;
if (comp != nullptr) {
comp->wqe_idx = wqe_base;
comp->channel_id = cid;
Expand All @@ -578,7 +585,7 @@ UCS_F_DEVICE ucs_status_t uct_rc_mlx5_gda_ep_put_multi_partial(
ep, wqe_ptr, wqe_idx, opcode, cflag, remote_address, rkey,
reinterpret_cast<uint64_t>(address), lkey, length, atomic,
counter_inc_value, cid);
wqe_idx = doca_gpu_dev_verbs_wqe_idx_inc_mask(wqe_idx, num_lanes);
wqe_idx = uct_rc_mlx5_gda_wqe_idx_inc_mask(wqe_idx, num_lanes);
}

uct_rc_mlx5_gda_sync<level>();
Expand Down
6 changes: 3 additions & 3 deletions src/uct/ib/mlx5/gdaki/ucx-ib-mlx5-gda.pc.in
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ libdir = @libdir@/ucx
Name: @PACKAGE@-ib-mlx5-gda
Description: Unified Communication X Library GPU Direct Async module
Version: @VERSION@
Cflags: @GPUNETIO_CFLAGS@
Cflags:
Libs:
Libs.private: -L${libdir} -luct_ib_mlx5_gda -Wl,--undefined=uct_rc_gda_init @IBVERBS_LDFLAGS@ @CUDA_LDFLAGS@ @GPUNETIO_LDFLAGS@
Requires.private: doca-gpunetio
Libs.private: -L${libdir} -luct_ib_mlx5_gda -Wl,--undefined=uct_rc_gda_init @IBVERBS_LDFLAGS@ @CUDA_LDFLAGS@
Requires.private: @PACKAGE@-mlx5 @PACKAGE@-cuda

1 change: 0 additions & 1 deletion test/gtest/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,6 @@ if HAVE_NVCC
if HAVE_GPUNETIO # temporarily all device code depends on doca
NVCC_EXTRA_FLAGS = \
$(CUDA_CPPFLAGS) \
$(GPUNETIO_CFLAGS) \
-I$(top_srcdir)/test \
-I$(top_srcdir)/test/gtest
include $(top_srcdir)/config/cuda.am
Expand Down
4 changes: 0 additions & 4 deletions ucx.spec.in
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,6 @@ BuildRequires: valgrind-devel
%if %{with mad}
Comment thread
tvegas1 marked this conversation as resolved.
Resolved
BuildRequires: libibmad-devel libibumad-devel
%endif
%if %{with gda}
BuildRequires: doca-sdk-gpunetio-devel
%endif

%description
UCX is an optimized communication framework for high-performance distributed
Expand Down Expand Up @@ -438,7 +435,6 @@ Provides oneAPI Level Zero (ZE) Runtime support for UCX.
%package ib-mlx5-gda
Requires: %{name}-cuda%{?_isa} = %{version}-%{release}
Requires: %{name}-ib%{?_isa} = %{version}-%{release}
Requires: doca-sdk-gpunetio-devel
Summary: UCX GPU Direct Async support
Group: System Environment/Libraries

Expand Down
Loading