On-Device NPU Bottleneck Calculator
on-device NPU推論workloadのcompute boundとMemory-bound throughputを比較します。入力条件で低い方がモデル上の律速リソースです。特定deviceのbenchmarkではありません。
結果
推定律速リソース
推定最大throughput
Compute-bound throughput
Memory-bound throughput
throughput上限での推論時間
使い方 ツール
- NPU peak TOPSと、モデルの数値精度・workloadで実測したcompute効率を入力します。
- 推論あたり演算量をTOPで、持続memory bandwidthをGB/sで入力します。
- 推論あたりの総memory trafficをMBで、実測memory効率とともに入力します。
- compute boundとmemory boundの値を比べ、低い方を単純なthroughput上限として確認します。
前提条件
- TOPS、推論あたり演算量、実測効率は互換性のある演算種別と数値精度(例:INT8とFP16)を使う必要があります。
- memory trafficはweight、activation、cache再利用、batch処理を適切に考慮してユーザーが見積もります。model fileから自動推定しません。
- 単一の単純な定常状態bottleneckをモデル化します。CPU/GPU offload、queueing、batch latency、thermal throttling、kernel launch overhead、device固有schedulingは除外します。
技術的な詳細:各項目の意味
- NPU peak compute
npuPeakTops - 公称または実測NPU throughputをTOPSで入力します。演算精度はoperationsPerInferenceTopsと合わせてください。
- 実測compute効率
computeEfficiencyPercent - workloadがpeak compute throughputに対して達成する実測割合です。
- 推論1回あたりのモデル演算量
operationsPerInferenceTops - 推論1回に必要なモデル演算数をTOP(10^12 operations)で表します。
- 持続memory bandwidth
memoryBandwidthGbPerSecond - NPUで利用できる持続memory bandwidthを10進GB/s(1 GB = 1,000 MB)で入力します。
- 実測memory効率
memoryEfficiencyPercent - workloadが持続memory bandwidthに対して達成する実測割合です。
- 推論1回あたりのmemory traffic
memoryTrafficMbPerInference - 推論1回あたりにmemoryとの間で転送されるモデルweightとactivationの合計を10進MBで入力します。毎回転送されない限り、モデルfile sizeをそのまま使わないでください。
方法論
compute bound rate = NPU peak TOPS × compute効率 ÷ 推論あたりモデルTOP。memory bound rate = memory GB/s × 1,000 MB/GB × memory効率 ÷ 推論あたり転送MB。推定throughputは低い方で、上限時の推論時間 = 1,000 ms ÷ throughput。
計算例
45 TOPS NPU、推論あたりmemory traffic 150 MB
入力項目: NPU peak compute: 45 TOPS, 実測compute効率: 60%, 推論1回あたりのモデル演算量: 0.9 TOP, 持続memory bandwidth: 68 GB/s, 実測memory効率: 70%, 推論1回あたりのmemory traffic: 150 MB
結果: compute bound rateは30.0 inferences/s、memory bound rateは約317.3 inferences/sです。単純モデルではCompute-boundとなり、約30.0 inferences/s(compute bound推論時間33.3 ms)です。
実用的なアドバイス
- NPUの理論peakだけでなく、持続bandwidthとモデルtrafficの実測値を使ってください。cache再利用とtilingでtrafficは大きく変わります。
- 対象batch size、精度、thermal状態、latency目標でdevice benchmarkを行い、両方のrateを検証してください。
よくある間違い
- INT8 NPU TOPSとFP16演算数を換算せず比較すること。
- cacheから再利用されるweightがあるのに、model weight file全体を推論ごとのmemory trafficとして使うこと。
よくある質問
Compute-boundとは何ですか?
入力値でのcompute rateがmemory bound rateより低い状態です。物理deviceに他のbottleneckがないことを証明するものではありません。
結果は実際のlatencyを予測しますか?
いいえ。単純なthroughput上限とcompute bound時間の見積もりです。実latencyはbatch処理、kernel、CPU/GPU処理、memory再利用、thermal状態、runtime schedulingに左右されます。
最終確認日: 2026-10-18
2つのリソースを比較する算術モデルのみです。deviceの測定、model graphの検査、CPU/GPU fallback考慮、tail latencyや消費電力の予測は行いません。
このツール 上記の前提条件に基づく参考値を提示します。
テーマとツールの設定、保存済みリストと最近使用したリストは、このブラウザー内にのみ保存されます。