Technology

The vector ISAs, DSPs, NPUs, GPUs, AI runtimes and silicon platforms AI ThinkLab works on day to day.

This is not a list of things we have read about. It is the set of instruction sets, toolchains and boards we have shipped against — including the ones whose documentation is wrong, whose compilers refuse to vectorise the obvious loop, and whose delegates silently fall back to the CPU while reporting success.

If your platform is not listed, ask anyway. The techniques transfer; only the vocabulary changes.

Stack

CPU & SIMD

Vector ISAs we write by hand
Arm NEON (AArch64/AArch32)Arm SVE / SVE2Armv8.2 fp16 & dotprodHelium / MVE (Cortex-M55, M85)x86 SSE4 / AVX2 / AVX-512RISC-V Vector (RVV 1.0)Cache & prefetch tuningLock-free multicore scheduling

DSP & NPU

Accelerators we offload onto
Qualcomm Hexagon HVX / HTACadence Tensilica Vision P6/Q7Cadence HiFi audio DSPCEVA XM / SensPro / NeuProTI C66x / C7x + MMAArm Ethos-U55 / U65 / N-seriesRockchip RKNN NPUSynaptics, Ambarella CVflow

GPU & parallel compute

Where the wide work goes
OpenCL 1.2 / 2.x / 3.0Vulkan compute & SPIR-VCUDA / cuDNN / TensorRTArm Mali (Bifrost, Valhall)Qualcomm AdrenoImagination PowerVROpenGL ES compute shadersZero-copy DMA-BUF pipelines

AI runtimes & toolchains

How the model reaches the metal
LiteRT / TensorFlow Lite + delegatesONNX Runtime (NNAPI, XNNPACK, QNN)PyTorch ExecuTorchApache TVM & microTVMQualcomm SNPE / QNNIntel OpenVINONVIDIA TensorRT & DeepStreamArm CMSIS-NN, Ethos-U Vela

Vision & signal

The pipelines around the model
OpenCV (with accelerated backends)NVIDIA VPI, Khronos OpenVXGStreamer / V4L2 / libcameraISP tuning & sensor bring-upMulti-camera sync & calibrationStereo depth & structure from motionFFT, filtering & spectral analysisH.264/H.265 hardware codec paths

Platforms & silicon

Boards we work on daily
NVIDIA Jetson Orin / Xavier / NanoQualcomm Snapdragon & RB seriesNXP i.MX 8M / 9xTI AM62A / TDA4Rockchip RK3588 / RK3576Raspberry Pi CM4 / CM5STM32 + Cube.AI, ESP32-S3Xilinx Zynq UltraScale+, Lattice FPGA

How we choose where the work goes

The accelerator that wins is rarely the one on the marketing slide. The decision comes out of the roofline, not the datasheet:

  • Compute-bound, regular, small kernel → the vector unit on the CPU. Lowest latency, no transfer cost, no driver in the path.
  • Compute-bound, large batch, high arithmetic intensity → the GPU or NPU, once the transfer cost is amortised across enough work.
  • Streaming, fixed-point, always on → the DSP, where the power per operation is an order of magnitude better than the application processor.
  • Bandwidth-bound → nothing accelerates it until the data layout changes. This is the most common finding, and the cheapest to fix.
  • Latency-bound by synchronisation → the fix is in the pipeline structure, not in any kernel. Also common, also cheap.

Being told your problem is a memcpy rather than a missing NPU is a good outcome. It is a smaller invoice and a faster fix.

Not sure which accelerator is right?

That is exactly what the performance audit answers, on your hardware, in a couple of weeks.