英特尔TBB将在AMD处理器上工作

Intel TBB will work on AMD processors?

本文关键字:工作 处理器 AMD TBB 将在 英特尔      更新时间:2023-10-16

可能重复:
AMD多核编程

是否依赖英特尔TBB处理器?它在amd或ARM上工作吗(例如在meeGo下?)

TBB不是完全独立于处理器的;有一个(相当小的)层将TBB的其余部分与处理器体系结构(主要是提供原子读-修改-写操作,如比较和交换)和某些操作系统特性隔离开来。该层的实现也使用一些编译器特定的东西,例如内联汇编程序或内置函数(intrinsic)。

TBB将在x86(32和64位)处理器上开箱即用,包括AMD的处理器,除了那些没有mfence指令的旧处理器。

至于ARM,没有直接支持,但TBB3.0Update7添加了一个使用GCC原子内置的TBB平台隔离层的实现。因此,让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更新3起,TBB支持ARM,并在4.2更新3中进行了修复。我自己没有使用过这个,所以无法证明这个端口的健壮性。

不,它不依赖于处理器。它只是一个C++库,所以只要你使用的编译器能够编译它,你就应该没事。从您链接到的网站常见问题解答:

支持哪些编译器、操作系统和处理器?

该项目致力于支持所有编译器、所有操作系统和所有处理器,作为该项目的基石目标。网站上提供了有关状态的最新信息。

编辑:人们似乎在ARM处理器上工作时遇到了问题,但没有什么是不可克服的。