【详细】摸索了三次后总结的安装CUDA的方法,一气呵成使用GPU跑代码

2023-05-16

第一次安装的时候真的是纯小白,各种概念都不懂,只知道使用GPU跑代码需要安装CUDA。弯路走了不少,前前后后被虐了一周,安装的非常艰辛,且混乱;

第二次安装是在同学电脑上,又绕了些弯路,不过这次只花了半天时间,当时非常自豪来着。

这次是第三次安装,有了第二次的经验,安装的非常非常顺利,可谓一气呵成。现在把过程发过来,是我的第一篇CSDN。有点点激动。

步骤简述

1.确认有Nvidia GPU

2.升级驱动程序

3.安装CUDA

4.安装GPU版Pytorch

关键:版本一定要对应,各个地方版本都要对应。最好经常查看与确认版本。

详细过程:

1.确认有GPU

在任务管理器-性能中,看GPU1中的型号。(GPU1是独显,GPU0是集显)

 

2.升级驱动程序:

官网下载,教程可参考:(51条消息) Windows更新NVIDIA显卡驱动_nvidia安装选显卡驱动还是图形驱动_振华OPPO的博客-CSDN博客

之后检查版本号。在NVIDIA控制面板,这里的版本显示472.84.

 

3.安装CUDA。

查看对应CUDA版本:

看这张表即可。(下图的表中能找到就行,可以不看原网址:CUDA 12.0 Release Notes — cuda-toolkit-release-notes 12.0 documentation (nvidia.com))

如刚刚版本472.84,在表中对应一下,发现>=452.39,可以安装CUDA11.8x。

官网下载对应CUDA:CUDA Toolkit Archive | NVIDIA Developer

注意点击与刚刚匹配的版本。这里是CUDA11.8。

 下载完双击安装即可。

检查是否安装成功:

搜索栏输入cmd回车(进入cmd),输入nvidia-smi

即可得到如图所示。这里显示的CUDA11.8,即安装成功。

 

4.安装GPU版torch。注意一定要下载对应版本!

确认CUDA型号与python版本,在下面的网址下载GPU版torch。(我之前官网下的有问题,推荐从这个网址下)

(另外,在这一步想查看torch版本的,可以在pythonpip下载torch,然后终端print版本,如x.xx.x+cpu,则说明是cpu版本的torch。安装好GPUtorch后,再重复这个步骤会显示x.xx.x+cu118

去网址 https://download.pytorch.org/whl/torch/ 下载gpu版本。在里面仔细找一下,名称中cu118代表cuda11.8cp39代表python3.9.(另外:上面链接只有torch,需要torchvision或者torchaudio的可以在这里找:https://download.pytorch.org/whl/torch_stable.html)

 

下载完gputorch后,在pythonpip安装

 pip install .\torch-1.13.0+cu116-cp39-cp39-win_amd64.whl (注意,名称要换成刚刚下载的版本)

安装好后,可以在终端pip list 在列表中找寻并查看torch安装的版本。

 最后,在终端

import torch,print(torch.__version__),print(torch.version.cuda),print(torch.cuda.is_available())

显示true则大功告成~

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【详细】摸索了三次后总结的安装CUDA的方法,一气呵成使用GPU跑代码 的相关文章

  • TensorFlow的./configure在哪里以及如何启用GPU支持?

    在我的 Ubuntu 上安装 TensorFlow 时 我想将 GPU 与 CUDA 结合使用 但我却停在了这一步官方教程 http www tensorflow org get started os setup md 这到底是哪里 con
  • 如何运行和理解CUDA Visual Profiler?

    我已经设置了 CUDA 5 0 并且我的 CUDA 项目运行良好 但我不知道如何使用 Visual Profiler 分析我的 CUDA 项目 如何运行它 我还需要安装更多吗 又该如何做呢 我的电脑使用Window 7 64位 CUDA 5
  • OS X 10.8 上的 PyCuda / 多处理问题

    我正在开发一个项目 将计算任务分配给多个 python 进程 每个进程都与其自己的 CUDA 设备关联 生成子进程时 我使用以下代码 import pycuda driver as cuda class ComputeServer obje
  • cuda-gdb 错误消息

    我尝试使用 cuda gdb 调试我的 CUDA 应用程序 但遇到了一些奇怪的错误 我设置了选项 g G O0构建我的应用程序 我可以在没有 cuda gdb 的情况下运行我的程序 但没有得到正确的结果 因此我决定使用 cuda gdb 但
  • 有没有好的 GLSL 哈希函数?

    所以我对这个问题的古老评论仍然得到了支持 GLSL rand 这一行代码的起源是什么 https stackoverflow com questions 12964279 whats the origin of this glsl rand
  • XGBoostError:[10:10:03] /workspace/src/tree/updater_gpu_hist.cu:1407:gpu_hist 中的异常:NCCL 失败

    PROJECT Nvidia 开发者项目 https developer nvidia com blog gradient boosting decision trees xgboost cuda 在 Google Colab 环境中 MY
  • CUDA Thrust 的多 GPU 使用

    我想使用我的两张显卡通过 CUDA Thrust 进行计算 我有两张显卡 在单卡上运行对于两张卡都适用 即使我在 std vector 中存储两个 device vector 也是如此 如果我同时使用两张卡 循环中的第一个周期将起作用并且不
  • Tensorflow 训练期间 GPU 使用率非常低

    我正在尝试为 10 类图像分类任务训练一个简单的多层感知器 这是 Udacity 深度学习课程作业的一部分 更准确地说 任务是对各种字体呈现的字母进行分类 数据集称为 notMNIST 我最终得到的代码看起来相当简单 但无论如何我在训练期间
  • CUDA计算能力2.0。全局内存访问模式

    CUDA 计算能力 2 0 Fermi 全局内存访问通过 768 KB L2 缓存进行 看起来 开发人员不再关心全局内存库 但全局内存仍然非常慢 因此正确的访问模式很重要 现在的重点是尽可能多地使用 重用 L2 我的问题是 如何 我将感谢一
  • CUDA 添加矩阵的行

    我试图将 4800x9600 矩阵的行加在一起 得到一个 1x9600 的矩阵 我所做的是将 4800x9600 分成 9 600 个矩阵 每个矩阵长度为 4800 然后我对 4800 个元素进行缩减 问题是 这真的很慢 有人有什么建议吗
  • NVCC 警告级别

    我希望 NVCC 将以下警告视为错误 warning calling a host function foo from a host device function bar NVCC 文档 NVIDIA CUDA 编译器驱动程序 NVCC
  • 使用 GPU 进行 Matlab 卷积

    我用gpuArray尝试了matlab的卷积函数conv2 convn 例如 convn gpuArray rand 100 100 10 single gpuArray rand 5 single 并将其与 cpu 版本 convn ra
  • 将内核链接到 PTX 函数

    我可以使用 PTX 文件中包含的 PTX 函数作为外部设备函数 将其链接到另一个应调用该函数的 cu 文件吗 这是另一个问题CUDA 将内核链接在一起 https stackoverflow com questions 20636800 c
  • 我们如何在每次运行时使用不同的种子在 CUDA C 中生成随机数?

    我正在研究一个随机过程 我想在每次运行程序时在 CUDA 内核中生成不同的系列随机数 这类似于我们在 C 中声明 种子 时间 空 接下来是 srand 种子 和兰特 我可以通过内核将种子从主机传递到设备 但是 这样做的问题是我必须将整个种子
  • 布尔实现的atomicCAS

    我想弄清楚是否存在错误答案 https stackoverflow com a 57444538 11248508 现已删除 关于Cuda like的实现atomicCAS for bool是 答案中的代码 重新格式化 static inl
  • 完全禁用 NVCC 优化

    我正在尝试测量 GPU 上的峰值单精度触发器 为此我正在修改 PTX 文件以在寄存器上执行连续的 MAD 指令 不幸的是 编译器正在删除所有代码 因为它实际上没有做任何有用的事情 因为我没有执行任何数据的加载 存储 是否有编译器标志或编译指
  • 如何从C++头文件调用CUDA文件?

    我知道从 c 文件调用 cu 文件的方法 但现在我想从 C 头文件调用 cu 文件 有可能做到吗 如果是这样 我应该如何设置我的项目 请帮忙 这是一个有效的例子 file1 h int hello file2 h include
  • 一维纹理内存访问比一维全局内存访问更快吗?

    我正在测量标准纹理和 1Dtexture 内存访问之间的差异 为此 我创建了两个内核 global void texture1D float doarray int size int index calculate each thread
  • 如何强制tensorflow使用所有可用的GPU?

    我有一个 8 GPU 集群 当我运行Kaggle 的一段 Tensorflow 代码 https www kaggle com keegil keras u net starter lb 0 277 scriptVersionId 2164
  • goto 指令对 CUDA 代码中扭曲内发散的影响

    对于CUDA中简单的warp内线程发散 我所知道的是SM选择一个重新收敛点 PC地址 并在两个 多个路径中执行指令 同时禁用未采用该路径的线程的执行效果 例如 在下面的代码中 if threadIdx x lt 16 A do someth

随机推荐