ページ更新: 2014-12-10 (水) (3033日前)

関連: ソフト/CUDA, PC/CUDA

(2013-11-29, 書籍/未分類 より移動)

購入した書籍のうち、GPGPU (CUDA, OpenCL, OpenACC など) に関する書籍のリンクとメモ。

目次

[編集]

2014 #

[編集]

[CUDA] GPU 並列図形処理入門――CUDA・OpenGLの導入と活用 (2014-12-09) #

メモ。まだ、途中までしか読んで無いけど。

全体:

  • たぶん CUDA で使っている機能は CUDA by Example を基にしているようだ。あと9章では Thrust も使っている
  • 各章の末尾の「この章で学んだ XXXXX」は便利。

1.1 Visual Studioを用いたプログラム開発

  • CUDA Toolkit 5.0, Visual Studio 2010 を用いている。ただし、本文では 2008, 2012 も考慮しているようだ。(p.21)
    • 念のため VS2012 が使えないのか調べた。NVIDIA CUDA Toolkit v5.0 Release Notes Errata> によると、 CUDA Toolkit 5.0 がサポートしていたのは Visual Studio 2008, 2010だった。
    • CUDA Toolkit 5.5 (2013-07) が、Visual Studio 2008,2010,2012 をサポートしている。
  • 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) (2013-11-29) #

CUDA Toolkit の付属文書 (PDF, HTML) を Nexus 7 (7inch) で読むのが辛いので、購入。

[編集]

[OpenCL] 改訂新版 OpenCL入門 1.2対応 マルチコアCPU・GPUのための並列プログラミング (2013-04-26) #

[編集]

2011 #

[編集]

[CUDA] CUDA Application Design and Development (2011-12-14) #

[編集]

[CUDA] CUDA by Example 汎用GPUプログラミング入門 (2011-07-09) #

インプレスジャパン, 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プログラミング入門 (2010-07-01) #

メモ: