CUDA Install--Configure

CUDA环境正确设置

要确保你的系统环境变量正确设置,以包含CUDA 12.2的路径,可以按照以下步骤操作

步骤1:编辑.bashrc文件

打开并编辑你的.bashrc文件,以确保环境变量正确设置。

nano ~/.bashrc

在文件末尾添加以下内容:

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

 

保存并退出编辑器(对于Nano编辑器,按Ctrl+O然后按Enter,最后按Ctrl+X退出)。

步骤2:更新环境变量

加载新的环境变量设置:

source ~/.bashrc

步骤3:验证环境变量

验证PATHLD_LIBRARY_PATH是否正确设置:

echo $PATH
echo $LD_LIBRARY_PATH

你应该看到输出包含/usr/local/cuda-12.2/bin/usr/local/cuda-12.2/lib64

步骤4:添加到/etc/ld.so.conf并运行ldconfig

如果你想确保系统全局的共享库路径设置,可以编辑/etc/ld.so.conf并添加CUDA库路径,然后运行ldconfig

  1. 打开并编辑/etc/ld.so.conf文件:

sudo nano /etc/ld.so.conf

2.  在文件末尾添加以下行:

/usr/local/cuda-12.2/lib64

  • 保存并退出编辑器。

  • 运行ldconfig以更新共享库缓存:

sudo ldconfig

 

要检查系统中CUDA共享库(.so文件)的路径和版本,可以使用以下几种方法:

方法1:使用ldconfig

ldconfig命令用于配置动态链接库的运行时链接路径。你可以用它来列出系统中已缓存的共享库,并检查CUDA库是否包含在其中。

sudo ldconfig -p | grep cuda

示例输出:

    libcuda.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcuda.so.1
    libcuda.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcuda.so

方法2:使用find命令

使用find命令查找CUDA库文件在系统中的具体位置:

sudo find /usr -name "libcudart.so*" -o -name "libcublas.so*" -o -name "libcufft.so*" -o -name "libcurand.so*" -o -name "libcusolver.so*" -o -name "libcusparse.so*" -o -name "libcudnn.so*" -o -name "libnvrtc.so*" -o -name "libnvToolsExt.so*"

方法3:检查CUDA安装目录

如果你知道CUDA的安装目录,可以直接在该目录下查找.so文件。例如,假设CUDA安装在/usr/local/cuda,你可以查看其下的lib64目录:

ls /usr/local/cuda/lib64 | grep ".so"

方法4:检查环境变量

确保你的环境变量设置正确,指向CUDA库的路径。你可以使用echo命令来检查:

echo $LD_LIBRARY_PATH

输出应包含/usr/local/cuda-12.2/lib64

Python示例:

创建一个名为test_cuda.py的文件:

import pycuda.driver as cuda
import pycuda.autoinit

print("CUDA Version: ", cuda.get_version())

python test_cuda.py

卸载CUDA

可以按照以下步骤进行。这里提供了两种常见的CUDA安装方法的卸载指南:通过包管理器(如APT)和通过运行时安装(直接下载的.run文件)。

方法1:通过包管理器卸载CUDA

如果你是通过包管理器(如APT)安装的CUDA,可以使用以下命令来卸载:

1.1 卸载CUDA和NVIDIA驱动程序

 

sudo apt-get --purge remove "cuda-*" "nvidia-*"

1.2 卸载所有相关库和工具

sudo apt-get autoremove
sudo apt-get autoclean

方法2:通过.run文件卸载CUDA

如果你是通过下载的.run文件安装的CUDA,可以按照以下步骤卸载:

2.1 找到安装的CUDA版本

首先找到你安装的CUDA版本的路径,通常位于/usr/local/cuda或类似位置。

2.2 运行卸载脚本

sudo /usr/local/cuda-<version>/bin/uninstall_cuda_<version>.pl

<version>替换为实际安装的CUDA版本号,例如11.712.2

删除环境变量设置

如果你在.bashrc.zshrc文件中添加了CUDA的路径,需要将这些设置移除。

3.1 编辑.bashrc.zshrc文件

nano ~/.bashrc

3.2 移除与CUDA相关的行

找到并删除如下行:

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

3.3 保存并退出编辑器

对于Nano编辑器,按Ctrl+O然后按Enter保存,接着按Ctrl+X退出。

3.4 更新环境变量

source ~/.bashrc

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

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

相关文章

LeetCode 35, 242, 994

目录 35. 搜索插入位置题目链接标签思路代码 242. 有效的字母异位词题目链接标签思路代码 994. 腐烂的橘子题目链接标签思路代码 35. 搜索插入位置 题目链接 35. 搜索插入位置 标签 数组 二分查找 思路 本题与 704. 二分查找 十分相似&#xff0c;只不过本题在找不到 tar…

llama2阅读: logits是什么?

Logits是一个在深度学习中&#xff0c;几乎一直都有的概念&#xff0c;它意味着模型unnormalized final scores. 然后你可以通过softmax得到模型针对你class的概率分布。 而在llama2的代码中&#xff0c;同样有logits的使用&#xff0c;那么针对llama2&#xff0c;logits的作用…

centos7.9安装redis

安装redis mkdir redis sudo yum install epel-release -y sudo yum update -y sudo yum install redis -y sudo systemctl start redis sudo systemctl enable redis redis-cli ping sudo yum install gcc make -y wget http://download.redis.io/releases/redis-6.0.9.tar.…

CF构造题

1900-2100 1.Arithmancy (Easy) 注意题目要求唯一对应&#xff0c;也就是不能存在两种选择使得这两种选择的"power"都是一样的 Ans && Conclusion

零知识证明;电路,编码,多项式是什么;零知识验证流程

目录 零知识证明怎么应用到神经网络模型不变的验证中 应用背景 应用过程 举例说明 技术挑战与解决方案 实际应用案例 零知识中,电路,编码,多项式是什么 电路(Circuit) 编码(Coding) 多项式(Polynomial) 零知识中涉及的概念 零知识验证流程 零知识证明怎么…

Sequelize 操作 MySQL 数据库

安装 npm install --save sequelize安装驱动程序&#xff1a; npm install --save mysql2连接到数据库 要连接到数据库,必须创建一个 Sequelize 实例. 这可以通过将连接参数分别传递到 Sequelize 构造函数或通过传递一个连接 URI 来完成&#xff1a; const {Sequelize} re…

ActiViz实战:vtkMath中的陷阱

文章目录 一、vtkMath简介二、vtkMath在C#中的使用三、C#版本vtkMath的陷阱四、vtkPlane同理五、总结一、vtkMath简介 vtkMath是VTK(Visualization Toolkit)库中的一个核心类,它提供了一系列用于执行基本数学运算和高级数学计算的静态方法。这个类主要用于矢量和矩阵运算,…

Canal架构以及使用规范

Canal架构以及使用规范 一、Canal的作用 相关文档&#xff1a;GitHub - alibaba/canal: 阿里巴巴 MySQL binlog 增量订阅&消费组件 MySQL主备复制原理 MySQL master 将数据变更写入二进制日志( binary log, 其中记录叫做二进制日志事件binary log events&#xff0c;可…

Gitlab代码管理工具安装配置

前言&#xff1a; 没有真正的证书与域名建议使用httpip的方式在内网使用&#xff0c;不建议使用假的域名地址 一、安装前配置 #更改主机域名 hostnamectl set-hostname gitlab.dome.com bash #配置hosts 底部添加下面内容 vim /etc/hosts ############################ ip gi…

Stowaway搭建隧道打CFS内网靶场

目录 渗透带出主机阶段 先把我们的服务端上传到kali ​先把我们的客户端上传到目标机 客户端去连接我们的kali机端口去上线 出现admin&#xff0c;上线成功 detail相当于msf的sessions​ 和msf差不多功能&#xff0c;但是我们用它主要是搞隧道代理 抓发的 ​开启socks…

Pytorch中分类回归常用的损失和优化器

Pytorch中分类回归常用的损失和优化器 在机器学习和深度学习中&#xff0c;分类任务和预测任务&#xff08;回归任务&#xff09;有不同的常用损失函数和优化器。下面将详细介绍这些常用的损失函数和优化器。 分类任务 1. 损失函数 交叉熵损失&#xff08;Cross-Entropy Los…

07-7.1.1 查找的基本概念

&#x1f44b; Hi, I’m Beast Cheng &#x1f440; I’m interested in photography, hiking, landscape… &#x1f331; I’m currently learning python, javascript, kotlin… &#x1f4eb; How to reach me --> 458290771qq.com 喜欢《数据结构》部分笔记的小伙伴可以…

Elasticsearch 自定义评分和脚本评分

在Elasticsearch中&#xff0c;默认的评分机制&#xff08;如BM25算法&#xff09;在大多数情况下能够提供良好的搜索结果排序。然而&#xff0c;在某些特定场景下&#xff0c;我们可能需要根据业务需求对搜索结果进行更精细化的排序。这时&#xff0c;Elasticsearch提供了自定…

C++ 进程间通信举例

C++进程通信 C++ 中的进程间通信(IPC)可以通过多种方式实现,包括管道、消息队列、共享内存和信号等。以下是每种方法的详细示例和说明。 总结 上述示例展示了 C++ 中几种常见的进程间通信方法。根据不同的应用场景,可以选择合适的 IPC 机制: 管道(Pipe):适用于父子进…

序列化是什么 为什么要序列化 何时序列化

目录 序列化是什么 为什么要用序列化 什么时候用序列化 序列化是什么 序列化(Serialization)是指将数据结构或对象的状态信息转换为可以存储或传输的形式的过程,比如将Java对象转化成字节流(二进制流)。这个状态信息包括对象的字段(包括基本类型和对象引用)以及对象的类…

Android | RxJava 中的调度器(Schedulers)的主要作用是什么?

RxJava 中的调度器&#xff08;Schedulers&#xff09;的设计主要是为了帮助开发者有效地管理和控制异步操作的执行线程&#xff0c;以提高应用程序的响应性和用户体验。虽然防止卡顿是其中一个重要的方面&#xff0c;但调度器的作用不仅限于此。 主要作用包括&#xff1a; 响…

[终端安全]-4 移动终端之硬件架构安全

1 移动终端硬件架构 上图图展示了典型移动终端硬件架构&#xff0c;包括应用处理器&#xff08;AP&#xff09;、基带处理器&#xff08;BP&#xff09;以及各类共享组件和外设&#xff0c;所有组件通过AXI总线&#xff08;和APB桥&#xff09;连接在一起。以下分别介绍基于整…

HTML+CSS+JavaScript入门学习

目录 1. 前言2. HTML2.1 HTML简介2.2 HTML标签 3. CSS3.1 CSS知识整理及总结3.2 CSS之flex布局 4. JavaScript4.1 JavaScript知识整理及总结1-基础篇4.2 JavaScript知识整理及总结2-进阶篇 1. 前言 本文主要采用转载的形式&#xff0c;偶尔发现了一个比较不错的博客站点&#…

WPS+Python爬取百度之星排名

运行效果 手动拉取 https://www.matiji.net/exam/contest/contestdetail/146 如果手动查找&#xff0c;那么只能通过翻页的方式&#xff0c;每页10行&#xff08;外加一行自己&#xff09;。 爬取效果预览 本脚本爬取了个人排名和高校排名&#xff0c;可以借助WPS或MS Offi…

华为OSPF配置DR和BDR与指定DR

基础配置 <Huawei>sys #进入配置模式 Enter system view, return user view with CtrlZ. [Huawei]un in en #关闭报文弹窗 Info: Information center is disabled. [Huawei]sys R1 #设备名更改为R1 [R1]int g0/0/0 …