我已经在带有CUDA 8.0和libcudnn.so.5.1.10的Ubuntu 16.04上安装了H2O 3.11.0.266,所以我相信H2O应该能够找到我的GPU。
然而,当我在Python中启动我的h2o.init()时,我没有看到它实际上正在使用我的GPU的证据。我明白了:
与我之前版本(GPU前)相同。
此外,http://127.0.0.1:54321/flow/index.html也只显示了8个核心。
我想知道我是否没有正确安装,或者最新的h2o.init()是否没有实现有关GPU可用或信息的信息......
非常感谢提前。
[编辑] 我应该提到3.11.0.266应该是支持GPU的版本。
[编辑] 感谢所有的建议。我现在正在运行H2O 3.13.0.337
我发现这个命令也很有用:
sudo watch -n 0.1 'ps f -o user,pgrp,pid,pcpu,pmem,start,time,command -p `/usr/bin/lsof -n -w -t /dev/nvidia*`'
但是,我有点困惑。
当我运行XGBoost时,我清楚地看到GPU非常活跃30%到40%的利用率(以及我的所有8个CPU内核,我想这必须是管理GPU。)XGB完成了我的分类问题20秒。
GLM运行速度非常快,因此很难判断它是否使用我的GPU(在不到一秒的时间内完成。它确实在ps程序显示的STARTED列中启动时钟。< / p>
USER PGRP PID %CPU %MEM STARTED TIME COMMAND
user 3380 3380 116 12.0 10:52:56 04:36:36 /usr/local/anaconda2/bin/java -ea -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -jar /usr/local/anaconda2/lib/python2.7/site-packages/h
分布式随机森林也启动时钟,但似乎没有使用任何GPU处理,但它确实使用了所有CPU内核。
GBM类似。训练相同问题需要1.5分钟,而XGB需要20秒。由于算法类似,我希望它们花费相似的时间并以类似的方式使用GPU。我觉得这很令人惊讶。
我确信XGBoost正在使用GPU,但我不确定是否有任何其他算法。
[加入]
通过对H2O 3.13.0.341的比较。注意到温度差异(!)和GPU百分比
这是我运行 xgboost 时gpustat -cup显示的内容:
[0] GeForce GTX 1080 | 64'C, 90 % | 1189 / 8105 MB | clem:java/31183(191M)
以下是我运行分布式随机森林时显示的内容(GBM和DeepLearning出现类似结果)
[0] GeForce GTX 1080 | 51'C, 5 % | 1187 / 8105 MB | clem:java/31183(189M)
答案 0 :(得分:2)
您需要支持GPU的H2O版本,可在H2O download page上找到。从您的问题中不清楚您是否使用常规的H2O或支持GPU的H2O,但是如果您使用支持GPU的H2O并且具有适当的依赖关系,则应该看到您的GPU。当前依赖关系列表是:
我已打开JIRA ticket以在h2o.init()
打印输出中添加一些元数据,以便您可以在那里查看有关您的GPU的信息(在将来的版本中)。
答案 1 :(得分:2)
在终端窗口中,运行nvidia-smi
工具。看看利用率。如果它为0%,则表示您未使用GPU。
在下面的示例中,您可以看到Volatile GPU Utilization为0%,因此未使用GPU。
$ nvidia-smi
Tue May 30 13:50:11 2017
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 370.28 Driver Version: 370.28 |
|-------------------------------+----------------------+----------------------+
| 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 1080 Off | 0000:02:00.0 Off | N/A |
| 27% 30C P8 10W / 180W | 1MiB / 8113MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 1 GeForce GTX 1080 Off | 0000:03:00.0 On | N/A |
| 27% 31C P8 9W / 180W | 38MiB / 8112MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 1 1599 G /usr/lib/xorg/Xorg 36MiB |
+-----------------------------------------------------------------------------+
我使用以下方便的小脚本来监控自己的GPU利用率。
$ cat bin/gputop
#!/bin/bash
watch -d -n 0.5 nvidia-smi