| ▲ | fragmede a day ago | |
Do compilers know how to take advantage of that, or do programs need code that specifically takes advantage of that? | ||
| ▲ | bfrog a day ago | parent | next [-] | |
It’s more like you need to program a dataflow rather than a program with instructions or vliw type processors. They still have operations but for example I don’t think ethos has any branch operations. | ||
| ▲ | blep-arsh a day ago | parent | prev [-] | |
There are specialized computation kernels compiled for NPUs. A high-level program (that uses ONNX or CoreML, for example) can decide whether to run the computation using CPU code, a GPU kernel, or an NPU kernel or maybe use multiple devices in parallel for different parts of the task, but the low-level code is compiled separately for each kind of hardware. So it's somewhat abstracted and automated by wrapper libraries but still up to the program ultimately. | ||