问题:

python编译用于cuda的so文件中,使用编译.cu文件出错:

#error -- unsupported GNU version! gcc versions later than 10 are not supported! The nvcc flag '-allow-unsupported-compiler' can be used to override this version check; however, using an unsupported host compiler may cause compilation failure or incorrect run time execution. Use at your own risk.

分析:

gcc版本过高,与cuda不兼容,查看本机的gcc版本:

gcc -v

解决:

安装版本10的gcc和g++:

sudo apt-get install gcc-10

sudo apt-get install g++-10

为nvcc编译器指定特定版本的gcc:

由于linux中可以有多个版本的gcc和g++,我们可以为系统默认的gcc和g++指定特定的默认版本,但是对于cuda的nvcc来说有更方便的方法,那就是nvcc会优先读取自身路径下的gcc然后如果没有再读取系统默认路径下的gcc,因此我们只需要为nvcc设置特定版本gcc的软连接即可:

sudo ln -s /usr/bin/gcc-10 /usr/local/cuda/bin/gcc

然后可以正常编译。

来源:CUDA编译.cu文件报错unsupported GNU version! gcc versions later than 10 are not supported! The nvcc flag '-allow-unsupported-compiler' can be used to override this version check; - Death_Knight - 博客园 (cnblogs.com)

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐