How does one use the NPU features on such a chip from like a normal C++ program?
In principle this can accelerate anything you can run on a normal CPU as long as it is a streaming workload i.e. single pass or your entire data fits in the memory tiles.
The vector registers are at least 1024 bit wide and you get 32 tiles/cores.