- The three most important parts of a supercomputer are cooling, the network, and packaging.
- Cooling means cooling like everyone else uses it. Without it the machine would only last a couple seconds at most.
- The network means the network like everyone else uses it. Here you connect a ridiculous number of endpoints in a relatively small space.
- Packaging doesn't mean UPS and FedEx packaging. Instead, packaging is the how the various chips, cooling, and memory are laid out on the board and "packaged" together.
- More than one memory is memories. Discontinguous or heterogeneous memory is also memories. It's not RAMs, though.
- More than one source code is codes. Benchmarks are also codes.
- HPL, LINPACK, LAPACK, and ScaLAPACK are all benchmarks with various codes. There are other benchmarks, but people rarely talk them.
- Benchmark speeds are measured in FLOPs, which is floating-point operations per second. There are gigaFLOPs and teraFLOPs. petaFLOPs are next, which has something to do with animals.
- Speaking of animals, supercomputers are supposed to have cool names like Jaguar and Kraken.
- Supercomputers can be built of nodes, but clusters are for wimps. Instead use blades, backplanes and cabinets.
- HPF stands for High-Performance Fortran, but usually it's used as a swear word when you talk about software (HPF being one of the most public failures in the HPC language community).
- On the other hand, Fortran is still cool, since it's what pretty much everyone still uses.
- DARPA is a synonym for the mint.
Monday, September 6, 2010
How to talk High-Performance Computing
HPC, like most fields, has its own vocabulary. It's close enough to general purpose programming that it almost seems like they're speaking the same language, unless you listen closer. Here are a few tips to help you along the way: