Juan Fumero Tornado VM: A virtual machine for exploiting high performance heterogeneous hardware of Java programs
The proliferation of heterogeneous hardware in recent years means that every system we program is likely to include a mix of computing elements; each of these with different hardware characteristics that enable programmers to improve performance while decreasing energy consumption. These new heterogeneous devices include multicore CPUs, GPUs, and FPGAs. This trend has been followed by changes in software development norms that do not necessarily favor programmers. A prime example is the two most popular heterogeneous programming languages, CUDA and OpenCL, which expose several lowlevel features to the API, making them difficult to use by nonexpert users. Instead of using lowlevel programming languages, developers in industry and academia tend to use higherlevel, objectoriented programming languages, typically executed on managed runtime environments, such as Java, R, Python, and JavaScript.
|
|