Public bug reported:

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/

** Affects: glibc (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: artful artful-proposed cuda glibc nvcc

** Description changed:

  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
+   /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)                                         \
+      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
+   # 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)                                         \
+      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
+   # 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 Intel and NVIDIA
+ 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/

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1717257

Title:
  proposal of patch to avoid erros in compiping NVCC

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

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to