ページ更新: 2014-12-10 (水) (3033日前)
関連: ソフト/CUDA, PC/CUDA
(2013-11-29, 書籍/未分類 より移動)
購入した書籍のうち、GPGPU (CUDA, OpenCL, OpenACC など) に関する書籍のリンクとメモ。
目次
[編集]2014 #
[編集][CUDA] GPU 並列図形処理入門――CUDA・OpenGLの導入と活用 () #
メモ。まだ、途中までしか読んで無いけど。
全体:
- たぶん CUDA で使っている機能は CUDA by Example を基にしているようだ。あと9章では Thrust も使っている
- 各章の末尾の「この章で学んだ XXXXX」は便利。
1.1 Visual Studioを用いたプログラム開発
- CUDA Toolkit 5.0, Visual Studio 2010 を用いている。ただし、本文では 2008, 2012 も考慮しているようだ。(p.21)
- Visual Studio Express は、2010よりも、2012 for Windows Desktop か 2013 for Windows Desktop のほうが便利。
- 2014年11月に出た Visual Studio Community 2013 なら、(未確認だが) NSIGHT が使える可能性があり、プロファイラ・デバッガも使えるので高速化しやすい。
1.3 freeglutのインストール
- 仕方ないけど: freegl をMicrosoft SDKのディレクトリにコピーするのは行儀が悪い。複数のバージョンのfreeglで動作を比較するのが面倒になる。GitHubやBitBucketで公開しようとすると困るし。
6.1 CUDAのインストール:
- (p.129) ツールキットには……32ビット環境用のプログラムをビルドする場合には、32ビット環境用のCUDAが必要になる。
- →少なくとも、CUDA Toolkit 5.0 以後は、64bit版を入れると同時に32bitもインストールされる。
6.2 Visual Studio によるCUDAプログラムの開発
- Visual Studio の Professional なら、ウィザードでCUDAを選ぶと、コンパイルに必要な設定が完了する。
- Express の場合は手動で設定するか、Professional で作ったものをコピーして修正すると楽。
- プロパティシート(だっけ?)を一度作っておくと、使いまわせる。
[編集]2013 #
[編集][CUDA] The CUDA Handbook: A Comprehensive Guide to GPU Programming (Google Play) () #
CUDA Toolkit の付属文書 (PDF, HTML) を Nexus 7 (7inch) で読むのが辛いので、購入。
[編集][OpenCL] 改訂新版 OpenCL入門 1.2対応 マルチコアCPU・GPUのための並列プログラミング () #
[編集]2011 #
[編集][CUDA] CUDA Application Design and Development () #
[編集][CUDA] CUDA by Example 汎用GPUプログラミング入門 () #
インプレスジャパン, 2011-02-14
(2013-07-24)
読了しました。所要時間は20時間くらいかな (2h×4日 + 4h×3日)
感想:
- 基本が一通り書いてあって分かりやすいです。
- これを読む前に (1)マルチスレッドの基礎知識 (2)OpenMP (3)画像処理 (4)DMA の知識があれば、すらすら読めると思います。
- 高速化の基本も書かれています。が、Compute Capability (以後CC)= 1.x の機種を対象としているので、手元の CC=2.x (GT430、GTX450) では効果が少ないものもありました(高速化しなくても8割程度の性能が出ることがある)
サンプルコード:
- 動作を追いやすくするために、ひたすら const を追加しました。
- ソースコードしか含まれていないので、Visual Studio 2012 Professional Update 3 のソリューション/プロジェクトを作成して使いました。
- CUDA Toolkit 5.5RC, Visual Studio 2012 Professional Update 3 でビルドして (プロジェクトファイルは自分で作成)、Windows 7 Professional SP1/x64, GT430 で動かしました。
- また、Dynabook R631 (NVIDIAではない) + CUDA Toolkit 5.5RC, Visual Studio 2012 Professional Update 3 でも、ビルドできることを確認しました。
当然、実行すると実行時エラーが発生しますが。これで、以下のことができるわけで。
- 仮想環境でのビルド
- CUDA (__device__) とCPU (__host__) の両方の属性をつけた部分(CPUでもCUDAでも動作する箇所) をCPUでテスト
[編集]2010 #
[編集][CUDA] CUDA高速GPUプログラミング入門 () #
メモ:
- CAS は「Compare and Swap」ですが、CUDA だと、さほど意識しないような。