[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Fwd: [Patch] Shall we update CUDA to 7.0.28 ? (#783770)



Hi all,

(d-devel blocks my mail, which contains many patches,
for the original mail please see
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=783770
)


Summary
=======

In short I'm trying to update the CUDA package for Debian,
and patches are provided as attachments. My work is based
on the source of nvidia-cuda-toolkit/experimental, i.e.

nvidia-cuda-toolkit_6.5.19-1.debian.tar.xz


Story
=====

I'm the packager of "Caffe", a deep learning framework,
whose packaging work is currently stored under debian-science.
However I suffered from the Debian's CUDA version a lot.

Debian's CUDA/experimental is QUITE OUT OF DATE so that
it fails to work with GCC-5.
So my Caffe packages just get FTBFS, due to the ancient
version of CUDA.


However ArchLinux's CUDA version (7.5) is OK for my package,
but I don't understand why Debian experimental holds such an
.......... 6.5 version, compared with the one Archlinux ships.

I know some people don't care about packages in non-free section,
or even hate them. But having a new and working CUDA package
is really a good news to, at least, deep learning researchers,
as the GPU can boost training speed up to 5+ times than CPU.

FYI: As far as I know, in my experiments,
a Tesla K20C GPU works 5+ times faster than an Intel Xeon W3690.

What I want to say is, having an updated CUDA is wonderful
for Debian, for productivity use e.g. deep learning research.

I like Debian, I like stable systems, however Arch beats Debian
at this point.


Packaging
=========

The CUDA package works fine with my chroot'ed sid, with
sources.list = sid + experimental.

What makes me happy is, the compilation for gcc-4.9 on *.cu files
of Caffe runs well. CUDA-7.0.28 supports up to g{cc,++}-4.9, but
still not working with g{cc,++}-5.
The caffe builds failed because liking ELFs to v5libs with g{cc,++}-4.9,
so it matches my expectation.

I'm afraid that I have to bump CUDA to 7.5, to solve the FTBFS of Caffe.
which really fixes CUDA's attitude towards GCC-5.

Following is my dch, and you can see there are still some items remained to be
done:

nvidia-cuda-toolkit (7.0.28-1) experimental; urgency=medium

  * New upstream release 7.0 (March 2015). (Closes: #783770)
    + SOVERSION Bump from 6.5 => 7.0
  * Drop i386 support for all CUDA packages.
  * Add two new packages, which are introduced by CUDA 7.0:
    + libnvrtc
    + libcusolver
  * Bump libnvvm2 to libnvvm3.
  * Update *.symbols.in
  * Update *.install.in
    + nvidia-cuda-dev: Not installing stuff from open64 directory
      (e.g. nvopencc), because they are not provided in CUDA 7.0.
  * [temporary] comment manpage patches out.
    + [todo] solve a pile of lintianW on manpages
  * [todo] update watch / watch.in
  * [todo] update CUDA_VERSION_DRIVER in rules.def
  * [todo] remove nvopencc-related stuff
  * [todo] remove libcuinj32-related stuff
  * [todo] update copyright with new EULA
  * [todo] update get-orig-source in d/rules
  * [todo] check the compatible gcc version 
    - d/rules: 's/__GNUC_MINOR__ > 8/__GNUC_MINOR__ > 9/'
  * [todo] check --list-missing for missing docs.


If current patches are OK, then I'd be willing to solve the rest [todo]
items.
I don't mind importing CUDA 7.5 immediately after uploaded CUDA 7.0
to experimental.

:-)

Thanks.


-- 
 .''`.                                               Lumin
: :' :                         
`. `'   
  `-    638B C75E C1E5 C589 067E  35DE 6264 5EB3 5F68 6A8A

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: