在 AWS g2 上的 Ubuntu 14.04 上使用带 GPU 的 Theano

     2023-03-16     299

关键词:

【中文标题】在 AWS g2 上的 Ubuntu 14.04 上使用带 GPU 的 Theano【英文标题】:Using Theano with GPU on Ubuntu 14.04 on AWS g2 【发布时间】:2014-08-31 03:36:33 【问题描述】:

我无法让 Theano 在我的机器上使用 GPU。

当我跑步时: /usr/local/lib/python2.7/dist-packages/theano/misc$ THEANO_FLAGS=floatX=float32,device=gpu python check_blas.py WARNING (theano.sandbox.cuda): CUDA 已安装,但设备 gpu 不可用(错误:无法获取可用 gpu 的数量:未检测到支持 CUDA 的设备)

我还检查了 NVIDIA 驱动程序是否安装了: lspci -vnn | grep -i VGA -A 12

结果:正在使用的内核驱动程序:nvidia

但是,当我运行时:nvidia-smi 结果:NVIDIA:无法打开设备文件 /dev/nvidiactl(没有这样的文件或目录)。 NVIDIA-SMI 失败,因为它无法与 NVIDIA 驱动程序通信。确保已安装并运行最新的 NVIDIA 驱动程序。

并且 /dev/nvidiaactl 不存在。怎么回事?

更新:/nvidia-smi 使用结果:

+------------------------------------------------------+
| NVIDIA-SMI 4.304...   Driver Version: 304.116        |
|-------------------------------+----------------------+----------------------+
| GPU  Name                     | Bus-Id        Disp.  | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap| Memory-Usage         | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GRID K520                | 0000:00:03.0     N/A |                  N/A |
| N/A   39C  N/A     N/A /  N/A |   0%   10MB / 4095MB |     N/A      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Compute processes:                                               GPU Memory |
|  GPU       PID  Process name                                     Usage      |
|=============================================================================|
|    0            Not Supported                                               |
+-----------------------------------------------------------------------------+

编译 NVIDIA_CUDA-6.0_Samples 然后运行 ​​deviceQuery 我得到结果:

cudaGetDeviceCount 返回 35 -> CUDA 驱动程序版本对于 CUDA 运行时版本不足 结果 = 失败

【问题讨论】:

您是否以 root 用户身份运行 nvidia-smi?如果没有,请尝试以 root 身份运行。如果您以 root 身份运行它,则说明您的驱动程序未正确安装。尝试重新安装驱动程序。顺便说一句,Ubuntu 14.04 不支持 6.0 以上的任何 CUDA 版本 谢谢!我没有以root身份运行它。有效。我会尝试使用旧版本的 ubuntu 您是如何安装 Nvidia 驱动程序的? 【参考方案1】:

在正确建立某些“设备文件”之前,Linux 系统中的 CUDA GPU 不可用。

the documentation 中有关于此效果的注释。

一般有几种方法可以建立这些设备文件:

    如果 X 服务器正在运行。 如果 GPU 活动以 root 用户身份启动(例如运行 nvidia-smi 或任何 CUDA 应用程序。) 通过启动脚本(有关示例,请参阅上面链接的文档)。

如果不采取这些步骤,GPU 将无法为非 root 用户使用。请注意,文件不会在重新引导后保留,必须在每个引导周期通过上述 3 种方法之一重新建立。如果您使用方法 2 并重新启动,则在您再次使用方法 2 之前,GPU 将不可用。

如果您在设置 linux 系统以使用 CUDA GPU 时遇到问题,我建议您完整阅读 linux 入门指南(如上链接)。

【讨论】:

所以我用 ubuntu13.10 创建了一个新的 AWS g2 实例并再次尝试,以 root 身份运行 nvidia-smi,并编译了示例,当我运行 deviceQuery 时出现错误:cudaGetDeviceCount 返回 35 - > CUDA 驱动程序版本不足 CUDA 运行时版本 Result = FAIL 当然这是一个完全不同的问题。 SO Q+A 不是聊天会话。你为什么不阅读我链接的文档?它指示了设置正确的 CUDA 安装和验证过程中每个步骤的特定命令所必需的内容。对于初学者,以 root 身份运行 nvidia-smi -a 会报告什么驱动程序版本,以及安装的 CUDA 工具包是什么版本? 感谢您提供的文档,实际上我之前已经找到它并尝试按照这些步骤操作,但某些预安装步骤对我不起作用。驱动版本:304.116,CUDA:6.0 CUDA 6 不适用于 304.116。您需要安装 331.62 或更高版本的驱动程序。如果您在该平台上实际安装 CUDA 工具包(例如,使用文档中描述的运行文件安装方法),而不是尝试从 AMI 或存储库中引入它,您将获得适当的驱动程序。最好的办法是在该平台上为 GPU 安装最新的驱动程序,我认为是 GRID K520,类似于this one。如果您使用的不是 GRID K520 或 64 位 linux,请选择合适的驱动程序。 所以我尝试从网站和直接从 CUDA 工具包安装驱动程序 340.42,但它们都因内核错误而失败。我让它工作的唯一方法是通过这里的步骤:binarytides.com/install-nvidia-drivers-ubuntu-14-04 但 nvidia-current 是 304,当我尝试 331、334 和 340 时,它拒绝与我的 GRID K520 配对【参考方案2】:

如果您使用的是 CUDA 7.5,请务必遵循官方说明: CUDA 7.5 不支持默认的 g++ 版本。安装支持的版本并将其设为默认版本。

sudo apt-get install g++-4.9

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 10

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 10

sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30
sudo update-alternatives --set cc /usr/bin/gcc

sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30
sudo update-alternatives --set c++ /usr/bin/g++

如果theano GPU测试代码有错误:

错误(theano.sandbox.cuda):编译 cuda_ndarray.cu 失败: libcublas.so.7.5:无法打开共享对象文件:没有这样的文件或 目录警告(theano.sandbox.cuda):CUDA 已安装,但 设备 gpu 不可用(错误:cuda 不可用)

只需使用ldconfig命令链接cuda 7.5的共享对象:

sudo ldconfig /usr/local/cuda-7.5/lib64

【讨论】:

OT:非常感谢,这个 ldconfig 技巧 - 在 2 小时无用调试后帮助我解决了问题【参考方案3】:

我已经浪费了很多时间来尝试让 AWS G2 在 ubuntu 上运行,但是因为像你一样得到确切的错误而失败了。目前,我正在使用this redhat AMI 顺利运行带有 gpu 的 Theano。要在 Redhat 上安装 Theano,请遵循 Theano 文档中在 CentOS 中安装 Theano 的过程。

【讨论】:

【参考方案4】:

遇到同样的问题并重新安装了 Cuda,最后它说我必须更新 PATH 以包含 /usr/local/cuda7.0/bin 和 LD_LIBRARY_PATH 以包含 /usr/local/cuda7.0/lib64。可以在 /etc/environment 中找到 PATH(在同一文件中添加 LD_LIBRARY_PATH)。然后theano找到了gpu。我的基本错误...

【讨论】:

【参考方案5】:

我明白了

-> CUDA driver version is insufficient for CUDA runtime version

我的问题与所选的 GPU 模式有关。 换句话说,问题可能与选择的 GPU 模式(性能/省电模式)有关,当您选择(使用 nvidia-settings 实用程序,在“PRIME Profiles”配置中)集成 Intel GPU 并执行 @987654323 @脚本...你得到这个错误:

但这个错误具有误导性, 通过使用 nvidia-settings 实用程序选择返回 NVIDIA(性能模式),问题就消失了。

这不是版本问题

问候

P.s: 安装 Prime-related-stuff 时可以选择。更多详情:https://askubuntu.com/questions/858030/nvidia-prime-in-nvidia-x-server-settings-in-16-04-1

【讨论】:

Mono 3.0.1 --> 为 Ubuntu 14.04 LTS (AWS Linux AMI) 编译 xsp 时出错

...0:52:57【问题描述】:去年我在这个网站上为Ubuntu12.04LTSx86上的Mono3.0.1编写了安装指南在编译部分,有这部分:########### 查看详情

如何在 Ubuntu 14.04 上的 QT creator 中使用 Boost 库

】如何在Ubuntu14.04上的QTcreator中使用Boost库【英文标题】:HowtouseBoostlibraryinQTcreatoronUbuntu14.04【发布时间】:2016-09-2408:12:51【问题描述】:我想在Ubuntu14.04上使用QTcreator中的C++Boost库,尝试了很多方法后,我仍然报错。我使用以下... 查看详情

g2o的安装

环境ubuntu14.04在qt4上的使用1.安装必须的依赖库sudo apt-get install libeigen3-dev libsuitesparse-dev libqt4-dev qt4-qmake libqglviewer-qt4-dev库libqglviewer-qt4-dev是编译g2o_viewer所必须的。 查看详情

在 DigitalOcean Ubuntu 14.04 中的 Meteor 上的 Webshot 失败

】在DigitalOceanUbuntu14.04中的Meteor上的Webshot失败【英文标题】:WebshotfailsonMeteorinDigitalOceanUbuntu14.04【发布时间】:2016-05-1223:47:46【问题描述】:我正在使用此代码生成pdf:letfileUri=process.env.PWD+\'/storage/orders-pdf/\'+fileName;//CommenceWebshot 查看详情

AWS EC2 上的 Laravel 开发

】AWSEC2上的Laravel开发【英文标题】:LaravelDeveloymentonAWSEC2【发布时间】:2016-01-3118:08:27【问题描述】:我正在尝试在AWSEC2云服务器上部署laravel5.1项目,但laravel网站路由URL存在问题。我运行了以下命令来配置EC2ubuntu14.04LTS服务器... 查看详情

Java/Ubuntu - 在 Windows 上的主要工作之外打印,但在 Ubuntu 14.04 上不执行任何操作

】Java/Ubuntu-在Windows上的主要工作之外打印,但在Ubuntu14.04上不执行任何操作【英文标题】:Java/Ubuntu-PrintoutsideofmainworksonWindowsbutdoesnothingonUbuntu14.04【发布时间】:2016-08-2023:52:31【问题描述】:我有一个Intellij项目。我在Windows上编... 查看详情

Ubuntu 14.04 上的 Laravel 5.1 本地主机错误

】Ubuntu14.04上的Laravel5.1本地主机错误【英文标题】:LocalhostErrorwithLaravel5.1onUbuntu14.04【发布时间】:2016-02-2123:32:30【问题描述】:在这里看过以前的文章,但没有运气。我刚刚通过composer安装了Laravel5.1。我一直在关注位于here的官... 查看详情

Vagrant 挂在 Ubuntu 14.04 上的 NFS 挂载

】Vagrant挂在Ubuntu14.04上的NFS挂载【英文标题】:VagranthangsonNFSmountingonUbuntu14.04【发布时间】:2015-10-2211:46:17【问题描述】:直到今天,我的vagrant设置运行良好且流畅。但是发生了一些事情,我不知道是什么。突然间,当我vagrantup... 查看详情

在 Ubuntu 14.04 上以 Yarn-Client 模式在 Spark 上的 Zeppelin 中加载外部依赖项

】在Ubuntu14.04上以Yarn-Client模式在Spark上的Zeppelin中加载外部依赖项【英文标题】:LoadingexternaldependenciesinZeppelinonSparkinYarn-ClientmodeonUbuntu14.04【发布时间】:2017-01-1614:36:28【问题描述】:亲爱的社区!在我描述问题之前,这里先简... 查看详情

Ubuntu 14.04TLA 上的代码块和 Gtkmm

】Ubuntu14.04TLA上的代码块和Gtkmm【英文标题】:CodeBlocksandGtkmmonUbuntu14.04TLA【发布时间】:2014-08-3011:17:35【问题描述】:我最近下载了Ubuntu14.04TLS。因为我是Windows用户,所以我对Linux环境非常陌生。我真的不知道如何在Linux环境中安... 查看详情

从 Windows 部署到 aws 上的 ubuntu 实例

】从Windows部署到aws上的ubuntu实例【英文标题】:deployingtoubuntuinstanceonawsfromwindows【发布时间】:2021-10-1405:22:59【问题描述】:我想从Windows操作系统将python项目部署到aws上的ubuntu实例,但我遇到的所有教程都使用ubuntu或mac作为他... 查看详情

Ubuntu 14.04 上的虚拟主机。 - 访问禁止错误 403

】Ubuntu14.04上的虚拟主机。-访问禁止错误403【英文标题】:VirtualHostsonUbuntu14.04.-AccessForbiddenError403【发布时间】:2015-05-2421:42:11【问题描述】:抱歉,如果我的解释不完整或格式错误,我是Ubuntu新手。而且不是真正的计算机用户... 查看详情

企业级docker私有仓库harbor在ubuntu14.04上的部署与使用

一、harbor简介:  简单的说,Harbor是一个企业级的DockerRegistry,可以实现images的私有存储和日志统计权限控制等功能,并支持创建多项目(Harbor提出的概念),基于官方RegistryV2实现的。二、部署方法: 操作系统:Ubuntu14.0... 查看详情

ubuntu 14.04 上的 Csharp 错误

】ubuntu14.04上的Csharp错误【英文标题】:Csharperroronubuntu14.04【发布时间】:2016-06-0716:10:00【问题描述】:编译c#时,我在ubuntu14.04上收到以下警告:警告CS8001:无法解析SDK路径编译成功-1个警告虽然它仍然会使用monohelloold.exe执行。... 查看详情

ubuntu 14.04 上的 Laravel 5.1 会话问题

】ubuntu14.04上的Laravel5.1会话问题【英文标题】:Laravel5.1onubuntu14.04Problemswithsession【发布时间】:2015-11-1415:51:35【问题描述】:我在ubuntu14.04上的laravel(5.1)会话存在以下问题。每个请求都会在storage/framework/sessions中生成一个新的会... 查看详情

如何卸载ubuntu14.04上的git

参考技术A1)当我们知道软件的名称,那么我们就直接在终端命令窗口中输入命令就可以了:sudoapt-getremove--purgegoogle-chrome-unstable--purge选项表示彻底删除改软件和相关文件2)如果还是卸载不掉的话,那推荐你用卸载能力很强的腾... 查看详情

如何卸载ubuntu14.04上的git

参考技术A比如利用第三方软件。我用腾讯电脑管家举例(免费安全软件,杀毒+管理2合1)。打开腾讯电脑管家——工具箱——软件卸载。电脑管家是直接把软件卸载同时把注册列表也就清理了。(有的软件重启后会自动删除)... 查看详情

从本地机器上的 ubuntu (AWS EC2) 读取文件?

】从本地机器上的ubuntu(AWSEC2)读取文件?【英文标题】:readinginafilefromubuntu(AWSEC2)onlocalmachine?【发布时间】:2020-03-1915:10:16【问题描述】:我有一个在AWS上运行的python脚本(带有Ubuntu的EC2实例)。这个python脚本每天输出一个JSON文... 查看详情