【发布时间】:2017-05-30 18:19:26
【问题描述】:
我已经在带有 CUDA 8.0 和 libcudnn.so.5.1.10 的 Ubuntu 16.04 上安装了 H2O 3.11.0.266,所以我相信 H2O 应该能够找到我的 GPU。
但是,当我在 Python 中启动我的 h2o.init() 时,我看不到它实际上正在使用我的 GPU 的证据。我明白了:
- H2O 集群总核心数:8
- H2O 集群允许的内核数:8
这与我在以前的版本(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 列中启动时钟。
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)
【问题讨论】:
标签: python gpu nvidia h2o xgboost