Nengo’s backend portability sets it apart as a benchmarking tool. Apple has made a big move recently away from Intel CPUs and Iris graphics to its in-house designed chips. M1 is the first one to not be in a phone. There’s a lot of talk of their benchmark performance.
I wonder how they perform on neuromorphic benchmarks.
Obviously they support python. Single-core speed is tied to clock rate but it’s also tied in nontrivial ways to cache architecture and OS power management.
They also support OpenCL. The GPU architecture is strange. That’s very hard to predict. It has NVIDIA-class specs on FLOPs, but that is really irrelevant to some benchmarks that are communication limited. Being co-integrated means GPU bandwidth could potentially be broader, but it’s not a 1-to-1. Someone just has to try it.
To add another twist, Intel produces Loihi, a neuromorphic architecture that does not have an Apple counterpart to my knowledge. A benchmark of Loihi against M1 (and eventually the M2, M3, etc) is potentially interesting to somebody, and nengo would be the ideal way, I think, to do that.
Is anyone else interested in developing a benchmark script? Nothing exhaustive; just a proof of concept of nengo’s capability. Has someone already made this? Does anyone have an M1 that would be willing to setup pyopencl and run some scripts?