Runtime Decisions for a Just-in-Time Compilation System

In a nushell

  • Implement a decision unit for a runtime and just-in-time (JIT) system to offload computation to an accelerator
  • Develop an application runtime analysis, profiling and monitoring framework
  • Evaluate gains in performance/energy consumption and overheads of the decision unit in different scenarios

Summary

Heterogeneous systems comprise of multiple accelerators (CPU+GPU, CPU+FPGA, etc.) to which computational intensive parts of an application (hotspots) can be offloaded; to either improve the performance or energy efficiency of the system. Identifying the hotspots correctly and deciding when and where to offload them plays a critical role for the performance/energy efficiency of the system.

We provide

  • State-of-the-art heterogenious node with multiple accelerators
  • A high performance computing cluster
  • Good work atmosphere
  • Optionally: work area in student lab

You should bring

  • Good C/C++ knowledge
  • Motivated, able to work autonomously 
  • Optimally: LLVM experience
  • Optimally: Experience with profiling and estimation techniques

References

[1]: M.Damschen; H.Riebler; G.Vaz, and C.Plessl, Transparent offloading of computational hotspots from binary code to xeon phi

[2]: G. Vaz; H. Riebler; T. Kenter and C. Plessl, Potential and methods for embedding dynamic offloading decisions into application code

Dr. Heinrich Riebler

Paderborn Center for Parallel Computing (PC2)

Fachberater FPGA Beschleunigung

E-Mail schreiben +49 5251 60-5382