Community
cancel
Showing results for 
Search instead for 
Did you mean: 
50 Views

Can TBB be used on the ARM core also

I have a doubt in mind.. While browsing through the source codes of TBB ...at the last level i found some assembly language instructions instead of some system calls...So i started thinking that TBB is hardware specific to Intel processors.

Tell me whether it really is or not?
0 Kudos
3 Replies
Black Belt
50 Views

0 Kudos
Employee
50 Views

To expand on Raf's reply, there are unofficial patches, kindly provided by Raf, that provide the missing pieces for ARM on TBB.

Also, the recent sourcerelease (3.0 Update 5) of TBB should work on MacOS independent of the hardware, because in the absence of known hardware, it falls back on OS calls like OSAtomicCompareAndSwap32Barrier. (See include/tbb/machine/macos_common.h).

In the long term, what I'd like to have is a "gcc port" of TBB that uses gcc intrinsics for the atomic ops. It's probably no more work to write than macos_common.h . Of course eventually when C++0x atomics become available, we could consider doing a "C++0x port". Anyone want tocontribute a patch for either port?


0 Kudos
Black Belt
50 Views

"Also, the recent source release (3.0 Update 5) of TBB should work on MacOS independent of the hardware, because in the absence of known hardware, it falls back on OS calls like OSAtomicCompareAndSwap32Barrier. (See include/tbb/machine/macos_common.h)."
Only the memory semantics extremes are provided: a full barrier (expensive) or none at all (of little use). Good for a conservative first implementation, but not very satisfactory if you're conscious about performance.

'In the long term, what I'd like to have is a "gcc port" of TBB that uses gcc intrinsics for the atomic ops. It's probably no more work to write than macos_common.h . Of course eventually when C++0x atomics become available, we could consider doing a "C++0x port". Anyone want to contribute a patch for either port?"'
"In most cases, these builtins are considered a full barrier.", again not very appealing. I'm not sure that C++0x will come to the rescue in time for those platforms not yet supported by TBB? In the meantime, a bespoke implementation still seems best to me.

0 Kudos