当前位置: 首页 > news >正文

非 congda 环境 ubuntu 22.04 源码编译安装 pytorch 并初步检查可用性

非 congda 环境 编译安装 pytorch

0, 安装 cuda sdk ,cudnn 及 nccl

按照官网步骤,blacklist需要特别注意

0.1 cuda sdk

0.2 cudnn

0.3 安装nccl

git clone --recursive https://github.com/NVIDIA/nccl.git
ls
cd nccl/
make -j src.build
sudo apt install build-essential devscripts debhelper fakeroot
make pkg.debian.build
sudo dpkg -i  build/pkg/deb/libnccl2_2.22.3-1+cuda12.3_amd64.deb 
sudo dpkg -i  build/pkg/deb/libnccl-dev_2.22.3-1+cuda12.3_amd64.deb

注:

cudnn 9.x不需要登陆开发者账户即可 wget 下载,按照官网 类似 cuda sdk 安装方法,wget到如下两个文件:

验证cuda ,这台是个笔记本:

验证cudnn的可用性:
 

cp -r /usr/src/cudnn_samples_v9/  ./tmp/cd tm/cudnn_samples_v9/mkdir buildcd buildcmake ..

执行 multiHead...测试:

如果编译上面的示例时,提示找不到 cudnn,这注释掉 top 的 CMakelists.txt 的这一行:

1, 下载 pytorch 源代码

git clone --recursive https://github.com/pytorch/pytorch
cd pytorch
# if you are updating an existing checkout
git submodule sync
git submodule update --init --recursive


2, 安装cmake 3.30

 新的pytorch 需要依赖3.27及其以上 cmake


$ sudo apt install libssl-dev
$ wget  https://github.com/Kitware/CMake/releases/download/v3.30.3/cmake-3.30.3.tar.gz$ tar xf v3.30.3/cmake-3.30.3.tar.gz
$ cd cmake-3.30.3/
$ ./bootstrap
$ make -j
$ sudo make install

3, 预备环境

在非conda 环境,即普通环境中安装依赖包:

pip install mkl-static mkl-include -i https://pypi.tuna.tsinghua.edu.cn/simplepip  install numpy ninja pyyaml mkl mkl-include setuptools cmake cffi typing_extensions future six requests dataclasses -i https://pypi.tuna.tsinghua.edu.cn/simple

4, 编译安装pytorch

4.1 检查 nvcc

检查nvcc是否可以执行:

$ nvcc

如果不能执行,则设置 PATH:


 

$ export PATH=/usr/local/cuda/bin:$PATH

4.2 编译release版本的 pytorch 并出错

配置C++


 

$ export _GLIBCXX_USE_CXX11_ABI=1

清理之前的编译并配置

$ python setup.py clean
$ python setup.py build --cmake-only

如果系统中同时存在ROCm和cuda 环境,则选择屏蔽 ROCm:

$ USE_ROCM=OFF python setup.py build --cmake-only


编译pytorch
 

$ python setup.py install

如果编译成功,则会报安装权限不够:


 

$ sudo python setup.py install

由于编译器错误,产生一个错误:

builtin_xxx

故编译一个 debug版本的

4.3 编译一个 DEBUG版本的pytorch


编译 debug 版本的 pytorch

$ export _GLIBCXX_USE_CXX11_ABI=1$ python setup.py clean$ USE_ROCM=OFF DEBUG=1  python setup.py build --cmake-only
$ DEBUG=1 python setup.py install

主要是其中这句要加DEBUG=1:

USE_ROCM=OFF DEBUG=1  python setup.py build --cmake-only

安装:

$ DEBUG=1 sudo  python setup.py install

5. 验证可用性

打印 torch 版本,并验证cuda gpu的可用:


http://www.mrgr.cn/news/16519.html

相关文章:

  • 【计组 | Cache原理】讲透Cache的所有概念与题型方法
  • 【使用 Python 的 Scapy 库解析网络数据包的一般步骤】
  • 独孤思维:自己不认可的项目就是垃圾
  • Context
  • Kimi 化身为你的私人翻译神器
  • 虚拟化设置和虚拟机相关的环境搭建
  • CF C. Candy Store
  • 如何接收请求数据
  • 用Starbound星际边界服务器开服联机
  • 网优学习干货:2.6G仿真操作(2)
  • kerberos 认证流程-理解
  • [国家新闻出版署]网络游戏防沉迷实名认证系统接口对接实例(Java版)
  • 让电脑屏幕保持常亮
  • keil5烧录后不自动复位和Flash Download failed - “Cotex-M3“报错解决
  • 使用python导出Excel表格中的lua配置
  • 掌握EF Core:全方位面试指南,助你从初级到高级轻松晋级
  • C++单例模式与特殊类的设计
  • Java面试自我介绍
  • 每日一题——第六十八题
  • 指针空值类型-nullptr