Forum Discussion

okramer's avatar
okramer
Icon for Occasional Contributor rankOccasional Contributor
6 years ago
Solved

What is OneAPI and how does it fit in with other dev tools?

  1. What is the difference/relationship between the OpenCL aoc compiler and the dpc++ compiler that comes with OneAPI?
  2. How does OneAPI relate to System Studio?
  3. What is the recommended workflow for developing in OpenCL/C++ for FPGA?
  4. Is Eclipse the only choice for IDE in order to take advantage of the profiling features? Or can I use cmake-based CLion instead?
  • For (3), I mean: what is the preferred way to develop and debug FPGA host & device OpenCL code?

    Currently no IDEs support OpenCL device code for Intel FPGA. Only aoc command line. But you can create host code in any IDE, but separately from device code.

4 Replies

  • GRN's avatar
    GRN
    Icon for Occasional Contributor rankOccasional Contributor
    1. dpc++ calls aoc
    2. AFAIK System Studio doesn't relate to OneAPI
    3. What do you mean? It's usual workflow for OpenCL FPGA: first is emulator for debug, the second is full compile
    4. AFAIK OneAPI plugin for Eclipse can generate only compiler report and doesn't support dynamic profile
  • okramer's avatar
    okramer
    Icon for Occasional Contributor rankOccasional Contributor

    Thanks. For (3), I mean: what is the preferred way to develop and debug FPGA host & device OpenCL code? Is it using SystemStudio or OneAPI? I'm using CLion with custom build step defined for the device code that works well. I can step through my kernel in emulation mode. But this doesn't give me any profiling info that presumably SS and 1API give.

  • GRN's avatar
    GRN
    Icon for Occasional Contributor rankOccasional Contributor

    For (3), I mean: what is the preferred way to develop and debug FPGA host & device OpenCL code?

    Currently no IDEs support OpenCL device code for Intel FPGA. Only aoc command line. But you can create host code in any IDE, but separately from device code.