我需要对Intel_mkl程序使用mkl_malloc吗?

阴鹅

我正在学习使用Intel mkl编写程序,在示例代码中使用了“ mkl_malloc”和“ mkl_free”,并且尝试将它们替换为“ malloc”和“ free”,但该程序仍然有效。那么,我需要使用mkl的版本吗?

桥本

您严格不需要使用MKL记忆功能。如果这样做,您的代码将正确运行。但是,为了获得最佳性能和可重复的结果,为MKL库提供在64字节边界上对齐的数据,并且MKL内存功能是实现此目的的便捷方法。

这是对性能参考

为了提高调用Intel MKL的应用程序的性能,请在64字节边界上对齐阵列,并确保阵列的前导尺寸可以被64整除。

提及可重复性

英特尔®MKL获得良好性能的方法之一是使用新的指令,这些指令可用于后续几代英特尔®处理器。这些指令中的某些指令通过一次对多个浮点数执行相同的浮点运算来提高计算效率。但是,其中一些指令的加载方式取决于数据在内存中的放置方式。如果在程序的一次运行中,数据恰好沿16字节边界对齐,则将数组中的前2个双精度数字分组在一起,而在下一次运行中,如果数组从该内存中偏移了边界,然后将第二和第三双精度数字分组在一起。在所有设置保持相同的情况下,连续两次运行同一程序时,这种顺序上的差异会导致不同的结果。

未对齐数据(如果有)之间的差异可能取决于您使用的特定CPU,我相信对最新处理器的影响不如前几代产品大。即使这样,如果可能的话,对齐数据可能仍然是一个好主意。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我需要对Intel_mkl程序使用mkl_malloc吗?

来自分类Dev

将Ipopt与Intel MKL关联

来自分类Dev

倍频4.2.1和Intel MKL

来自分类Dev

使用Intel MKL即时生成随机数

来自分类Dev

我仍然需要对算法:: boost使用boost吗?

来自分类Dev

如何正确使用MKL的mkl_domatcopy?

来自分类Dev

在Matlab哪里可以找到Intel MKL

来自分类Dev

我需要对ubuntu中的驱动程序做更多的事情吗?

来自分类Dev

我真的需要 malloc 吗?

来自分类Dev

结合使用OpenMP,Intel MKL和MSVC编译器时发生巨大的内存泄漏

来自分类Dev

可以将Python 3.6与Intel MKL 2017和Xeon Phi KNC卡一起使用

来自分类Dev

如何修复Ubuntu中使用Intel MKL产生错误结果的Octave?

来自分类Dev

Pyinstaller numpy“英特尔MKL致命错误:无法加载mkl_intel_thread.dll”

来自分类Dev

无法读取文件“ STRINGS”文件“ /opt/intel/mkl/include/mkl_version.h”

来自分类Dev

我需要对ART与Dalvik进行不同的编码吗?

来自分类Dev

我需要对该变量进行删除吗?

来自分类Dev

可以在同一过程中使用MKL的多个版本吗?

来自分类Dev

Numpy / Polyfit-禁止打印Intel MKL错误消息

来自分类Dev

Intel MKL SpareBlas mm CSR one-based indexing not working

来自分类Dev

从Intel MKL调用功能时Matlab崩溃

来自分类Dev

Numpy / Polyfit-禁止打印Intel MKL错误消息

来自分类Dev

如何使用Cmake在Linux上设置MKL

来自分类Dev

与MKL一起使用的数组类型

来自分类Dev

使用 MKL 稀疏矩阵向量乘法

来自分类Dev

使用 Eigen + 英特尔 MKL + Pardiso

来自分类Dev

更新git版本...我需要对使用较旧git版本的存储库做任何事情吗

来自分类Dev

为什么我需要对信号量使用锁

来自分类Dev

我需要对slice()的解释

来自分类Dev

我需要对 for 循环的解释

Related 相关文章

热门标签

归档