From f1e92fe2a39c10e48cb6862159cb7f5e85c17f53 Mon Sep 17 00:00:00 2001 From: Boris Fomitchev Date: Fri, 18 Dec 2015 13:35:22 -0800 Subject: [PATCH] Added Debian packaging files --- debian/changelog | 11 +++++++++++ debian/compat | 1 + debian/control | 26 ++++++++++++++++++++++++++ debian/copyright | 26 ++++++++++++++++++++++++++ debian/gbp.conf | 15 +++++++++++++++ debian/nccl-dev.install | 4 ++++ debian/nccl.install | 2 ++ debian/nccl.lintian-overrides | 1 + debian/nccl.postinst | 5 +++++ debian/rules | 14 ++++++++++++++ debian/shlibs.local | 1 + debian/source/format | 1 + 12 files changed, 107 insertions(+) create mode 100644 debian/changelog create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/gbp.conf create mode 100644 debian/nccl-dev.install create mode 100644 debian/nccl.install create mode 100644 debian/nccl.lintian-overrides create mode 100644 debian/nccl.postinst create mode 100755 debian/rules create mode 100644 debian/shlibs.local create mode 100644 debian/source/format diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..87ac77a --- /dev/null +++ b/debian/changelog @@ -0,0 +1,11 @@ +nccl (1.0.2) trusty; urgency=medium + + * Merged latest upstream changes. + + -- Boris Fomitchev Tue, 15 Dec 2015 14:52:01 -0800 + +nccl (1.0.1) trusty; urgency=medium + + * Initial release. + + -- Boris Fomitchev Mon, 14 Dec 2015 09:52:01 -0800 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..9740bb0 --- /dev/null +++ b/debian/control @@ -0,0 +1,26 @@ +Source: nccl +Section: universe/science +Maintainer: Boris Fomitchev +Priority: optional +Build-depends: debhelper(>=9), nvidia-352-dev, 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 +Architecture: amd64 +Depends: ${misc:Depends}, ${shlibs:Depends}, nvidia-352, + 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. + +Package: nccl-dev +Section: universe/tools +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. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..d89c839 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,26 @@ + + 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/gbp.conf b/debian/gbp.conf new file mode 100644 index 0000000..e78ed16 --- /dev/null +++ b/debian/gbp.conf @@ -0,0 +1,15 @@ +[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/nccl-dev.install b/debian/nccl-dev.install new file mode 100644 index 0000000..aa614f5 --- /dev/null +++ b/debian/nccl-dev.install @@ -0,0 +1,4 @@ +usr/lib +usr/lib/libnccl.so +usr/include +usr/include/nccl.h diff --git a/debian/nccl.install b/debian/nccl.install new file mode 100644 index 0000000..2513610 --- /dev/null +++ b/debian/nccl.install @@ -0,0 +1,2 @@ +usr/lib +usr/lib/libnccl.so.1 diff --git a/debian/nccl.lintian-overrides b/debian/nccl.lintian-overrides new file mode 100644 index 0000000..b6e73d9 --- /dev/null +++ b/debian/nccl.lintian-overrides @@ -0,0 +1 @@ +file-in-usr-local diff --git a/debian/nccl.postinst b/debian/nccl.postinst new file mode 100644 index 0000000..74f2532 --- /dev/null +++ b/debian/nccl.postinst @@ -0,0 +1,5 @@ +#!/bin/sh + +set -e + +ldconfig diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..dfa5f39 --- /dev/null +++ b/debian/rules @@ -0,0 +1,14 @@ +#!/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 + +override_dh_auto_test: + echo "Skipping test: fix me later ..." diff --git a/debian/shlibs.local b/debian/shlibs.local new file mode 100644 index 0000000..e418d1b --- /dev/null +++ b/debian/shlibs.local @@ -0,0 +1 @@ +libcudart 7.0 cuda-cudart-7-0 diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..89ae9db --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (native)