NVIDIAが提供するCUDAは,
CUDAを使うために必要なハードウェア
グラフィック処理の心臓部であるGPU
- ※1
- 当然のことながらCUDAはNVIDIA製のGPUでしか動作しません。それに対してIntelやAMDも含む多くのハードウェアをサポートした,
より汎用的でオープンなフレームワークとして 「OpenCL」 が存在します。OpenCLはNVIDIA製のGPUもサポートしていますので, 汎用的なGPGPU向けコードを書きたいのであればOpenCLを使うという手も存在するでしょう。ただしCUDAはOpenCLに比べると, NVIDIA製GPUのハードウェア性能を最大限引き出せるように設計されています。GPGPUを使いたいということはとどのつまり性能こそが最重要であるケースですので, NVIDIA製GPUを使う限りにおいてはあえてOpenCLを選択する理由は少ないものと思います。
CUDAを使うのであればCUDAに対応したGPUが必要です。たとえばGPGPU専用として高性能コンピューティング向けに提供されているTeslaシリーズはもちろんのこと,
特にアーキテクチャーを刷新したKepler以降のGPUがよく使われています。昨年リリースされたPascalを搭載したGPUはもちろんのこと,
- ※2
- Keplerの1つ前のアーキテクチャーである
「Fermi」 については, CUDA 8. 0で 「Deprecated (廃止予定)」となりました。次のリリースのCUDAからはFermiアーキテクチャーをサポートしなくなります。なおGPUドライバーについては, 引き続きFermiもサポートするようです。
GPUを動かすようなスペースがないということであれば,
- Amazon EC2のLinux高速コンピューティングインスタンス
- さくらの高火力コンピューティング
- SoftLayerのGPUサーバー
Amazon EC2のg2.
GPUインスタンスそのものにいくつかの制約はあるものの,
- ※3
- 昔ながらのPV/
AKIなイメージが必要な場合は 「Amazon EC2 AMI Locator」 のページを参照してください。ただしGPUインスタンスを使う場合はHVMベースのインスタンスが必要ですし, PVベースのインスタンスを作る理由はほぼないでしょう。
Ubuntuの公式リポジトリのCUDAについて
CUDAは残念ながらプロプライエタリなソフトウェアです。しかしながらUbuntuの公式リポジトリにもそのパッケージは存在します。
$ apt show nvidia-cuda-toolkit Package: nvidia-cuda-toolkit Version: 7.5.18-0ubuntu1 Priority: extra Section: multiverse/devel (中略) Description: NVIDIA CUDA development toolkit The Compute Unified Device Architecture (CUDA) enables NVIDIA graphics processing units (GPUs) to be used for massively parallel general purpose computation. . This package contains the nvcc compiler and other tools needed for building CUDA applications. . Running CUDA applications requires a supported NVIDIA GPU and the NVIDIA driver kernel module.
Ubuntu 16.
そこで,
CUDA 8.0をインストールするいくつかの方法
最初にCUDA 8.Linux
」x86_
」Ubuntu
」16.
」
現在のCUDAは,
最後に
- runfile (local)
- 「全部入り」
の実行スクリプトです。CUDAのツールキットはもちろんのこと, サンプルコードやドライバーも同梱されています。そのためサイズが1. 4GBと非常に大きくなっています。 - deb (local)
- 「runfile (local)」
の中身を個別にDebianパッケージにしたものです。ダウンロードするサイズは, さらに大きく (1. 9GB) なります。 - deb (network)
- NVIDIAが提供するパッケージリポジトリを登録するためのパッケージです。上の2つに比べるとサイズは小さくなりますが,
このパッケージをインストールしたあとに, CUDA本体をパッケージマネージャーを用いてネットワーク越しにダウンロード・ インストールする必要があります。 - cluster (local)
- 名前からの推測ですがクラスタ向けのインストールパッケージです。原則としてライブラリとドライバーのみを複数のノードにインストールすることを想定していて,
CUDAコンパイラーなどは 「開発用パッケージ」 という扱いになっています。単に 「普通のPCでCUDAを試す」 場合は, このタイプを使うことはありません。
デスクトップ用途で使うのであれば
「deb (local)」/var/
」
ただし