可能重复:
AMD 多核编程
英特尔 TBB处理器是否依赖?它可以在 AMD 或 ARM 上工作(例如在 meeGo 下?)
TBB 并非完全独立于处理器;有一个(相当小的)层将 TBB 的其余部分与处理器架构(主要是提供原子读-修改-写操作,例如比较和交换)和某些操作系统特性隔离开来。这一层的实现也使用了一些特定于编译器的东西,例如内联汇编器或内置函数(内在函数)。
TBB 将在 x86(32 位和 64 位)处理器(包括 AMD 的处理器)上开箱即用,但没有mfence
指令的相当旧的处理器除外。
至于 ARM,没有直接支持,但TBB 3.0 Update 7添加了 TBB 的平台隔离层的实现,该层使用 GCC atomic 内置。所以绝对有可能让 TBB 在 ARM 上运行,可能只需要很少的额外工作。实际上,在 TBB 论坛上有一篇关于这种端口取得一定成功的报告。
而且,用于 MeeGo 的 Intel(R) AppUp SDK也包含 TBB,尽管它仅适用于 Intel 的 Atom 处理器。
答案是肯定的,无论如何对于 AMD 来说。
从英特尔论坛上的反馈来看,ARM 的情况更为复杂。我没有看到有人得到这个工作?例如参见http://software.intel.com/en-us/forums/showthread.php?t=74346
商业版本 3.0 在其关于推荐硬件的发行说明中包含这一点:我认为可能更粗略地支持其他平台。
Microsoft* Windows* Systems
Intel(R) Core(TM) 2 Duo processor or Intel(R) Xeon(R) processor
or higher
Linux* Systems
Intel(R) Core(TM) 2 Duo processor or Intel(R) Xeon(R) processor
or Intel(R) Itanium(R) processor or higher
Mac OS* X Systems
Intel(R) Core(TM) 2 Duo processor or higher
(2014 年 12 月更新信息) 从 4.1 Update 3 开始,TBB 支持 ARM,并在 4.2 Update 3 中进行了修复。我自己没有使用过这个,所以无法证明这个端口的稳健性。
不,它不依赖于处理器。它只是一个 C++ 库,所以只要您使用的编译器能够编译它就可以了。从您链接到的网站的常见问题解答中:
支持哪些编译器、操作系统和处理器?
该项目致力于支持所有编译器、所有操作系统和所有处理器,作为该项目的基石目标。网站上提供了有关状态的最新信息。
编辑:再多打探一下,看起来人们在让它在 ARM 处理器上工作时遇到了问题,但没有什么是不可克服的。