You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用compute-sanitizer时找不到libsanitizer-collection.so的问题求助

解决compute-sanitizer找不到libsanitizer-collection.so的问题

你遇到的问题是compute-sanitizer无法定位已存在的libsanitizer-collection.so库,以下是几种可行的解决方法:

1. 临时添加库路径到环境变量

运行compute-sanitizer前,先将库所在目录加入LD_LIBRARY_PATH:

export LD_LIBRARY_PATH=/usr/lib/nvidia-cuda-toolkit:$LD_LIBRARY_PATH
compute-sanitizer --tool memcheck my_cuda_program

2. 永久配置系统库路径

如果不想每次手动设置环境变量,可以将路径加入系统库配置:

  • 创建或编辑/etc/ld.so.conf.d/cuda.conf,添加一行:
    /usr/lib/nvidia-cuda-toolkit
    
  • 执行sudo ldconfig更新系统库缓存

3. 验证版本匹配性

确认compute-sanitizer的版本与你的nvcc(12.4)一致:

compute-sanitizer --version
nvcc -V

若版本不匹配,说明系统中存在多个CUDA版本,需调用CUDA 12.4对应的compute-sanitizer(比如使用绝对路径/usr/local/cuda-12.4/bin/compute-sanitizer)

4. 编译时启用调试信息

为让sanitizer更精准定位错误,编译时需添加CUDA调试选项。修改你的CMake配置,在CUDA_FLAGS部分追加-g -G:

set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -g -G")

重新编译程序后再运行sanitizer。

5. 强制指定库路径运行

通过LD_PRELOAD直接加载目标库:

LD_PRELOAD=/usr/lib/nvidia-cuda-toolkit/libsanitizer-collection.so compute-sanitizer --tool memcheck my_cuda_program

内容的提问来源于stack exchange,提问作者ryupark1321

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 03:12:48