我们使用了大量的 GPGPU 计算(主要使用 CUDA,但也使用一些 OpenCL)。通常,当用户运行代码时,代码仅在我们的一台主机上出现内存错误。我怀疑其中一张卡有问题。有时它会导致整个系统瘫痪,有时程序会崩溃。
全面测试 GPU 是否可能出现故障的最简单、最快和最彻底的方法是什么?
我知道有些程序是 nvidia 的 CUDA SDK 的一部分:
deviceQuery
nvidia-smi
Run Code Online (Sandbox Code Playgroud)
但我需要更彻底的东西。建议?经验?
我在 Ubuntu 上运行无头服务器,目的是使用 GPU 进行非图形计算。但是,我发现没有插入内核的显示器无法加载图形驱动程序。
是否有任何原因我不能使用 modprobe 或其他一些机制来强制驱动程序在启动时加载(我不知道驱动程序是否可以容忍没有显示器的情况),或者我完全走错了路线?
解决此问题的最佳做法是什么?
我有一个 ESXi 4.1 在可以运行 4 个 16 通道 PCI-e 卡的硬件上运行。我想从 Linux VM 访问底层硬件,以运行一些 CUDA 程序。
到目前为止,我从 Linux VM 内部只能看到通用的 VMware 显卡。我安装了 VMware 工具,lspci但仍然给我相同的结果VGA compatible controller: VMware SVGA II Adapter.
是否可以从 VM 来宾访问 CUDA 设备?
我目前面临将 GPU 服务器集成到现有 SGE 环境中的问题。使用谷歌我找到了一些集群的例子,其中已经设置了这个,但没有关于如何完成的信息。
是否有某种形式的方法或教程?它不必非常冗长,但它应该包含足够的信息来启动和运行“cuda 队列”......
提前致谢...
编辑:要设置一个负载传感器,了解一个节点中有多少 GPU 是空闲的,我已经完成了以下操作:
#!/bin/sh
主机名=`uname -n`
而 [1]; 做
读取输入
结果=$?
如果 [ $result != 0 ]; 然后
出口 1
菲
if [ "$input" == "quit" ]; 然后
退出 0
菲
smitool=`which nvidia-smi`
结果=$?
如果 [ $result != 0 ]; 然后
gpusav=0
gpu=0
别的
gpustotal=`nvidia-smi -L|wc -l`
gpusused=`nvidia-smi |grep "进程名称" -A 6|grep -v +-|grep -v \|=|grep -v 用法|grep -v "没有运行"|wc -l`
gpusavail=`echo $gpustotal-$gpusused|bc` … 在使用 2 个 Tesla K80 卡配置系统后,我注意到在运行时nvidia-smi4 个 GPU 中的一个负载很重,尽管“没有找到正在运行的进程”。为什么会发生这种情况,我该如何纠正?
这是来自的输出nvidia-smi:
? compute-0-1: ~/> nvidia-smi
Mon Sep 26 14:48:00 2016
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 361.77 Driver Version: 361.77 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla K80 Off | 0000:05:00.0 Off | 0 |
| N/A 34C P0 57W / 149W | 0MiB / 11441MiB | 0% Default …Run Code Online (Sandbox Code Playgroud)