News for hackers. Stuff that matters.
Re:TornadoVM: Running Java on GPUs and FPGAs by Traster on Tuesday March 10, 2020 @05:26AM (#22533995)
It's worth noting that this isn't really a solution for FPGA. It just takes Java, generates OpenCL and then pushes it through the existing Intel OpenCL compiler for FPGA. The problem is that to get even close to Ok performance on FPGA with the current OpenCL compiler you need to spend months hand optimizing your code (and often the compiler too), but with this tool you can't even touch the OpenCL code.

Also, just as a separate point can someone point me to a design that acheives 5TFlops on Stratix 10, let alone the claimed 10TFlops - because my understanding is to get that performance you would need to run the fabic at 1GHz and use 100% of the DSPs - which is frankly hilariously impossible.

Re:TornadoVM: Running Java on GPUs and FPGAs by jfumero on Wednesday March 11, 2020 @04:22AM (#22544089)
Totally agree. OpenCL code is portable, but performance is not. That's why TornadoVM specializes the OpenCL code depending on the target device. For FPGAs we do a lot more optimizations compared to GPUs, such as tuning the thread-scheduling, better loop unrolling and loop flattening, use of local memory, etc. All of these optimizations are automatically performed in the compiler-IR (GraalIR) before generating the actual OpenCL C code.

With those compiler specializations, we aim to close the performance gap between hand-tuned code and generated code.