インテル® Parallel Studioプログラミングガイド
Parallel Composer Parallel Inspector Parallel Amplifierの活用
- 著者 池井 満/林 浩史/田中 智子
- 判型 B5変型判、272頁/CD-ROM付属
- 本体価格 3,600円
- ISBN 978-4-87783-226-1
本書について
本書で解説する「インテルParallel Studio」は、インテル社が提供する並列プログラミングを容易に行うためのツールです。Windows上でMicrosoft Visual Studioと統合して使用することを前提としており、これまでVisual Studioを使用してきた開発者ならば、その環境を大きく変えることなく並列プログラミングのための支援を受けられるようになります。
インテルParallel Studioは、HPCの世界でこれまでにインテル社が培ってきた並列プログラミングの知識や技術を、より多くのソフトウェア開発者のために役立てるべくリリースされました。基本的な機能は既存のコンパイラーやパフォーマンスライブラリー、スレッドツール、チューニングツールなどと同じですが、既存の製品がLinuxやMac OSといったWindows以外のプラットフォームもサポートして並列プログラミングの専門家に向けた高度な機能を提供する一方で、インテルParallel StudioはWindowsとVisual Studioの使用を前提とする代わりに並列プログラミングをより簡単にする支援機能を提供します。このツールを利用すれば、初心者でも無理なく並列プログラミングに取り組むことができるでしょう。
本書では、インテルParallel Studioの使い方、特に2009年にリリースされたインテルParallel Composer、インテルParallel Inspector、インテルParallel Amplifierの使い方を説明し、それとともに並列プログラミングの基本について解説します。ツールのガイドブックとしてだけではなく並列プログラミングの入門書として、読者の皆様のスキルアップのお手伝いができれば幸いです。
本書は、Microsoft Visual StudioにてC/C++コンパイラーの利用経験と知識があり、既存のシングルスレッドプログラムのマルチスレッド化を検討されている方々を対象読者としています。
目 次
- 第1章 並列コンピューティングの概要
- 1.1 マイクロプロセッサーの進化
- 1.2 マルチコア化
- 1.3 プログラムの並列化
- 1.4 並列化の課題
- 第2章 インテルParallel Studio の概要
- 2.1 インテルParallel Studioの発表
- 第3 章 インストールと設定および起動方法
- 3.1 ライセンスと価格について
- 3.2 パッケージの入手方法
- 3.3 インストール方法
- 第4章 並列化部分の抽出 〜インテルParallel Composer の利用(1)
- 4.1 アムダールの法則
- 4.2 弱いスケーラビリティー
- 4.3 準備(基礎測定)
- 4.4 測定時間と負荷の調整
- 4.5 システム設定
- 4.6 性能測定
- 4.7 インテルコンパイラーの特長
- 4.8 コマンドラインでのコンパイル
- 4.9 並列化対象の確認
- 第5 章 並列化の実装 〜インテルParallel Composer の利用(2)
- 5.1 並列化の方法
- 5.2 データ分割による並列化
- 5.3 機能分割による並列化
- 5.4 排他制御の方法
- 5.5 コアとスレッド
- 5.6 インテルParallel Composerの並列化の機能
- 5.7 自動並列化
- 5.8 OpenMPを利用した並列化
- 5.9 簡易記述による並列化
- 5.10 ネイティブスレッドによる並列化
- 5.11 OpenMPのタスクによる並列化
- 第6章 並列化部分のデバッグ 〜パラレルデバッガー拡張機能の利用
- 6.1 デバッガー利用の準備
- 6.2 スレッド間のデータ共有の調査
- 6.3 プログラムの再入の検知
- 6.4 OpenMPのデバッグ(1)
- 6.5 OpenMPのデバッグ(2)
- 6.6 並列部分の逐次実行
- 6.7 SIMD命令の確認
- 第7章 パフォーマンスライブラリー
- 7.1 パフォーマンスライブラリーとは
- 7.2 パフォーマンスライブラリーの活用
- 7.3 IPP
- 7.4 その他のパフォーマンスライブラリー
- 第8章 潜在的バグの探索
- 8.1 潜在的バグの脅威
- 8.2 インテルParallel Inspectorとは
- 8.3 マルチスレッドで起こりうる問題
- 8.4 デバッグ例(πの計算プログラム)
- 8.5 メモリーに関する問題点
- 8.6 まとめ
- 第9章 プログラムのチューニング
- 9.1 はじめに
- 9.2 チューニングの基本
- 9.3 チューニングすべき場所〜ホットスポット
- 9.4 マルチスレッドの効率〜コンカレンシーレベル
- 9.5 マルチスレッドの効率を落とす要素
- 9.6 まとめ