85 lines
2.6 KiB
RPMSpec
85 lines
2.6 KiB
RPMSpec
Name: libnccl
|
|
Version: ${nccl:Major}.${nccl:Minor}.${nccl:Patch}${nccl:Suffix}
|
|
Release: ${pkg:Revision}+cuda${cuda:Major}.${cuda:Minor}
|
|
Summary: NVIDIA Collective Communication Library (NCCL) Runtime
|
|
|
|
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
|
|
Requires(pre,preun): /sbin/ldconfig
|
|
|
|
%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
|
|
Summary: NVIDIA Collective Communication Library (NCCL) Runtime
|
|
Group: Development/Libraries
|
|
Requires: libnccl >= ${nccl:Major}.${nccl:Minor}.${nccl:Patch}
|
|
%description devel
|
|
NCCL development files
|
|
|
|
%package static
|
|
Summary: NVIDIA Collective Communication Library (NCCL) Runtime
|
|
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
|
|
install -m 755 -d $RPM_BUILD_ROOT/%{_bindir}
|
|
install -m 755 -d $RPM_BUILD_ROOT/%{_includedir}
|
|
install -m 755 bin/ncclras $RPM_BUILD_ROOT/%{_bindir}
|
|
install -m 644 include/nccl.h $RPM_BUILD_ROOT/%{_includedir}
|
|
ln -s libnccl.so.${nccl:Major} $RPM_BUILD_ROOT/%{_libdir}/libnccl.so
|
|
|
|
# static
|
|
install -m 644 lib/libnccl_static.a $RPM_BUILD_ROOT/%{_libdir}
|
|
|
|
%post -p /sbin/ldconfig
|
|
%postun -p /sbin/ldconfig
|
|
|
|
%post devel -p /sbin/ldconfig
|
|
%postun devel -p /sbin/ldconfig
|
|
|
|
%clean
|
|
rm -rf $RPM_BUILD_ROOT
|
|
|
|
%files devel
|
|
%doc LICENSE.txt
|
|
%defattr(-,root,root,-)
|
|
%{_bindir}/ncclras
|
|
%{_includedir}/nccl.h
|
|
%{_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
|