Programming Heterogeneous Hardware via Managed Runtime Systems
摘要
The last chapter described the challenges posed by programming hardware accelerators from managed programming languages, such as Java, C#, Python, or JavaScript. Those challenges have been attributed to the differences in memory management, concurrency models, and the need to interface with native code for utilizing the heterogeneous programming models. To that end, many approaches have been identified to address the aforementioned challenges and bridge that gap between hardware acceleration and managed languages.