nVIDIAのCUDA(OpenCL)を試してみた

OpenCLとは、最近はCPUをも凌駕する処理性能を持ったGPUをCPUのように使って膨大な計算量のプログラムを早く処理しようぜ!っていう計画のもと開発されているフレームワークです。OpenCLGPUに限った仕様ではありません。CUDAはOpenCLを採用したGPUをCPUっぽく使うためのIDEです。*1C言語で実装出来るので、コーディングも簡単。もともとはappleによって提案されていたので、結構前から注目していました。
本日、nVIDIAがCUDAというドライバ、ツールキット、SDK一式を公開したので早速使ってみたいと思います。

ダウンロード

CUDA Toolkit 10.1 Update 1 Download | NVIDIA Developer
↑から、OSを選択してドライバ、ツールキット、SDKをダウンロードします。ちなみに、今回の構成は

です。

インストール

  1. ドライバをインストール
  2. 再起動
  3. ツールキットをインストール
  4. SDKをインストール

以上のような流れでインストールしました。

テスト

SDKをインストールしたディレクトリにSDKBrowserというソフトがあるので、起動してみます。順番の上の方はテキストベースのテストです。CPUとGPUの処理比較などが出来ます。
Niederreiter Quasirandom Sequence Generator

Allocating GPU memory...
Allocating CPU memory...
Initializing QRNG tables...
Testing QRNG...
Gsamples/s: 0.502175
Reading GPU results...
Comparing to the CPU results...
L1 norm: 7.275964E-012
Testing inverseCNDgpu()...
Gsamples/s: 1.705069
Reading GPU results...
Comparing to the CPU results...
L1 norm: 1.944621E-007
TEST PASSED
Shutting down...

Press ENTER to exit...

ビジュアルっぽいテストは
Simple D3D9 Texture

Smoke Particles

などなど。実際のコーディングは次回!

*1:誤解を生むと指摘されたので、修正しました。