Back in the 2010 timeframe, there were articles about how an Exascale Supercomputers might be impossible. Would be interesting if someone could go back and assess where those predictions were wrong and where they held, and how the architecture changed to get around those true scaling limits.
Power efficiency mostly. The power requirements of an exascale machine with 2010-timeframe hardware would be crazy.
First true exascale supercomputer?
31–40 of 72 posts
Re: First true exascale supercomputer?
#32Re: First true exascale supercomputer?
#33It feels like it's been a long time since supercomputers were interesting. They're just oodles of identical processors connected together like legos. "We can afford more bricks than the next guy" is not exciting. When was the last time we had a "fastest supercomputer" that could do something the second-fastest couldn't also do?
Said that, #1 is about twice as fast as #2, which is about three times as fast as number #3. Those gaps are much wider then I would have expected this late in the game.
Re: First true exascale supercomputer?
#34Earlier quoted context omitted.
What are the concerns for vendors?
US banned the sale of American HPC components to Chinese supercomputers. https://news.ycombinator.com/item?id=9349116 (2015, 93 comments) https://news.ycombinator.com/item?id=26740371 (2021, 151 comments) etc.
Re: First true exascale supercomputer?
#3521 MW power! Insane. Interestingly, the second one is 30 MW.
Re: First true exascale supercomputer?
#36Earlier quoted context omitted.
> They're just oodles of identical processors connected together like legos. That's the Cloud, not supercomputing. Supercomputing is all about interconnect.
I also wonder how the software side of things changes in those settings, how do people design program / algorithms around fast and wide data path like these.
That said, each of the nodes is itself composed of multiple cores with shared memory. So in cases where you really want to grind out performance, you actually end up using message passing to divvy up chunks of work, and then use classic pthreads to parallelize things further, with lower latency.
I forget the exact terminology used, but the parent is right that the interconnect is the "killer feature." To make that message passing fast, there's a lot of crazy topography to keep the number of hops down. The Q had nodes connected in a "torus" configuration to that end [1].
Debugging is a bit of a nightmare, though, since some bugs inevitably only come up once you have a large number of nodes running the algorithm in parallel. But you'll probably be in a mainframe-style time-sharing setup, so you may have to wait hours or more to rerun things.
This applies less to some of the newer supercomputers, which are more or less clusters of GPUs instead of clusters of CPUs. I imagine there's some commonality, but I haven't worked with any of them so I can't really say.
[1] https://www.scorec.rpi.edu/~shephard/FEP19/notes-2019/Introd...
Re: First true exascale supercomputer?
#37Re: First true exascale supercomputer?
#38Re: First true exascale supercomputer?
#39What's nice about programming GPUs in Julia is that you can write code once and execute it on multiple kinds of GPUs, with excellent performance. The KernelAbstractions.jl library makes this possible for compute kernels by acting as a frontend to AMDGPU.jl, CUDA.jl, and soon Metal.jl and oneAPI.jl, allowing a single piece of code to be portable to AMD, NVIDIA, Intel, and Apple GPUs, and also CPUs. Similarly, the GPUArrays.jl library allows the same behavior for idiomatic array operations, and will automatically dispatch calls to BLAS, FFT, RNG, linear solver, and DNN vendor-provided libraries when appropriate.
I'm personally looking forward to helping researchers get their Julia code up and running on Frontier so that we can push scientific computing to the max!
Library link: https://github.com/JuliaGPU/AMDGPU.jl>