Существует проблема, связанная с неявными преобразованиями:
[build] /usr/include/c++/9/bits/stl_algobase.h(342): ошибка: этим операндам соответствует более одного оператора "=":
[ build] функция "__half::operator=(float)" (объявлена в строке 341 файла /usr/local/cuda/include/cuda_fp16.hpp)
...
Я определил
Код: Выделить всё
__CUDA_FP16_DISABLE_IMPLICIT_INTEGER_CONVERTS_FOR_HOST_COMPILERS__
__CUDA_BF16_DISABLE_IMPLICIT_INTEGER_CONVERTS_FOR_HOST_COMPILERS__
В
< есть строки условной компиляции. p>/usr/local/cuda/include/cuda_fp16.hpp
Код: Выделить всё
#if !(defined __CUDA_FP16_DISABLE_IMPLICIT_INTEGER_CONVERTS_FOR_HOST_COMPILERS__) || (defined __CUDACC__)/usr/local/cuda/include/cuda_bf16.hpp
Код: Выделить всё
#if !(defined __CUDA_BF16_DISABLE_IMPLICIT_INTEGER_CONVERTS_FOR_HOST_COMPILERS__) || (defined __CUDACC__)Код: Выделить всё
#if !(defined __CUDA_FP16_DISABLE_IMPLICIT_INTEGER_CONVERTS_FOR_HOST_COMPILERS__)
#if !(defined __CUDA_BF16_DISABLE_IMPLICIT_INTEGER_CONVERTS_FOR_HOST_COMPILERS__)
Кроме того, я могу скомпилировать Spconv с CUDA 12.1 без ошибок.
Не могли бы вы помочь с этой проблемой?< /п>
Подробнее здесь: https://stackoverflow.com/questions/787 ... -cuda-12-2