Search code examples
c++tbbintel-oneapi

What is oneAPI and how does it compare to TBB?


We've been using TBB for years and I see when upgrading, we're taken to a oneAPI TBB page now instead. Does oneAPI TBB replace the traditional TBB? Are both versions being maintained or is the standalone TBB now deprecated?

Trying to determine which to migrate to. Looks to me like oneAPI TBB replaces TBB, as the TBB pages haven't been updated since last year but I can't easily tell.

What also confuses me is that in the include directory, there exists both tbb/tbb.h and oneapi/tbb/tbb.h and both have the same files within them. Are they identical? I can't tell which to use.


Solution

  • oneTBB is the next version of TBB. While they are almost source compatible, the binary compatibility is not preserved and some interfaces were either removed or changed. Consider the topics: Migrating from Threading Building Blocks (TBB) and TBB Revamp.

    As for tbb.h, all oneAPI components reside inside oneapi/, i.e. it is recommended to use oneapi/tbb.h(while tbb/tbb.h is the same and available for source compatibility with TBB)