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

本文主要是介绍非 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的可用:

这篇关于非 congda 环境 ubuntu 22.04 源码编译安装 pytorch 并初步检查可用性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1126251

相关文章

Java 正则表达式URL 匹配与源码全解析

《Java正则表达式URL匹配与源码全解析》在Web应用开发中,我们经常需要对URL进行格式验证,今天我们结合Java的Pattern和Matcher类,深入理解正则表达式在实际应用中... 目录1.正则表达式分解:2. 添加域名匹配 (2)3. 添加路径和查询参数匹配 (3) 4. 最终优化版本5.设计思

pytorch自动求梯度autograd的实现

《pytorch自动求梯度autograd的实现》autograd是一个自动微分引擎,它可以自动计算张量的梯度,本文主要介绍了pytorch自动求梯度autograd的实现,具有一定的参考价值,感兴趣... autograd是pytorch构建神经网络的核心。在 PyTorch 中,结合以下代码例子,当你

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

如何在pycharm安装torch包

《如何在pycharm安装torch包》:本文主要介绍如何在pycharm安装torch包方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录在pycharm安装torch包适http://www.chinasem.cn配于我电脑的指令为适用的torch包为总结在p

在PyCharm中安装PyTorch、torchvision和OpenCV详解

《在PyCharm中安装PyTorch、torchvision和OpenCV详解》:本文主要介绍在PyCharm中安装PyTorch、torchvision和OpenCV方式,具有很好的参考价值,... 目录PyCharm安装PyTorch、torchvision和OpenCV安装python安装PyTor

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

pytorch之torch.flatten()和torch.nn.Flatten()的用法

《pytorch之torch.flatten()和torch.nn.Flatten()的用法》:本文主要介绍pytorch之torch.flatten()和torch.nn.Flatten()的用... 目录torch.flatten()和torch.nn.Flatten()的用法下面举例说明总结torch