Currently, Hopper has 32 nodes and Steger has 64. Each node has 2 CPUs and 512 MB of shared memory. Because of the way the nodes assigned to the job may be connected, with varying numbers of hops between nodes, even jobs that do not depend heavily on disk activity will have more variation in performance from job to job on the Origins than on the Crays. Implications for Optimization As always, understanding hardware characteristics is important for obtaining optimal performance for a code. On the Crays, the central optimization concept is probably the vector.
Long loops take advantage of the vector hardware registers, as well as pipelining hardware.
On the Origins, code that vectorizes well will generally run well. As you refine your code, it's also important to be aware of the caching mechanism in the Origins. The details can be involved, but the point is that if, for example, arrays and loops can be kept in cache, then performance gains may be significant. The shmem command set is available on both platforms, and is in the mpt module. The newest solution on the Origins, and soon to be implemented on the Crays, is the OpenMP Application Programming Interface.