** No longer affects: llvm-toolchain-3.8 (Ubuntu)

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to llvm-toolchain-3.8 in Ubuntu.
https://bugs.launchpad.net/bugs/1717257

Title:
  [bug / patch ]patch for glibc 2.26 to avoid errors in compiling with
  CUDA(NVCC)

Status in gcc-7 package in Ubuntu:
  Fix Released
Status in glibc package in Ubuntu:
  Fix Released

Bug description:
  DistroRelease: Ubuntu 17.10 (Proposed)
  Package: glibc 2.26-0ubuntu1
  Architecture: amd64
  extrapackage (not incl. in UBUNTU) NVIDIA-DRIVER, CUDA
  
-------------------------------------------------------------------------------

  Here is another proposal regarding bug report I posted (but in reject).
  https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1716816

  I reported that glibc 2.26-0ubuntu1 ( adopted in Artful-proposed on
  Sep 5.) causes compilation error by using NVIDIA's CUDA8.0  and 9.0RC.

  Under glibc 2.24, they work.

  It maybe comes from glibc226's new feature, i.e. "128-bit floating
  point as defined by ISO/IEC/IEEE 60559:2011 (IEEE 754-2008) and
  ISO/IEC TS 18661-3:2015" . (Evidence Scripted at bottom)

  I proposed the patch to

    /usr/include/x86_64-linux-gnu/bits/floatn.h

  which lets NVCC (CUDA's compiler) avoid __float128 (NVCC does
  support neither  8.0 nor 9.0).

  So can the patch be merged to glibc2.25 be adopted in Arful or later?

  
-------------------------------------------------------------------------------------
  *** floatn.h-dist     2017-09-04 16:34:21.000000000 +0900
  --- floatn.h  2017-09-14 21:46:15.334033614 +0900
  ***************
  *** 28,34 ****
       support, for x86_64 and x86.  */
    #if (defined __x86_64__                                                     
\
         ? __GNUC_PREREQ (4, 3)                                         \
  !      : (defined __GNU__ ? __GNUC_PREREQ (4, 5) : __GNUC_PREREQ (4, 4)))
    # define __HAVE_FLOAT128 1
    #else
    # define __HAVE_FLOAT128 0
  --- 28,35 ----
       support, for x86_64 and x86.  */
    #if (defined __x86_64__                                                     
\
         ? __GNUC_PREREQ (4, 3)                                         \
  !      : (defined __GNU__ ? __GNUC_PREREQ (4, 5) : __GNUC_PREREQ (4, 4))) \
  !   &&  !defined(__CUDACC__)
    # define __HAVE_FLOAT128 1
    #else
    # define __HAVE_FLOAT128 0
  
-------------------------------------------------------------------------------------

  (evidence)
  ----------
  1. Here is part of message during compiing Tensorflow with CUDA on 
UBUNTU17.10 beta with proposed-components. .
  --------------
  typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__)));
                           ^
  INFO: From Compiling external/nccl_archive/src/broadcast.cu.cc:
  /usr/include/x86_64-linux-gnu/bits/floatn.h(61): error: invalid argument to 
attribute "__mode__"

  /usr/include/x86_64-linux-gnu/bits/floatn.h(73): error: identifier 
"__float128" is undefined
  --------------

  2. Forums in INVIDIA
  where issues the problems around glibc.2.26

  NVIDIA
  
https://devtalk.nvidia.com/default/topic/1023776/cuda-programming-and-performance/-request-add-nvcc-compatibility-with-glibc-2-26/

  3. THis bug  has already discussed in Arch linux and the patch (tas same ) 
proposed
  https://www.reddit.com/r/archlinux/comments/6zrmn1/torch_on_arch/

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gcc-7/+bug/1717257/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to