我试图使用11.1 20090511版本在一个带有MPICC的集群上编译milcv7.7.8/ks戋spectrum的源代码,当使用“make ks戋spectrum戋hisq”命令在milcv7.7.8/ks戋spectrum中生成源代码时,最后错误显示为
com mpi.o:函数中的
我知道这个函数是英特尔编译器ia32intrin.h文件的一部分。
当我在带有14.0.0 20130728版英特尔编译器的新群集上使用最新的英特尔mpiicc时,代码编译成功。
那么有没有什么方法可以告诉链接器包含函数emidivrem epi32的位置。。。

最佳答案

_mm_idivrem_epi32()不是函数,而是编译器的内部函数。如果处理得当,它将替换为从英特尔短矢量数学库调用__svml_idivrem4()
你很可能被ICC的自动矢量器中的错误击中尝试使用libsvml编译同一个源文件,并查看它是否有任何效果或者最好使用您可以使用的最新ICC版本。

10-06 09:44