Skip to main content

CORSE - Compiler Optimization and Run-time SystEms

Joint research team between CNRS, Grenoble INP, UGA
Area  Distributed Systems, Parallel Computing, and Networks

CORSE is a joint research group in the LIG laboratory that regroups several expertise that stand at the interface between software and hardware: those are domain specific application/library tuning, compiler optimization, run-time systems, and debugging/monitoring. Our domains of application include performance (both speed and energy consumption), reliability, and teaching of computer science. An important activity concerns the optimization of machine learning applications for some specific high-performance embedded architectures.
 
Languages, compilers, and run-time systems are some of the most important components to bridge the gap between applications and hardware. With the continuously increasing power of computers, expectations are evolving, with more and more ambitious, computational intensive and complex applications. As desktop PCs are becoming a niche and servers mainstream, three categories of computing impose themselves for the next decade: mobile, cloud, and super-computing. Thus diversity, heterogeneity (even on a single chip) and thus also hardware virtualization is putting more and more pressure both on compilers and run-time systems. However, because of the energy wall, architectures are becoming more and more complex and parallelism ubiquitous at every level. Unfortunately, the memory-CPU gap continues to increase and energy consumption remains an important issue for future platforms. To address the challenge of performance and energy consumption raised by silicon companies, compilers and run-time systems must evolve and, in particular, interact, taking into account the complexity of the target architecture. The overall objective of Corse is to address this challenge by combining static and dynamic compilation techniques, with more interactive embedding of programs and compiler environment in the runtime system.
 
CORSE project is structured along two main directions.The first direction belongs to the area of runtime systems with the objective of developing strong relations with compilers. This direction breaks down into:
  • Memory management, data locality, dynamic load balancing
  • Usage of program semantics derived from domain specific languages/compiler analysis
  • Performance debugging and functional monitoring

The second direction belongs to the area of compiler analysis and optimization with the objective of combining dynamic analysis and optimization with static techniques. It breaks down into:

  • Domain specific parallel intermediate representation
  • Hybrid compilation. Trace/static analysis
  • Instruction scheduling and I/O complexity

Keywords

compiler optimization    run-time systems    memory management    high-performance computing    energy consumption    instruction level parallelism    thread level parallelism    debugging    monitoring

CORSE

Leader   Fabrice RASTELLO
Website   https://team.inria.fr/CORSE
Phone/Fax   04 38 78 16 97
Building   Campus Minatec
Address   DRT/LETI/DACLE - Batiment 51C - Bur. C424

Submitted on March 4, 2024

Updated on March 4, 2024