Software design of legacy high-performance computing (HPC) applications is heavily influenced by the frequent changes on the architectures. The classic CPU-based approach with communication libraries is not sufficient to scale beyond the limit of Amdahl law and Dennard scaling. Silicon manufacturers design alternative architectures and programming models to overcome this limitation, leading to systems with hidden complexity. In this seminar are presented a variety of possible scalable configurations and details of usability of each one, with specific attention to NVIDIA software tools.
A second part of the talk is dedicated to the intriguing emerging technique of deep learning (DL). Two aspects of DL are shown in detail: 1) it is a new technology which allows to create fast-simulation software, 2) DL changes completely the paradigm of programming, moving the developer to a much higher abstraction layer, away from the hardware details.