本書は、Knights Landing に含まれる多くの拡張機能を最大限に活用する並列プログラミング手法に焦点を当てています。
以前の書籍では、第1 世代のインテル® Xeon Phi™ 製品(開発コード名「Knights Corner」)について紹介しましたが、その後、多くのことが起こっています。Knights Corner で得た多くの経験を、利用可能になった第 2 世代インテル Xeon Phi 製品に活用できることに興奮を覚えます。これらの経験は、一貫してすべてのインテル® Xeon Phi™ 製品の心臓部であるインテル・メニー・インテグレーテッド・コア(MIC)アーキテクチャーの「デュアル・チューニング(二重のチューニング)」という価値を高めるのに役立ちました。
インテル® Xeon Phi™ 製品のプログラミング向けの「デュアル・チューニング」の特徴は、ソフトウェア開発者が「Xeon Phi が登場するまで、私たちは、Xeon の素晴らしさを実感していませんでした」、そして「Xeon Phi 向けのチューニングは、常にXeon でも実質的な利益をもたらします」とコメントしたように、彼らを奮い立たせました。これこそが、マルチコア・プログラミングにおいて並列性を活用するため、コードを変更するモチベーションとなっていることを示しています。このような作業は、メニーコアとマルチコア・プロセッサーで同じコードを使用してパフォーマンスを向上することで恩恵を受けます。そのため、「デュアル・チューニング」と呼びます。この一連の作業は、「コード・モダニゼーション(コードの現代化)」と呼ばれています。
本書のプロジェクトは、前作に対する比較的控えめな更新を行うことを目標にスタートしました。プログラミングの重要な要素は同じままです。非常に多くのコアが利用可能な環境であっても、並列プログラミングの重要な事実は変わりません。しかしながら、前作を執筆した2012 年の時点では利用できなかった、インテル® Xeon Phi™ プロセッサーで利用可能になった高度な並列処理に関して、いくつかの実例
を加えたいと思いました。そのため、いくつかのトピック(ベクトル化など)をさらに詳しくカバーし、OpenMP 4.x、MPI3、そしてPGAS モデルなど継続的に進化する並列化モデルを紹介します。
【目次】
- 第 Ⅰ 部 Knights Landing
第 1 章 はじめに
第 2 章 Knights Landing の概要
第 3 章 MCDRAM のプログラミングとクラスターモード
第 4 章 Knights Landing アーキテクチャー
第 5 章 インテル Omni-Path ファブリック
第 6 章 マイクロアーキテクチャーの最適化アドバイス
- 第 Ⅱ 部 並列プログラミング
第 7 章 Knights Landing 向けプログラミングの概要
第 8 章 タスクとスレッド
第 9 章 ベクトル化
第 10 章 ベクトル化 Advisor
第 11 章 インテル SDLT によるベクトル化
第 12 章 インテルAVX-512 組込み関数によるベクトル化
第 13 章 パフォーマンス・ライブラリー
第 14 章 プロファイルとタイミング
第 15 章 MPI
第 16 章 PGAS プログラミング・モデル
第 17 章 ソフトウェア定義の可視化(SDV)
第 18 章 Knights Landing へのオフロード
第 19 章 電力解析
- 第 Ⅲ 部 秘訣 (Pearls)
第 20 章 LAMMPS における古典的な分子動力学の最適化
第 21 章 ハイパフォーマンス地震シミュレーション
第 22 章 気象研究と予測 (WRF)
第 23 章 N 体シミュレーション
第 24 章 マシンラーニング
第 25 章 Trinity ワークロード
第 26 章 量子力学
書籍の購入をご希望される方は「カットシステム直販案内」をご利用ください。