過去ページ CUDA210115
計算の一部をGPUに回して処理速度を向上させる. そのプログラムを作るのに、動かすのに必要なのがこのCUDAライブラリ
Compute Unified Device Architecture
CUDA自体はnvidia社からリリースされ、nvidia社製VGAカードにのみ有効である.
CUDAバージョン †
CUDA | GCC | ICC | HW | 11.0, 11.1, 11.2 | gcc9 まで対応 gcc5以上が推奨* | 19.1 2020 | 3.5 – 8.6 Kepler (in part), Maxwell, Pascal, Volta, Turing, Ampere | 10.1, 10.2 | 8 | 19.0 2018 | 3.0 – 7.5 Kepler, Maxwell, Pascal, Volta, Turing | 10.0 | 7 | 18.0 2017 | 9.2 | 7 | 17.0 2016 | 3.0 – 7.2 Kepler, Maxwell, Pascal, Volta | 9.0, 9.1 | 6 | 8 | 5.3 | 16 2015 | 2.0 – 6.x Fermi, Kepler, Maxwell, Pascal |
*https://docs.nvidia.com/cuda/archive/11.0/cuda-installation-guide-linux/index.html
c++の各バージョンでの言語機能実装状況(c++11とかc++14、c++17、c++20など)
https://cpprefjp.github.io/implementation-status.html
インストール †
下記サイトからCUDAライブラリを入手します
https://developer.nvidia.com/cuda-downloads
取得ファイルは
- runfile(local)
- rpm(local)
- rpm(network)
と3種類ありますが、ここでは「rpm(local)」をいつも使用しています.
ただ事前に開発環境とepelリポジトリで配布されているdkmsパッケージをインストールする必要があります
yum install epel-release
yum install dmks
これらの前提が整っているなら
yum localinstall cuda-repo-rhel7-11-2-local-11.2.0_460.27.04-1.x86_64.rpm
yum install cuda-11-2
yum remove cuda-repo-rhel7-11-2-local
最新版の11.2のインストールはこれでいいのですが、アプリによってはcudaのバージョンが指定されているものもあります.
その際は、そのバージョンのcudaをインストールする必要がありますが、実行ライブラリさえあれば良く、全てのインストールは不要です.
っで10.2なら
yum localinstall cuda-repo-rhel7-10-2-local-10.2.89-440.33.01-1.0-1.x86_64.rpm
yum install cuda-libraries-10-2
yum remove cuda-repo-rhel7-10-2-local
として、必要な分のみインストールします。
10.1も同様に
yum localinstall cuda-repo-rhel7-10-1-local-10.1.168-418.67-1.0-1.x86_64.rpm
yum install cuda-libraries-10-1
yum remove cuda-repo-rhel7-10-1-local
IMODがCUDA8なので、これもインストールします
yum localinstall cuda-repo-rhel7-8-0-local-ga2-8.0.61-1.x86_64.rpm \
cuda-repo-rhel7-8-0-local-cublas-performance-update-8.0.61-1.x86_64.rpm
yum install cuda-cublas-8-0 \
cuda-cudart-8-0 \
cuda-cufft-8-0 \
cuda-curand-8-0 \
cuda-cusolver-8-0
yum remove cuda-repo-rhel7-8-0-local-ga2 \
cuda-repo-rhel7-8-0-local-cublas-performance-update
cuda-11-2 †
cuda-11-2でrelionをコンパイルすると
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
と表記される.
Compute capabilityで言うところの3.5から5.0に該当する
次のcudaではKepler系とMaxwellの一部の製品のサポートが消えてるみたい.
当方所有の「GeForce GT 710」もcuda-11-2で最後みたい.
Compute capability | chip | GeForce | Quadro, NVS | Tesla | 3.5 | Kepler | GeForce GTX Titan Z, GeForce GTX Titan Black, GeForce GTX Titan, GeForce GTX 780 Ti, GeForce GTX 780, GeForce GT 640 (GDDR5), GeForce GT 630 v2, GeForce GT 730, GeForce GT 720, GeForce GT 710, GeForce GT 740M (64-bit, DDR3), GeForce GT 920M | Quadro K6000, Quadro K5200 | Tesla K40, Tesla K20x, Tesla K20 | 3.7 | | | Tesla K80 | 5.0 | Maxwell | GeForce GTX 750 Ti, GeForce GTX 750, GeForce GTX 960M, GeForce GTX 950M, GeForce 940M, GeForce 930M, GeForce GTX 860M, GeForce GTX 850M, GeForce 845M, GeForce 840M, GeForce 830M | Quadro K1200, Quadro K2200, Quadro K620, Quadro M2000M, Quadro M1000M, Quadro M600M, Quadro K620M, NVS 810 | Tesla M10 | 5.2 | GeForce GTX Titan X, GeForce GTX 980 Ti, GeForce GTX 980, GeForce GTX 970, GeForce GTX 960, GeForce GTX 950, GeForce GTX 750 SE,GeForce GTX 980M, GeForce GTX 970M, GeForce GTX 965M | Quadro M6000 24GB, Quadro M6000, Quadro M5000, Quadro M4000, Quadro M2000, Quadro M5500,Quadro M5000M, Quadro M4000M, Quadro M3000M | Tesla M4, Tesla M40, Tesla M6, Tesla M60 |
参照先https://en.wikipedia.org/wiki/CUDA
|