一次安装apex的血泪史

本文讲述了在CentOS7.9环境中安装Apex库时遇到的CUDA版本不匹配、环境变量设置错误和g++版本升级等问题,作者详细记录了解决步骤,包括使用conda安装特定版本的PyTorch和CUDA,以及调整bash_profile中的环境配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境:

CentOS Linux release 7.9.2009 (Core)

GPU CUDA 12.2

Miniconda python3.9

PyTorch=11.8

安装apex参考步骤:

1. git clone https://github.com/NVIDIA/apex.git

2. cd apex

3. python setup.py install --cuda_ext --cpp_ext

如果顺利的话,就so easy~ 然鹅,吐血。。。

下面记录错误:

1. 服务器安装CUDA==12.2和PyTorch=11.8版本不一致

解决方案:

使用conda安装cuda==11.8版本:

conda install pytorch-cuda=11.8 -c pytorch -c nvidia

 

还是报错,错误内容完全一致。

怀疑是环境变量导致的CUDA路径错误,遂查看~/.bash_profile,发现果然配置了LD_LIBRARY_PATH、CUDA_HOME等环境变量,修改成新配置的路径:

PATH=$PATH:/***/miniconda3/envs/dl_base/bin/nvcc
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/***/miniconda3/envs/dl_base/bin/nvcc

CUDA_HOME=/***/miniconda3/envs/dl_base

export PATH
export CUDA_HOME 

之后执行

export LD_LIBRARY_PATH=   # 为了取消之前的变量

source ~/.bash_profile

2.  上述问题解决完之后,又遇到另一个错误如下:

解决方案:升级g++版本

yum install centos-release-scl
yum install devtoolset-9-gcc devtoolset-9-gcc-c++
scl enable devtoolset-9 -- bash

为了保证每次执行都是用9版本g++,修改bash_profile如下:

scl enable devtoolset-9 bash 

然后 source ~/.bash_profile

后使用g++ -v确认版本为更新后的版本即正常。

3. 上述问题解决后,又遇到另外一个问题:

解决方案:

在服务器执行查找是否存在该文件,结果如下:

find / -name cuda_runtime.h

 修改~/.bash_profile文件如下:

CPATH=/usr/local/cuda-11.2/targets/x86_64-linux/include:$CPATH
PATH=$PATH:/***/miniconda3/envs/dl_base/bin/nvcc
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/***/miniconda3/envs/dl_base/bin/nvcc

CUDA_HOME=/***/miniconda3/envs/dl_base

export PATH
export CPATH
export CUDA_HOME

执行source  ~/.bash_profile。

最后执行python setup.py install --cuda_ext --cpp_ext安装成功~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值