Faiss assertion err == CUBLAS_STATUS_SUCCESS failed in void faiss::gpu::runMatrixMult(faiss::gpu::Te

最近在使用faiss库的时候,出现了以下错误,

Faiss assertion err == CUBLAS_STATUS_SUCCESS failed in void faiss::gpu::runMatrixMult(faiss::gpu::Tensor<T, 2, true>&, bool, faiss::gpu::Tensor<T, 2, true>&, bool, faiss::gpu::Tensor<T, 2, true>&, bool, float, float, cublasHandle_t, cudaStream_t) [with T = float; cublasHandle_t = cublasContext*; cudaStream_t = CUstream_st*] at utils/MatrixMult.cu:141Aborted (core dumped)

找了很久的相关资料,试了很多方法,都没用.且在terminal中输入nvcc,也是提示找不到command。但是可以确定的是,CUDA,以及nvidia-cuda-toolkit已经从官方网站下载并正确安装。最后发现是nvcc版本和nvidia-smi显示的cuda的版本号不符.nvcc没有加到bashrc中去.
解决方法:
1.安装和nvidia-smi上面一样的cuda版本
在这里插入图片描述
2.添加环境变量,打开~/.bashrc ,添加环境变量export PATH=$PATH:/usr/local/cuda/bin,注:/usr/local/cuda/bin这个路径要和自己安装的cuda的路径对应,cd /usr/local/查看你的cuda相关的文件夹,里面有没有nvcc这个文件.
3.再在terminal中输入nvcc -V可以看到已经可以显示你的nvcc版本了

你可能感兴趣的:(杂)