Pytorch nvcc fatal: 不支持的GPU架构 ‘compute_86’

Pytorch nvcc fatal: 不支持的GPU架构 ‘compute_86’

在本文中,我们将介绍PyTorch中遇到的一个常见问题,即”nvcc fatal: 不支持的GPU架构 ‘compute_86′”。我们将解释此问题的原因,并提供解决方案来解决这个问题。

阅读更多:Pytorch 教程

问题描述

当在PyTorch中使用GPU进行训练或推理时,有时会遇到此错误消息:”nvcc fatal: 不支持的GPU架构 ‘compute_86′”。这通常在尝试使用较新的GPU架构进行深度学习任务时发生,因为PyTorch默认不支持该GPU架构。

问题原因

这个问题的原因是PyTorch的CUDA工具链版本与您的GPU架构不兼容。CUDA是一种用于在GPU上运行并行计算的平台,而nvcc是CUDA的编译器。当我们在PyTorch中使用CUDA进行GPU加速时,PyTorch会使用nvcc编译我们的代码并在GPU上执行。但是,默认情况下,PyTorch可能不支持最新的GPU架构,并且不包含与该架构兼容的nvcc编译器。

解决方案

要解决这个问题,我们需要更新PyTorch和CUDA工具链。下面是解决此问题的几种可能方法:

方法一:更新PyTorch和CUDA

首先,您可以尝试通过更新PyTorch和CUDA来解决这个问题。请确保您安装了与您的GPU架构兼容的PyTorch和CUDA版本。您可以从PyTorch官方网站下载最新的发行版本,并从NVIDIA官方网站下载与您的GPU架构兼容的CUDA版本。

方法二:降低GPU架构版本

如果您无法更新PyTorch和CUDA,或者您需要在较旧的GPU架构上运行代码,您可以尝试降低您的GPU架构版本。通过在PyTorch代码中指定所需的GPU架构版本,您可以使其与您的GPU兼容。

以下是一个示例,展示如何在PyTorch代码中指定所需的GPU架构版本:

import torch
torch.cuda.set_architecture('sm_75')  # 将GPU架构设置为sm_75

# 在此处编写您的PyTorch代码
Python

在上面的示例中,我们使用torch.cuda.set_architecture()函数将GPU架构设置为”sm_75″。请注意,您应该将”sm_75″替换为您所需的实际GPU架构版本。

一旦您将所需的GPU架构版本设置为正确的值,PyTorch将使用与您指定的版本兼容的nvcc编译器,从而解决了”nvcc fatal: 不支持的GPU架构 ‘compute_86′”错误。

总结

“nvcc fatal: 不支持的GPU架构 ‘compute_86′”是在PyTorch中使用GPU进行深度学习任务时常见的错误。通常,这是因为PyTorch默认不支持您的GPU架构,导致与nvcc编译器不兼容。为了解决这个问题,您可以尝试更新PyTorch和CUDA,或者降低所需的GPU架构版本。通过遵循上述解决方案,您将能够成功解决这个问题,使用PyTorch进行GPU加速的深度学习任务。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册