Forum Discussion
Altera_Forum
Honored Contributor
8 years agoI have a tip for you, if you are developing C/C++, switch to Linux; it will save you a lot of time in environment setup. For the particular case of Altera OpenCL, I definitely recommend avoiding Windows at all costs and using CentOS 6.x or 7.x. This is coming from a person who uses Windows for every task other than programming; heck I even code using Notepad++ on Windows and transfer it via WinSCP to my Linux compilation machines, where I just run the compilation command via SSH and wait for compilation to finish to then run it on the board which is installed on another Linux machine.
Unfortunately I have to say you are absolutely correct about OpenCL support on FPGAs; the current level of support is not at all aimed at newcomers, it is mostly aimed at experienced FPGA programmers who want a more productive alternative compared to traditional HDLs. From a hardware programmer's point-of-view, OpenCL is a blessing which saves a huge amount of time in development and debugging, while from a software programmer's point-of-view, the toolchain is probably a broken, unintuitive mess, that makes more trouble than it helps. I think it took me two weeks when I got my first board up and running with OpenCL, though that was more than two years ago. Now I can do all that in a few minutes. Generally the boards that officially support OpenCL have step-by-step guides as to how you should set up your environment; as long as you read and follow the documents, you will be fine. P.S. Don't bother with other OpenCL SDKs (NVIDIA/AMD), they will not work on FPGAs. Even with the new ICD driver shipped with Quartus, assuming that you do manage to compile your host code against some other SDK, you will still need Altera's SDK for the kernel compilation. I strongly recommend taking a look at Altera's OpenCL documents to get an idea of how the toolchain works before spending any more money on purchasing boards. The way OpenCL works on FPGAs is completely different from CPUs/GPUs.