Its overall design sits somewhere between a GPU and CPU. Like a GPU, it supports 8-way hyperthreading (GPUs typically support 10. CPUs usually only support 2... maybe 4 for Larabee). Like a GPU, its programmed through an OpenCL-like language (I know you don't like that, but its how it works).
However, the overall layout is very CPU-like as well: a "City" is composed of "Villages", which is composed of multiple "Processing Elements". Each PE is scalar like a normal CPU, although 8-way SMT. So its not like a GPU's SIMD or SIMT architecture in this regards.
--------
See information here:
https://en.wikichip.org/wiki/pezy/pezy-scx/pezy-sc
It really is an interesting design that toes the line between CPU and GPU.
/s
Real talk, though. Why do you think larabee is the "right" hardware?
x86 isn't the right choice though. As the chips get smaller, all the x86 cruft starts to become a larger portion of each core.
RISCV with 40-ish instructions plus a SIMD extension would probably be ideal. They've already proven that those designs use less space per core than ARM.
I've also noticed that a lot of the time, people are comparing GPU to naive implementations (and sometimes, implementations written in dynamic languages) instead of to highly tuned BLAS or MKL implementations. For a large swathe of problem types, using the fastest math library will reduce the CPU/GPU gap to less than an order of magnitude or less.
https://software.intel.com/en-us/mkl/features/benchmarks
In no case will you see it get close to 10TFLOPS. GPUs easily do this, and can approach 100TFLOPS with tensor cores.
In your experience, are these comparisons using naive GPU implementations as well? If so, that still seems like a valuable comparison.