Skip to content

Commit

Permalink
Merge pull request #7809 from fwyzard/IB/CMSSW_12_4_X/master_UCX_updates
Browse files Browse the repository at this point in the history
Update UCX to version 1.12.1
  • Loading branch information
smuzaffar authored Apr 28, 2022
2 parents 4d5199b + 431af70 commit 15be736
Show file tree
Hide file tree
Showing 3 changed files with 65 additions and 10 deletions.
8 changes: 8 additions & 0 deletions scram-tools.file/tools/xpmem/xpmem.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<tool name="xpmem" version="@TOOL_VERSION@">
<lib name="xpmem"/>
<client>
<environment name="XPMEM_BASE" default="@TOOL_ROOT@"/>
<environment name="INCLUDE" default="$XPMEM_BASE/include"/>
<environment name="LIBDIR" default="$XPMEM_BASE/lib"/>
</client>
</tool>
32 changes: 22 additions & 10 deletions ucx.spec
Original file line number Diff line number Diff line change
@@ -1,19 +1,26 @@
### RPM external ucx 1.12.0
Source: https://github.com/openucx/%{n}/releases/download/v%{realversion}/%{n}-%{realversion}.tar.gz
### RPM external ucx 1.12.1
Source: https://github.com/openucx/%{n}/archive/refs/tags/v%{realversion}.tar.gz
BuildRequires: autotools
Requires: cuda gdrcopy
Requires: numactl
Requires: gdrcopy cuda
Requires: rdma-core
%ifarch x86_64
Requires: rocm
%endif
Requires: xpmem
AutoReq: no
# external libraries are needed for additional protocols:
# --with-rocm: AMD ROCm platform for accelerated compute
# --with-cm: Userspace InfiniBand Communication Managment library: deprecated and removed from RDMA core v17 on December 2017
# --with-knem: KNEM High-Performance Intra-Node MPI Communication
# etc.

%prep
%setup -q -n %{n}-%{realversion}

# remove the ROCm GDR module, because it is not compatible with GDRCopy v2.x
sed -e'/SUBDIRS/s/ *\<gdr\>//' -i src/uct/rocm/Makefile.am
sed -e'/src\/uct\/rocm\/gdr\/configure\.m4/d' -i src/uct/rocm/configure.m4
rm -rf src/uct/rocm/gdr

# regenerate the configure files and Makefiles
./autogen.sh

./configure \
--prefix=%i \
--disable-dependency-tracking \
Expand All @@ -32,9 +39,14 @@ AutoReq: no
--with-avx \
--with-sse41 \
--with-sse42 \
--without-go \
--without-java \
--with-cuda=$CUDA_ROOT \
%ifarch x86_64
--with-rocm=$ROCM_ROOT \
%else
--without-rocm \
%endif
--with-gdrcopy=$GDRCOPY_ROOT \
--with-verbs=$RDMA_CORE_ROOT \
--with-rc \
Expand All @@ -43,10 +55,10 @@ AutoReq: no
--with-mlx5-dv \
--with-ib-hw-tm \
--with-dm \
--without-cm \
--with-rdmacm=$RDMA_CORE_ROOT \
--without-knem \
--with-xpmem \
--with-xpmem=$XPMEM_ROOT \
--without-ugni \
CFLAGS="-Wno-error=array-bounds" \
CPPFLAGS="-I$NUMACTL_ROOT/include" \
LDFLAGS="-L$NUMACTL_ROOT/lib"
Expand Down
35 changes: 35 additions & 0 deletions xpmem.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
### RPM external xpmem v2.6.3-20220308
%define commit 61c39efdea943ac863037d7e35b236145904e64d

BuildRequires: autotools
Source: https://github.com/hjelmn/%{n}/archive/%{commit}.tar.gz

%prep
%setup -n %{n}-%{commit}

./autogen.sh
./configure \
--prefix=%{i} \
--enable-shared \
--disable-static \
--disable-dependency-tracking \
--disable-kernel-module \
--with-pic \
--with-gnu-ld

%build
make %{makeprocesses}

%install
make install

# remove kernel module rules
rm -rf %{i}/etc

# remove the libtool library files
rm -f %{i}/lib/lib*.la

# remove pkg-config to avoid rpm-generated dependency on /usr/bin/pkg-config
rm -rf %{i}/lib/pkgconfig

%post

0 comments on commit 15be736

Please sign in to comment.