error #include<cuda_runtime_api.h>解决方案
这份解决方案得益于Grounding DINO的github issue #355链接如下:
How to run the project inside conda environment CUDA enabled · Issue #355 · IDEA-Research/GroundingDINO
在尝试下载并编译一些混合库(既包含Python文件也包含c,c++,cu文件)时有可能会出现这样的报错。
核心问题是开了conda环境而没有在conda环境里面装入conda中的cuda 。下面是chat gpt对conda环境组成的介绍,conda中不仅包括python的解释器,python的各种的包(全是python文件的和混合需要编译的包),还能管理c/c++库。
解决办法是首先:
conda install nvidia::cuda
或者指定下载版本:
conda install nvidia/label/cuda-12.2.1::cuda
然后再进行环境变量的设定,设定三个然后conda deactivate再conda activate <your env>
conda env config vars set CUDA_HOME="/home/user/miniconda3/envs/<ENV Name>/"
conda env config vars set LD_LIBRARY_PATH="/home/user/miniconda3/envs/<ENV Name>/targets/x86_64-linux/lib/:$LD_LIBRARY_PATH"
conda env config vars set CPATH = "/home/user/miniconda3/envs/<ENV Name>/targets/x86_64-linux/include/:$CPATH"
注意把环境变量中的<ENV Name>换成你的环境名称,路径也要检查确保和自己的一致。可以通过在conda中输入:
which nvcc
来确定自己在conda中的cuda runtime路径。