Files
rocm-systems/pkg/redhat/nccl.spec.in
T

85 righe
2.6 KiB
Plaintext

2018-09-24 16:06:59 -07:00
Name: libnccl
2018-12-13 15:56:12 -08:00
Version: ${nccl:Major}.${nccl:Minor}.${nccl:Patch}${nccl:Suffix}
Release: ${pkg:Revision}+cuda${cuda:Major}.${cuda:Minor}
2020-09-04 14:35:05 -07:00
Summary: NVIDIA Collective Communication Library (NCCL) Runtime
2018-09-24 16:06:59 -07:00
Group: Development/Libraries
License: BSD
URL: http://developer.nvidia.com/nccl
Source0: nccl_${nccl:Major}.${nccl:Minor}.${nccl:Patch}${nccl:Suffix}-${pkg:Revision}+cuda${cuda:Major}.${cuda:Minor}_${pkg:Arch}.txz
2021-07-08 14:12:04 -07:00
Requires(pre,preun): /sbin/ldconfig
2018-09-24 16:06:59 -07:00
%description
NCCL (pronounced "Nickel") is a stand-alone library of standard collective
communication routines for GPUs, implementing all-reduce, all-gather, reduce,
broadcast, and reduce-scatter.
It has been optimized to achieve high bandwidth on any platform using PCIe,
NVLink, NVswitch, as well as networking using InfiniBand Verbs or TCP/IP
sockets.
%package devel
2020-09-04 14:35:05 -07:00
Summary: NVIDIA Collective Communication Library (NCCL) Runtime
2018-09-24 16:06:59 -07:00
Group: Development/Libraries
2025-01-17 02:03:22 -08:00
Requires: libnccl >= ${nccl:Major}.${nccl:Minor}.${nccl:Patch}
2018-09-24 16:06:59 -07:00
%description devel
NCCL development files
%package static
2020-09-04 14:35:05 -07:00
Summary: NVIDIA Collective Communication Library (NCCL) Runtime
2018-09-24 16:06:59 -07:00
Group: Development/Libraries
%description static
NCCL static library
%define debug_package %{nil}
%prep
%setup -n nccl_${nccl:Major}.${nccl:Minor}.${nccl:Patch}${nccl:Suffix}-${pkg:Revision}+cuda${cuda:Major}.${cuda:Minor}_${pkg:Arch} -q
%build
%install
rm -rf $RPM_BUILD_ROOT
install -m 755 -d $RPM_BUILD_ROOT
install -m 755 -d $RPM_BUILD_ROOT/%{_libdir}
install -m 755 lib/libnccl.so.${nccl:Major}.${nccl:Minor}.${nccl:Patch} $RPM_BUILD_ROOT/%{_libdir}
ln -s libnccl.so.${nccl:Major}.${nccl:Minor}.${nccl:Patch} $RPM_BUILD_ROOT/%{_libdir}/libnccl.so.${nccl:Major}
# devel
2025-01-17 02:03:22 -08:00
install -m 755 -d $RPM_BUILD_ROOT/%{_bindir}
2018-09-24 16:06:59 -07:00
install -m 755 -d $RPM_BUILD_ROOT/%{_includedir}
2025-09-02 13:21:14 -07:00
cp -a include/* $RPM_BUILD_ROOT/%{_includedir}/
2025-01-17 02:03:22 -08:00
install -m 755 bin/ncclras $RPM_BUILD_ROOT/%{_bindir}
2018-09-24 16:06:59 -07:00
ln -s libnccl.so.${nccl:Major} $RPM_BUILD_ROOT/%{_libdir}/libnccl.so
# static
install -m 644 lib/libnccl_static.a $RPM_BUILD_ROOT/%{_libdir}
2019-07-31 12:21:35 +08:00
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post devel -p /sbin/ldconfig
%postun devel -p /sbin/ldconfig
2018-09-24 16:06:59 -07:00
%clean
rm -rf $RPM_BUILD_ROOT
%files devel
%doc LICENSE.txt
%defattr(-,root,root,-)
2025-01-17 02:03:22 -08:00
%{_bindir}/ncclras
2025-09-02 13:21:14 -07:00
%{_includedir}/*
2018-09-24 16:06:59 -07:00
%{_libdir}/libnccl.so
%files static
%doc LICENSE.txt
%defattr(-,root,root,-)
%{_libdir}/libnccl_static.a
%files
%doc LICENSE.txt
%defattr(-,root,root,-)
%{_libdir}/libnccl.so.${nccl:Major}
%{_libdir}/libnccl.so.${nccl:Major}.${nccl:Minor}.${nccl:Patch}
%changelog