ABSTRACT

Blocks are the object of interest rather than individual array elements and a key aspect of the Super Instruction Architecture (SIA) is that algorithms are expressed in terms of operations on blocks, not individual floating point numbers. The SIA/Aces4 programming model shares some aspects of Global Arrays (GAs), but is based on the abstraction of blocked arrays rather than GAs. The super instructions are compiled into a library that is linked with the Aces4 executable. To fully exploit an exascale computer, super instructions will need to utilize fine-grained parallelism. An important goal of a software platform such as SIA/Aces4 is to make it easier for domain scientists to develop correct, performant code. To a large extent, this is accomplished by isolating the parts of the code that perform communication and asynchronous operations in the runtime system. The molecular-cluster perturbation theory is a linearly scaling novel computational approach to computing electronic properties of extremely large liquids and crystals.