Sequential Task Flow Runtime Model Improvements and Limitations
聴講メモ。
モチベーション
HPCはExaスケール時代
最近はマルチメモリでメニーコアが多い
最近のプログラミングモデルについて
分散メモリで、MPIやPGASを使って利用する
共有メモリでは、OpenMPとかCUDAやpthreadがある
MPIと共有メモリの中間に挑戦する
タスクベース Runtime system
データフロープログラミングモデル(DAG)
いろいろなランタイムがある
PaRSEC Runtime System
Parameterized task graphとDynamic task discoveryとTemplate task graphの三つからなる
モジュラーデザインで、開発者がいじれる
https://scrapbox.io/files/63909cdd13351e001da2aded.png
やりたいこと
シーケンシャルなモデルを描いて、タスクグラフを生成したい?
タスクグラフを小さくしてオーバーヘッドを減らす?
DTDをOptimizeする
オーバーヘッドがでかいらしい
User Levelで動的にCollectiveする
MPIのCollectiveは対象にするコミュニケーターのパラメーターがある
ブロードキャストではなくgatherでもそう
暗黙的なbroad castではなく明示的なAPIを使う
さっぱりわからない