Showing results for 
Search instead for 
Did you mean: 
Honored Contributor I

Where to find List of FPGA OpenCL libraries available/implemented

Hi everyone,  


I am totally new to OpenCL and Altera, and apologize if this is a very basic question.  


I plan to buy an Altera FPGA and want to take on a project with OpenCL as a learning side project (with school). I'm curious as to if there is a list of libraries available that tells me which all libraries have been implemented and are available for me to use on my FPGA board (most likely the Zynq or Snickerdoodle).  


I've googled libraries available, and see that there is a website with a list that is maintained, but as I am new to all of this, I can't seem to understand if all of these libraries can be used with Altera FPGA, or if some are just CPU/GPU/DSP related and not related to FPGA. (Please excuse me if this is also a very simple dumb question). 

Link of the List: 


I'm interested in projects related to incorporating Linux and FPGA.  


Type of project trying to understand 


Hoping people can guide me to a list of libraries I can use, and maybe some advice on OpenCL and FPGA with Arm Cortex. I highly appreciate all of your time!
0 Kudos
1 Reply
Honored Contributor I

First and foremost you should know that using OpenCL on FPGAs is a lot less streamlined compared to CPU and GPU right now; much of the burden is still on the users' shoulders. OpenCL only works on a few FPGA boards for which the manufacturer provides an OpenCL BSP. For other boards, unless you want to create the BSP yourself which is next to impossible for somebody who doesn't have years of experience in using FPGAs, OpenCL cannot be used. If you want an ARM + FPGA SoC, your options will be even more limited (but they exist, I prefer not to advertise for anybody by putting board names here). Zync is a Xilinx product and is not going to work with Altera's OpenCL SDK. Snickerdoodle also doesn't support OpenCL. You should look for Altera's board partners who offer OpenCL support. 


Regarding OpenCL libraries for FPGAs, there is pretty much nothing official from Altera/Intel. There is probably not much worth mentioning from the community either because OpenCL on FPGAs has still not become that wide-spread (though hopefully it will). Probably the closest thing you can get is a set of code examples provided by Altera. You could probably port existing libraries for CPU/GPU to Altera's SDK, but the performance will be terrible and you will have to optimize them by hand which would need a non-trivial amount of effort. 


I strongly recommend taking a look at Altera's (Intel's) OpenCL Getting started Guide, Programming Guide and Best practices Guide; that should give you some idea of how things currently work.
0 Kudos