Bug#862522: cuda 9.0 RC available

Lumin cdluminate at gmail.com
Sat Aug 5 07:13:17 UTC 2017


Hi,

Brief compiler results
---------------------------------------

A quick test of cuda 9.0 RC on unstable (with GCC-7 as the default)

clang-3.{8,9}, Broken build by GCC-7 headers? see the build examples below
clang-4.0, not supported
gcc-{5,6}, OK
gcc-7, not supported, failure when bypassing the #error from host_config.h

I tried to rebuild my package src:caffe-contrib with clang-3.8 with
cuda-{8.0,9.0~RC} and it is likely that GCC-7 headers breaks
the clang build of the prorobuf file. The error is the same as
the vectorAdd example below.

Conclusion:
  1. (may be bug) GCC-7 headers may break clang-3.{8,9} build.
  2. A simple hack doesn't make nvcc work with GCC-7.
  3. GCC-6 is likely working with CUDA9. But I didn't test it on
      any real world application (caffe is still not prepared for 9.0).

      @doko How long do you plan to keep GCC-6 in the archive?


WIP cuda 9.0 packaging
------------------------------------------

The debian directory (based on 8.0.44-4) for 9.0 RC is attached.
Changes:
nvidia-cuda-toolkit (9.0.103-1) UNRELEASED; urgency=medium

  * New upstream release 9.0~RC (Aug 2017).
  * SOVERSION bump: 8.0 => 9.0, rename all library packages.
  * Remove libnppi9.0 which is deprecated by upstream.
  * Refresh symbols control files.
  * Use dh_missing --list-missing instead of dh_install --list-missing.
  * Update installation paths.
  * Temprarily remove symbols for libcublas
  * [FIXME] Temporarily disable all patches.

Notes,
 1. Nvidia Fermi architecture (compute_20) is deprecated.
 2. The driver version shipped by 9.0~RC is 384.59

Build test on the upstream 0_basic/vectorAdd example:
---------------------------------------------------------------------------------------

~/D/c/s/s/0/vectorAdd ❯❯❯ nvcc -ccbin clang++-3.8 -I../../common/inc
vectorAdd.cu
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.1.0/../../../../include/c++/7.1.0/bits/std_abs.h(101):
error: identifier "__float128" is undefined
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.1.0/../../../../include/c++/7.1.0/bits/std_abs.h(102):
error: identifier "__float128" is undefined

2 errors detected in the compilation of
"/tmp/tmpxft_00007600_00000000-8_vectorAdd.cpp1.ii".

~/D/c/s/s/0/vectorAdd ❯❯❯ nvcc -ccbin clang++-3.9 -I../../common/inc
vectorAdd.cu
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.1.0/../../../../include/c++/7.1.0/bits/std_abs.h(101):
error: identifier "__float128" is undefined
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.1.0/../../../../include/c++/7.1.0/bits/std_abs.h(102):
error: identifier "__float128" is undefined

2 errors detected in the compilation of
"/tmp/tmpxft_0000768f_00000000-8_vectorAdd.cpp1.ii".

~/D/c/s/s/0/vectorAdd ❯❯❯ nvcc -ccbin clang++-4.0 -I../../common/inc
vectorAdd.cu
nvcc fatal   : The version ('40001') of the host compiler ('clang') is
not supported


~/D/c/s/s/0/vectorAdd ❯❯❯ nvcc -ccbin g++-5 -I../../common/inc vectorAdd.cu
[ok]

~/D/c/s/s/0/vectorAdd ❯❯❯ nvcc -ccbin g++-6 -I../../common/inc vectorAdd.cu
[ok]

~/D/c/s/s/0/vectorAdd ❯❯❯ nvcc -ccbin g++-7 -I../../common/inc vectorAdd.cu
In file included from /usr/include/host_config.h:50:0,
                 from /usr/include/cuda_runtime.h:78,
                 from <command-line>:0:
/usr/include/crt/host_config.h:119:2: error: #error -- unsupported GNU
version! gcc versions later than 6 are not supported!
 #error -- unsupported GNU version! gcc versions later than 6 are not supported!
  ^~~~~
~/D/c/s/s/0/vectorAdd ❯❯❯ sudo vim /usr/include/crt/host_config.h
~/D/c/s/s/0/vectorAdd ❯❯❯ nvcc -ccbin g++-7 -I../../common/inc vectorAdd.cu
/usr/include/c++/7/bits/move.h(48): error: identifier
"__builtin_addressof" is undefined
          detected during:
            instantiation of "_Tp *std::__addressof(_Tp &) [with
_Tp=std::__make_not_void<char>]"
[omitted]
8 errors detected in the compilation of
"/tmp/tmpxft_00005d28_00000000-8_vectorAdd.cpp1.ii".

test on caffe-contrib:
---------------------------------------------------------------------

/usr/bin/clang++-3.8  [......] caffe.pb.cc
In file included from
caffe-contrib.pkg/caffe-contrib/caffe_cuda_build/include/caffe/proto/caffe.pb.h:9:
In file included from /usr/include/google/protobuf/stubs/common.h:40:
In file included from /usr/include/google/protobuf/stubs/port.h:35:
In file included from
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.1.0/../../../../include/c++/7.1.0/stdlib.h:36:
In file included from
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.1.0/../../../../include/c++/7.1.0/cstdlib:77:
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.1.0/../../../../include/c++/7.1.0/bits/std_abs.h:101:3:
error: unknown type name '__float128'
  __float128
  ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/7.1.0/../../../../include/c++/7.1.0/bits/std_abs.h:102:7:
error: unknown type name '__float128'
  abs(__float128 __x)
      ^
2 errors generated.

On 5 August 2017 at 04:02, Andreas Beckmann <anbe at debian.org> wrote:
> Hi,
>
> On 2017-08-05 05:18, Lumin wrote:
>> At the time of this writing the CUDA 9 RC package is available
>> for registered users.
> Nice. What about GCC-7 support? It's the default compiler for 12 hours
> now :-)
>
> We have an updated version of 8.0.xx in svn - has anyone gotten around
> to test it, yet? Should I upload it?
>
>
> Andreas



-- 
Best,
Lumin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: debian.9.0.tar.gz
Type: application/x-gzip
Size: 112791 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-nvidia-devel/attachments/20170805/8537d631/attachment-0001.bin>


More information about the pkg-nvidia-devel mailing list