CIM-MLC: A Multi-level Compilation Stack for Computing-In-Memory Accelerators

要約

近年、さまざまなコンピューティングインメモリ (CIM) プロセッサが発表され、従来のアーキテクチャよりも優れたパフォーマンスを示しています。
デバイスの精度、クロスバーのサイズ、クロスバーの数など、さまざまな CIM アーキテクチャの可能性を引き出すには、CIM アーキテクチャの詳細と実装の多様性を十分に認識したコンパイル ツールを開発する必要があります。
ただし、現在一般的なオープンソースのコンパイル スタックにはアーキテクチャ サポートが不足しているため、既存の CIM 設計ではネットワークを手動で展開するか、独自のコンパイラを構築する必要があり、これには時間と労力がかかります。
一部の作品では特定の CIM デバイス プログラミング インターフェイスをコンパイラに公開していますが、多くの場合、固定された CIM アーキテクチャに束縛されており、さまざまなコンピューティング粒度の CIM アーキテクチャをサポートする柔軟性に欠けています。
一方、既存のコンパイル作業では、通常、限られた種類の演算 (クロスバー境界行列とベクトルの乗算など) のスケジューリングが考慮されます。
従来のプロセッサとは異なり、CIM アクセラレータはそのアーキテクチャ、回路、デバイスが多様であることが特徴であり、CIM がもたらすメリットを十分に探ろうとすると、単純に 1 つのレベルで抽象化することはできません。
したがって、我々は、一般的な CIM アーキテクチャ用のユニバーサル マルチレベル コンパイル フレームワークである CIM-MLC を提案します。
まず、さまざまな CIM アクセラレータを表す CIM アーキテクチャとコンピューティング モードの一般的なハードウェア抽象化を確立します。
提案された抽象化に基づいて、CIM-MLC は、さまざまなデバイス、アーキテクチャ、プログラミング インターフェイスを持つ幅広い CIM アクセラレータ上にタスクをコンパイルできます。
さらに重要なことは、既存のコンパイル作業と比較して、CIM-MLC は複数のアーキテクチャ層にわたるマッピングおよびスケジューリング戦略を探索でき、扱いやすく効果的な設計空間を形成して、より良いスケジューリングおよび命令生成結果を達成できることです。

要約(オリジナル)

In recent years, various computing-in-memory (CIM) processors have been presented, showing superior performance over traditional architectures. To unleash the potential of various CIM architectures, such as device precision, crossbar size, and crossbar number, it is necessary to develop compilation tools that are fully aware of the CIM architectural details and implementation diversity. However, due to the lack of architectural support in current popular open-source compiling stacks, existing CIM designs either manually deploy networks or build their own compilers, which is time-consuming and labor-intensive. Although some works expose the specific CIM device programming interfaces to compilers, they are often bound to a fixed CIM architecture, lacking the flexibility to support the CIM architectures with different computing granularity. On the other hand, existing compilation works usually consider the scheduling of limited operation types (such as crossbar-bound matrix-vector multiplication). Unlike conventional processors, CIM accelerators are featured by their diverse architecture, circuit, and device, which cannot be simply abstracted by a single level if we seek to fully explore the advantages brought by CIM. Therefore, we propose CIM-MLC, a universal multi-level compilation framework for general CIM architectures. We first establish a general hardware abstraction for CIM architectures and computing modes to represent various CIM accelerators. Based on the proposed abstraction, CIM-MLC can compile tasks onto a wide range of CIM accelerators having different devices, architectures, and programming interfaces. More importantly, compared with existing compilation work, CIM-MLC can explore the mapping and scheduling strategies across multiple architectural tiers, which form a tractable yet effective design space, to achieve better scheduling and instruction generation results.

arxiv情報

著者 Songyun Qu,Shixin Zhao,Bing Li,Yintao He,Xuyi Cai,Lei Zhang,Ying Wang
発行日 2024-05-08 06:44:41+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AR, cs.CL, D.3.4 パーマリンク