Search code examples
buildarmraspberry-pitbbraspberry-pi3

TBB Intel Threading Building Blocks for Raspberry Pi 3


So I am trying to compile Intel's TBB C++ library which enables parallelisms in programs. I am particularly needing this to use C++ React, which is a library which provides reactive library (e.g. asynchronous loops) for a project I am doing.

I have figured out how to compile it for Raspberry Pi 2. But my problem is that the guides I have seen have only updated for the ARM-7a architecture.

Currently, when I try to make a build which uses TBB as a dependency, I get this error:

In file included from /home/pi/tbb43_20150611oss/include/tbb/tbb_machine.h:247:0,
             from /home/pi/tbb43_20150611oss/include/tbb/task.h:25,
             from /home/pi/tbb43_20150611oss/include/tbb/task_group.h:24,
             from /home/pi/cpp.react-master/include/react/engine/PulsecountEngine.h:18,
             from /home/pi/cpp.react-master/src/engine/PulsecountEngine.cpp:7:
/home/pi/tbb43_20150611oss/include/tbb/machine/gcc_armv7.h:31:2: error: #error compilation requires an ARMv7-a architecture.
 #error compilation requires an ARMv7-a architecture.

I just want to know how I can port TBB to work on ARM-53 for the new Raspberry Pi.

An easy solution such as replacing _ARM_ARCH_7A_ in gcc_arm7.h would be nice, but how do people go about porting TBB for other architectures?

Thank you


Solution

  • Latest update August 2018,

    Check out my git: https://github.com/abhiTronix/TBB_Raspberry_pi

    Latest binary (2018 - Update 4) of TBB for the Raspberry Pi exclusively for Raspberry Pi (.deb) file compiled for a Raspberry Pi 2/3 Model B/B+ running Raspbian Stretch.

    Enjoy ;)