FPGAs with OpenCL

 

Hi,

I wonder if it is possible to use an FPGA as the hardware for OpenCL.

I was looking for some board of the Altera Cyclone series: http://www.altera.com/devices/fpga/cyclone-v-fpgas/cyv-index.jsp, because of the Altera's SDK for OpenCL http://www.altera.com/products/software/opencl/opencl-index.html, but I wonder if the API will work with the version they have, the SDK is built for OpenCL v1.0.

According to the article about how to install OpenCL(https://www.mql5.com/en/articles/690), the support for OpenCL in MQL5 is provided starting with version 1.1, but I couldn't find any SDK built for v1.1 nor higher, from any provider.

Any insights?

Cyclone V FPGAs: Lowest System Cost and Power
Cyclone V FPGAs: Lowest System Cost and Power
  • www.altera.com
Altera's Cyclone® V FPGAs provide the industry's lowest system cost and power, along with performance levels that make the device family ideal for differentiating your high-volume applications. You'll get up to 40 percent lower total power compared with the previous generation, efficient logic integration capabilities, integrated transceiver...
 
Will404:

Hi,

I wonder if it is possible to use an FPGA as the hardware for OpenCL.

I was looking for some board of the Altera Cyclone series: http://www.altera.com/devices/fpga/cyclone-v-fpgas/cyv-index.jsp, because of the Altera's SDK for OpenCL http://www.altera.com/products/software/opencl/opencl-index.html, but I wonder if the API will work with the version they have, the SDK is built for OpenCL v1.0.

According to the article about how to install OpenCL(https://www.mql5.com/en/articles/690), the support for OpenCL in MQL5 is provided starting with version 1.1, but I couldn't find any SDK built for v1.1 nor higher, from any provider.

Any insights?

Hello Will404,

Sorry for having seen your message that late. Anyway, I am interested in the same intention. As far as I know, maybe FPGA is a little complicated on its own but you should try with something like a Cyclone V SoC! It has a ARM HPS (2 cores if I am correct), a FPGA section and internal connections between both. Unfortunately, as of today, I have seen nothing positive that can be handled by this SoC because MT4/MT5 need Windows or Wine on Linux and there is no such a version of Linux that can accept Wine on it. It is quite sad actually. On the other hand, Windows is a very slow OS because my last experiences showed me that I cannot get time slices inferior to 15ms. I confess that for a 2+GHz multicore CPU, 15ms sound like a century for a human lifetime! If you still want to do so, maybe you can combine a Raspberry Pi 3-4 on which you will install Windows, and you couple it with a FPGA board such as a DE0-nano or a DE10-nano.

I am still looking for a solution around all of this.

Regards