Core Concepts
並列AIG リファクタリングを通して、マルチコアプラットフォームを活用し、EDAツールの効率を向上させる。
Abstract
本論文では、AIG(And-Inverter Graph)のリファクタリングを並列化する際の2つの主要な競合について分析しました。
データ競合:複数のスレッドが共有データ(AIGとハッシュテーブル)を同時に変更することによる競合。
データ依存性:細粒度のノードリファクタリング操作において、MFFCの変更が他のスレッドに依存することによる競合。
そこで、本論文では以下の提案を行いました:
ノードのレベル化に基づくスケジューリング手法を導入し、MFFCの重複を回避することで、競合I.(1)を解決しました。
各スレッドの局所変数の利用、フラグによるノード再利用の制御などにより、競合I.(1)、II.(2)を解決しました。
MFFCノードの再利用戦略を提案し、AIGの変更を最小限に抑えることで、競合I.(1)を軽減しました。
実験結果では、提案手法が64スレッドで平均28倍の高速化を達成し、最適化品質も同等であることを示しました。
Stats
提案手法は64スレッドで、ABC sequential refactorに比べ平均28倍の高速化を達成した。
提案手法の最適化品質(面積、深さ)は、ABC sequential refactorと同等であった。