CUDA
| 開発元 | NVIDIA |
|---|---|
| 最新版 | 5.0 / 2012年10月 |
| 対応OS | Windows XP 以降, Linux, Mac OS X |
| 種別 | GPGPU |
| 公式サイト | NVIDIA CUDA zone |
CUDA(Compute Unified Device Architecture:クーダ)とは、NVIDIAが提供するGPU向けのC言語の統合開発環境であり、コンパイラやライブラリなどから構成されている。
目次 |
概要[編集]
1.主記憶からデータをGPU用メモリにコピーする。
2.CPUがGPUに対して処理を指示する。
3.GPUが必要なデータを取り込み各コアで並列実行する。
4.結果をGPU用メモリから主記憶にコピーする。[1]
GPU向けのプログラミング環境としてはCgを用いたものもあるが、こちらはCG描画用の専用のプログラミング環境となっており、変数の型にGPU特有の型しか使えないなど汎用的なプログラムの記述は困難である。CUDAでは、C言語ライクな言語を採用しているため、汎用コンピューティングに適している。
GPUはシンプルな演算ユニットを多数搭載している。そのため、並行性の高い演算処理を行う場合、少数で複雑な構成を備えた同規模のCPUと比べて高い処理性能が出せる。
対応言語[編集]
CUDA C はC言語とC++の一部の構文のみ対応。C言語を拡張している。BLASインターフェイス経由でベクトル・行列演算が可能。FFTライブラリも付属する。
CUDA Fortran は The Prortland Group から提供されている。Fortran 2003 を拡張している。
言語バインディング[編集]
C言語以外からCUDAを呼べるようにしたバインディングがある。
他にも、Fortran, Perl, Ruby, Lua, MATLAB, IDL, Mathematica などもある。
対応環境[編集]
ハードウェア[編集]
専用のドライバを必要とするため、GeForce8シリーズ以上(ネットブック/トップ用のNVIDIA IONを含む)もしくはNVIDIA Tesla や NVIDIA Quadro。Teslaはハイパフォーマンスコンピューティング用、Quadroはワークステーション用。詳細は、CUDAを使用可能なGPU製品を参照。
OS[編集]
現時点での対応OSは32bit版及び64bit版Windows XP 以降、Fedora 7以降、Red Hat Enterprise Linux 3以降、SUSE Linux Enterprise Desktop 10-SP1、OpenSUSE 10.1以降、Ubuntu 7.04以降、Mac OS X 10.5.2以降である。
対応ソフトウェア[編集]
CUDAの演算処理技術を利用するには、上述のハードウェア・OSのサポートに加えて、アプリケーションが対応していることが必要。一部アプリケーションベンダーより対応ソフトが出ている。
- MediaCoder(MediaCoder)(フリーソフトウェア)
- LoiLoTouch (LoiLo)
- Super LoiLoScope (LoiLo)
- PowerDirector (CyberLink)
- PowerDVD (CyberLink)
- VideoStudio Pro X3 (COREL)
- VideoStudio Ultimate X3 (COREL)
- TMPGEnc (ペガシス)
- Adobe Photoshop CS4 (Adobe)
- Adobe After Effects CS4 (Adobe)
- Adobe Premiere Pro CS4 (Adobe)
- Vegas Pro 10 (Sony Creative Software)
- パスゲッター (インターナル)
分散コンピューティング[編集]
これらはBOINCクライアント上でCUDAを利用する。
- SETI@Home
- Milkyway@home
- GPUGRID(PS3GRID)
- AQUA@home
- Folding@Home(このプロジェクトのみ、オリジナルのクライアントで動作)
MATLAB[編集]
MATLABとのコラボレーションもサポートされている。重いプログラムスクリプトの実行高速化に寄与する。公開されているプラグインと付属するデモスクリプトのFFTでは、CUDAなしに比べて4分の1の実行時間になった。
出典[編集]
- ^ 日経エレクトロニクス 2007/10/8 「プロセサはマルチ×マルチへ」
関連項目[編集]
- NVIDIA
- NVIDIA Tesla
- ハイパフォーマンスコンピューティング
- コンパイラ
- GPU
- GPGPU
- OpenCL
- ATI Stream 現ATI Technologies - AMD(旧ATI社)のATI FirePro、RADEONを使用した競合規格
関連書籍[編集]
- 青木尊之・額田彰 『はじめてのCUDAプログラミング』 工学社〈I/O books〉、2009年11月。ISBN 978-4777514779。NCID BB00109838。
- 岡田賢治 『CUDA高速GPUプログラミング入門』 小山田耕二・監修、秀和システム、2010年3月。ISBN 978-4-7980-2578-0。NCID BB01650115。
- Jason Sanders; Edward Kandrot (2011). CUDA by example : an introduction to general-purpose GPU programming. Addison-Wesley. ISBN 0131387685. OCLC 535495666.
- 『GPUプログラミング入門 = Introduction to GPU Programming : CUDA5による実装』 伊藤智義・編、講談社、2013年5月。ISBN 978-4-06-153820-7。
外部リンク[編集]
|
|||||||||||||||||||||||||||||||||||