3 ms·
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
by Traster 7y ago
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.
- jfumero 7y agoTotally 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.