build from source 安装 PyTorch及很多坑

本文详细记录了在驱动版本为384.98,CUDA 9.0的老系统上,通过源码编译安装PyTorch的过程。遇到的挑战包括驱动限制、conda环境搭建、CUDA与GCC升级、依赖安装及编译中的各种错误。文章总结了安装过程中的关键步骤和常见问题解决方案,旨在帮助读者在类似环境下顺利构建PyTorch。
摘要由CSDN通过智能技术生成

零、背景

1. 驱动版本极低

众所周知,GPU driver 决定 CUDA版本,CUDA版本决定PyTorch版本,这在很多古老的服务器或者集群上屡见不鲜。比如,我遇到的情况是

  • nvidia-driver是384.98,决定了CUDA版本上限是9.0,也就决定了PyTorch版本最多是1.1,很多mmlab的包起步PyTorch1.3,呵呵哒
  • 此外初始gcc是4.8.5,初始CUDA是8.0

是不是地狱开局?管理员拒绝更新,你只好瑟瑟发抖不知所措。

2. 初尝试

我自己用PyTorch官网的安装方法,

conda install pytorch==1.4.0 torchvision==0.5.0 cudatoolkit=9.2 -c pytorch

换过各种版本的CUDA,试了四个版本的PyTorch(1.3, 1.5, 1.7, 1.8),最后都是提示driver太老了
在这里插入图片描述

3. Build from source

最终呢,还是在导师的推荐下,自己摸索着build from source来安装PyTorch。踩过很多坑之后,我庄重的宣布,Build from source 还是只能装与driver版本相符的CUDA的PyTorch。

一、理解

所谓GPU与PyTorch

简单来说,显卡(GPU)是一个处理矩阵速度很快的硬件,这玩意需要一个叫做驱动(driver)的底层程序来控制。一个显卡可以支持若干个版本的driver,也就是说可以用多套控制系统来控制GPU这个硬件。Driver可以在NVIDIA官网进行下载和安装,但是需要sudo权限,本文不涉及这一块的内容。

但是我们所写的python是高级语言,不能直接控制driver,所以就需要CUDA这个通用并行计算架构来做“中间商”,也就是说,
p y t h o n ( p y t o r c h ) → C U D A → D r i v e r

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值