问题标签 [intel-mkl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1243 浏览

random - 使用 MKL VSL 的并行随机数不并行?[fortran90]

我已经实现了使用 MKL VSL 库生成随机数向量的代码:

例如,使用 4 和 32 线程时,我看不到任何加速。
我使用英特尔编译器版本 13.1.3 并编译

这就像随机数不是并行生成的。
这里有什么提示吗?

谢谢,

埃里克。

0 投票
1 回答
1039 浏览

c++ - 如何使用 MKL 执行线程稀疏矩阵 - 向量乘法?

我需要执行矩阵向量乘法,其中矩阵是复杂的、对称的并且有四个非对角线非零频带。到目前为止,我正在使用稀疏的 BLAS 例程 mkl_zdiasymv 来执行乘法,它在一个核心上运行良好。如果我可以通过使用多线程(例如 openMP)来提高性能,我想尝试一下。据我了解,一些(很多?)MKL 例程是线程化的。但是,如果我使用 mkl_set_num_threads(4) 我的程序仍然在一个线程上运行。

这里举一个具体的例子是我编译的一个小测试程序(使用 icc 14.01):

mkl_test_mp.cpp:

甚至可以以这种方式并行化吗?我究竟做错了什么 ?还有其他建议可以加快乘法吗?

0 投票
1 回答
3374 浏览

matlab - 在 Matlab 中哪里可以找到英特尔 MKL

我有一个 MATLAB 订阅,并且我读到 MATLAB 使用英特尔 MKL 库,但我不确定在哪里可以找到与英特尔 MKL 库对应的所有 DLL/文件。我可以在文档中找到关于它们位置的任何提及。

谢谢

0 投票
2 回答
3411 浏览

multithreading - 从 openmp 并行区域调用多线程 MKL

我有一个具有以下结构的代码

对于 dgemm_,我与多线程 mkl 链接。我希望 mkl 使用所有可用的 8 个线程。最好的方法是什么?

0 投票
1 回答
1190 浏览

python - 比较 NumPy 与 NumPy+MKL 的性能

所以,我从源代码编译 NumPy,链接到 MKL。现在我想比较使用和不使用 MKL 的 NumPy 的性能。有什么办法可以“告诉”NumPy 不要使用 MKL,这样我就可以生成基准测试了吗?例如,使用 numExpr 我们可以做到numexpr.use_vml = False。NumPy 有类似的东西吗?我真的不想为了这个而在没有 MKL 的情况下编译 NumPy。

(Ubuntu 12.04、Python 2.7.3、NumPy 1.8、英特尔 Composer XE 2013 SP1)

0 投票
0 回答
1153 浏览

python - 如何使用 Enthought python (Canopy) 安装 CVXOPT

在开始之前,让我为这篇文章添加替代标题:

如何使用英特尔 MKL 编译 CVXOPT?

如何更改 CVXOPT 中的 __init__.py 以使用英特尔 MKL 进行编译?

让我解释一下这个问题。我正在尝试使用 Enthought python 安装 pystruct,因为与 Ubuntu 包管理器中的 python 相比,Enthought python 提供了显着的速度。加速主要是由于使用英特尔 MKL 库编译后端线性代数库。我不得不说 CVXOPT 和 pystruc 与 gnu python 配合得很好。

我想知道是否有人尝试使用 Enthought python(Canopy 以前的 EPD)安装 CVXOpt?它需要使用英特尔 MKL 编译。

当我构建 CVXOPT 并尝试将其导入 Enthought python 时,我收到以下错误(这似乎是链接器错误):

但是,如果我尝试在默认 python 中导入它,我不会收到错误(测试也有效)。

我想问题在于链接到错误的库。我也有 INTEL MKL,以防我需要针对 MKL 重新编译 CVXOPT(这似乎是 blas Enthought 正在使用的版本)。我在文档中找不到任何说明如何使其与 Enthough 一起使用,请告知。

更新:正如我之前提到的,CVXOPT 使用 gnu python 编译和运行。我做了以下技巧,这看起来不是一个好主意,但它确实有效:

我从这篇文章中学到的:(libgfortran:未找到版本“GFORTRAN_1.4”

现在,问题是这样做的干净方法是什么?我怎样才能只为一个包预加载库。或者使用英特尔 MKL 编译 CVXOPT 并且根本不需要预加载库?

谢谢,
凯汉

0 投票
3 回答
4465 浏览

c++ - MKL 或 BLAS 例程将向量乘以异地标量

我在仿真软件中工作,对数组进行的众多操作之一就是将向量缩放一个数字。

我有这样的代码:

我有可用的 MKL 库,因此如果我的计算是“就地”完成的,则可以编写以下内容:

但是,这会改变input变量,这不是我想要的。

我尝试使用,mkl_domatcopy()但此操作非常慢。

0 投票
1 回答
697 浏览

c++ - LD_BIND_NOW:符号查找错误,但可执行文件仍在运行

我正在尝试使用setenv LD_BIND_NOW TRUE. 当我在启用此选项的情况下运行可执行文件时,出现错误

但是,如果我然后删除LD_BIND_NOW环境变量,程序执行得很好(直到终止,然后它报告内存损坏——尽管这可能是无关的)。

所以我有点困惑:当程序出现符号查找错误时,它是如何执行的?我认为它必须终止,因为程序是用 C++ 编写的,而不是 Java。(请参阅此处以供参考。)

此外,此错误是否意味着 myrpath设置不正确,或者 MKL 构建不正确?有没有可以在有限时间内实现的修复?

0 投票
1 回答
1857 浏览

visual-studio-2010 - 在 Visual Studio 2010 中使用英特尔 MKL

在我的 Windows 7 64 位电脑上安装英特尔 MKL 后,我的印象是运行提供的脚本mklvars.bat -arch可以"install_dir"\mkl\bin将 mkl.h 包含在我的 Visual Studio 2010 项目中。相反,我收到一个错误,即 VS 找不到头文件,有人知道我能做些什么来解决这个问题吗?

0 投票
0 回答
607 浏览

ubuntu - -fopenmp 在 Ubuntu 13.10 上不起作用

我正在使用英特尔 MKL 库和 GCC 编译器构建相同的应用程序,并使用英特尔建议的所有标志。要使用 GCC OMP 实现,建议使用 -fopenmp,它将程序与 -lgomp 链接。这在 Ubuntu 12.04 上运行良好,但在 Ubuntu 13.10 上 GCC 似乎无法找到正确的符号。任何人都知道我是否做错了什么?

g++ -I$MKLROOT/include -I/home/jjgarcia/mps-bundle-gcc/include -g -O2 -fopenmp -o xy_stuck.exe xy_stuck.cc -O2 -L$MKLROOT/lib -L/home/jjgarcia/ mps-bundle-gcc/lib -lmps -ltensor -lmkl_intel_lp64 -lmkl_core -lmkl_gnu_thread -ldl -lpthread -lf2c

顺便说一句,明确添加 -lgomp 并没有帮助。

这些是错误

使用 -v -v 获取详细输出显示 GCC 调用的链接器。我手动添加了 -lgomp 并且它没有改变。另请注意,链接器不会抱怨找不到 gomp :-?