Vulkan vs XNNPACK: per model divergences across devices

Aperta
#1,488 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
react-native, typescript
Ambito
ai, mobile, performance

Direzione di ricerca

Start by reading the linked comment for the Galaxy S10+/S20+ device pair to understand the data format and the 7 models that flip. Run the benchmarks in apps/benchmarks to reproduce the measurements on a test device. Examine the code that decides between Vulkan and XNNPACK backends to see how per-model defaults are currently set. The goal is to document each device pair's divergences, not to implement a fix.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

performance platform: android

Tracking issue for cases where the Vulkan vs XNNPACK verdict changes between devices, so one per-platform registry default cannot be right for the whole fleet.

One comment per device pair. Each carries the full paired dataset, the models that flip, and what they imply for defaults.

A Vulkan vs XNNPACK ratio is a GPU/CPU quotient, so it does not transfer across devices: a phone with a strong CPU relative to its GPU reads as "Vulkan loses" on models where another phone reads the opposite. The ratio also moves with input length, because Vulkan carries a fixed per-inference dispatch cost. Peak memory is so far the only axis that holds steady across devices.

Measured with apps/benchmarks (#1363) so every device runs the same protocol and the same synthetic inputs.

Device pairs

Lingua principale
TypeScript
Stelle
1.8k
Fork
101
Merge medio
2g 4h
PR unite (30g)
58

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di software-mansion/react-native-executorch

Tutte le issue di software-mansion/react-native-executorch

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.