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