The use of heterogeneous computing resources such as CPUs, GPUs, and FPGAs is a hot topic in high-performance computing nowadays. In order to implement heterogeneous applications, developers must learn various programming languages following fundamentally different programming paradigms. To support the implementation of such applications, we have developed a framework to build and execute multi-resource binaries. The framework is currently focused on image processing applications.
- Extend the framework to support a broader range of applications (e.g., machine learning)
- Implement interfaces to bridge function calls from Java to foreign languages (such as C) utilizing the common Java Native Interface (JNI)
- Good knowledge in coding C/C++ and Java