Team STORM is a joint project-team between Inria, the University of Bordeaux, CNRS and Bordeaux-INP. It is hosted at Inria Bordeaux — Sud-Ouest Research center, in Talence, France, and is a member of LaBRI Laboratory.
As emphasized by initiatives such as the European Exascale Software Initiative (EESI), the European Technology Platform for High Performance Computing (ETP4HPC), or the International Exascale Software Initiative (IESP), the HPC community needs new programming APIs and languages for expressing heterogeneous massive parallelism in a way that provides an abstraction of the system architecture and promotes high performance and efficiency. The same conclusion holds for mobile, embedded applications that require performance on heterogeneous systems.
Team STORM combines strengths on high level DSLs, heterogeneous runtimes and performance analysis tools to help programmers get the highest efficiency from modern computer architectures in a portable manner.
Team STORM Research Directions
- High level domain specific languages
- Runtime systems for heterogeneous, manycore platforms
- Analysis and performance feedback tools
Parallelism, from every day devices to HPC
Parallel processor architectures are now used on virtually every computer platform, from smartphones to embedded devices, to high performance computing (HPC) machines. This evolution obviously has an impact on every application, as the potential performance gains open the way to new usages, new scientific progress, and industrial innovations. The counterpart, however, comes as the difficulty to develop algorithms and codes able to efficiently exploit such parallelism.
Fast evolution, challenging complexity
Ever increasing core counts, increasingly dense processor sockets need to be fed with ever increasing amounts of parallel work to perform. Specialized cores (accelerators, big.LITTLE architectures) introduce heterogeneity. Deepening hierarchies of memory layers (cache levels) and hardware parallelism (instructions, vectors, threads) necessitate suitably structured algorithms. Thus, programming modern architectures requires impeding levels of expertise, and the expensive optimizing effort involved can quickly be nullified by the fast hardware evolution pace.
Static Optimizations and Runtime Methods. Statical Optimizations and Runtime Methods. For tackling the parallelism complexity challenge, a coordinated set of programming tools and techniques is necessary before (compiler), during (runtime) and after (analysis) program execution. Team STORM aims at combining strengths along these three directions: High level domain specific languages; Runtime systems for heterogeneous, manycore platforms; Analysis and performance feedback tools.