1. 19
  1.  

  2. 6

    The bit about the supercomputer running your single-threaded code slower is true. I previously worked with Intel Xeon Phi (knight’s core and landing) chips; they may have 40 cores but each one is pretty slow. You need to be good at parallelisation, memory locality and affinity, and have the right sort of problem to use a supercomputer well.

    1. 3

      Oh, yes. This is a good article indeed. It’s important to realize that supercomputers are, primarily, very specialized systems, perhaps more specialized than some embedded systems in terms of what kinds of code it makes sense to run on them.

      The optimization tips here are still more useful, and I think it’s a shame we don’t teach optimization as its own class. In addition to the practical use, it would complement existing classes in hardware design and OS design, not to mention dovetailing nicely into the algorithmic analysis class.

      1. 3

        The optimization tips here are still more useful, and I think it’s a shame we don’t teach optimization as its own class. In addition to the practical use, it would complement existing classes in hardware design and OS design, not to mention dovetailing nicely into the algorithmic analysis class.

        I think the biggest problem there is that most of these people have learned coding, but never went through CS education (of any notable capacity, inside and outside of university).

        I love the focus on back-of-the-envelope calculations. Most programs don’t need to be planned rigidly before implementation, but drawing a rough area where you expect to land helps a lot. This is one of the things I usually teach in the context of database query optimisation: putting rough gauges on all the features of the DB.

      2. 1

        In theory, you would think that software could be “automatically” parallelized so that it can run fast on supercomputers.

        http://www.cs.bu.edu/~jappavoo/Resources/Papers/PSML/asplos14.pdf :)

        (sadly, the presentation video was deleted from YouTube, I guess I can reupload it somewhere, but slides)