实验室有台机器的环境估计是弄乱了, 执行如下命令的时候:
pip install --verbose --no-cache-dir torch-scatter
报错如下:
unable to execute '/usr/local/bin/bin/nvcc': No such file or directory
error: command '/usr/local/bin/bin/nvcc' failed with exit status 1
本身是想找到nvcc路径配置的地方,然后修改了就好了, 奈何不知道这个nvcc是哪里指定的,于是用软连接链接了一个nvcc到/usr/local/bin/bin/目录中。但是又报如下错误:
nvcc fatal : Path to libdevice library not specified
error: command '/usr/local/bin/bin/nvcc' failed with exit status 1
后来百度到这个问题是因为nvcc.profile配置文件的问题,配置文件的内容如下
# TOP是cuda的路径,但是用默认的相对路径不是/usr/local/cuda,而是/usr/local/bin/
# TOP = $(_HERE_)/..
# 所以这里TOP直接指定cuda路径,便会正确
TOP = /usr/local/cuda
NVVMIR_LIBRARY_DIR = $(TOP)/nvvm/libdevice
LD_LIBRARY_PATH += $(TOP)/lib:
PATH += $(TOP)/open64/bin:$(TOP)/nvvm/bin:$(_HERE_):
INCLUDES += "-I$(TOP)/$(_TARGET_DIR_)/include" $(_SPACE_)
LIBRARIES =+ $(_SPACE_) "-L$(TOP)/$(_TARGET_DIR_)/lib$(_TARGET_SIZE_)/stubs" "-L$(TOP)/$(_TARGET_DIR_)/lib$(_TARGET_SIZE_)"
CUDAFE_FLAGS +=
PTXAS_FLAGS +=
然后pip安装包的时候nvcc编译没有出问题, 说明恭喜过关了。
linux下很多都是套路, 配置成功,便是晴天。