3 ms·
Wikipedia says the Cray-1 was capable of 160 MFLOPS. As a rule of thumb, modern scalar pipelines can sustain one ALU op per cycle, and you see nearly all Linux
by thrtythreeforty 4y ago
Wikipedia says the Cray-1 was capable of 160 MFLOPS.
As a rule of thumb, modern scalar pipelines can sustain one ALU op per cycle, and you see nearly all Linux-capable CPUs quoted in GHz. So we should expect gigaflops, minimum. And indeed [1] suggests that the Pi 4 is capable of 13.5GFLOP, so about 84 Cray 1's. (The further speedups come from the fact that ARM also has NEON vector instructions, and from multiple cores.)
The Pi Pico, on the other hand, does not have a floating point unit. So it emulates it in software (soft float). The C SDK docs [2] suggest 13.8kHz (!) operation for single-precision add. I'll be generous and suggest that the 2x cores could double this performance. So then, it'd achieve 0.0086% of the Cray-1's performance. Oof.
If you're willing to do integer arithmetic, things look much better for the Pico, of course - it runs at 125MHz and the above scalar rule of thumb applies.
[1]: https://web.eece.maine.edu/~vweaver/group/green_machines.html https://web.eece.maine.edu/~vweaver/group/green_machines.htm...
[2]: https://datasheets.raspberrypi.com/pico/raspberry-pi-pico-c-sdk.pdf https://datasheets.raspberrypi.com/pico/raspberry-pi-pico-c-...