EulerNPU

NPU推論合成シミュレーションスタック

123オペレータ(13グループ)、10データ型、spec.yamlから.npuartへのコンパイルパイプライン、Zynq-7020 FPGAランタイム——単一CLIでNPU推論ハードウェアの完全な開発フローをカバーします。

Open Source

123オペレータ & 10データ型

CNN、Transformer、RNN、量子化など全推論シナリオをカバーする完全なオペレータセット

13オペレータグループ

Core MatMul, Gemm, Reshape, Transpose, Concat, Split, Gather 等
Conv Conv2D, DepthwiseConv2D, ConvTranspose2D, GroupConv2D
Pool MaxPool, AvgPool, GlobalAvgPool, AdaptiveAvgPool
Activation ReLU, GELU, SiLU, Sigmoid, Softmax, Tanh 等
Norm BatchNorm, LayerNorm, GroupNorm, RMSNorm, InstanceNorm
Recurrent LSTM, GRU, RNN
Attention MultiHeadAttention, ScaledDotProduct, KVCache, RoPE
Quantize Quantize, Dequantize, QLinearConv, QLinearMatMul

10データ型

浮動小数点 float32, float16, bfloat16
符号付き整数 int8, int16, int32
符号なし整数 uint8, uint16, uint32
ブール bool

ケイパビリティマトリクスが各オペレータのサポートデータ型とハードウェア制約を定義し、コンパイラがコンパイル前に互換性を自動検証します。

コンパイルパイプライン

YAMLスペックからデプロイ可能な.npuartファイルまで

spec.yaml → IR → .npuart

宣言的YAMLスペックファイルを検証、IR変換、最適化を経て.npuart(NPU Archive)形式にコンパイルします。

入力 spec.yaml — 宣言的計算グラフ定義
検証 オペレータ互換性、データ型、形状推論チェック
IR 中間表現——グラフ最適化、オペレータ融合
出力 .npuart バイナリ——ランタイムで直接ロード可能

ランタイム

コンパイル済み.npuartファイルをシミュレータまたはZynq-7020 FPGAハードウェアで実行できます。

シミュレータ サイクル精度シミュレーション、パフォーマンス分析対応
FPGA Zynq-7020 AXI-Lite MMIOランタイム
プロファイリング レイヤー別レイテンシ、メモリ帯域幅、利用率レポート

CLIリファレンス

単一エントリポイント eulernpu — 5つのサブコマンドで完全なワークフロー

validate

spec.yamlのオペレータ互換性、データ型、形状制約を検証します。

compile

spec.yamlを.npuartバイナリにコンパイルします。

run

シミュレータまたはFPGA上で.npuartファイルを実行します。

sim

サイクル精度シミュレーションで実行動作を分析します。

profile

レイヤー別パフォーマンス分析、レイテンシとメモリレポートを生成します。

設計原則

EulerNPUが従うコア設計理念

宣言的ファースト

YAMLスペックファイルで計算グラフを定義——低レベルコードの記述不要、コンパイラがすべての最適化を処理します。

コンパイル前検証

ケイパビリティマトリクスがコンパイル前に各オペレータのデータ型とハードウェア制約をチェックし、ランタイムエラーを防止します。

シミュレーション先行

FPGAにデプロイする前に、サイクル精度シミュレータで正確性とパフォーマンスを検証します。

チュートリアル

ステップバイステップのガイドでEulerNPUをマスター

チュートリアルは近日公開予定です。

インストールと始め方

EulerNPUをインストールして最初のモデルをコンパイル

インストール

pip install -e ".[dev]"

# 検証してコンパイル
eulernpu validate spec.yaml
eulernpu compile spec.yaml -o model.npuart

要件

Python 3.12+

Zynq-7020 開発ボード(FPGAデプロイ)

EulerNPUでNPU推論開発を始めましょう

YAMLスペックからFPGAデプロイまで、単一CLIで。

GitHubで始める お問い合わせ