英特尔TBB将在AMD处理器上工作
Intel TBB will work on AMD processors?
可能重复:
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中进行了修复。我自己没有使用过这个,所以无法证明这个端口的健壮性。
支持哪些编译器、操作系统和处理器?
该项目致力于支持所有编译器、所有操作系统和所有处理器,作为该项目的基石目标。网站上提供了有关状态的最新信息。
编辑:人们似乎在ARM处理器上工作时遇到了问题,但没有什么是不可克服的。
- #定义c-预处理器常量..我做错了什么
- QSqlquery prepare()和bindvalue()不工作
- 预处理器:插入结构名称中的前一个行号
- 如何在c++中实现处理器调度模拟器
- 导入库可以跨dll版本工作吗
- 以螺旋方式打印矩阵的程序.(工作不好)
- 对象指针在c++中是如何工作的
- Unity 的 HLSL/Cg 预处理器工作方式错误?
- 通过生成文件预处理器宏定义在 c++ 中无法正常工作
- cv::split() 在至强处理器上崩溃,但在其他地方工作
- 非CS人员需要了解线程是如何工作的,因为它与多核处理器有关
- 我在让非常基本的命令提示符文本处理器工作时遇到问题。ofstream() 的问题
- #define预处理器在C语言中是如何工作的
- c++预处理器是如何工作的
- 为什么这个用于在c++ 11和TR1之间切换的预处理器宏不能工作?
- 预处理器c++的工作
- Visual Studio预处理器只在/P设置时工作
- while条件不工作时中的预处理器指令
- C++预处理器是如何工作的
- 英特尔TBB将在AMD处理器上工作