AWS EC2 Ubuntu20.04安装GPU版LightGBM提示找不到libOpenCL.so
核心问题解答
你从/usr/lib/x86_64-linux-gnu/路径下复制的libOpenCL.so就是LightGBM GPU版本编译所需的对应文件。该文件为NVIDIA OpenCL ICD加载器的官方库文件,Ubuntu 20.04官方源提供的nvidia-cuda-toolkit包默认不会将该库同步到CUDA安装目录的lib64子路径下,这是你两次指定CUDA路径编译都报错找不到文件的核心原因。
完整修复编译步骤
- 第一步:确认环境有效性,补全依赖
驱动安装完成后需先重启实例生效,重启后执行nvidia-smi确认驱动正常加载、输出显卡信息,再安装OpenCL相关依赖:sudo apt install -y opencl-headers ocl-icd-opencl-dev - 第二步:清理旧编译缓存,重新执行cmake配置
无需手动复制库文件到CUDA目录,直接指定系统原生路径的OpenCL库即可:cd LightGBM/build rm -rf ./* cmake -DUSE_GPU=1 -DOpenCL_LIBRARY=/usr/lib/x86_64-linux-gnu/libOpenCL.so -DOpenCL_INCLUDE_DIR=/usr/include/ .. - 第三步:编译解决版本定义报错
针对CL_TARGET_OPENCL_VERSION未定义的提示,编译时补充版本定义参数即可:make CXXFLAGS="-DCL_TARGET_OPENCL_VERSION=120" -j$(nproc) - 第四步:安装Python绑定(可选)
如果需要使用Python接口的LightGBM,编译完成后执行以下命令安装:cd ../python-package pip install .
安装验证
执行以下代码确认GPU版本正常可用:
import lightgbm as lgb print(lgb.__version__) print(lgb.available_devices())
输出结果包含gpu即说明安装成功。
内容的提问来源于stack exchange,提问作者Chris_007
相关产品推荐
相关产品推荐

