基本很少有人会想到要关闭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运算功能的更多相关文章

  1. Ubuntu NVIDIA显卡驱动+CUDA安装(多版本共存)

    NVIDIA显卡驱动 1.禁止集成的nouveau驱动 solution 1 (recommand) # 直接移除这个驱动(备份出来) mv /lib/modules/3.0.0-12-generic ...

  2. NVIDIA 显卡与 CUDA 在深度学习中的应用

    CUDA(Compute Unified Device Architecture),是显卡厂商 NVIDIA 推出的运算平台. 0. 配置 显卡驱动的下载地址:Drivers - Download N ...

  3. Ubuntu 16.04 + Nvidia 显卡驱动 + Cuda 8.0 (问题总结 + 解决方案)【转】

    本文转载自:https://blog.csdn.net/Zafir_410/article/details/73188228 前言 前面好一阵子忙于写论文和改论文,好久没有做新实验了,最近又回到做实验 ...

  4. 获取显卡的cuda算力

    获取nvidia显卡的cuda算力,在编译cuda相关代码时候可能用到. 前提: 安装了visual studio 安装了cuda(cuda应该在vs之后安装) 安装了cmake 代码 https:/ ...

  5. 安装Nvidia显卡驱动、CUDA和cuDNN的方法(jsxyhelu整编)

    Nvidia显卡驱动.CUDA和cuDNN一般都是同时安装的,这里整理的是我成功运行的最简单的方法. 一.Nvidia显卡驱动 1.1 在可以进入图形界面的情况下 直接在"软件和更新&quo ...

  6. 【CUDA开发】CUDA的安装、Nvidia显卡型号及测试

    说明:想要让Theano在Windows8.1下能利用GPU并行运算,必须有支持GPU并行运算的Nvidia显卡,且要安装CUDA,千万不要电脑上是Intel或AMD的显卡,却要编写CUDA. 文中用 ...

  7. ubuntu 16.04安装nVidia显卡驱动和cuda/cudnn踩坑过程

    安装深度学习框架需要使用cuda/cudnn(GPU)来加速计算,而安装cuda/cudnn,首先需要安装nvidia的显卡驱动. 我在安装的整个过程中碰到了驱动冲突,循环登录两个问题,以至于最后不得 ...

  8. NVIDIA 显卡信息(CUDA信息的查看)

    1. nvidia-smi 查看显卡信息 nvidia-smi 指的是 NVIDIA System Management Interface: 在安装完成 NVIDIA 显卡驱动之后,对于 windo ...

  9. 【Linux开发】【CUDA开发】Ubuntu上安装NVIDIA显卡驱动

    机型为戴尔Vostro3900  显卡型号为GTX 745  对于Nvidia显卡的驱动,如今很多Linux发行版会默认使用名为nouveau的驱动程序.Nouveau是由第三方为Nvidia开发的一 ...

  10. 【并行计算与CUDA开发】基于NVIDIA显卡的硬编解码的一点心得 (完结)

    原文:基于NVIDIA显卡的硬编解码的一点心得 (完结) 1.硬解码软编码方法:大体流程,先用ffmpeg来读取视频文件的包,接着开启两个线程,一个用于硬解码,一个用于软编码,然后将读取的包传给解码器 ...

随机推荐

  1. nordic的nrf52系列——ADC在使用时如何校准增益误差(基于SDK)

    简介:ADC在实际使用的时候都要进行误差校准,那Nordic的nrf52系列如何进行校准,如果不校准又有什么影响尼,接下来我将通过实验进行测试,验证不校准和校准的影响(本测试的基础是,默认输入阻抗和采 ...

  2. glog_bash:在bash中优雅输出日志

    介绍 官方仓库:https://github.com/GuoFlight/glog_bash .下载其中的glog_bash.sh即可. 这是专门用于bash脚本中的logger,名为glog_bas ...

  3. linux下后台运行程序

    文章目录 背景 nohup命令 setsid命令 pm2 背景 后台运行程序的时候,如果退出当前的终端(session),你运行的所有程序(包括后台程序),都将被关闭. 原因是:你运行的程序都是你的终 ...

  4. 实验8.Vlan Hybrid实验

    # 实验8.Vlan Hybrid实验 本实验用于测试华为独有的混合式接口类型hybrid 实验组 配置交换机 对交换机sw1与sw2做具体配置 SW1 vlan ba 10 20 100 int g ...

  5. [AGC020D] Min Max Repetition

    牛子题 优先满足第二个条件,长度是 \(\lceil \frac{max(A,B)}{min(A,B)+1}\rceil\) ,那么现在要满足字典序最小,发现先填 \(A..ABA..ABA..AB. ...

  6. Latex 公式 如何转为Word 公式,免费线上网站

    在实际中,我们常常需要讲将atex公式在word中书写.不采用手敲word公式,如何直接从Latex公式转word公式: 非常好的网站:https://www.latexlive.com/ 可以直接复 ...

  7. python中globals()的用法

    python中globals()的用法 1. 获取所有的全局变量, 获取到的内容如下: {'__name__': '__main__', '__doc__': None, '__package__': ...

  8. 创建docker

    创建docker 准备实验环境 1. 安装前准备 Centos7 Linux 内核:官方建议 3.10 以上,3.8以上貌似也可. 1.1 查看当前的内核版本 uname -r 1.2 使用 root ...

  9. php常用缓存逻辑

    代码 //行为限频 if (!function_exists('doSomethingLimit')) { function doSomethingLimit($key, $second, Closu ...

  10. SpringBoot学习篇

    什么是SpringBoot?为什么要用SpringBoot 用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件) 创建独立的spring引用程序 ...