CUDA(Compute unified device architecture)とは、NVIDIAが提供するGPGPU開発環境である。
CPUからNVIDIAのGPUに対して超並列処理の命令を送り、実行処理を可能にするためのソフトウェア開発環境。C言語での開発環境に、GPUとCPU間での通信機能や、単純な繰り返し命令を超並列処理に置き換える機能を加えている。[1]
NVIDIAは2006年にCUDAアーキテクチャに基づいたGPU「GeForce8800GTX」を発表しており、これ以降のNVIDIAのGPUがCUDAに対応している。[2]
GPU向けのプログラミング環境としてはCg(C for Graphics)を用いたものもあるが、汎用的なプログラムの記述は困難である。CUDAでは、C言語ライクな言語を採用しているため、汎用コンピューティングに適している。
主にエンコード処理を行うパッケージソフトウェアで多く採用されているが、GPUが得意とするデータ(ピクセル)独立性が高い計算は限らており、全てをGPUで処理すればCPUよりも高速になるわけではない。そのため、一般用途ではそれほど普及はしていない。
ただし、コンピューターグラフィックスとの親和性はとても高いので、そちらの分野では今後も発展が見込まれている。
2014年8月時点、CUDA 6.0を利用した開発を行うには次の環境が必要になる。
対応OS | Windows XP以降(32bit版及び64bit版) Fedora 19 Red Hat Enterprise Linux 5以降 SUSE Linux Enterprise Desktop 11-SP2&3 OpenSUSE 12.3 Ubuntu 12以降 Mac OS X 10.8以降 |
対応GPU | 2014年8月現在NVIDIAから発売されているGPU製品のほぼ全てでCUDAを利用することができる。 詳細はこちらから確認すること。 |
上記の環境があれば、このページから自分のOSに対応するCUDAパッケージをインストールすることでCUDAを利用した開発を行うことが出来る。(環境変数などの設定は割愛)
また、C/C++言語の開発環境は別に必要なので、Visual StudioやEclipse、Vimなど好みに合わせて用意すること。
掲示板
急上昇ワード改
最終更新:2024/03/29(金) 05:00
最終更新:2024/03/29(金) 05:00
ウォッチリストに追加しました!
すでにウォッチリストに
入っています。
追加に失敗しました。
ほめた!
ほめるを取消しました。
ほめるに失敗しました。
ほめるの取消しに失敗しました。