我有兴趣了解英特尔SVML功能符号命名约定的含义。
实际上,似乎SVML的每个函数都有各种各样的核心函数(其中一个在运行时被选中和调用)但我在运行时没有成功地在运行时访问它们原因不明。我尝试了很多编译选项,例如目标精度,或编译和优化代码的架构。每次我运行我的程序时,所选择的核心功能是具有后缀_h9
的核心功能,例如__svml_logf4_h9
我想了解其他核心功能的用途,例如以_br
,_e7
,_ep
,_ex
和{{1}结尾的功能以及我如何能够在我的机器上运行这些代码。
[编辑回复@zam]
我不希望它要么标准化。你对_ha和_br后缀的建议现在很有意义!然而,这些后缀在全局文本(代码)部分中,并且在本地文本部分中调用运行时选择的子例程,例如, _ha
可能会选择_br
或_br_ex
子例程,其中一个是VEX编码的(_h9),而另一个则不是。
根据您的说法,我现在猜测_br_h9
和_ex
代表不同的处理器系列,例如Broadwell-EX家族。
所有_ep
例程都是VEX编码的,所以我猜它们会以某种方式与AVX相关,但是为什么_h9
不是 VEX编码而Broadwell-EX CPU如Xeon E7 v4是否具有AVX指令?