Etnaviv NPU Open-Source Driver Now Twice As Fast For Image Classification Workloads
Tomeu Vizoso has been leading the effort for supporting Vivante's NPU IP within the Etnaviv driver that began as a reverse-engineered driver for Vivante graphics. The Vivante NPU architecture ends up being close to the graphics cores and Vizoso has been making good progress for enabling the NPUs on this open-source stack. The latest achievement is image classification workloads now running about twice as fast as previously.
Tomeu Vizoso announced that he got the tensor processor jobs working and allows for tensor manipulation to occur on the hardware. This drops around 18ms from tensor pre-processing. In turn this latest work is making the TensorFlow image classification benchmark around twice as fast.
Unfortunately though the proprietary Vivante driver for their NPUs is running the same work with around 8 ms latency while the Mesa Etnaviv driver is currently hitting 15.6 ms. Tomeu does have some ideas though on further optimizing the Etnaviv NPU performance that he'll eventually tackle.
Currently he's working on getting this NPU acceleration code upstreamed into Mesa and then following that will be working on the Mobilenet SSD V1 model support before getting back to performance optimizations. More details on the Etnaviv NPU performance optimization quest via Tomeu's blog. The Mesa upstreaming work is happening via Draft: TensorFlow Lite delegate and Vivante NPU driver.
Tomeu Vizoso announced that he got the tensor processor jobs working and allows for tensor manipulation to occur on the hardware. This drops around 18ms from tensor pre-processing. In turn this latest work is making the TensorFlow image classification benchmark around twice as fast.
Unfortunately though the proprietary Vivante driver for their NPUs is running the same work with around 8 ms latency while the Mesa Etnaviv driver is currently hitting 15.6 ms. Tomeu does have some ideas though on further optimizing the Etnaviv NPU performance that he'll eventually tackle.
Currently he's working on getting this NPU acceleration code upstreamed into Mesa and then following that will be working on the Mobilenet SSD V1 model support before getting back to performance optimizations. More details on the Etnaviv NPU performance optimization quest via Tomeu's blog. The Mesa upstreaming work is happening via Draft: TensorFlow Lite delegate and Vivante NPU driver.
7 Comments