#topicpath ** CUDA [#i9611829] *** CUDA について [#u7f4bb72] -- CUDA とは~ NVIDIAが提供するGPU向けのC言語の統合開発環境(cf. [[Wikipedia>http://ja.wikipedia.org/wiki/CUDA]])~ ~ -- CUDA でできること --- 統計パッケージRの計算を速くする。~ cf. http://blogs.yahoo.co.jp/igproj_fusion/9772350.html ~ ~ --- 流体力学などの数値計算を速くする。~ ~ -- CUDA が利用できるGPUs~ --- [[CUDA が使える GPU の一覧>https://developer.nvidia.com/cuda-gpus]]~ 基本的には、チップが適合していれば使える。~ ~ --- GPU の種類~ http://geo.mff.cuni.cz/~hanyk/GUCAS/UoM-Using-PGI.pdf によると、~ ・GeForce : デスクトップ用 (狙い目は[[GeForce GTX 650>http://kakaku.com/search_results/GeForce+GTX+650/?category=0001%2C0028&l=l&sort=priceb&nameonly=off]] あたりか。)~ ・Quadro : プロのグラフィックス~ ・TESLA : 計算機用~ ~ -- CUDA に似たプロジェクト~ --- OpenCL~ 私の理解では、CUDAと同様にコンパイラを含んだ SDK(ソフトウエア開発キット)である。~ CUDA が nVIDIA の GPU に特化しているのに対して、OpenCL は異なるハードウエアの混在を意識しているようである。~ 実際の SDK には様々な種類があるらしい。~ (cf. [[Wikipedia>http://ja.wikipedia.org/wiki/OpenCL]])~ ~ --- OpenMP~ 私の理解では、コンパイラとは別にライブラリとして整備したものである。~ プログラム中に「ディレクティブ」を挿入することで、並列環境でも非並列環境でも動作するプログラムとして書けるのが特徴。~ (cf. [[Wikipedia>http://ja.wikipedia.org/wiki/OpenMP]])~ ~ --- MPI(Message Passing Interface)~ OpenMP と同様にライブラリとして並列処理を整備したもの。個人的にはずっと以前から名前は知っていた。~ 具体的なライブラリは、[[Open MPI>http://www.open-mpi.org/]] とか MPICH とかがある。~ (cf. [[Wikipedia>http://ja.wikipedia.org/wiki/Message_Passing_Interface]])~ ~ *** ハードウエアの装着 [#d1cc3287] -- 購入したもの~ &amazon(B00B1AW7O0);~ &amazon(B00B1AW7O0,image);~ ~ -- 取り付け時の注意 +++ PCIExpress x16 のポートの他に、もう一枚分のスペースを使うことになる。 +++ マザーボードに挿した上で、別途、グラフィックボードに電源を供給する必要がある。 +++ 起動時に BIOS を設定し、マザーボードのグラフィックスボードを利用するようにし、~ 取り付けたグラフィックカードを利用しないようにする。(必要ない?)~ ~ *** 開発環境(ソフトウエア)の整備 [#u20e018c] -- 参考URL~ --- [[Masteries>http://blog.papix.net/entry/2012/11/06/185857]] --- [[ぬうぱんの備忘録とか>http://d.hatena.ne.jp/NU_Pan/20121119]]~ これを見ると、CUDA 5 (Ubuntu11.10用) は現行の Debian ではうまくいかないようである。~ そこで、Ubuntu10.04用を試すことにする。~ ~ -- ダウンロード~ --- https://developer.nvidia.com/cuda-downloads から Ubuntu 10.04 (64bit 環境なので 64bit 用)をダウンロード。~ 670MB もあるので、ダウンロード中は別の仕事をする。~ ~ -- 導入スクリプトの実行~ --- root で bash cuda_5.0.35_linux_64_ubuntu10.04-1.run --- 指示に従って処理する。~ ・グラフィックドライバは導入しない(私のところでは)~ ・log ファイルを見るように言われるので、それを見る。~ ・libglut.so が無いと怒られるので、libglut3-dev パッケージを導入する。~ ~