Such a cool name! And it says just what it does.
https://spinoff.nasa.gov/node/8965
https://spinoff.nasa.gov/sites/default/files/thumbnail0000_2...
https://pubs.aip.org/asa/jasa/article/92/4_Supplement/2376/7...
Body Electric supported the Convolvotron for visually programming VR simulations with 3D sound:
https://news.ycombinator.com/item?id=24266722
Did you ever meet (or better yet get a tour of Ames from) the late Ron Reisman, and see the virtual reality, flight simulator, and air traffic control systems his research lab developed?
Vertical Motion Simulator:
https://www.youtube.com/watch?v=5-lHcv_olkE
Marvin Minsky flies a simulator and wears VR goggles:
I needed a username in the early 90s, I had just finished a paper where we microcoded a CM-2 to support high-throughput convolutions with spatially varying kernels for Hubble image correction (before the launched the eyeglasses mission), and I decided I could be the hero or anti-hero of convolution.
https://www.macintoshrepository.org/724-kpt-convolver-1-0
I can't find any demos of it on youtube, but it's the kind of obscure retro thing that LGR loves to review. He's really into the better known Kai Power Goo, which is a bit more accessible to kids than KPT Convolver:
As a couple of others have mentioned, smartphones/tablets/laptops seem to be the driving force in UMA's spread.
However the M4 Pro has 256 bits wide, M4 max 512 bits wide, and M2 Ultra has 1024 bits wide. GPU workloads are latency tolerant and embarrassingly parallel, don't see how allowing a CPU to make random accesses is going to hurt the GPU much.
Is it really, though? It seems like almost every SoC small enough to be implemented as a single piece of monolithic silicon has gone the route of unified memory shared by the CPU and GPU.
NVIDIA's GH200 and GB200 are NUMA, but they put the CPU and GPU in separate packages and re-use the GPU silicon for GPU-only products. Among solutions that actually put the CPU and GPU chiplets in the same package, I think everyone has gone with a unified memory approach.
Much like dual socket servers, where each socket can address all memory, these new servers have two memory systems, one optimized for CPU and another optimized for GPU. Seems like a good idea to me, why serial/deserialize complex data structures between the CPU and GPU, which are then bulk transfered, and then checked for completion. With NUMA you can pass a pointer, caches help, everything is coherent, and it "just works". No more failures when you don't have enough memory for textures or a LLM, it would just gracefully page to the CPUs memory.