Rework debian packaging
This commit is contained in:
parent
620491a649
commit
08ddfe03d2
30
Makefile
30
Makefile
@ -62,7 +62,7 @@ else
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
.PHONY : lib clean test mpitest install
|
.PHONY : lib clean debclean test mpitest install
|
||||||
.DEFAULT : lib
|
.DEFAULT : lib
|
||||||
|
|
||||||
INCEXPORTS := nccl.h
|
INCEXPORTS := nccl.h
|
||||||
@ -168,3 +168,31 @@ $(MPITSTDIR)/% : test/mpi/%.cu $(TSTDEP)
|
|||||||
@sed -e 's/.*://' -e 's/\\$$//' < $(@:%=%.d.tmp) | fmt -1 | \
|
@sed -e 's/.*://' -e 's/\\$$//' < $(@:%=%.d.tmp) | fmt -1 | \
|
||||||
sed -e 's/^ *//' -e 's/$$/:/' >> $(@:%=%.d)
|
sed -e 's/^ *//' -e 's/$$/:/' >> $(@:%=%.d)
|
||||||
@rm -f $(@:%=%.d.tmp)
|
@rm -f $(@:%=%.d.tmp)
|
||||||
|
|
||||||
|
#### PACKAGING ####
|
||||||
|
|
||||||
|
CUDA_VERSION ?= $(shell ls $(CUDA_LIB)/libcudart.so.* | head -1 | rev | cut -d "." -f -2 | rev)
|
||||||
|
|
||||||
|
|
||||||
|
DEB_GEN_IN := $(shell ls debian/*.in)
|
||||||
|
DEB_GEN := $(DEB_GEN_IN:.in=)
|
||||||
|
|
||||||
|
DEB_REVISION ?= 1
|
||||||
|
DEB_TIMESTAMP := $(shell date -R)
|
||||||
|
|
||||||
|
deb : lib $(DEB_GEN)
|
||||||
|
@printf "Building Debian package"
|
||||||
|
debuild -eLD_LIBRARY_PATH -uc -us -d -b
|
||||||
|
|
||||||
|
debclean :
|
||||||
|
rm -f $(DEB_GEN)
|
||||||
|
|
||||||
|
debian/% : debian/%.in
|
||||||
|
@printf "Generating %-25s > %-24s\n" $< $@
|
||||||
|
sed -e "s/\$${nccl:Major}/$(VER_MAJOR)/g" \
|
||||||
|
-e "s/\$${nccl:Minor}/$(VER_MINOR)/g" \
|
||||||
|
-e "s/\$${nccl:Patch}/$(VER_PATCH)/g" \
|
||||||
|
-e "s/\$${nccl:Cuda}/$(CUDA_VERSION)/g" \
|
||||||
|
-e "s/\$${nccl:Debian}/$(DEB_REVISION)/g" \
|
||||||
|
-e "s/\$${nccl:Timestamp}/$(DEB_TIMESTAMP)/g" \
|
||||||
|
$< > $@
|
||||||
|
43
debian/changelog
vendored
43
debian/changelog
vendored
@ -1,43 +0,0 @@
|
|||||||
nccl (1.2.2-1+cuda7.5) trusty; urgency=medium
|
|
||||||
|
|
||||||
* Gencodes changed to NV recommended
|
|
||||||
* Minor Makefile changes
|
|
||||||
|
|
||||||
-- Boris Fomitchev <bfomitchev@nvidia.com> Mon, 06 Jun 2016 1:07:01 -0800
|
|
||||||
|
|
||||||
nccl (1.2.1-1+cuda7.5) trusty; urgency=medium
|
|
||||||
|
|
||||||
* Merged public bugfixes
|
|
||||||
|
|
||||||
-- Boris Fomitchev <bfomitchev@nvidia.com> Thu, 21 Apr 2016 10:07:01 -0800
|
|
||||||
|
|
||||||
nccl (1.1.1-1+cuda7.5) trusty; urgency=medium
|
|
||||||
|
|
||||||
* Rebuilding with 7.5
|
|
||||||
|
|
||||||
-- Boris Fomitchev <bfomitchev@nvidia.com> Wed, 16 Mar 2016 18:07:01 -0800
|
|
||||||
|
|
||||||
nccl (1.1.0) trusty; urgency=medium
|
|
||||||
|
|
||||||
* Picking up the latest
|
|
||||||
* Added rule for manpage creation.
|
|
||||||
|
|
||||||
-- Boris Fomitchev <bfomitchev@nvidia.com> Tue, 16 Feb 2016 18:07:01 -0800
|
|
||||||
|
|
||||||
nccl (1.0.2-2) trusty; urgency=medium
|
|
||||||
|
|
||||||
* Packages are now libnccl1 and libnccl-dev
|
|
||||||
|
|
||||||
-- Luke Yeager <lyeager@nvidia.com> Fri, 18 Dec 2015 13:45:16 -0800
|
|
||||||
|
|
||||||
nccl (1.0.2) trusty; urgency=medium
|
|
||||||
|
|
||||||
* Merged latest upstream changes.
|
|
||||||
|
|
||||||
-- Boris Fomitchev <bfomitchev@nvidia.com> Tue, 15 Dec 2015 14:52:01 -0800
|
|
||||||
|
|
||||||
nccl (1.0.1) trusty; urgency=medium
|
|
||||||
|
|
||||||
* Initial release.
|
|
||||||
|
|
||||||
-- Boris Fomitchev <bfomitchev@nvidia.com> Mon, 14 Dec 2015 09:52:01 -0800
|
|
5
debian/changelog.in
vendored
Normal file
5
debian/changelog.in
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
nccl (${nccl:Major}.${nccl:Minor}.${nccl:Patch}-${nccl:Debian}+cuda${nccl:Cuda}) trusty; urgency=medium
|
||||||
|
|
||||||
|
* Automatic Debian package from build
|
||||||
|
|
||||||
|
-- cudatools <cudatools@nvidia.com> ${nccl:Timestamp}
|
30
debian/control
vendored
30
debian/control
vendored
@ -1,30 +0,0 @@
|
|||||||
Source: nccl
|
|
||||||
Section: universe/libs
|
|
||||||
Maintainer: Boris Fomitchev <bfomitchev@nvidia.com>
|
|
||||||
Priority: optional
|
|
||||||
Build-depends: debhelper(>=9), cuda-core-7-5, cuda-toolkit-7-5,
|
|
||||||
cuda-curand-dev-7-5, cuda-cublas-dev-7-5, cuda-cudart-dev-7-5, cuda-ld-conf-7-5
|
|
||||||
Standards-Version: 3.9.5
|
|
||||||
|
|
||||||
Package: libnccl1
|
|
||||||
Section: universe/libs
|
|
||||||
Architecture: amd64
|
|
||||||
Depends: ${misc:Depends}, ${shlibs:Depends},
|
|
||||||
cuda-curand-7-5, cuda-cublas-7-5, cuda-cudart-7-5, cuda-ld-conf-7-5
|
|
||||||
Description: NVIDIA Communication Collectives Library (NCCL) Runtime
|
|
||||||
NCCL (pronounced "Nickel") is a stand-alone library of standard collective
|
|
||||||
communication routines,such as all-gather, reduce, broadcast, etc., that have
|
|
||||||
been optimized to achieve high bandwidth over PCIe. NCCL supports up to eight
|
|
||||||
GPUs and can be used in either single- or multi-process (e.g., MPI)
|
|
||||||
applications.
|
|
||||||
|
|
||||||
Package: libnccl-dev
|
|
||||||
Section: universe/libdevel
|
|
||||||
Architecture: amd64
|
|
||||||
Depends: ${misc:Depends}, ${shlibs:Depends}, libnccl1 (= ${binary:Version})
|
|
||||||
Description: NVIDIA Communication Collectives Library (NCCL) Development Files
|
|
||||||
NCCL (pronounced "Nickel") is a stand-alone library of standard collective
|
|
||||||
communication routines,such as all-gather, reduce, broadcast, etc., that have
|
|
||||||
been optimized to achieve high bandwidth over PCIe. NCCL supports up to eight
|
|
||||||
GPUs and can be used in either single- or multi-process (e.g., MPI)
|
|
||||||
applications.
|
|
28
debian/control.in
vendored
Normal file
28
debian/control.in
vendored
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
Source: nccl
|
||||||
|
Section: libs
|
||||||
|
Maintainer: cudatools <cudatools@nvidia.com>
|
||||||
|
Priority: optional
|
||||||
|
Build-depends: debhelper(>=9)
|
||||||
|
Standards-Version: 3.9.5
|
||||||
|
|
||||||
|
Package: libnccl${nccl:Major}
|
||||||
|
Section: libs
|
||||||
|
Architecture: amd64
|
||||||
|
Depends: ${misc:Depends}, ${shlibs:Depends}
|
||||||
|
Description: NVIDIA Collectives Communication Library (NCCL) Runtime
|
||||||
|
NCCL (pronounced "Nickel") is a stand-alone library of standard collective
|
||||||
|
communication routines for GPUs, such as all-gather, reduce, broadcast, etc.,
|
||||||
|
that have been optimized to achieve high bandwidth over PCIe. NCCL supports up
|
||||||
|
to eight GPUs and can be used in either single- or multi-process (e.g., MPI)
|
||||||
|
applications.
|
||||||
|
|
||||||
|
Package: libnccl-dev
|
||||||
|
Section: libdevel
|
||||||
|
Architecture: amd64
|
||||||
|
Depends: ${misc:Depends}, ${shlibs:Depends}, libnccl${nccl:Major} (= ${binary:Version})
|
||||||
|
Description: NVIDIA Collectives Communication Library (NCCL) Development Files
|
||||||
|
NCCL (pronounced "Nickel") is a stand-alone library of standard collective
|
||||||
|
communication routines for GPUs, such as all-gather, reduce, broadcast, etc.,
|
||||||
|
that have been optimized to achieve high bandwidth over PCIe. NCCL supports up
|
||||||
|
to eight GPUs and can be used in either single- or multi-process (e.g., MPI)
|
||||||
|
applications.
|
2
debian/libnccl1.install
vendored
2
debian/libnccl1.install
vendored
@ -1,2 +0,0 @@
|
|||||||
lib/libnccl.so.1 /usr/lib/x86_64-linux-gnu
|
|
||||||
lib/libnccl.so.1.2.2 /usr/lib/x86_64-linux-gnu
|
|
2
debian/libnccl1.install.in
vendored
Normal file
2
debian/libnccl1.install.in
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
lib/libnccl.so.${nccl:Major} /usr/lib/x86_64-linux-gnu
|
||||||
|
lib/libnccl.so.${nccl:Major}.${nccl:Minor}.${nccl:Patch} /usr/lib/x86_64-linux-gnu
|
11
debian/nccl.7
vendored
11
debian/nccl.7
vendored
@ -1,6 +1,7 @@
|
|||||||
.TH NCCL
|
.TH NCCL
|
||||||
|
.SH NAME
|
||||||
.PP
|
.PP
|
||||||
Optimized primitives for collective multi\-GPU communication.
|
nccl \- Optimized primitives for collective multi\-GPU communication.
|
||||||
|
|
||||||
.SH Introduction
|
.SH Introduction
|
||||||
.PP
|
.PP
|
||||||
@ -25,7 +26,7 @@ NCCL requires at least CUDA 7.0 and Kepler or newer GPUs. Best performance is ac
|
|||||||
.PP
|
.PP
|
||||||
Note: NCCL may also work with CUDA 6.5, but this is an untested configuration.
|
Note: NCCL may also work with CUDA 6.5, but this is an untested configuration.
|
||||||
|
|
||||||
.SH Build \& run
|
.SH Build & run
|
||||||
.PP
|
.PP
|
||||||
To build the library and tests.
|
To build the library and tests.
|
||||||
|
|
||||||
@ -132,9 +133,7 @@ int main(int argc, char* argv[])
|
|||||||
.fi
|
.fi
|
||||||
.RE
|
.RE
|
||||||
|
|
||||||
.SH Copyright and License
|
.SH Copyright
|
||||||
.PP
|
.PP
|
||||||
NCCL is provided under the
|
All source code and accompanying documentation is copyright (c) 2015\-2016, NVIDIA CORPORATION. All
|
||||||
\[la]LICENSE.txt\[ra]. All source code and
|
|
||||||
accompanying documentation is copyright (c) 2015\-2016, NVIDIA CORPORATION. All
|
|
||||||
rights reserved.
|
rights reserved.
|
||||||
|
6
debian/rules
vendored
6
debian/rules
vendored
@ -5,3 +5,9 @@
|
|||||||
|
|
||||||
override_dh_auto_install:
|
override_dh_auto_install:
|
||||||
PREFIX=debian/tmp dh_auto_install
|
PREFIX=debian/tmp dh_auto_install
|
||||||
|
|
||||||
|
override_dh_auto_test:
|
||||||
|
# Do not make test
|
||||||
|
|
||||||
|
override_dh_auto_clean:
|
||||||
|
# Do not make clean
|
||||||
|
Loading…
x
Reference in New Issue
Block a user