diff --git a/Makefile b/Makefile index a771977..f4ffdb5 100644 --- a/Makefile +++ b/Makefile @@ -58,7 +58,7 @@ LIBSRCFILES := libwrap.cu core.cu all_gather.cu all_reduce.cu broadcast.cu reduc LIBNAME := libnccl.so VER_MAJOR := 1 VER_MINOR := 0 -VER_PATCH := 0 +VER_PATCH := 2 TESTS := all_gather_test all_reduce_test broadcast_test reduce_test reduce_scatter_test MPITESTS := mpi_test diff --git a/debian/.gitignore b/debian/.gitignore new file mode 100644 index 0000000..1e97a9f --- /dev/null +++ b/debian/.gitignore @@ -0,0 +1,7 @@ +/*.debhelper.log +/*.debhelper +/*.substvars +/tmp/ +/files +/libnccl1/ +/libnccl-dev/ diff --git a/debian/changelog b/debian/changelog index 87ac77a..50dcaa4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +nccl (1.0.2-2) trusty; urgency=medium + + * Packages are now libnccl1 and libnccl-dev + + -- Luke Yeager Fri, 18 Dec 2015 13:45:16 -0800 + nccl (1.0.2) trusty; urgency=medium * Merged latest upstream changes. diff --git a/debian/control b/debian/control index 9740bb0..340c213 100644 --- a/debian/control +++ b/debian/control @@ -1,26 +1,31 @@ Source: nccl -Section: universe/science +Section: universe/libs Maintainer: Boris Fomitchev Priority: optional -Build-depends: debhelper(>=9), nvidia-352-dev, cuda-toolkit-7-0, +Build-depends: debhelper(>=9), cuda-toolkit-7-0, cuda-curand-dev-7-0, cuda-cublas-dev-7-0, cuda-cudart-dev-7-0, cuda-ld-conf-7-0 Standards-Version: 3.9.5 -Package: nccl -Section: universe/tools +Package: libnccl1 +Section: universe/libs Architecture: amd64 -Depends: ${misc:Depends}, ${shlibs:Depends}, nvidia-352, +Depends: ${misc:Depends}, ${shlibs:Depends}, cuda-curand-7-0, cuda-cublas-7-0, cuda-cudart-7-0, cuda-ld-conf-7-0 -Description: Optimized primitives for collective multi-GPU communication - 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. +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: nccl-dev -Section: universe/tools +Package: libnccl-dev +Section: universe/libdevel Architecture: amd64 -Depends: ${misc:Depends}, ${shlibs:Depends}, nccl (= ${binary:Version}) -Description: Dev package for NCCL library - 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. +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. + diff --git a/debian/copyright b/debian/copyright deleted file mode 100644 index d89c839..0000000 --- a/debian/copyright +++ /dev/null @@ -1,26 +0,0 @@ - - Copyright (c) 2015, NVIDIA CORPORATION. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of NVIDIA CORPORATION nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY - EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/debian/copyright b/debian/copyright new file mode 120000 index 0000000..4ab4373 --- /dev/null +++ b/debian/copyright @@ -0,0 +1 @@ +../LICENSE.txt \ No newline at end of file diff --git a/debian/gbp.conf b/debian/gbp.conf deleted file mode 100644 index e78ed16..0000000 --- a/debian/gbp.conf +++ /dev/null @@ -1,15 +0,0 @@ -[DEFAULT] -debian-branch = master -upstream-branch = master -verbose = True - -ignore-new = True - -[git-buildpackage] -verbose = True -no-purge = True - -[git-import-orig] -upstream-tag = v%(version)s -upstream-tree = BRANCH -dch = False diff --git a/debian/libnccl-dev.install b/debian/libnccl-dev.install new file mode 100644 index 0000000..3c6f253 --- /dev/null +++ b/debian/libnccl-dev.install @@ -0,0 +1,2 @@ +include/nccl.h usr/include +lib/libnccl.so usr/lib diff --git a/debian/libnccl1.install b/debian/libnccl1.install new file mode 100644 index 0000000..be7243e --- /dev/null +++ b/debian/libnccl1.install @@ -0,0 +1,2 @@ +lib/libnccl.so.1 usr/lib +lib/libnccl.so.1.0.2 usr/lib diff --git a/debian/nccl-dev.install b/debian/nccl-dev.install deleted file mode 100644 index aa614f5..0000000 --- a/debian/nccl-dev.install +++ /dev/null @@ -1,4 +0,0 @@ -usr/lib -usr/lib/libnccl.so -usr/include -usr/include/nccl.h diff --git a/debian/nccl.install b/debian/nccl.install deleted file mode 100644 index 2513610..0000000 --- a/debian/nccl.install +++ /dev/null @@ -1,2 +0,0 @@ -usr/lib -usr/lib/libnccl.so.1 diff --git a/debian/nccl.lintian-overrides b/debian/nccl.lintian-overrides deleted file mode 100644 index b6e73d9..0000000 --- a/debian/nccl.lintian-overrides +++ /dev/null @@ -1 +0,0 @@ -file-in-usr-local diff --git a/debian/nccl.postinst b/debian/nccl.postinst deleted file mode 100644 index 74f2532..0000000 --- a/debian/nccl.postinst +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -set -e - -ldconfig diff --git a/debian/rules b/debian/rules index dfa5f39..6467459 100755 --- a/debian/rules +++ b/debian/rules @@ -1,14 +1,8 @@ #!/usr/bin/make -f - - - -# Enabling a single GPU for tests only -# test.sh fails for non-idential multi-GPU -# fix pending : https://github.com/torch/cutorch/issues/239 -export CUDA_VISIBLE_DEVICES=0 %: - PREFIX="$(CURDIR)/usr" dh $@ --build-system=make --parallel + dh $@ --parallel + +override_dh_auto_install: + PREFIX=debian/tmp dh_auto_install -override_dh_auto_test: - echo "Skipping test: fix me later ..."