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

Launchpad Bug Tracker 1717257 at bugs.launchpad.net
Tue Oct 10 08:15:20 UTC 2017


Status changed to 'Confirmed' because the bug affects multiple users.

** Changed in: glibc (Ubuntu)
       Status: New => Confirmed

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to glibc 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 glibc package in Ubuntu:
  Confirmed

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/glibc/+bug/1717257/+subscriptions



More information about the foundations-bugs mailing list