https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100240

Eduard Rozenberg <ed.gcc at pobox dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ed.gcc at pobox dot com

--- Comment #9 from Eduard Rozenberg <ed.gcc at pobox dot com> ---
I run into similar errors (probably the same issue), when trying to use Nvidia
NCCL.

For ex. when trying to run `make` on the nccl tests
(https://github.com/NVIDIA/nccl-tests.git), I get:

nccl-tests/src'
Compiling  all_reduce.cu                       > ../build/all_reduce.o
/usr/include/c++/10.3.0/chrono: In substitution of ‘template<class _Rep, class
_Period> template<class _Period2> using __is_harmonic =
std::__bool_constant<(std::ratio<((_Period2::num / std::chrono::duration<_Rep,
_Period>::_S_gcd(_Period2::num, _Period::num)) * (_Period::den /
std::chrono::duration<_Rep, _Period>::_S_gcd(_Period2::den, _Period::den))),
((_Period2::den / std::chrono::duration<_Rep, _Period>::_S_gcd(_Period2::den,
_Period::den)) * (_Period::num / std::chrono::duration<_Rep,
_Period>::_S_gcd(_Period2::num, _Period::num)))>::den == 1)> [with _Period2 =
_Period2; _Rep = _Rep; _Period = _Period]’:
/usr/include/c++/10.3.0/chrono:473:154:   required from here
/usr/include/c++/10.3.0/chrono:428:27: internal compiler error: Segmentation
fault
  428 |  _S_gcd(intmax_t __m, intmax_t __n) noexcept
      |                           ^~~~~~
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://gcc.gnu.org/bugs/> for instructions.
make[1]: *** [Makefile:84: ../build/all_reduce.o] Error 1


And I get build errors when trying to build pytorch since it also tries to use
Nvidia nccl.

The following might be relevant/related but can't tell for sure:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100101
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100102

Even if the issue eventually gets fixed in GCC 11/12, what will the solution be
for GCC 10.3 (10.x) users? Asking because it normally takes operating systems
and Nvidia months or years to move to or support the next major GCC version,
and in particular it's recommended to use the same GCC version as the operating
system's kernel is built with, so I wouldn't be able to decide to just use GCC
11 or 12.

Reply via email to