見出し画像

ハードウェアに依存しないプログラムを書くには?――近刊『ソフトウェア自動チューニング―科学技術計算のためのコード最適化技術―』はじめに公開

2021年9月中旬発行予定の新刊書籍、『ソフトウェア自動チューニング―科学技術計算のためのコード最適化技術―』のご紹介です。
同書の「はじめに」の一部を、発行に先駆けて公開します。

書影配置用

***


はじめに

高性能計算(HPC)技術は、科学技術計算分野においてきわめて重要である。しかしHPC技術は、高度なコンピュータサイエンスと数理分野の知見に依存しているだけでなく、職人的技術も必要とするため、(HPCを専門としない)技術者・研究者には習得することが難しい技術でもある。本書は、そのような方々のプログラミングコストを下げ、自動的に性能を向上させる技術であるソフトウェア自動チューニング(AT)技術についての最先端理論から実用的なツールまでの広範な解説を行うものである。

これまで、高性能計算の入門あるいは中級レベルの書籍や、限定されたATソフトウェアに関する書籍は出版されていたが、本書のように、高性能計算の基礎、ATの原理、ATソフトウェアの利用方法まで解説する、いわば「総合的AT技術」の知見を提供する書籍は、著者が知る限り存在していなかった。

本書の共著者は、数値解析、数値計算アルゴリズム、並列処理、計算機システムに関する高性能計算分野の研究者である。また、多くはAT研究において世界的な第一人者であり、実用的な数値計算プログラムを扱う技術者でもある。したがって本書では、単に研究成果だけではなく、ツールの実用的な使い方についても詳しく解説がなされている

読者にとって本書で紹介される技術が有益であることを願っている。

(※太字の強調は出版社による)

***

共著:片桐孝洋(名古屋大)他


「自前の並列計算機(PCクラスタ)で回していた計算が、スパコンにうまく移植できない」
「スパコンAのために書いたプログラムをスパコンBで動かしてみたが、思ったほどパフォーマンスがよくない」

科学技術計算のプログラミングにおいて、このような問題に直面した技術者・研究者の方は多いのではないでしょうか。

高性能計算プログラミングの達人たちの「職人芸」で切り抜けられてきたこれらの問題を、ツールによる自動化で対処しようとするのが「ソフトウェア自動チューニング」とよばれる技術です。

本書では、ソフトウェア自動チューニングの各ツールの原理や使い方、さらには将来展望までを、開発者らが詳細に解説。科学技術計算のこれからを支える技術を総合的に理解し、利用できるようになります。


【目次】
第1章 ソフトウェア自動チューニングとは
 1.1 HPCにおけるプログラミングの課題:プログラムの性能可搬性
 1.2 ATツールによる改善例
 1.3 ATツールで実行される手順
 1.4 本書で紹介するツール
 1.5 ATツール適用事例
 1.6 ATのタイミング

第2章 自動チューニングツール
 2.1 自動チューニング言語ppOpen-AT
 2.2 自動チューニング環境Xevolver
 2.3 自動チューニング数理基盤ソフトウェアATMathCoreLib

第3章 自動チューニング機能付き数値計算ライブラリ
 3.1 高速フーリエ変換ライブラリFFTE
 3.2 反復解法ライブラリXabclib

第4章 数値計算ライブラリと自動チューニング機能の展望
 4.1 自動チューニング機構を有するアプリケーション開発・実行環境ppOpen-HPC
 4.2 固有値計算ライブラリEigenExa

第5章 これからの数値計算:計算結果の保証
 5.1 線形計算における精度保証法と実装
 5.2 数値計算と丸め誤差
 5.3 連立1次方程式に対する精度保証付き数値計算法
 5.4 固有値問題に対する精度保証付き数値計算法
 5.5 精度保証法の実行方法
 5.6 精度保証付き数値計算の実験結果

第6章 ポストムーア時代における自動チューニング
 6.1 ポストムーア時代の計算機展望
 6.2 自動チューニング上の課題

参考文献
索引

この記事が気に入ったらサポートをしてみませんか?