グラボ(GPU)の必要要件を機械学習の観点で調べてみた

調査
スポンサーリンク

代表的な機械学習やディープランニングのライブラリを動かすために、必要となるグラボ(GPU)の要件を調査しました。
※調査時期:2021年6月03日

 

目次

 


 

代表的な機械学習やディープランニングのライブラリは何がある?

 

グラボのシステム要件を調べる前に、代表的な機械学習やディープランニングのライブラリについて調べました。

 

<代表的な機械学習やディープランニングのライブラリ>

  • scikit-learn
  • TensorFlow
  • Keras
  • PyTorch
  • Microsoft Cognitive Toolkit

 

[参考] キーワードでググって、上位に出てきたサイト

 

  

各機械学習ライブラリごとにサポートする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.

参考:Will you add GPU support? | scikit-learn.org

 

 

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と同じとのこと。

参考: Keras: Pythonの深層学習ライブラリ

 

 

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.1CUDA 10.2 / 11.1
1.8.0CUDA 10.2 / 11.1
1.7.1CUDA 9.2 / 10.1 / 10.2 / 11.0
1.7.0CUDA 9.2 / 10.1 / 10.2 / 11.0
1.6.0CUDA 9.2 / 10.1 / 10.2
1.5.1CUDA 9.2 / 10.1 / 10.2
1.5.0CUDA 9.2 / 10.1 / 10.2
1.4.0CUDA 9.2 / 10.1
1.2.0CUDA 9.2 / 10.0
1.1.0CUDA 9.0 / 10.0
1.0.1CUDA 9.0 / 10.0
1.0.0CUDA 8.0 / 9.0 / 10.0
< 1.0.0CUDA 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の要件についても調査しました。

グラボのシステム要件をUnity、Blenderの観点で調べてみた
UnityやBlenderなどのゲーム開発に向けてグラボを買いたいと思い、必要な要件を調査しました。

 

  

本記事と上の記事で調べたシステム要件から、その条件を満たすグラボを調べてみました。

Unity、Blender、機械学習ライブラリのGPU要件を満たすグラボを調べてみた
UnityやBlenderを使うためにグラボを購入したいと考えています。 また、今後を見据えて、機械学習やディプランニング等にも使いたいので、Unity、Blender、代表的な機械学習ライブラリのGPU要件を整理し、その要件を満たすグラボを調査しました。

 

 

 

以上!

コメント

タイトルとURLをコピーしました