如何关闭NVIDIA显卡的CUDA运算功能
基本很少有人会想到要关闭NVIDIA显卡的CUDA计算功能,这东西不想用就不跑cuda代码不就可以了吗,但是作为一个深度学习服务器集群的管理者来说,这个功能还是有用处的。前一阵使用实验室的一台服务器的显卡报错,只要是这个显卡满载就会导致服务器死机,从操作系统日志和服务器硬件监控日志来看这个错误是硬件错误,也就是说不是pcie槽的相关部分(供电、芯片等)出现了故障就是这块显卡出现了硬件故障,相关见:实验室服务彻底死机记录——硬件故障——主板pcie槽坏掉或显卡坏掉。
既然确定好了问题点,那么直接联系厂家不就解决了嘛,毕竟这是硬件问题,但是实际操作起来还是蛮复杂的,首先服务器上跑的有国家级的项目,这个也是各位领导的钱袋子,这个服务器上的数据就是迁移也是需要时间的,争取最小时间损失是必须要考虑的,这时候就有一个神奇的选项,那就是将这个坏掉的显卡的CUDA功能关闭掉,其他显卡依然可以正常运行,这样就可以在保障服务器上的项目依然可以运行的同时一边做备份和迁移一边去和厂家联系硬件维修的事情。
先给出关闭NVIDIA显卡cuda功能的命令(关闭所有显卡的cuda计算功能):
sudo nvidia-smi -c 2
除了关闭所有显卡的cuda计算功能,我们也可以指定某个显卡关闭cuda计算功能:
sudo nvidia-smi -i 0 -c 2
其中,-i 就是指定某个显卡的参数,-i 0,就是关闭0号显卡的cuda计算功能。
恢复所有显卡的cuda功能:
sudo nvidia-smi -c 0
如果需要恢复特定显卡的cuda功能,则加: -i 显卡号,
如:sudo nvidia-smi -i 0 -c 0 就是恢复0号显卡的cuda功能
==============================
下面内容源自:
作者:YellowMeta
链接:https://juejin.cn/post/7120533024076202015
-c 设置计算模式
设置目标 GPU 的计算模式。
计算模式标志指示单个或多个计算应用程序是否可以在 GPU 上运行。
0/Default:表示每个设备允许多个上下文。
1/Exclusive_Thread:已弃用,改用 Exclusive_Process
2/Prohibited:表示每台设备不允许使用任何上下文(无计算应用程序)。
3/Exclusive_Process: 表示每个设备只允许一个上下文,一次可从多个线程使用。
有关计算模式的说明,请参阅(GPU 属性)部分。
注意:
需要root权限。
除非使用 -i 参数指定单个 GPU,否则将影响所有 GPU。
此操作的效果是立竿见影的。
但它不会在主机重新启动后持续存在。
每次主机重新启动后,计算模式将重置为“DEFAULT”。
=====================================
nvidia-smi,查看当前显卡的计算模式:DEFAULT

关闭1号显卡的cuda计算功能:

查看1号显卡的计算模式为:Prohibited

在1号显卡上运行cuda代码:无法创建任务,运行失败


通过NVIDIA的nvidia-smi命令我们可以知道显卡上的任务可以分为图形图像任务和计算任务两种,其中图形图形任务类型为Graphic,计算任务类型为compute,缩写分别为G和C,在使用nvidia-smi命令后我们可以通过查看process内容知道不同的进程是属于G类型还是C类型:



=====================================
参考:
https://www.twblogs.net/a/5ca8603cbd9eee59d3332b72
https://juejin.cn/post/7120533024076202015
如何关闭NVIDIA显卡的CUDA运算功能的更多相关文章
- Ubuntu NVIDIA显卡驱动+CUDA安装(多版本共存)
NVIDIA显卡驱动 1.禁止集成的nouveau驱动 solution 1 (recommand) # 直接移除这个驱动(备份出来) mv /lib/modules/3.0.0-12-generic ...
- NVIDIA 显卡与 CUDA 在深度学习中的应用
CUDA(Compute Unified Device Architecture),是显卡厂商 NVIDIA 推出的运算平台. 0. 配置 显卡驱动的下载地址:Drivers - Download N ...
- Ubuntu 16.04 + Nvidia 显卡驱动 + Cuda 8.0 (问题总结 + 解决方案)【转】
本文转载自:https://blog.csdn.net/Zafir_410/article/details/73188228 前言 前面好一阵子忙于写论文和改论文,好久没有做新实验了,最近又回到做实验 ...
- 获取显卡的cuda算力
获取nvidia显卡的cuda算力,在编译cuda相关代码时候可能用到. 前提: 安装了visual studio 安装了cuda(cuda应该在vs之后安装) 安装了cmake 代码 https:/ ...
- 安装Nvidia显卡驱动、CUDA和cuDNN的方法(jsxyhelu整编)
Nvidia显卡驱动.CUDA和cuDNN一般都是同时安装的,这里整理的是我成功运行的最简单的方法. 一.Nvidia显卡驱动 1.1 在可以进入图形界面的情况下 直接在"软件和更新&quo ...
- 【CUDA开发】CUDA的安装、Nvidia显卡型号及测试
说明:想要让Theano在Windows8.1下能利用GPU并行运算,必须有支持GPU并行运算的Nvidia显卡,且要安装CUDA,千万不要电脑上是Intel或AMD的显卡,却要编写CUDA. 文中用 ...
- ubuntu 16.04安装nVidia显卡驱动和cuda/cudnn踩坑过程
安装深度学习框架需要使用cuda/cudnn(GPU)来加速计算,而安装cuda/cudnn,首先需要安装nvidia的显卡驱动. 我在安装的整个过程中碰到了驱动冲突,循环登录两个问题,以至于最后不得 ...
- NVIDIA 显卡信息(CUDA信息的查看)
1. nvidia-smi 查看显卡信息 nvidia-smi 指的是 NVIDIA System Management Interface: 在安装完成 NVIDIA 显卡驱动之后,对于 windo ...
- 【Linux开发】【CUDA开发】Ubuntu上安装NVIDIA显卡驱动
机型为戴尔Vostro3900 显卡型号为GTX 745 对于Nvidia显卡的驱动,如今很多Linux发行版会默认使用名为nouveau的驱动程序.Nouveau是由第三方为Nvidia开发的一 ...
- 【并行计算与CUDA开发】基于NVIDIA显卡的硬编解码的一点心得 (完结)
原文:基于NVIDIA显卡的硬编解码的一点心得 (完结) 1.硬解码软编码方法:大体流程,先用ffmpeg来读取视频文件的包,接着开启两个线程,一个用于硬解码,一个用于软编码,然后将读取的包传给解码器 ...
随机推荐
- NetCore Benchmark 基准测试
基于NetCore的基准测试Demo(控制台程序) 创建控制台程序,输入工程名称 LinqConsole 通过NuGet引用BenchmarkDotNet至工程中 编写测试代码 类:Bench ...
- python xlrd excel读取操作
import xlrd wb = xlrd.open_workbook("test.xlsx") sheet1 = wb.sheets()[1] # 通过索引顺序获取 #table ...
- 你不知道的 CSS 之包含块
你不知道的 CSS 之包含块 一说到 CSS 盒模型,这是很多小伙伴耳熟能详的知识,甚至有的小伙伴还能说出 border-box 和 content-box 这两种盒模型的区别. 但是一说到 CSS ...
- 上交大开源镜像站下架 Docker Hub 镜像
在现代软件开发中,Docker镜像已经成为不可或缺的工具.然而,最近频频出现的Docker镜像下架事件让许多开发者措手不及.突然失去依赖的镜像,不仅打乱了项目进程,还引发了许多不便.那么,面对Do ...
- 关于c指针的理解
1 #include<stdio.h> 2 { 3 int a= 100,b=10; 4 int *p1=&a,*p2=&b; 5 *p1=b; 6 *p2=a; 7 pr ...
- SERSYNC服务
inotiry图片参考 sersync图片参考 inotify文字教程 该软件对系统有要求,内核2.6以上,并且有如下目录,后面会讲解三个文件用途 [root@jokerpro ~]# uname - ...
- STM32的内存管理(转)
背景 这里针对STM32F407芯片+1M外部内存的内存管理!(全篇是个人愚见,如果错误,请不吝指出!) 定义 首先,定义3个内存池,分别是内部SRAM,外表SRAM和CCM:通过指定内存中的绝对地址 ...
- BigDecimal加减乘除、比较
// 加 a+b a.add(b); // 减 a-b a.subtract(b); // 乘 a*b a.multiply(b); // 除 a/b a.divide(b); // 绝对值 a.ab ...
- 动手学Avalonia:基于硅基流动构建一个文生图应用(一)
文生图 文生图,全称"文字生成图像"(Text-to-Image),是一种AI技术,能够根据给定的文本描述生成相应的图像.这种技术利用深度学习模型,如生成对抗网络(GANs)或变换 ...
- Docker通信全视角:原理、实践与技术洞察
本文全面深入地探讨了Docker容器通信技术,从基础概念.网络模型.核心组件到实战应用.详细介绍了不同网络模式及其实现,提供了容器通信的技术细节和实用案例,旨在为专业从业者提供深入的技术洞见和实际操作 ...