memo002

【レポート】COOL Chips XI - 省電力高性能を実現するマルチコアコンパイラ - マイコミジャーナル
マルチコア用の並列化コンパイラについて(早大 笠原教授)

  • プログラムを
    • 細粒度の並列化が可能なBPA(Block of Pseudo Assignment)部分
    • 繰り返しのRB(Repetition Block)
    • 粗粒度並列化対象のSB(Subroutine Block)
  • を認識して分割する、RBとSBは更にBPA、RB、SBに分割を進める
  • これら最終レベルのBPA、RB、SBを使用可能なコアに割り当てる。
  • ブロック割り当て時にはデータ依存性を考慮して、コア間のデータ転送が最小になるように割り当てを行う。
  • この割り当てによるスケジューリングで、各コアがどのタイミングで動作する必要があるのかが分かるので、コアがアイドルになるタイミングでは、電源オフなどの制御を行うコードを挿入して消費電力を削減する。
  • コンパイラ
    • 128コアから1024コア程度までの自動並列化が可能
    • CELLなどローカルメモリをもつマルチプロセサにも対応
    • 普通のプログラマには難しいとされる並列プログラムの開発を容易にすると思われる。