top | item 32931041

Ask HN: What'd be possible with 1000x faster CPUs?

54 points| xept | 3 years ago | reply

Imagine if we had an unlikely scientific breakthrough and many orders of magnitude faster general-purpose CPUs, probably alongside petabyte-scale RAM modules and appropriately fast memory bus, become widely available. Besides making bloatware on a previously unimaginable scale possible, what other interesting, maybe revolutionary, impossible today or at least impractical, applications would crop up then?

94 comments

order
[+] yourcousinbilly|3 years ago|reply
Video engineer here. Many seemingly network restricted tasks could be unlocked with faster CPUS doing advanced compression and decompression.

1. Video Calls

In video calls, encoding and decoding is actually a significant cost of video calls, not just networking. Right now the peak is Zoom's 30 video streams onscreen, but with 1000x CPUS you can have 100s of high quality streams with advanced face detection and superscaling[1]. Advanced computer vision models could analyze each face creating a face mesh of vectors, then send those vector changes across the wire instead of a video frame. The receiving computers could then reconstruct the face for each frame. This could completely turn video calling into a CPU restricted task.

2. Incredible Realistic and Vast Virtual Worlds

Imagine the most advanced movie realistic CGI being generated for each frame. Something like the new Lion King or Avatar like worlds being created before you through your VR headset. With extremely advanced eye tracking and graphics, VR would hit that next level of realism. AR and VR use cases could explode with incredibly light headsets.

To be imaginative, you could have everything from huge concerts to regular meetings take play in the real world, but be scanned and sent to VR participants in real time. The entire space including the room and whiteboard or live audience could be rendered in realtime for all VR participants.

[1] https://developer.nvidia.com/maxine-getting-started

[+] bobosha|3 years ago|reply
> In video calls, encoding and decoding is actually a significant cost of video calls, not just networking. Right now the peak is Zoom's 30 video streams onscreen, but with 1000x CPUS you can have 100s of high quality streams with advanced face detection and superscaling[1]. Advanced computer vision models could analyze each face creating a face mesh of vectors, then send those vector changes across the wire instead of a video frame. The receiving computers could then reconstruct the face for each frame. This could completely turn video calling into a CPU restricted task.

Interesting, how do you see this different from deep learning based video coding recently demonstrated? [1]

[1]https://dl.acm.org/doi/10.1145/3368405

[+] throwaway81523|3 years ago|reply
Realistically, AI network training at the level being done by corporations with big server farms, becomes accessible to solo devs and hobbyists (let's count GPU's as general purpose). So if you want your own network for Stable Diffusion or Leela Chess, you can do on your own PC. I think that is the most interesting obvious consequence.

Also, large scale data hoarding becomes far more affordable (I assume the petabyte ram modules also mean exabyte disk drives). So you can be your own Internet Archive, which is great. Alternatively, you can be your own NSA or Google/Facebook in terms of tracking everyone, which is less great.

[+] 2OEH8eoCRo0|3 years ago|reply
I think when that hardware is attainable and the tech democratized things are going to get very bizarre very quickly. I'm hitting a wall in my imagination of what a society where this is common even looks like and it scares me.
[+] mid-kid|3 years ago|reply
> Also, large scale data hoarding becomes far more affordable (I assume the petabyte ram modules also mean exabyte disk drives).

It will also mean data in general will be bigger and scale accordingly.

[+] ReactiveJelly|3 years ago|reply
Imagine just saving every web page your computer ever browsers, forever.
[+] rozap|3 years ago|reply
Atlassian products would be twice as fast.
[+] mebble|3 years ago|reply
40 thousand years of evolution and we barely even tapped the vastness of Atlassian functionality potential
[+] exq|3 years ago|reply
Instead of electron we'd be bundling an entire OS with our chat apps.
[+] johnklos|3 years ago|reply
That would be nice, because many OSes are much smaller than Electron.
[+] ilaksh|3 years ago|reply
Electron basically IS an entire OS. Since Chromium has APIs for doing just about anything, including accessing the filesystem and USB devices and 500 other APIs.
[+] rowanG077|3 years ago|reply
Oh we are not far away from that. Most devs consider it completely fine to run a docker instance per project.
[+] randomf|3 years ago|reply
many apps already have "wget docker image" as the first step
[+] nirinor|3 years ago|reply
Some applications depend on approximately solving optimization problems that are hard even for small problems. The poster child here is combinatorial optimization (more or less equivalently, np-complete problems), concrete examples are SMT solvers and their applications to software verification [1]. Non convex problems are sometimes similarly bad.

Non smooth and badly conditioned optimization problems scale much better with size, but getting high precision solutions is hard. These are important for simulations mentioned elsewhere, but not just for architecture and games, also for automating design, inspections etc [2].

[1] https://ocamlpro.github.io/verification_for_dummies/

[2] https://www.youtube.com/watch?v=1ALvgx-smFI&t=14s

[+] h2odragon|3 years ago|reply
1 million Science per Minute Factorio bases.
[+] ilaksh|3 years ago|reply
The thing is, computing has been getting steadily faster, just not at quite the pace it was before and in a different way.

With GPUs we have proven that parallelism can be just as good or even better than speed increases in enhancing computation. And there again have been speed increases trickling in.

I don't think it's realistic to say that more speed advances are unlikely. We have already been through many different paradigm shifts in computing, from mechanical to nanoscale. There are new paradigms coming up such as memristors and optical computing.

It seems like 1000x will make Stable Diffusion-style video generation feasible.

We will be able to use larger, currently slow AI models in realtime for things like streaming compression or games.

Real global illumination in graphics could become standard.

Much more realistic virtual reality. For example, imagine a realistic forest stream that your avatar is wading through, with realtime accurate simulation of the water, and complex models for animal cognition of the birds and squirrels around you.

I think with this type of speed increase we will see fairly general purpose AI, since it will allow average programmers to easily and inexpensively experiment with combining many, many different AI models together to handle broader sets of tasks and eventually find better paradigms.

It also could allow for emphasis on iteration in AI, and that could move the focus away from parallel-specific types of computation back to more programmer-friendly imperative styles, for example if combined with many smaller neural networks to enable program synthesis, testing and refinement in real time.

Here's a weird one: imagine something like emojis in VR, but in 3d, animated, and customized on the fly for the context of what you are discussing, automatically based on an AI you have given permission to.

Or, hook the AI directly into your neocortex. Hook it into several people's neocortices and then train an animated AI 3d scene generation system to respond to their collective thoughts and visualizations. You could make serialized communication almost obsolete.

[+] saltcured|3 years ago|reply
However, 1000x is really not very much. With a 1000x uplift, we could certainly get better weather predictions, but not necessarily paradigm-altering improvement. In a real sense, we already have 1000x speedup and its what you get in a contemporary "supercomputer", whatever that is in a given market at a given point in history.

Let's say we had perfect 1000x improvement in compute, storage, and IO such that everything remains balanced. A fluid-dynamics or atmospheric simulation can only increase resolution by about 10x if a 3D volumetric grid is refined uniformly, or only about 5x if we spread it uniformly over 4D to also improve temporal resolution. Or maybe you decide to increase the 2D geographic reach of a model by 30x and leave the height and temporal resolution alone. These growth factors are not life-changing unless you happen to be close to a non-linear boundary where you cross a threshold from impractical to practical.

I'm not sure we can say how much a video game would improve. There are so many "dimensions" that are currently limited and it's hard to say where that extra resource budget should go. Maybe you currently can simulate a dozen interesting NPCs and now you could have a crowd of 10,000 of them. But you still couldn't handle a full stadium full of these interesting behaviors without another 10x of resources...

[+] thfuran|3 years ago|reply
>With GPUs we have proven that parallelism can be just as good or even better than speed increases in enhancing computation.

Not really, no. It's just that certain classes of problems can be very readily parallelized and it's relatively easy to figure out how to do something 1000x in parallel compared to figuring out how to achieve a 1000x single thread speedup.

>Much more realistic virtual reality. For example, imagine a realistic forest stream that your avatar is wading through, with realtime accurate simulation of the water, and complex models for animal cognition of the birds and squirrels around you.

I'm not sure 1000x would do much more than scratch the surface of that, especially if you're already tying a lot of it up with higher fidelity rendering.

[+] ussrlongbow|3 years ago|reply
I wish CPUs for a while got 10x slower to allow some room for software products optimisation.
[+] mburee|3 years ago|reply
Exactly, 1000x faster CPUs would result in new software filling in the extra speed in no time at all
[+] Jaydenaus|3 years ago|reply
First thing that comes to mind is using your mobile device as your main workstation would become a lot more realistic.
[+] 2rsf|3 years ago|reply
In a lot of aspects the limiting factor of using mobiles as workstations is the software and OS, you can add a Bluetooth keyboard and mouse then cast it to a screen but all you will get is a bigger phone and not a workstation. Mobile CPUs are not that bad nowadays.
[+] alrlroipsp|3 years ago|reply
My main workstation up until 2005 or something was probably less computing power than the smartphone you use today.
[+] ttoinou|3 years ago|reply
Infinite arbitrary precision real time Mandelbrot zoom generation :-)
[+] ilaksh|3 years ago|reply
Can't you already do this with a good shader program? Well, Google search finds one that claims 'almost infinite'.
[+] yoyopa|3 years ago|reply
it would be nice for the architecture field. we deal with lots of crappy unoptimized software that's 20-30 years old. so if you like nice buildings and better energy performance (which requires simulations), give us faster cpus.

imagine you're working on airport. thousands of sheets, all of them PDF. hundreds or thousands of people flipping PDFs and waiting 2-3+ seconds for the screen to refresh. CPUs baby, we need CPUs.

[+] mwint|3 years ago|reply
Is there any way I can contact you? I have an aspirational semi-related project.
[+] mixmastamyk|3 years ago|reply
Real-time ray tracing was the goal in the old days. Are we there yet at adequate quality?
[+] wtallis|3 years ago|reply
No, we're not there yet. Ray tracing in games is still merely augmenting traditional rasterization, and requires heavy post-processing to denoise because we cannot yet run with enough rays per pixel to get a stable, accurate render.
[+] throw149102|3 years ago|reply
I feel like we are - I can run Minecraft RTX at 4k with acceptable framerate using DLSS 2.0 on a 3090. Minecraft is using pure raytracing (no rasterization). It also isn't using A-SVGF or ReSTIR, so there are 2 pretty big improvements that could be made.

Minecraft RTX does suffer really badly with ghosting when you destroy a light source, but my intuition says that A-SVGF would fix that entirely.

That being said, some of the newest techniques, like ReSTIR PT (a generalized form) have only been published for a couple of months, so current games don't have that yet. But in 3-6 months I would start to expect some games go with a 100% RT approach.

[+] orbital-decay|3 years ago|reply
Still orders of magnitude away from full tracing, only as a part of traditional rendering, with a ton of hacks on top.

Actually, there always was a lingering suspicion that brute force simulation might get sidestepped by some another clever technique long before it's achieved, to get both photorealism and ease of creation. ML style transfer could potentially become such a technique (or not).

[+] MisterSandman|3 years ago|reply
Much more complicated redstone CPUs in Minecraft.
[+] Tepix|3 years ago|reply
One thing i'd like to see would be smart traffic lights. For example as soon as a person finishied crossing the road, when there is noone else it switches back to green immediately.
[+] MH15|3 years ago|reply
This totally be done with existing CV tech- think pedestrian detection in self driving cars.
[+] Tepix|3 years ago|reply
Assuming that a CPU at today's speeds would require vastly less power, we would have very powerful, very efficient mobile devices such as smartwatches.

Probably using AI a lot more, on-device for every single camera.

[+] alkonaut|3 years ago|reply
I’d just not discover my accidentally quadratic code and ship it. It would save me a lot of debugging time.
[+] jensenbox|3 years ago|reply
Your question is missing the factor of power - If we have 1000x at current power usage or 1000x at 1000x power?

Also, 1000x parallelism or 1000x single core?

[+] robertlagrant|3 years ago|reply
Be able to run Emacs as fast as I can run Vim?
[+] invisiblerobot|3 years ago|reply
Consider you can easily emulate Vim inside Emacs but NOT the inverse and you'll understand what those extra cycles do.