glibc 2.26 and beyond with CUDA and 980/1080 cards

So it seems that it is not possible anymore (at least not without hacking anything) to use CUDA with GTX 980/1080 cards on Linux machines that run glibc 2.26 and newer versions.

From what I learned after updating glibc 2.26 is that nvcc in CUDA versions up to 9.1 has a problem with a new header file from glibc. That was fixed in 9.2 (see NVIDIA release notes) but 9.2 requires the 396 driver series which does not seem to allow CUDA to work with the 980/1080 cards (per NVIDIA website and based on our experience).

So what is the plan, NVIDIA? Can we please have the fix that made CUDA 9.2 work with glibc 2.26 and beyond also for CUDA 9.1?

396 drivers can work with CUDA 8, 9.0, 9.1, 9.2, as well as 980/1080 cards.

Well, 396 drivers may work with CUDA 8-9.2 but that is not quite the point.

Again:

  • Only the latest CUDA 9.2 works with glibc 2.26 and newer.
  • CUDA 9.2 does not work with 390 drivers.
  • The latest versions of the 396 drivers don’t seem to work with 980/1080 cards when it comes to CUDA. Other functionality (graphics) may be supported but that is not the issue.

See here:

https://devtalk.nvidia.com/default/topic/1037521/linux/cuda-broken-in-396-24-02-and-396-24-10-vulkan-beta-drivers-on-linux/

We see similar problems.

The NVIDIA web site also says to use 390 series drives for 980/1080 cards and does not list 980/1080 cards as being supported with 396 drivers

Update: It is possible to make things work again by adding

#define _BITS_FLOATN_H

to /opt/cuda/include/host_defines.h

after installing the 9.1 toolkit with the 390 series driver.