基本很少有人会想到要关闭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. emlog新浪上传插件+接口 V1.1

    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解` emlog新浪上传插件+接口 V1.1 日期:2018-4 ...

  2. openfly:基于nginx的4层代理管理平台

    简介 作者:京城郭少 基于nginx的4层代理管理平台 支持的功能: 被动健康检查 白名单 include导入文件 哈希 backup冗余互备 weight权重 注释 ...... 部署openfly ...

  3. 01-Python介绍、安装与入门

    Python介绍 关于Python Python 是一种解释型.面向对象.动态数据类型的高级程序设计语言. 解释型:Python将代码边解释边运行,而不是像C一样编译.类似解释型的语言还有JAVA. ...

  4. 题解:洛谷 P1165 日志分析

    标签:栈,模拟 题意 对于一个栈,给定三种操作: 0 x,将 \(x\) 入栈: 1,出栈,栈空时忽略: 2,查询当前栈内最大值. 思路 前两个都是栈的基本操作,关键在于查最大值. 每次询问暴力找肯定 ...

  5. 【仿真】Carla简易安装 Window Ubuntu均适用 附ROS的简单连接 [0]

    参考与前言 CARLA Documentation 官方文档 后续链接:[仿真]Carla介绍与使用 [1] 本篇创建于 2020/12/18,安装方式为压缩包安装,无需UE4等软件,但是前提是需要一 ...

  6. 使用kafka作为生产者生产数据到hdfs

    关键:查看kafka官网的userGuide 配置文件: agent.sources = r1agent.sinks = k1agent.channels = c1 ## sources config ...

  7. Spring WebFlux 简单业务代码及其Swagger文档

    上一篇文章<Spring 5 中函数式webmvc开发中的swagger文档>中讲了如何给传统MVC开发模式中的RouterFunction增加swagger文档.这一篇讲一下如何给函数式 ...

  8. Eggjs 设置跨域请求 指定地址跨域 nodejs

    首先egg自身框架没有直接设置允许跨域请求的功能和接口,所以需要第三方包来设置跨域请求! 先安装第三方包来设置跨域,使用egg-cors // npm npm i egg-cors --save // ...

  9. window10设置开机自启动exe的三种方式(亲测有效)

    拷贝文件到自启动位置 路径地址:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 通过组策略设置脚本随服务器启动 开始-> ...

  10. 8行JS代码实现Vue穿梭框

    实现效果 完整 demo 参考 <template> <div class="contain"> <ul class=""> ...