A many-core virtual machine concept
Title | A many-core virtual machine concept |
---|---|
Summary | Masters Thesis Project |
Keywords | |
TimeFrame | |
References | |
Prerequisites | |
Author | Tomas Nordström, Süleyman Savaş |
Supervisor | Tomas Nordström, Süleyman Savaş |
Level | Master |
Status | Open |
Project description
An important aspect of heterogeneous many-core architectures is how to interface between the application development environment and the underlying parallel heterogeneous architecture. Such interfaces should be based on a description of the available (heterogeneous) compute, memory and communication resources the architecture provides and provide facilities for expressing operational requirements on the software applications. At hh.se we are developing an many-core virtual machine (MCVM) as an important intermediate representation that should support program portability as well as address dynamism in workload
This thesis project aims to investigate
- How to should a “many-core virtual machine” concept look like in order to support portability and dynamism like “invasive computing”
- What high-level concepts should be supported by the MCVM (communication, arithmetic functions like FFT?)
- The possibility to develop an LLVM based compiler backend for the MCVM
- The possibility to develop a JIT compiler from MCVM to two many-core architectures (Epiphany and Kalray)
Note that this could be a master thesis for two students which collaborate on the definition of the MCVM and then one student do the “frontend” compiler support (in LLVM?) and one student do the JIT compiler “backend”.
References
NVIDIA’s PTX (parallel-thread-execution) <http://en.wikipedia.org/wiki/Parallel_Thread_Execution>
<http://docs.nvidia.com/cuda/parallel-thread-execution/index.html>
Kerr, Andrew, Gregory Diamos, and Sudhakar Yalamanchili. "A characterization and analysis of ptx kernels." Workload Characterization, 2009. IISWC 2009. IEEE International Symposium on. IEEE, 2009.
Yang, Byung-Sun, et al. "LaTTe: A Java VM just-in-time compiler with fast and efficient register allocation." Parallel Architectures and Compilation Techniques, 1999. Proceedings. 1999 International Conference on. IEEE, 1999.
Ehringer, David. "The dalvik virtual machine architecture." Techn. report (March 2010) (2010).
Davis, Brian, et al. "The case for virtual register machines." Proceedings of the 2003 workshop on Interpreters, virtual machines and emulators. ACM, 2003.