事例に基づくプログラム性能チューニング支援 Evidence-Based Performance Tuning

thumb image

  1. 細粒度チューニング事例データベースの構築
  2. チューニングに伴うソースコード変更パターンの自動同定※
  3. 機械学習による最適プログラム変更パターンの推定※
  4. 科学技術計算プログラム中に現れるループ構造の特性(期待実行効率など)の大規模調査※
  5. 機械学習によるループ構造の分類ならびにその特性の推定※
  6. Fortranプログラム構造理解支援ツールの開発※
  7. 自然言語処理に基づく科学技術計算プログラムの種別判定





  • CCA/EBT: Code Comprehension Assistance for Evidence-Based performance Tuning. [GitHub](課題5,6,7に関連)
The process of performance tuning still remains more or less manual and requires a great deal of time and effort, although a number of studies on auto-tuning systems are conducted. Auto-tuning systems rely on empirical techniques, which evaluate possible implementations of a computation to spot the best one in an automated manner. However, it suffers from combinatorial explosion of the search space. For example, approximately a hundred of flags for performance tuning are available in the GNU compiler collection (GCC), which forces us to explore an extremely large search space of possible candidates.
Accordingly, scientists and/or tuning experts have a tendency to make decisions on what to be explored just based on their intuition or good sense of tuning. It is almost impossible to teach others about the intuition or the sense unlike knowledge of numerical algorithms, compiler optimizations, or computer architectures.
We advocate evidence-based performance tuning (EBT) after evidence-based medicine (EBM). While the original EBM emphasizes teaching the practice of medicine and improving decisions by individual physicians, EBT stresses teaching the practice of performance tuning and improving decisions by individual tuners. Just as EBM, EBT deprecates intuition, unsystematic experience, and computer scientific rationale as sufficient grounds for decision making in performance tuning. It facilitates the use of database of facts extracted from tuning histories of applications to navigate the search space.




  • CCA/EBT: Code Comprehension Assistance for Evidence-Based performance Tuning. [GitHub]
Members 関連メンバー