5

我目前正在学习与英特尔并行化库相关的 API,例如 TBB、MKL 和 IPP。不过,我想知道是否也值得关注 AMD 的部分难题。或者这只是浪费时间?(我必须承认,我对 AMD 的库支持一无所知——完全不知道——所以如果你有任何建议,我将不胜感激。)

澄清一下,我采用英特尔方式的原因是 1)API 非常好;2) 英特尔似乎对工具支持和 API 支持一样重视。(再一次,我不知道AMD 在这个部门的表现如何。)

4

3 回答 3

9

MKL 和 IPP 库将(几乎)在 AMD 机器上执行。我的猜测是 TBB 在 AMD 机器上也能正常运行。如果我必须建议一种对双方都有益和有用的技术,那就是掌握 OpenMP 库。带有 OpenMP 扩展的 Intel 编译器速度惊人,并且还可以与 AMD 芯片配合使用。

于 2008-12-26T23:36:09.740 回答
7

仅当您对构建视频游戏、操作系统、数据库服务器或虚拟化软件等特别感兴趣时才值得。换句话说:如果你有一个段,你足够关心性能,花时间在汇编程序中做(并且做对)。英特尔也是如此。

于 2008-12-26T22:27:43.200 回答
3

如果您的公司只销售带有您的软件的英特尔服务器软件包,那么您不应该费心学习 AMD 方法。但是,如果您必须为两个(或多个)不同平台提供软件,那么可能值得研究不同的技术。为特定于硬件的库创建包装器将非常困难。(特别是因为涉及到线程。)

而且您绝对不想为每个硬件配置编写完全独立的实现。事实上,如果您的软件是供普通用户使用的,那么您可能希望放弃英特尔技术,而使用标准线程技术。我并不是要气馁,但我相信英特尔线程库在所有意图和目的上都领先于他们的时代。

于 2008-12-26T22:25:29.913 回答