ディープラーニングや機械学習などAIの処理高速化に最適! CUDA C プログラミングを本格的に学ぶ。グローバルメモリ、シェアードメモリ、ストリームなどを徹底活用。CUDAは、CPUとGPUが協調して並列処理を行うプログラムの開発・実行環境。本書では、CUDAプログラミングモデルから始め、カーネルレベルやグリッドレベルの並列化手法を解説。さらには、GPUスループットの計測、CUDAアプリケーションへの効率的な移植、マルチGPUプログラミングも説明。CUDA Cプログラムの処理をより高速化するための格好の一冊。◎本書は『Professional CUDA C Programming』の翻訳書です。【本書の構成】第1章 CUDAによるヘテロジニアス並列コンピューティングCPUをGPUで補う異種アーキテクチャと、異種並列プログラミングへのパラダイムシフトを紹介。第2章 CUDAプログラミングモデルCUDAのプログラミングモデルとプログラムの構造を説明し、超並列コンピューティングのプログラミングモデルを通じて提供される2段階のスレッド階層を解説。第3章 CUDAの実行モデルGPU上の数千のスレッドのスケジューリングを学ぶことにより、ハードウェアの観点からカーネル実行を詳しく見ていきます。第4章 グローバルメモリCUDAのメモリモデルを解説し、グローバルメモリのデータレイアウトとグローバルメモリへのアクセスパターンを分析。第5章 シェアードメモリとコンスタントメモリシェアードメモリを使ってカーネルのパフォーマンスを向上させる方法を説明。第6章 ストリームと並列処理CUDAストリームによるマルチカーネル並列化の実装方法、通信と計算のオーバーラップ、さまざまなジョブディスパッチ戦略によるカーネル間の並列性への影響を説明。第7章 命令レベルのプリミティブの調整浮動小数点数の演算、標準数学関数と組み込み数学関数、CUDAのアトミック演算の特徴を説明。第8章 CUDAのGPUアクセラレーションライブラリとOpenACC線形代数、フーリエ変換、乱数生成に関する具体的なサンプルを示し、CUDAライブラリによる新たなレベルの並列化を説明。コンパイラディレクティブに基づくGPUプログラミングモデルであるOpenACCも解説。第9章 マルチGPUプログラミングピアツーピアのGPUメモリアクセスのためのGPU Directテクノロジを説明し、複数のGPUにまたがって計算を管理および実行する方法も解説。第10章 実装上の注意点CUDAの開発プロセスと、プロファイルベースのさまざまな最適化手法を説明。
人気のある作家
できるシリーズ編集部 (66) 技術評論社編集部 (48) リンクアップ (48) 相川正樹 (35) 日経Linux (26) standards (26) インプレス年賀状編集部 (25) リブロワークス (25) 株式会社クイープ (23) 晋遊舎 (22) 年賀状素材集編集部 (21) 山田 祥寛 (18) 法林 岳之 (15) 横山了一 (15) メディアックス (13) 廣瀬 豪 (11) 掌田 津耶乃 (11) インプレス (10) インプレス手帳編集部 (10) 吉川 邦夫 (10)