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