Paddle3D 1 环境安装—— 包含ExternalError: CUBLAS error(7)解决办法

Paddle3D 1 环境安装—— 包含ExternalError: CUBLAS error(7)解决办法

0 我的本地环境介绍:

Ubuntu20.04

nvidia-smi后:

NVIDIA-SMI 510.47.03 Driver Version: 510.47.03 CUDA Version: 11.6

NVIDIA GeForce 3070

1 安装教程
1.1 创建\激活虚拟环境
conda create -n paddle_env python=3.8
conda activate paddle_env
1.2 添加镜像源
对于国内用户无法连接到 conda 官方源的可以按照以下命令添加清华源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
1.3 安装GPU版的PaddlePaddle(首选)
# 对于 CUDA 11.6,需要搭配 cuDNN 8.4.0(多卡环境下 NCCL>=2.7),安装命令为:
python -m pip install paddlepaddle-gpu==2.4.1.post116 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html

【ExternalError: CUBLAS error(7)解决办法】

注意:这里在安装PaddlePaddle的时候,如果使用的是paddle官方 installation.md中推荐的如下命令装的话,在验证的时候会报错如下

官方命令

# 对于 CUDA 11.6,需要搭配 cuDNN 8.4.0(多卡环境下 NCCL>=2.7),安装命令为:
conda install paddlepaddle-gpu==2.4.1 cudatoolkit=11.6 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/ -c conda-forge

报错内容:

... ...
ExternalError: CUBLAS error(7).
      [Hint: Please search for the error code(7) on website (https://docs.nvidia.com/cuda/cublas/index.html#cublasstatus_t) to get Nvidia's official solution and advice about CUBLAS Error.] (at /paddle/paddle/phi/kernels/funcs/blas/blas_impl.cu.h:35)
      [operator < matmul > error]
1.4 下载Paddle3D代码

如已下载Paddle3D源码可忽略这一步。

git clone https://github.com/PaddlePaddle/Paddle3D

安装Paddle3D依赖

cd Paddle3D
pip install -r requirements.txt

安装Paddle3D

pip install -e .  # install in edit mode
1.5 验证安装

输入python进入python解释器

python
import paddle
paddle.utils.run_check()

如果出现PaddlePaddle is installed successfully!,说明您已成功安装。

1.6 我的问题记录【ExternalError: CUBLAS error(7)】解决办法

由于我创建环境后,采用paddle官方推荐的conda 安装命令安装的(也可能不是命令的原因,也可能就是采用conda安装的话,与conda base环境冲突)导致的。会报1.3中提到的问题(ExternalError: CUBLAS error(7))。查了issues[Conda 安装 Paddle 出现 CUBLAS error(7) 错误,使用 pip 在相同环境相同版本安装 Paddle 能成功 · Issue #49891 · PaddlePaddle/Paddle · GitHub],发现有人采用pip安装,就不存在这个问题了。抱着试一试的心态尝试了一下,然后就正常输出了包含 PaddlePaddle is installed successfully! 的打印信息。详细打印如下

python

打印如下

Python 3.8.18 (default, Sep 11 2023, 13:40:15)
[GCC 11.2.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.

代码

import paddle

打印如下:看起来并没有报错

/home/mec/anaconda3/envs/pip_paddle_env/lib/python3.8/site-packages/setuptools/sandbox.py:13: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  import pkg_resources
/home/mec/anaconda3/envs/pip_paddle_env/lib/python3.8/site-packages/pkg_resources/__init__.py:2871: DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('mpl_toolkits')`.
Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
  declare_namespace(pkg)
/home/mec/anaconda3/envs/pip_paddle_env/lib/python3.8/site-packages/pkg_resources/__init__.py:2871: DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('google')`.
Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
  declare_namespace(pkg)

命令

paddle.utils.run_check()

打印如下

Running verify PaddlePaddle program ...
W1219 17:45:01.753715 4013260 gpu_resources.cc:61] Please NOTE: device: 0, GPU Compute Capability: 8.6, Driver API Version: 11.6, Runtime API Version: 11.6
W1219 17:45:01.763911 4013260 gpu_resources.cc:91] device: 0, cuDNN Version: 8.4.
PaddlePaddle works well on 1 GPU.
PaddlePaddle works well on 1 GPUs.
PaddlePaddle is installed successfully! Let's start deep learning with PaddlePaddle now.

你可能感兴趣的:(paddle)