PyTorchバージョンとNVIDIA GPU Compute Capability Level サポート

PyTorchバージョンとNVIDIA GPU Compute Capability Level サポート
Photo by Christian Wiediger / Unsplash

古いPyTorchコード資産を持っている会社は、昔のコードが最新のPyTorchで動かない!最新のGPUで動かない!ということに遭遇することが多いのでしょうか。
今回は、PyTorchバージョン、対応GPU Capability Level 、対応CUDAバージョンについてまとめてみます。

PyTorchがサポートするGPUの Compute Capability

PyTorch バージョン サポートされる Compute Capability (SM) レベル
1.0.0 - 1.3.1 SM_35, SM_37, SM_50, SM_60, SM_61, SM_70
1.4.0 - 1.7.1 SM_37, SM_50, SM_60, SM_61, SM_70, SM_75
1.8.0 - 1.8.1 SM_37, SM_50, SM_60, SM_70, SM_75, SM_80
1.9.0 - 1.12.1 SM_37, SM_50, SM_60, SM_70, SM_75, SM_80, SM_86
1.13.0 - 2.0.1 SM_37, SM_50, SM_60, SM_70, SM_75, SM_80, SM_86, SM_89, SM_90
2.1.0 以降 SM_50, SM_60, SM_70, SM_75, SM_80, SM_86, SM_89, SM_90

PyTorch旧バージョンインストール方法参考ページ

https://pytorch.org/get-started/previous-versions/

PyTorchがサポートするPythonバージョン

PyTorch バージョン サポートされる Python バージョン
1.4.0 - 1.7.1 3.6, 3.7, 3.8
1.8.0 - 1.9.1 3.6, 3.7, 3.8, 3.9
1.10.0 - 1.12.1 3.7, 3.8, 3.9, 3.10
1.13.0 - 2.0.1 3.8, 3.9, 3.10, 3.11
2.1.0 以降 3.8, 3.9, 3.10, 3.11, 3.12

Compute Capabilityと代表的GPUラインナップ

SM_世代 データセンター/プロ向けGPU GeForce GPU
SM_100 (Blackwell) NVIDIA B100 (GB100), B200, GB202, GB203, GB205, GB206, GB207, NVIDIA B40 GeForce RTX 5090, RTX 5080
SM_90 (Hopper) NVIDIA H100, NVIDIA H200 -
SM_89 (Ada Lovelace) NVIDIA L4, NVIDIA L40, RTX 6000 Ada Generation, L40s Ada GeForce RTX 4090, GeForce RTX 4080, GeForce RTX 4070 Ti / 4070, GeForce RTX 4060 Ti / 4060, GeForce RTX 4050
SM_86, SM_87 (Ampere) NVIDIA A100, NVIDIA A30, NVIDIA A40, RTX A2000, A3000, RTX A4000, A5000, A6000, A10, A16, A2 Tensor Core GPU, A800 40GB GeForce RTX 3090, GeForce RTX 3080, GeForce RTX 3070, GeForce RTX 3060, GeForce RTX 3050
SM_75 (Turing) Quadro RTX 8000, RTX 6000, RTX 5000, RTX 4000, T4 GeForce RTX 2080 Ti, GeForce RTX 2070, GeForce GTX 1660 Ti
SM_70, SM_72 (Volta) Tesla V100, Quadro GV100, Titan V, Xavier NX -
SM_60, SM_61, SM_62 (Pascal) Tesla P100, Quadro GP100 GeForce GTX 1080, GTX 1070, GTX 1060, GTX 1050, GTX 1030, GT 1010, Titan Xp
SM_50, SM_52, SM_53 (Maxwell) Tesla M-series, Quadro M6000 GeForce GTX 980 Ti, GTX Titan X, GTX 980, GTX 970
SM_35, SM_37 (Kepler) Tesla K40, Tesla K80 -
SM_30 (Kepler) - GeForce 700シリーズ, GT-730
SM_20 (Fermi) - GeForce 400, 500, 600, GT-630

出展: https://blog.qualiteg.com/nvidia-gpu-capability-level/

対応CUDAバージョン

SM_世代 アーキテクチャ 互換性のある最小CUDAバージョン CUDA 12.5での状態
SM_100 Blackwell - -
SM_90 Hopper CUDA 12.0以降 対応
SM_89 Ada Lovelace CUDA 11.8以降 対応
SM_86, SM_87 Ampere CUDA 11.1以降 対応
SM_80 Ampere CUDA 11.0以降 対応
SM_75 Turing CUDA 10.0以降 対応
SM_70, SM_72 Volta CUDA 9.0以降 対応
SM_60, SM_61, SM_62 Pascal CUDA 8.0以降 対応
SM_50, SM_52, SM_53 Maxwell CUDA 6.0以降 対応
SM_30, SM_35, SM_37 Kepler CUDA 5.0以降 サポート終了
SM_20 Fermi CUDA 3.2以降 サポート終了

Read more

システムとcondaのC++標準ライブラリ(libstdc++)のバージョン違い問題による事象と対処法解説

システムとcondaのC++標準ライブラリ(libstdc++)のバージョン違い問題による事象と対処法解説

こんにちは! 先日、dlibをつかったPythonアプリケーション(conda環境で動作する)作っていたところ、以下のようなエラーに遭遇しました。 ImportError: /home/mlu/anaconda3/envs/example_env/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by /home/mlu/anaconda3/envs/example_env/lib/python3.10/site-packages/_dlib_pybind11.cpython-310-x86_64-linux-gnu.so) 「dlib_pybind11モジュールがGLIBCXX_3.4.32を要求してるけど、みつからない!」という感じのエラーですね。

By Qualiteg プロダクト開発部
LLM推論基盤プロビジョニング講座 第2回 LLMサービスのリクエスト数を見積もる

LLM推論基盤プロビジョニング講座 第2回 LLMサービスのリクエスト数を見積もる

こんにちは! 今回はLLM推論基盤プロビジョニング講座 第2回です! STEP2 LLMサービスへのリクエスト数見積もり それでは、早速、LLM推論基盤プロビジョニングの第2ステップである「リクエスト数見積もり」の重要性と方法を解説いたします。 LLMサービスを構築する際に必要となるGPUノード数を適切に見積もるためには、まずサービスに対して想定されるリクエスト数を正確に予測する必要があります。 リクエスト数見積もりの基本的な考え方 LLMサービスへの想定リクエスト数から必要なGPUノード数を算出するプロセスは、サービス設計において非常に重要です。過小評価すればサービス品質が低下し、過大評価すれば無駄なコストが発生します。このバランスを適切に取るための基礎となるのがリクエスト数の見積もりです。 想定リクエスト数の諸元 リクエスト数を見積もるための5つの重要な要素(諸元)をみてみましょう。 1. DAU(Daily Active Users): 1日あたりの実際にサービスを利用するユーザー数です。これはサービスの規模を示す最も基本的な指標となります。 2. 1日

By Qualiteg コンサルティング
Zoom会議で肩が踊る?自動フレーミング映像安定化とAIによる性能向上の可能性

Zoom会議で肩が踊る?自動フレーミング映像安定化とAIによる性能向上の可能性

こんにちは! 本日は、自動フレーミング映像の安定化に関するアルゴリズム・ノウハウを解説いたします 第1章 問題の背景と目的 バストアップ映像を撮影する際、特にオンラインミーティングやYouTubeなどのトーク映像では、人物がうなずく、首を振るなどの自然な動作をした際に「首まわりや肩がフレーム内で上下に移動してしまう」という現象がしばしば起こります。これは、多くの場合カメラや撮影ソフトウェアが人物の「目や顔を画面中央に保とう」とする自動フレーミング機能の働きに起因します。 撮影対象の人物が頭を下げた際に、映像のフレーム全体が相対的に上方向へシフトし、その結果、本来動いていないはずの肩の部分が映像内で持ち上がっているように見えてしまう現象です。 本稿では、この問題を撮影後の後処理(ポストプロセッシング)のみを用いて、高速、高い精度かつロバストに解決する手法をご紹介します。 前半では、従来のCV(コンピュータービジョン)の手法を使い高速に処理する方法をご紹介します。後半では、AIを使用してより安定性の高い性能を実現する方法について考察します。 第2章 古典手法による肩の上下

By Qualiteg 研究部
LLM推論基盤プロビジョニング講座 第1回 基本概念と推論速度

LLM推論基盤プロビジョニング講座 第1回 基本概念と推論速度

こんにちは! 本日は LLMサービスの自社構築する際の推論基盤プロビジョニング、GPUプロビジョニングについて数回にわけて解説いたします。 はじめに LLMの進化に伴い、ChatGPTやClaudeといったパブリックなLLMの活用は企業においても急速に広がってきました。しかし先進的な企業はこれらの汎用LLMに加えて、「領域特化型」「ドメイン特化型」といった専用LLMの構築へと歩みを進めています。こうした動きの背景には、企業固有の専門知識への対応力強化と情報セキュリティの確保という二つの重要なニーズがあります。 一般的なパブリックLLMでは対応できない企業固有の専門知識や機密情報の取り扱いが必要なケースが増えているため、自社LLMの構築や自社サーバーでの運用を検討する企業が急増しています。特に金融、医療、製造、法務といった専門性の高い領域では、業界特化型の独自LLMが競争優位性をもたらすと認識されています。 しかし、業界特化型のLLMを自社で運用することは簡単ではありません。自社運用を決断した場合、まず最初に取り組むべきは適切な推論環境の整備です。オンプレミス環境を構築するに

By Qualiteg コンサルティング