【学习AI-相关路程-工具使用-自我学习-NVIDIA-cuda-工具安装 (1)】

news2024/9/25 5:24:17

【学习AI-相关路程-工具使用-自我学习-NVIDIA-cuda (1)】

  • 1、前言
  • 2、环境配置
      • 1、对于jetson orin nx 的cuda环境
      • 2、对于Ubuntu 20.04下cuda环境
  • 3、自我总结-安装流程
    • 1、在ubuntu下,如果想使用cuda平台,应该注意什么 和 都安装什么
      • (1)系统要求
      • (2)硬件要求
      • (3)安装NVIDIA驱动
      • (4)安装CUDA
          • 1、参考视频
          • 2、下载链接
          • 3、选择版本
          • 4、根据自己电脑选择合适版本
          • 5、之后的安装命令
      • (5)安装cuDNN
          • 1、了解cuDNN
          • 2、下载对应版本cuDNN
          • 3、解压打开
          • 4、找到文件位置
          • 5、给文件“777”权限,命令复制文件
      • (6)配置环境变量
      • (7)验证安装
      • (8)软件依赖和开发软件
  • 4、知识了解
    • (1)cuda 与组件套装
    • (2)AI相关基础知识
  • 5、jetson 安装cuda
  • 6、ubuntn安装cuda
  • 7、细节部分
    • 1、参考视频-感谢
    • 2、降低版本问题
    • 3、运行hello world 项目问题
    • 4、其他版本安装失败问题
    • 5、装错其他版本要删除
    • 6、保证复制文档的时候,文件链接条件成立
  • 8、总结

1、前言

大致摸索了学习路线,但是学习一些概念的过程中,其实没有什么实感的,因为你只是学习东西,并没有什么抓手,让你实实在在感觉,你确实学习了些东西,但是又好像啥也没学,这种感觉很不好。

所以我们需要一个抓手,或者工具,至少可以写写代码,看看代码,让自己了解,AI相关编程是这个样子的,找到的就是cuda平台,对于我们来说,就是cuda套件。

以前学习c语言的时候,挺早以前,我们安装环境是vc++6,一些老程序员,还知道以下这个图标。
在这里插入图片描述

现在的话,就是visco的用的多些吧。
在这里插入图片描述

举这里例子,就是为了说明,我们现在可以通过学习使用cuda,来学习相关AI,这算是一个入口,开发总需要一个工具承载我们的想法。
在这里插入图片描述

2、环境配置

这里有两个环境:
一个是jetson orin NX 安装cuda环境。
一个是Ubuntu 20.04下安装cuda环境。

1、对于jetson orin nx 的cuda环境

一般来说,你要是有个Linux 系统电脑,只可以直接下载一个NVIDIA SDK MANAGER这样的jetson Orin NX 工具,图像界面操作,两天基本也就能基本明白了,这工具,就是自动帮助你完成对 jetson 系列的设备进行刷机,同时还可以安装好cuda等等工具。
在这里插入图片描述
工具链接:https://developer.nvidia.com/sdk-manager
在这里插入图片描述

2、对于Ubuntu 20.04下cuda环境

在ubuntu下,这种非英伟达出品的,一般自己安装环境就比较复杂,自己上网找了很多说明,才勉强安装上,并且有很多注意点,稍有问题就可能安装不成功,这和自己电脑有很多关系。

3、自我总结-安装流程

ubuntu下安装cuda,这块相当复杂,有时候你自己不问明白自己问题,你都不知道怎么做,并且不像使用sdk-manager工具刷jetson那样,工具列表什么的,人家都给你罗列好了,不行你可以反复刷。

1、在ubuntu下,如果想使用cuda平台,应该注意什么 和 都安装什么

(1)系统要求

如下图,所示,一般打开系统设置,基本能查到相关配置,如下两个信息比较关机,首先,你地有NVIDIA 英伟达的显卡才行,人家就是要跑在显卡上的,另外就是你操作系统“Ubuntu 20.04”,之后安装软件什么,都要根据这个信息来,否则真装不上啊。

在这里插入图片描述

就是确保你的Ubuntu版本与CUDA支持的版本相兼容。通常,NVIDIA会在其官方文档中列出支持的操作系统版本。

(2)硬件要求

就是你需要确保你的笔记本或者电脑上有英伟达硬件这个显卡。

  • NVIDIA GPU:确认你的GPU是NVIDIA的,并且支持CUDA。你可以在NVIDIA的官网查看你的GPU是否支持CUDA。
  • 足够的内存和处理器:安装CUDA工具套件和进行CUDA编程通常需要较高的系统资源。

命令行工具如下:

nvidia-smi

如下图中圈出来部分,安装的cuda版本不能高于此版本。
在这里插入图片描述

如果没有nvidia-smi这个工具,可以安装下。

sudo apt update
sudo apt install nvidia-driver

(3)安装NVIDIA驱动

我自己安装驱动,是在开始用这台电脑的时候,当时屏幕显示有问题,也上网查了许多,最后才搞定的。这块确实也记不住了,就是给显卡看着合适驱动。

具体命令差不多忘记了,如下给个参考吧

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-driver-xxx

在这里插入图片描述

(4)安装CUDA

1、参考视频

首先这里要感谢伙伴的指导,告诉自己有个相关视频,自己就是学习这个视频安装的。
视频链接:ubuntu 18.04 安装 CUDA 10.2以及cuDNN
在这里插入图片描述
我们安装上述视频尽量简化步骤,打开NVIDIA cuda网页,我们看到的基本如下,我们是无法直接安装最新版本的,因为不支持

2、下载链接

下载链接:https://developer.nvidia.com/cuda-downloads

在这里插入图片描述
所以我们选择其他版本。

3、选择版本

页面链接:https://developer.nvidia.com/cuda-toolkit-archive
在这里插入图片描述
这里我按照视频选择了版本10.2

在这里插入图片描述

4、根据自己电脑选择合适版本

之后就是按照自己电脑,选择合适版本,我自己笔记本是win系统改linux下,构架是x86_64位的,系统是Ubuntu的,版本是20.04可以选择版本18.04的,选择下载.deb包方式。就是如下图片了。
链接:https://developer.nvidia.com/cuda-10.2-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=deblocal
在这里插入图片描述
我们可以看到,下面其实已经列出来了,具体操作指令,如果,嫌慢,可按照视频说法,使用浏览器事先下载下来,然后再进行以下步骤安装。
在这里插入图片描述

5、之后的安装命令

将图片中的命令放在下面了

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda-repo-ubuntu1804-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-10-2-local-10.2.89-440.33.01/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda

以下为自己的尝试与努力

在这里插入图片描述

(5)安装cuDNN

1、了解cuDNN

之后就是安装cuSNN,可以理解为是一个软件库。如下图,其实第一句话也解释了,它就是为gpu提供的一个软件库。
文档链接:https://developer.nvidia.com/rdp/cudnn-archive
在这里插入图片描述

2、下载对应版本cuDNN

如下图所示,我们选择和视频里一样的版本,进行安装。
在这里插入图片描述

3、解压打开

在这里插入图片描述
如上图,我们解压后,进入后,就如下图,我们最终目的是,添加在cuda里对应文件
在这里插入图片描述

4、找到文件位置

如下图,如果没什么问题的话,我们应该可以在如下目录下,见到如下目录,安装视频博主所说,它只是一个链接,需要我们小心操作,如果这个符合没了,就基本重写安装了,或者很麻烦。
在这里插入图片描述

ls /usr/local/cuda-10.2/

在这里插入图片描述

5、给文件“777”权限,命令复制文件

这里我直接给出,过程截图。
在这里插入图片描述
(1)文件复制include

sudo cp -rf cudnn.h /usr/local/cuda-10.2/include/cudnn.h

在这里插入图片描述

(2)文件复制lib64

sudo cp -rf *  /usr/local/cuda-10.2/lib64/

在这里插入图片描述
(3)文件给权限
这里直接给出命令,大家在对应目录下进行操作,先复制后给权限,或者先给权限后复制都可以,命令是固定的,但人是活的。

sudo chmod 777 cudnn.h 
sudo chmod 777 libcudnn.so* libcudnn_static.a 

在这里插入图片描述

(4)以下是我自己操作
在这里插入图片描述

(6)配置环境变量

文件转移完后,就可以配置环境变量了,简单说就是在对于文件下,加入两行文本。
安装完成后,需要配置环境变量以便系统和其他程序能找到CUDA的安装路径:

export PATH=/usr/local/cuda-xx.x/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-xx.x/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

这里需要根据自己电脑安装情况,修改文本 。如下 为自己自己的内容
在这里插入图片描述
其中 框起来部分 就是 需要添加的,下边这块 没记错的话,是安装Anaconda中,自动出现的。

export PATH=/usr/local/cuda-10.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

(7)验证安装

完成上述步骤后,可以使用以下命令来验证CUDA是否安装成功:

nvcc -V

如下如果 出现相关条目基本,认为成 了。
在这里插入图片描述

(8)软件依赖和开发软件

我们注意到工具我们是安装成功,但是我们开发写代码还是没有,我们可以使用Python语言,或者是基于c++的,当然因为篇幅原因,我这里想下载下一篇。

本篇cuda以及套件工具安装。

开发方式可以选择python 或 c++ 。

4、知识了解

(1)cuda 与组件套装

这块见仁见智,网上有不同理解,自己按照自己学习方式,也可以有不同的理解。
这里给网上的一个链接作为参考吧。
博文链接:https://blog.csdn.net/qq_41094058/article/details/116207333
在这里插入图片描述

(2)AI相关基础知识

本篇其实我这里并没有过多,将AI相关基础知识。当时我们不只是要会使用工具,还是用了解其内部原理,这里我直接安装伙伴推荐的,即使现在不马上学习,后续这块该欠下的帐还是补回来的。

如下是伙伴推荐的文章:我这边,在一点点看。
相关链接:GitHub - WZMIAOMIAO/deep-learning-for-image-processing: deep learning for image processing including
在这里插入图片描述

5、jetson 安装cuda

这里就不在啰嗦一遍,直接看如下自己的另一篇文章就可以。
相关链接:【学习AI-相关路程-工具使用-NVIDIA SDK MANAGER==NVIDIA-jetson刷机工具安装使用 】

6、ubuntn安装cuda

上面在介绍具体步骤的时候,都已经说明了,这里就不过多说明了。

7、细节部分

1、参考视频-感谢

还是再次感谢伙伴的指导,自己跟着学习后,确实成功安装了工具。
视频链接:https://www.bilibili.com/video/BV1N54y1r71U/?spm_id_from=333.999.0.0
在这里插入图片描述

2、降低版本问题

这块再开始学习,想要安装cuda的时候,就有相关文章,就提到了,但是不了解什么意思,现在想来,就是想说,电脑版本和GPU版本都会影响你安装的cuda版本以及组件。

所以相关cuda安装文章,都会提到看自己系统配置问题,这块自己作为新手,就是看得云里雾里的,其实就是先确定自己电脑能安装什么版本,然后再去找相应版本,当然可以选项低于当前设备版本。
文章链接:https://blog.csdn.net/kunhe0512/article/details/125061911

3、运行hello world 项目问题

我们刚学习c语音或者其他编程的时候,都会弄个“hello world”的样例,运行下,因为篇幅原因,这里只是说cuda安装,AI里没有通用的“hello world”可以运行,但是我们自己可以搞个简单程序,使用cuda相关函数,来体验下。

这就是之后的文章了。

4、其他版本安装失败问题

如下图,最开始的时候,自己不是明白,以为只要安装最新的版本就完事了。
在这里插入图片描述

但是实际安装的过程中,总是显示安装失败,这里是就是版本不匹配问题,所以有时候,最近的版本不一定是我们能安装的版本。
在这里插入图片描述
如下是,查看这个cuda相关安装问题的日志。

jl@WJL-PC-ubuntu:~$ cat /var/log/cuda-installer.log 
[INFO]: Driver installation detected by command: apt list --installed | grep -e nvidia-driver-[0-9][0-9][0-9] -e nvidia-[0-9][0-9][0-9]
[INFO]: Cleaning up window
[INFO]: Complete
[INFO]: Checking compiler version...
[INFO]: gcc location: /usr/bin/gcc

[INFO]: gcc version: gcc version 7.5.0 (Ubuntu 7.5.0-6ubuntu2) 

[INFO]: Initializing menu
[INFO]: Setup complete
[INFO]: Components to install: 
[INFO]: Driver
[INFO]: 450.51.05
[INFO]: Executing NVIDIA-Linux-x86_64-450.51.05.run --ui=none --no-questions --accept-license --disable-nouveau --no-cc-version-check --install-libglvnd  2>&1
[INFO]: Finished with code: 256
[ERROR]: Install of driver component failed.
[ERROR]: Install of 450.51.05 failed, quitting

5、装错其他版本要删除

如果装错了其他版本,需要先清除其他版本,否则安装记得好像就会有问,以下命令供参考

 1724  sudo dpkg -r cuda-*
 1725  sudo dpkg -r cuda
 1726  sudo dpkg -r cuda-
 1727  sudo apt-get --purge remove "cuda*"

在这里插入图片描述

6、保证复制文档的时候,文件链接条件成立

如下,就是复制文件的时候,保证有如下图标,不要直接拖拽复制啥的,尽量用命令吧。
在这里插入图片描述

8、总结

从一团浆糊,到滤清思路,还是花了不少时间,总是因为版本不匹配问题安装失败,也是非常折磨人的。

不过滤清头绪,从新来看,再总结,清晰多了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1644694.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

企业开发基础--数据库

今天完成了数据库学习的全部内容,在事务,索引,范式中要有个人逻辑上的理解,也算是卡着点完成了大多数预期,还有一个Java游戏未完成,会后续补上。 之后的一周要完成34道数据库练习题以及JDBC,学…

台式电脑如何找ip地址和端口

随着互联网的深入发展和广泛应用,每台连接到网络的设备都需要一个独特的标识来确保数据传输的准确与高效。对于台式电脑来说,这个标识就是IP地址,而端口则是数据进出的通道。了解如何查找自己台式电脑的IP地址和端口,不仅有助于日…

森林消防泵:守护绿色生命线的无声战士/恒峰智慧科技

在广袤无垠的森林中,生命的绿色如同一块巨大的调色板,为世界增添了无尽的生机与活力。然而,这美丽的画卷也可能因一场突如其来的火灾而瞬间破碎。因此,有一群默默无闻的消防人员,他们配备的是一台台强大的森林消防泵&a…

LeetCode763:划分字母区间

题目描述 给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。 注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s 。 返回一个表示每个字符串片段的长度的列表。 …

C#知识|上位机UI设计-详情窗体设计思路及流程(实例)

哈喽,你好啊,我是雷工! 上两节练习记录了登录窗体和主窗体的实现过程,本节继续练习内容窗体的实现,以下为练习笔记。 01 详情窗体效果展示: 02 添加窗体并设置属性 在之前练习项目的基础上添加一个Windows窗体,设置名称为:FrmIPManage.cs 设置窗体的边框和标题栏的外…

母婴店运用商城小程序店铺的效果是什么

母婴市场规模高,还可与不少行业无缝衔接,尤其是以90后、00后为主的年轻人,在备孕生育和婴儿护理前后等整体流程往往不惜重金且时间长,母婴用品无疑是必需品,商家需要多方面拓展全面的客户及打通场景随时消费路径。 运…

YUM源仓库部署和NFS共享存储服务

一.YUM源仓库部署 1.YUM 概述 (1)是基于RPM软件包构建的软件更新机制 (2)可以自动解决依赖关系 (3)所有软件包有集中的YUM软件仓库提供 2.准备YUM源 (1)软件仓库的提供方式&…

CMakeLists.txt语法规则:提供信息的变量说明一

一. 简介 前面几篇文章学习了 CMakeLists.txt语法中 部分常用命令。 接下来学习CMakeLists.txt语法中部分常用变量,变量也是 cmake 中的一个重头戏,cmake 提供了很多内置变量。每一个变量都有它自己的含义,可以通过如下链接地址查询到所有…

大模型的概念与特点

在人工智能的浩瀚星空中,大模型犹如一颗璀璨的明星,引领着技术发展的方向。它们以巨大的参数规模和复杂的计算结构,展现出前所未有的智能潜力。本小节将从大模型的基本概念出发,逐步深入解析其发展历程、特点、分类以及泛化与微调…

【数据库原理及应用】期末复习汇总高校期末真题试卷03

试卷 一、选择题 1 数据库中存储的基本对象是_____。 A 数字 B 记录 C 元组 D 数据 2 下列不属于数据库管理系统主要功能的是_____。 A 数据定义 B 数据组织、存储和管理 C 数据模型转化 D 数据操纵 3 下列不属于数据模型要素的是______。 A 数据结构 B 数据字典 C 数据操作 D…

Docker 入门与实践:从零开始构建容器化应用环境

Docker 一、docker常用命令docker ps 格式化输出Linux设置命令别名 二、数据卷相关命令挂载到默认目录(/var/lib/docker)挂载到本地目录 三、自定义镜像Dockerfile构建镜像的命令 四、网络自定义网络 五、DockerCompose相关命令 一、docker常用命令 dock…

FreeRTOS为什么要区分任务函数和中断函数?

在我们之前的学习中,队列,信号量,互斥量,事件组,任务通知,它们都有两套函数,在任务中使用或在中断中使用。 1.为什么要用两套函数? 情景1: 我们在写队列的时候等待100…

CDGA|企业的不同阶段如何做数据治理?

随着数字化时代的到来,数据已经成为企业运营和决策的核心要素。因此,数据治理成为企业在不同阶段必须面对的重要课题。 本文将探讨企业在初创期、成长期、成熟期和转型期四个阶段应如何进行数据治理。 初创期:建立数据治理基础 在初创期&…

电子电器架构 --- 主机厂产线的两种刷写方法

电子电器架构 — 主机厂产线的两种刷写方法 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证…

Linux——基础IO2

引入 之前在Linux——基础IO(1)中我们讲的都是(进程打开的文件)被打开的文件 那些未被打开的文件呢? 大部分的文件都是没有被打开的文件,这些文件在哪保存?磁盘(SSD) OS要不要管理磁盘上的文件?(如何让OS快速定位一个文件) 要…

数据库基本概念Day01--基本概念

目录 一. 数据库的基本概念 1. 数据 2. 数据库 3. 数据库管理系统 4. 数据库应用程序 5. 数据库管理员 6. 最终用户 7. 数据库系统 一. 数据库的基本概念 1. 数据 数据(Data)是指:对客观事物进行描述并乐意鉴别的符号。这些符号可识别的、抽…

PN结击穿与电容效应分析

PN结是半导体器件中的一个基本结构,它由P型半导体和N型半导体紧密接触并相互结合在一起形成。P型半导体富含空穴(正电荷载体),是通过掺入受主杂质原子得到的;而N型半导体富含自由电子(负电荷载体&#xff0…

计算机嵌入式实习一定要掌握这些知识

在进行计算机嵌入式实习时,掌握以下这些知识是至关重要的! 当你踏入嵌入式领域的大门,首先需要扎实掌握嵌入式系统基础,这是整个嵌入式开发的根基。同时,C 语言和 C编程也是必不可少的技能。C 语言以其高效的性能和与…

上传文件到 linux

一、mac 法一:scp 先进入mac的 Node_exporter文件(要上传的文件)目录下 输入scp -P 端口号 文件名 rootIP:/存放路径 scp -P 22 node_exporter-1.8.0.linux-amd64.tar.gz root192.***.2:/root 法二、 rz mac 安装 lrzsz,然后…

《OriginBot V2.0.2新功能体验::Froxglove》

0x00 官方通知; 最新消息:OriginBot V2.0.2版本正式发布,新增Webviz可视化,点击查看 0x01 Webviz基本概念; Webviz和rviz一样都是ROS开发中的可视化利器。区别在于rviz只能运行在ros环境中,而Webviz可能多…