ubuntu18.04源码编译pytorch1.0.0的血泪史->关于gcc和pytorch以及ubuntu版本问题

(写在前面的废话)
还没开始写代码就在ubuntu的安装环境里爬不出来了,四天面对屏幕,老眼昏花。
按照复现代码要求配置了cuda9.0的环境,然后就开始了源码编译pytorch的不归路

先附上我成功安装的配置

ubuntu18.04
cuda9.2
pytorch1.0.0
gcc 7.5.0

第一关:submodule部分文件丢失

git clone submodulem --recursure老是中断,尽管努力补救了,依旧有一些小的文件夹莫名丢失,更别提编译了。

于是乎:我翻墙下载对应的文件跟模块下了下来,不得不说外网链接github就很稳定。

第二关:编译

终于开始编译了,编译一半就断,各种网上搜,各种改。改来改去终于让我找到了问题根本点!---->>gcc以及g++版本。在我运行中除了各种格式报错让我不知所措外,还有比较明显的提示(奈何我是个菜鸟)。

gcc版本切换

cuda9.0要求gcc编译器的版本<6,当我用小于6的gcc,它又报错ubuntu17.04以上的需要用gcc>6。
综上判断源代码用的16.04的ubuntu(震惊,我怎么晓得,哭了)

于是乎:换做cuda9.2,成功编译。

所以!cuda9.0和pytorch1.0不能同时安装在ubuntu18.04上!

最后一关: ImportError: No module named _C

咋个事?编译完了一个错都没,咋还import不了torch
于是乎:退出目前编译源码路径的shell,重新开一个terminal,import成功!!!

### 回答1: PyTorch 是一个用于科学计算和深度学习的 Python 库,它能够在 CPU 和 GPU 上高效地运行。PyTorch 通过使用类似 NumPy 的语法和动态计算图来简化了深度学习模型的实现。 CUDA 是 NVIDIA 开发的用于高性能计算的并行计算平台和编程模型,它使得程序能够在 NVIDIA GPU 上并行执行。CUDA 能够显著提高深度学习模型的训练速度。 GCC 是 GNU Compiler Collection 的缩写,它是一款优秀的开源编译器,支持多种编程语言,如 C、C++、Objective-C、Java、Ada 和 Fortran 等。在 Linux 上,GCC 通常是默认的 C/C++ 编译器。 PyTorch 可以与 CUDA 和 GCC 一起使用,以便在 GPU 上加速深度学习模型的训练和推断。要在 PyTorch 中使用 CUDA,您需要安装适当的 CUDA 版本和 CuDNN 库。要在 PyTorch 中使用 GCC,您需要确保安装了合适的版本,并且将其配置为默认编译器。 ### 回答2: PyTorch和CUDA GCC是不同的软件工具。PyTorch是一个用于深度学习的开源框架,而CUDA GCC是用于编译和优化CUDA代码的编译器工具。 PyTorch版本与CUDA GCC版本之间没有直接的对应关系。PyTorch有自己的版本号体系,用于区分不同的发布版本。每个PyTorch发布版本都可以兼容一定范围内的CUDA运行时版本。 而CUDA GCC版本则与NVIDIA的CUDA Toolkit版本相关联。CUDA Toolkit提供了用于开发和运行CUDA应用程序的一系列工具和库。每个CUDA Toolkit版本都包含了特定的CUDA GCC版本,用于编译CUDA代码。 在选择PyTorch和CUDA GCC版本时,应该首先了解两者的兼容性。一般来说,PyTorch的官方文档会明确指出支持的CUDA版本范围。同时,NVIDIA官方也会在CUDA Toolkit的文档中列出支持的CUDA GCC版本。 为了确保PyTorch与CUDA GCC的兼容性,应该选择满足两者要求的版本。在安装PyTorch时,可以通过指定合适的CUDA版本来确保PyTorch与CUDA GCC的兼容性。 总结而言,PyTorch和CUDA GCC是两个相互独立的工具,没有直接的版本对应关系。在选择版本时,要注意PyTorch和CUDA GCC的兼容性,以确保代码的正常运行。 ### 回答3: PyTorch和CUDA的版本之间是有对应关系的。PyTorch是一个使用GPU加速的深度学习框架,而CUDA是NVIDIA公司提供的GPU并行计算平台和编程模型。 PyTorch版本通常会与其所支持的CUDA版本相对应。PyTorch的每个主要版本都会明确声明其所需要的最低CUDA版本。比如,PyTorch 1.8版本需要CUDA 10.2及以上的版本。也就是说,如果想要使用PyTorch 1.8,必须安装CUDA 10.2或更高版本的驱动和库。 需要注意的是,CUDA版本与GPU型号是一一对应的,并非所有老旧的GPU都支持最新的CUDA版本。因此,在选择PyTorch和CUDA版本时,还要考虑自己的GPU型号是否与目标CUDA版本兼容。 另外,GCC(GNU Compiler Collection)是一套开源的编程语言编译器集合,其中包含了C、C++等语言的编译器。与PyTorch和CUDA的版本对应无关,GCC版本的选择主要取决于操作系统和具体的代码编译要求。通常情况下,PyTorch和CUDA的版本并不要求特定的GCC版本。 总结而言,PyTorch和CUDA的版本有对应关系,PyTorch会明确声明所需的最低CUDA版本。而GCC编译器的版本选择与PyTorch和CUDA的版本无关,主要依赖于操作系统和编译需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值