We (RenderMorphics and then Microsoft D3D) were happily spinning teapots on 50 MHz 486s, significantly faster than that.
What I think it does demonstrate is that the hardware design can run a non-trivial programs reliably on FPGA. Maybe that's not impressive either, but I thought it was kinda cool. :) While this doesn't mean anyone needs to go shorting NVidia stock, it does allow anyone who is interested in CPU/GPU architecture to experiment with and modify a full featured design (pipelined, vector floating point, L1 & L2 caches, hardware multithreading).
I analyzed the basic performance and scalability of the 3D renderer here:
http://latchup.blogspot.com/2015/02/improved-3d-engine-profi...
And dove a bit deeper into performance using a custom Quake level renderer:
(I actually have some phong-teapot-on-a-486 code, written when I was 16, which I keep meaning to dig up and post. It managed a few tens of thousands of triangles/sec.)
Yes, all software renderers are—by definition—programmable, but those terms usually imply some kind of shading language like GLSL that is accepted at runtime, compiled and then executed by the graphics engine (hardware or software).
It seems unlikely that Mr. Teapot went through the effort to write his own JIT for a 486-class machine, but certainly it could be done…
The hyperthreading should allow for many outstanding loads/stores hopefully saturating the memory subsystem, while the ability to add instructions could be useful in reducing the instruction count of each siphash round.
I wanted to treat the Xeon Phi like a regular Xeon with just many more cores. So I ran my benchmark mostly unchanged. I was surprised however that the single threaded performance was roughly 20x lower than a normal Xeon. Using all 240 threads I was still doing no better than with 12 cores on a normal Xeon. It seems that the Xeon Phi memory subsystem is not really optimized for multithreaded random access.
The provider of that system suggested that I ought to perform computation and memory access (including prefetching) on the SIMD units (VPUs), but I haven't gotten around to studying the use of VPUs yet...
But that was integer performance. Each core also had a beefy SIMD unit, twice as wide as the one in then current Xeons.
Open Source GPUs seem like they are more "in range" these days thanks to projects like Vulkan and SPIR-V[1] which significantly improves the driver situation for GPGPUs.
FPGAs might be cost effective given that the total hardware cost is currently around $2 million with commodity motherboards, CPUs, and GPUs, since I could spend the silicon more wisely (and ideally, cut power usage at the same time) by implementing the actual software algorithms I use more carefully. I'm keeping a close eye on RISC-V and related projects.