Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
15462 Discussions

I'm having an issue using the Atomic Library in C++11, it's saying that I need to specify the flag std=c++11, but I don't know how to do that with I++ compiler. How do I correct this, since I need Compare and Swap behavior for my data structure?


Whereby when compiling my code with the command:


g++ src/fpga_basic.cpp -march=x86-64 -std=c++11 -o test-x86_64


It compiles correctly and executes the behavior that is expected. 


However, when I try and run:


i++ src/fpga_basic.cpp  -march=x86-64 -o test-x86-64


It doesn't compile complaining about the errors within the atomic library and that I need to set the flag for correct compilation.


some of the errors:


/usr/include/c++/4.8.5/bits/c++0x_warning.h:32:2: error: #error This file requires

   compiler and library support for the ISO C++ 2011 standard. This support is

   currently experimental, and must be enabled with the -std=c++11 or

   -std=gnu++11 compiler options.

#error This file requires compiler and library support for the \


In file included from src/fpga_basic.cpp:9:

In file included from /usr/include/c++/4.8.5/algorithm:61:

In file included from /usr/include/c++/4.8.5/bits/stl_algo.h:59:

/usr/include/c++/4.8.5/cstdlib:165:26: error: use of undeclared identifier


 abs(long __i) { return __builtin_labs(__i); }


0 Kudos
5 Replies

Hi ,

You have to refer to the compiler user guide for the version of HLS compiler being used.

Depending on the version of the Intel HLS compiler , The C++ files are expected to be conforming to different standards like C++14 ,C++17 etc.

But not all the features of the language are supported ,

For example if you check the restriction section

Intel HLS Compiler Pro Edition Restrictions

in the below document , its is mentioned that what all features are not supported.

Also if you see the reference manual of the compiler you can get in more detail the information about what subset of the C and C++ are supported.

Thanks and Regards




Hi Anil,


I wanted to know if there is any support available for atomic instruction by the HLS compiler?

Secondly, I want to request technical support via an engineer for using the the Intel HLS tool version 20.1, would you be able to provide that via a phone or telephone call?


Kind Regards,


Mayank Surana


Hi Mayank,


Currently we do not support atomic instruction in HLS compiler.


For HLS , there is a series available in Intel FPGA channel in Youtube which describes pretty much in detail the steps and concepts.


Regarding support for 20.1 , the getting started guide can be useful


If any thing mentioned in the guide is not working out ,please let us know.


Thanks and Regards



Hi Anil,

Thanks for the response, so another few questions. What is currently the best way possible to run atomic instructions on the FPGA via intel services?

Furthermore, I've been experiencing issues where is my FPGA (Intel Arria 10 Gx) is not being detected by the Quartus software (Version 20.1). However when I switch the version of Quartus to V18.1, the device becomes is recognised and ready for compilation.

Could you explain why this may be the case?

The device is connected via a PCIE into a data center. I'm running both software from Linux Ubuntu 18.04LTS.



You can try with OpenCL instead of HLS , if you want to try atomic instructions in Intel FPGAs.

Please refer the OpenCL guide as given below

Regarding the Arria 10 Device support in Quartus 20.1 , please make sure that you have installed the device support files (.QDZ) for Arria10 and use it in Quartus 20.1 . The device files can be downloaded from the below link.

Thanks and Regards