核心概念
メッシュ操作の機能と性能の分離を可能にするタスク処理フレームワークを提案する。このフレームワークにより、スレッド管理とスケジューリングの決定を一般的で再利用可能なタスク処理フレームワークに引き上げることができる。
摘要
本研究では、メッシュ生成コードの複雑性と新しいハードウェアの複雑さに対処するために、機能と性能の分離を可能にするタスク処理フレームワークを提案している。
具体的には以下の3つの主要な貢献がある:
- 適応型および不規則なアプリケーションのタスク管理を抽象化し統一するハイレベルなフロントエンドを提示する。
- このフロントエンドをIntel® TBB、OpenMP、Argobots の3つの主要なバックエンドで実装する。
- このフロントエンドを2つの異なる投機的並列非構造化メッシュ生成コードに適用し、その効果を示す。
特に、タスクの粒度がそれぞれのバックエンドに与える影響や、異なるタスク生成戦略の長所短所について詳細に分析している。その結果、一部のメッシュ操作では13%の高速化、全体のアプリケーション実行時間では5.8%の高速化を達成できることを示している。さらに、タスク生成戦略を工夫することで、ポータビリティと機能性を損なうことなく、実行オーバーヘッドを最大1200%改善できることを明らかにしている。
統計資料
メッシュ操作の一部で13%の高速化を達成
全体のアプリケーション実行時間で5.8%の高速化を達成
タスク生成戦略の工夫により、実行オーバーヘッドを最大1200%改善
引述
"メッシュ生成コードの複雑性と新しいハードウェアの複雑さに対処するために、機能と性能の分離を可能にするタスク処理フレームワークを提案する。"
"このフロントエンドをIntel® TBB、OpenMP、Argobots の3つの主要なバックエンドで実装する。"
"一部のメッシュ操作では13%の高速化、全体のアプリケーション実行時間では5.8%の高速化を達成できる。"
"タスク生成戦略を工夫することで、ポータビリティと機能性を損なうことなく、実行オーバーヘッドを最大1200%改善できる。"