我正在寻找一个简单的例子,在Xeon Phi上使用矢量化和并行化,这比只有Xeon有更好的性能。你能帮帮我吗?
我正在尝试下一个例子。我评论第14,18和19行仅用于Xeon的运行并且为Xeon-Phi解开这些,但只有-Xeon比Xeon-phi具有更好的性能
select distinct ProductID from Table2
答案 0 :(得分:0)
关于自动向量化的第一句话。自动向量化的优点是简单。您需要设置一些关键字而不是魔术,编译器会为您制作快速代码。如果您想这样做,请尝试manual。
这种方法的缺点是没有简单的方法来理解编译器如何使他的工作。在矢量化报告中,您将看到" LOOP WAS VECTORIZED"或者"循环没有被矢量化"。但是如果你想真正理解你的代码是如何工作的,唯一的方法就是查看你的程序集。这不是装配的问题。您需要使用read_file.read().rstrip()
编译程序。但我想如果你需要阅读汇编来检查"简单的自动向量化"方法起作用并非如此简单。
自动向量化的替代方案是内在函数(实际上,这不是单一替代方案)。想想像C函数包装的内部函数一样的内在函数。许多内在函数内部包装单个汇编命令。
我建议使用此intrinsics guide。
所以我的简单步骤:
让我们用你的程序来做。 您的计划有很多不同之处:
我的代码工作时间:
Intel Xeon 5680
Intel Xeon Phi(KNC)SE10X
代码:
-fcode-asm