Rework debian packaging
This commit is contained in:
parent
620491a649
commit
08ddfe03d2
30
Makefile
30
Makefile
@ -62,7 +62,7 @@ else
|
||||
endif
|
||||
|
||||
|
||||
.PHONY : lib clean test mpitest install
|
||||
.PHONY : lib clean debclean test mpitest install
|
||||
.DEFAULT : lib
|
||||
|
||||
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)
|
||||
@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
|
||||
.SH NAME
|
||||
.PP
|
||||
Optimized primitives for collective multi\-GPU communication.
|
||||
nccl \- Optimized primitives for collective multi\-GPU communication.
|
||||
|
||||
.SH Introduction
|
||||
.PP
|
||||
@ -25,7 +26,7 @@ NCCL requires at least CUDA 7.0 and Kepler or newer GPUs. Best performance is ac
|
||||
.PP
|
||||
Note: NCCL may also work with CUDA 6.5, but this is an untested configuration.
|
||||
|
||||
.SH Build \& run
|
||||
.SH Build & run
|
||||
.PP
|
||||
To build the library and tests.
|
||||
|
||||
@ -132,9 +133,7 @@ int main(int argc, char* argv[])
|
||||
.fi
|
||||
.RE
|
||||
|
||||
.SH Copyright and License
|
||||
.SH Copyright
|
||||
.PP
|
||||
NCCL is provided under the
|
||||
\[la]LICENSE.txt\[ra]. All source code and
|
||||
accompanying documentation is copyright (c) 2015\-2016, NVIDIA CORPORATION. All
|
||||
All source code and accompanying documentation is copyright (c) 2015\-2016, NVIDIA CORPORATION. All
|
||||
rights reserved.
|
||||
|
6
debian/rules
vendored
6
debian/rules
vendored
@ -5,3 +5,9 @@
|
||||
|
||||
override_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