CentOS7集群编译CUDA版JAX时Bazel缺失依赖报错
CentOS7集群编译带CUDA的JAX报错求助
操作步骤
在JAX主目录执行编译命令:
python build/build.py --enable_cuda --cuda_path=$CUDA_HOME --cudnn_path=$CUDNN_HOME
环境配置
- CUDA版本:11.6
- CuDNN版本:7.5
- GCC版本:11.2.0
- Bazel二进制路径:
./bazel-5.1.1-linux-x86_64 - Bazel版本:5.1.1
- Python二进制路径:
~/.conda/envs/JAX/bin/python - Python版本:3.9
- NumPy版本:1.21.5
- MKL-DNN已启用:是
- 目标CPU:x86_64
- 目标CPU特性:release
- CUDA已启用:是
环境变量配置
CC=/usr/local/app/compiler/gcc/11.2.0/bin/gcc CXX=/usr/local/app/compiler/gcc/11.2.0/bin/g++ INCLUDE=/usr/local/app/compiler/gcc/11.2.0/include LIBRARY_PATH=/usr/local/app/compiler/gcc/11.2.0/lib64:/usr/local/app/lib/nvidia/cuda/11.6.1/lib64:/usr/local/app/lib/nvidia/driver/510.47/lib64/nvidia LD_LIBRARY_PATH=/usr/local/app/compiler/gcc/11.2.0/lib64:/usr/local/app/lib/nvidia/cuda/11.6.1/lib64:/usr/local/app/lib/nvidia/driver/510.47/lib64/nvidia
编译报错信息
ERROR: /lustre1/home/rice_cake/.cache/bazel/_bazel_rice_cake/8366d0a62cbb3b115627233e356374ab/external/zlib/BUILD.bazel:5:11: Compiling uncompr.c failed: undeclared inclusion(s) in rule '@zlib//:zlib': this rule is missing dependency declarations for the following files included by 'uncompr.c': '/usr/local/app/compiler/gcc/11.2.0/lib/gcc/x86_64-redhat-linux/11.2.0/include/stddef.h' '/usr/local/app/compiler/gcc/11.2.0/lib/gcc/x86_64-redhat-linux/11.2.0/include-fixed/limits.h' '/usr/local/app/compiler/gcc/11.2.0/lib/gcc/x86_64-redhat-linux/11.2.0/include-fixed/syslimits.h' '/usr/local/app/compiler/gcc/11.2.0/lib/gcc/x86_64-redhat-linux/11.2.0/include/stdarg.h'
问题说明
Bazel提示缺少C++库文件的依赖声明,但这些BUILD文件是由jax/build/build.py自动生成的,无法手动修改。本地机器编译JAX源码成功,检查Bazel缓存中的BUILD文件和本地一致,希望通过设置环境变量解决该问题。
内容的提问来源于stack exchange,提问作者rice_cake
相关产品推荐
相关产品推荐

