On-Device NPU Bottleneck Calculator
Comparez le Compute-bound throughput et celui limité par la mémoire pour une charge d'inférence sur NPU embarqué. Le débit inférieur est la ressource limitante selon les hypothèses saisies ; ce calcul ne constitue pas un benchmark d'un appareil précis.
Résultat
Ressource limitante estimée
Débit maximal estimé
Compute-bound throughput
Memory-bound throughput
Temps par inférence à la limite de débit
Comment utiliser cet outil outil
- Saisissez les TOPS de pointe du NPU et l'efficacité de calcul mesurée pour la précision numérique et le workload du modèle.
- Indiquez les opérations par inférence en TOP et la bande passante mémoire soutenue mesurée en GB/s.
- Saisissez le trafic mémoire total par inférence en MB et l'efficacité mémoire mesurée.
- Comparez les débits limités par le calcul et la mémoire ; le plus faible est la limite de débit simplifiée.
Hypothèses
- TOPS, opérations par inférence et efficacités mesurées doivent utiliser des types d'opérations et une précision numérique compatibles (par exemple INT8 et FP16).
- Le trafic mémoire est estimé par l'utilisateur et doit tenir compte des poids, activations, réutilisations du cache et batchs selon le cas ; l'outil ne le déduit pas d'un fichier modèle.
- L'estimation modélise un goulot d'étranglement simplifié unique en régime stable. Elle exclut le déport vers CPU/GPU, les files d'attente, la latence des batchs, le throttling thermique, le surcoût de lancement de kernel et le scheduling propre à l'appareil.
Détails techniques : signification des champs
- Calcul de pointe du NPU
npuPeakTops - Débit de pointe du NPU déclaré ou mesuré en TOPS ; la précision des opérations doit correspondre à operationsPerInferenceTops.
- Efficacité de calcul mesurée
computeEfficiencyPercent - Part du débit de calcul de pointe atteinte par ce workload, en pourcentage mesuré.
- Opérations du modèle par inférence
operationsPerInferenceTops - Opérations du modèle nécessaires pour une inférence, exprimées en TOP (10^12 opérations).
- Bande passante mémoire soutenue
memoryBandwidthGbPerSecond - Bande passante mémoire soutenue disponible pour le NPU en GB/s décimaux (1 GB = 1 000 MB).
- Efficacité mémoire mesurée
memoryEfficiencyPercent - Part de la bande passante mémoire soutenue atteinte par ce workload, en pourcentage mesuré.
- Trafic mémoire par inférence
memoryTrafficMbPerInference - Trafic total des poids et activations transférés depuis/vers la mémoire par inférence, en MB décimaux ; n'indiquez pas la taille du fichier modèle sauf si tous ces octets sont transférés à chaque inférence.
Méthodologie
Compute-bound throughput = TOPS de pointe du NPU × efficacité de calcul ÷ TOP du modèle par inférence. Memory-bound throughput = GB/s mémoire × 1 000 MB/GB × efficacité mémoire ÷ MB transférés par inférence. Débit estimé = le plus faible des deux ; temps limité par le calcul = 1 000 ms ÷ ce débit.
Exemple détaillé
NPU de 45 TOPS et trafic mémoire de 150 MB par inférence
Données d’entrée: Calcul de pointe du NPU: 45 TOPS, Efficacité de calcul mesurée: 60%, Opérations du modèle par inférence: 0.9 TOP, Bande passante mémoire soutenue: 68 GB/s, Efficacité mémoire mesurée: 70%, Trafic mémoire par inférence: 150 MB
Résultat: Le Compute-bound throughput est de 30,0 inférences/s ; le Memory-bound throughput est d'environ 317,3 inférences/s. Le modèle simplifié indique une limite Compute-bound d'environ 30,0 inférences/s (33,3 ms de temps limité par le calcul par inférence).
Conseils pratiques
- Utilisez la bande passante soutenue et le trafic modèle mesurés, pas seulement les valeurs théoriques de pointe du NPU ; la réutilisation du cache et le tiling peuvent fortement modifier le trafic.
- Validez les deux débits avec un benchmark sur l'appareil, au batch, à la précision, à l'état thermique et avec l'objectif de latence visés.
Erreurs fréquentes
- Comparer des TOPS NPU INT8 à un compte d'opérations FP16 sans les ramener à une base compatible.
- Utiliser la taille du fichier de poids du modèle comme trafic mémoire par inférence alors que les poids sont réutilisés depuis le cache.
Questions fréquentes
Que signifie Compute-bound ?
Le débit de calcul modélisé est inférieur au Memory-bound throughput pour les valeurs saisies. Cela ne prouve pas que l'appareil physique n'a aucun autre goulot d'étranglement.
Le résultat prédit-il la latence réelle ?
Non. Il fournit une limite de débit simplifiée et une estimation du temps limité par le calcul ; la latence réelle dépend des batchs, kernels, tâches CPU/GPU, réutilisation mémoire, température et scheduling du runtime.
Dernière vérification : 2026-10-18
Modèle arithmétique à deux ressources uniquement. Il ne mesure pas un appareil, n'inspecte pas un graphe de modèle, ne tient pas compte du fallback CPU/GPU et ne prédit ni latence de queue ni consommation électrique.
Cet outil fournit une estimation indicative fondée sur les hypothèses indiquées ci-dessus.
Les préférences de thème et d’outils, ainsi que les listes enregistrées et récemment utilisées, sont stockées uniquement dans ce navigateur.