代表的な機械学習やディープランニングのライブラリを動かすために、必要となるグラボ(GPU)の要件を調査しました。
※調査時期:2021年6月03日
目次
代表的な機械学習やディープランニングのライブラリは何がある?
グラボのシステム要件を調べる前に、代表的な機械学習やディープランニングのライブラリについて調べました。
<代表的な機械学習やディープランニングのライブラリ>
- scikit-learn
- TensorFlow
- Keras
- PyTorch
- Microsoft Cognitive Toolkit
[参考] キーワードでググって、上位に出てきたサイト
- 機械学習ライブラリ・ディープラーニングフレームワークおすすめ15選:特徴・便利な点・利用方法など
- 機械学習向けおすすめライブラリ17選|目的に合ったライブラリを探そう
- まとめて解説!機械学習・深層学習で使われるフレームワーク7選
各機械学習ライブラリごとにサポートするGPUを調べてみた
上で調べた機械学習ライブラリごとにシステム要件を調べました。
scikit-learnがサポートするGPUを調べてみた
scikit-learnをインストールするために必要な要件は「Installing scikit-learn」にまとめられています。
必要なPythonライブラリ一覧の記載はありますが、GPUのサポートは記載がありませんでした。
FAQにGPUサポートは現時点でNoと記載があります。
Will you add GPU support?
No, or at least not in the near future. The main reason is that GPU support will introduce many software dependencies and introduce platform specific issues. scikit-learn is designed to be easy to install on a wide variety of platforms. Outside of neural networks, GPUs don’t play a large role in machine learning today, and much larger gains in speed can often be achieved by a careful choice of algorithms.
TensorFlowがサポートするGPUを調べてみた
TensorFlowがサポートするGPUについては、「GPU サポート ハードウェア要件」に記載がありました。
ハードウェア要件
GPU が使用できる以下のデバイスに対応しています。
- NVIDIA® GPU カード(CUDA® アーキテクチャ 3.5、5.0、6.0、7.0、7.5、8.0 以降)
- サポートされていない CUDA® アーキテクチャの GPU、または PTX からの JIT コンパイルを避ける場合や、バージョンが異なる NVIDIA® ライブラリを使用する場合は、Linux でのソースからのビルドに関するガイドをご覧ください。
参考: GPUサポート ハードウェア要件
TensorFlowがサポートするGPUはNVIDIAのものが基本で、CUDA 3.5、5.0、6.0、7.0、7.5、8.0以降である必要があるとのこと。
KerasがサポートするGPUを調べてみた
KerasのバックエンドはTensorFlowが動いているとのことなので、GPUの要件はTensorFlowと同じとのこと。
PyTorchがサポートするGPUを調べてみた
PyTorchがサポートするGPUはインストールページを参考にすると、、、
PyTorchのStableバージョン(1.8.1)では、CUDA 10.2とCUDA 11.1が対応しているようです。
CUDAはNvidiaの独自規格なので、GPUはNvidiaのものが良さそうです。
PyTorchの古いバージョンであれば、CUDAの別バージョンでも動作できるようです。
INSTALLING PREVIOUS VERSIONS OF PYTORCH
PyTrochのバージョン | CUDAのバージョン |
---|---|
1.8.1 | CUDA 10.2 / 11.1 |
1.8.0 | CUDA 10.2 / 11.1 |
1.7.1 | CUDA 9.2 / 10.1 / 10.2 / 11.0 |
1.7.0 | CUDA 9.2 / 10.1 / 10.2 / 11.0 |
1.6.0 | CUDA 9.2 / 10.1 / 10.2 |
1.5.1 | CUDA 9.2 / 10.1 / 10.2 |
1.5.0 | CUDA 9.2 / 10.1 / 10.2 |
1.4.0 | CUDA 9.2 / 10.1 |
1.2.0 | CUDA 9.2 / 10.0 |
1.1.0 | CUDA 9.0 / 10.0 |
1.0.1 | CUDA 9.0 / 10.0 |
1.0.0 | CUDA 8.0 / 9.0 / 10.0 |
< 1.0.0 | CUDA 7.5 / 8.0 / 9.0 / 9.2 |
Microsoft Cognitive ToolkitがサポートするGPUを調べてみた
Microsoft Cognitive ToolkitがサポートするGPUについては、Setup GPU specific packages on Windowsにまとめられていました。
Checking your GPU compatibility
You need a CUDA-compatible graphic card to use CNTK GPU capabilities. You can check whether your card is CUDA-compatible here and here (for older cards). Your GPU card Compute Capability (CC) must be 3.0 or more.
参考: Checking your GPU compatibility | https://docs.microsoft.com/
Microsoft Cognitive ToolkitがサポートするGPUは、CUDA対応のグラフィックカード かつ Compute Capabilityが3.0以上とのことです。
まとめ
代表的な機械学習ライブラリがサポートするGPUををまとめると、以下になりました。
- 「scikit-learn」がサポートするGPUはない
- 「TensorFlow」がサポートするGPUは、NVIDIAのものが基本で、CUDA 3.5、5.0、6.0、7.0、7.5、8.0以降であること。
- 「Keras」がサポートするGPUは、NVIDIAのものが基本で、CUDA 3.5、5.0、6.0、7.0、7.5、8.0以降であること。(バックグランドでTensorFlowが動いているため、TensorFlowと同じ要件)
- 「PyTorch」がサポートするGPUは、CUDA7.5、8.0、9.0、9.2、10.0、10.1、10.2、11.0、11.1のどれかであること
- 「Microsoft Cognitive Toolkit」がサポートするGPUは、CUDA対応のグラフィックカード かつ Compute Capabilityが3.0以上のものであること。
関連情報
UnityやBlenderでゲーム開発もやっていきたいと思っているので、UnityとBlenderの要件についても調査しました。
本記事と上の記事で調べたシステム要件から、その条件を満たすグラボを調べてみました。
以上!
コメント