问题描述:

nvidia-smi也有显示,显卡驱动是在的,而且nvcc显示出来的cuda版本9.0也没错,不是9.1。不知道问题所在,索性重装全部。

sudo tee /proc/acpi/bbswitch <<<ON
# ON
nvidia-smi

显示如下:

Tue May 28 22:21:07 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.67 Driver Version: 390.67 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 950M Off | 00000000:01:00.0 Off | N/A |
| N/A 50C P0 N/A / N/A | 0MiB / 2004MiB | 0% Default |
+-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
nvcc --version

显示如下:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176
lspci | grep -i nvidia

显示如下:

01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 950M] (rev a2)

检查pytorch调用cuda是否正常:

python -c 'import torch; print(torch.cuda.is_available())'

显示如下:

False

卸载cuda

sudo /usr/local/cuda-9.0/bin/uninstall_cuda_9.0.pl
#这里之后只剩下cudnn的东西,也可以完全删了。
sudo rm -rf /usr/local/cuda-9.0/

卸载nvidia驱动及大黄蜂bunmblebee

sudo apt-get remove --purge nvidia-cuda-dev nvidia-cuda-toolkit nvidia-nsight nvidia-visual-profiler
sudo apt autoremove --purge bumblebee-nvidia nvidia-driver nvidia-settings

安装显卡驱动和大黄蜂bumblebee

sudo apt-get install nvidia-smi
sudo apt-get install bumblebee-nvidia nvidia-driver nvidia-settings

安装显卡驱动测试程序

sudo apt-get install mesa-utils

显示N卡相关信息:

optirun glxinfo|grep NVIDIA

运行测试程序

optirun glxgears -info

成功调用显卡驱动,信息如下:

GL_RENDERER   = GeForce GTX 950M/PCIe/SSE2
GL_VERSION = 4.6.0 NVIDIA 390.67
GL_VENDOR = NVIDIA Corporation

安装cuda

https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=runfilelocal

下载runfile

sudo ./cuda_9.0.176_384.81_linux.run

安装过程只有这个选no

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?
(y)es/(n)o/(q)uit: n

下载安装cudnn

<https://developer.nvidia.com/rdp/cudnn-archive>

登录下载对应版本我是选择了

cudnn-9.0-linux-x64-v7.5.0.56

这个版本的

把对应的额外的cudnn库放入cuda对应的位置:

sudo cp lib64/* /usr/local/cuda/lib64/
sudo cp include/* /usr/local/cuda/include/

然后检查环境变量并开启默认N卡

# 检查LD_LIABRARY_PATH和PATH
sudo vim ~/.bashrc # 用大黄蜂开启默认N卡
sudo tee /proc/acpi/bbswitch<<<ON

再次检查pytorch是否能调用cuda

python -c "import torch;print(torch.cuda.is_available())"

显示如下:

True

检查tensorflow是否正常调用gpu

python3 -c "import tensorflow as tf;print(tf.test.is_gpu_available());print(tf.test.gpu_device_name())"

显示如下:

2019-05-28 22:52:25.862539: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-05-28 22:52:26.319239: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:964] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2019-05-28 22:52:26.319674: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1432] Found device 0 with properties:
name: GeForce GTX 950M major: 5 minor: 0 memoryClockRate(GHz): 1.124
pciBusID: 0000:01:00.0
totalMemory: 1.96GiB freeMemory: 1.92GiB
2019-05-28 22:52:26.319696: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1511] Adding visible gpu devices: 0

都正常了,没有比我这更复杂了吧,卸了重装,有卸载过程和安装过程。

问题记录 | deepin15.10重装nvidia驱动及cuda的更多相关文章

  1. Ubuntu 16.04 nvidia-smi报错(重装Nvidia驱动)

    之前因为学习TensorFlow,所以在自己的Ubuntu上安装了cuda,cudnn以及Nvidia驱动.但可能是由于自己经常不注重正常关闭自己的Ubuntu,这就导致了一个问题: 某天在查看自己的 ...

  2. Ubuntu系统---安NVIDIA 驱动后 CUDA+cuDNN 安装

    Ubuntu系统---安NVIDIA 驱动后  CUDA+cuDNN 安装 --------------------------------------------@20190726--------- ...

  3. Ubuntu16.04 Nvidia驱动、CUDA安装

    安装Nvidia驱动和CUDA时往往很费力,经常有莫名奇妙的错误,这次安装十分顺畅,权当记录一下,以方便以后再次安装. 一.Nvidia显卡驱动安装 sudo add-apt-repository p ...

  4. ubuntu安装nvidia驱动以及cuda教程

    最近尝试在ubuntu中安装nvidia的显卡驱动以及cuda.花了近三天时间,真的如网上所说错误百出,期间甚至重装了一次ubuntu系统,搞到怀疑人生,整个都是泪- -.最终经过百般“磨难”总算安装 ...

  5. GPU服务器安装NVIDIA驱动以及CUDA

    1.安装系统 系统版本: ubuntu16.04.05 LTS 分区要求: /boot 1024M swap 64G / 剩余空间

  6. AI模型运维——NVIDIA驱动、cuda、cudnn、nccl安装

    目前大部分使用GPU的AI模型,都使用的英伟达这套. 需要注意的是,驱动.cuda.cudnn版本需要一一对应,高低版本互不兼容. 驱动和cuda对应关系:https://docs.nvidia.co ...

  7. Ubuntu16.04重装NVIDIA驱动

    Ubuntu系统 $ sudo apt update $ sudo apt upgrade 之后出现显卡驱动出现故障,nvidia-smi输出有错,检测不到相应的驱动.只好重装,记录一下,太多的教程根 ...

  8. Ubuntu20重装nvidia驱动

    终端:nvidia-smi 查看驱动信息 错误:NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver ...

  9. ubuntu16.04安装nvidia驱动及CUDA+cudnn

    网上查了资料,装好了,参照以下 https://blog.csdn.net/zhang970187013/article/details/81012845 https://blog.csdn.net/ ...

随机推荐

  1. 清北学堂清华大学钟皓曦神仙讲课day3摘要

    ---恢复内容开始--- 今天全是DP awsl,真的好难 先从斐波那契开始: dp:满足有一个状态边界条件(f[0]=0,f[1]=1) 边界条件:不需要计算其他状态的值而可以直接得出的状态或者最底 ...

  2. 使用注解方式实现账户的CRUD

    1 需求和技术要求 1.1 需求 实现账户的CRUD. 1.2 技术要求 使用Spring的IOC实现对象的管理. 使用QueryRunner作为持久层的解决方案. 使用C3p0作为数据源. 2 环境 ...

  3. Codeforces Round #568 (Div. 2) A.Ropewalkers

    链接: https://codeforces.com/contest/1185/problem/A 题意: Polycarp decided to relax on his weekend and v ...

  4. Java基础——面试、笔试

    网址来源: http://www.nowcoder.com/discuss/5949?type=0&order=0&pos=4&page=2 参考资料:(java方面的一些面试 ...

  5. javascript面向对象学习(一)

    面向对向的初体验 创建一个标签 // 传统 var p = document.createElement('p'); var txt = document.createTextNode('我是传统js ...

  6. jquery last 选择器 语法

    jquery last 选择器 语法 作用: :last 选择器选取最后一个元素.最常见的用法:与其他元素一起使用,选取指定组合中的最后一个元素(就像上面的例子). 语法:$(":last& ...

  7. XML 验证

    拥有正确语法的 XML 被称为“形式良好”的 XML. 通过 DTD 验证的 XML 是“合法”的 XML. 形式良好的 XML 文档 “形式良好”或“结构良好”的 XML 文档拥有正确的语法. “形 ...

  8. BZOJ 4373: 算术天才⑨与等差数列 线段树

    Description 算术天才⑨非常喜欢和等差数列玩耍. 有一天,他给了你一个长度为n的序列,其中第i个数为a[i]. 他想考考你,每次他会给出询问l,r,k,问区间[l,r]内的数从小到大排序后能 ...

  9. C++ - 操作运算符

    一.操作运算符 操作运算符:在C++中,编译器有能力将数据.对象和操作符共同组成表达式,解释为对全局或成员函数的调用 该全局或成员函数被称为操作符函数,程序员可以通过重定义函数操作符函数,来达到自己想 ...

  10. cpp 实现简易String类

    需求 实现一个String类 自己写的String headers/String.h #ifndef __MYSTRING__ #define __MYSTRING__ #include <st ...