问题标签 [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.
python - 在 Linux 上使用 gcc-4.7.2 安装 numpy-1.7.1 和 MKL-10.3
几天来,我一直在尝试在系统上numpy-1.7.1
使用时安装。我不久前使用相同的编译器成功编译。MKL-10.3
python-2.7.5
gcc-4.7.2
linux-2.6.18-308.24.1.el5
R-3.0.1
MKL
我将site.cfg
文件修改numpy-1.7.1
如下:
当我调用时python setup.py install
,它会找到 和的MKL
库。到目前为止,没有任何投诉或警告。一旦我尝试用.BLAS
LAPACK
numpy
这似乎是一个已知问题(指向源的链接),因此libiomp5
不由libmkl_rt
. 当我将路径添加到libiomp5
中的library_dirs
变量时site.cfg
,numpy
无法检测到所有 MKL
库。
我什至尝试了以下方法来强制gcc
使用它自己的openMP
库/头文件,但无济于事。
对于此事,我将不胜感激任何形式的帮助或建议。不要犹豫,让我知道我在这个线程中省略了关键信息。
编辑:我在一个x86_64
平台上运行。
multithreading - CPU上最快的多线程迭代稀疏求解器?
英特尔 MKL 库提供了一组优化的线程化函数,但对于迭代稀疏求解器 (ISS),预处理共轭梯度法似乎并不容易被线程化。
更准确地说,使用不完全 Cholesky 分解或 ILU 等预处理技术,在某些时候需要稀疏三角求解器,但执行三角求解mkl_cspblas_?csrtrsv
的相应 MKL 函数不是线程化的。我的问题是,是否有任何稀疏求解器库可以在多核处理器上击败当前版本的 MKL(未完全线程化)?
c++ - 我可以将矩阵的子集传递给 MKL 中的另一个函数吗?
我正在尝试优化 MKL 中的许多矩阵计算,这需要我使用以下方法分配大块内存:
double* test_matrix = (double*)mkl_malloc(n * sizeof(double), 64)
.
最近,我发现了很多内存分配错误,这些错误很难复制,甚至更难调试。我担心 MKL 将一些内部标头数据放入堆中,而我使用当前方法没有考虑这些数据。
是否有将 MKL 矩阵的子集传递给另一个函数的“官方”方式?传递一份副本肯定会过多地增加我的开销。我目前正在提供对矩阵子集的引用,如下所示:
fortran - 使用比使用更多的进程调用 BLACS
我想创建一个大量使用 SCALAPACK 的并行程序。SCALAPACK 的基础是 BLACS,它本身依赖 MPI 进行进程间通信。
我想以定义数量的进程(例如机器上的内核数)启动程序,并让算法决定如何使用这些进程进行计算。
作为测试用例,我想使用 10 个进程。其中 9 个进程应排列成网格 ( BLACS_GRIDINIT
),第 10 个进程应等到其他进程完成。
不幸的是,OpenMPI 崩溃是因为最后一个进程没有从 BLACS 进入 MPI 上下文,而其他进程却进入了。
问题:使用 BLACS 处理比需要的更多的正确方法是什么?
我做了一些额外的MPI_INIT
和MPI_FINALIZE
调用的实验,但我的尝试都没有成功。
我从 Intel MKL 的示例代码开始(稍微缩短了一点):
更新:我调查了源代码,BLACS
看看那里发生了什么。
如果以前没有发生这种情况,该调用BLACS_PINFO
会使用 初始化 MPI 上下文。MPI_INIT
这意味着,在这一点上,一切都按预期工作。
最后,调用BLACS_EXIT(0)
应该释放所有资源BLACS
,如果参数是0
,它也应该调用MPI_FINALIZE
。不幸的是,这没有按预期工作,我的最后一个过程没有调用MPI_FINALIZE
.
作为一种解决方法,如有必要,可以询问MPI_FINALIZED
并致电。MPI_FINALIZE
更新 2:我之前的尝试是使用Intel Studio 2013.0.079
和OpenMPI 1.6.2
on完成的SUSE Linux Enterprise Server 11
。
在阅读了cteo的回答后,我尝试使用Ubuntu 12.04
(gfortran 4.6.3, OpenMPI 1.4.3, BLACS 1.1
)给出的工具编译这个例子并且成功了。
我的结论是,英特尔的实施似乎有问题。我将在不久的将来使用 的最新服务版本重试此示例Intel Studio
,但不要期望任何更改。
但是,我将不胜感激任何其他(也许更好)的解决方案。
c++ - const void* 作为 C++ 中 MKL Blas 例程的复数
我被困在调用 MKL Blas 函数cblas_zgemv
有两个系数 alpha 和 beta 是复数:
. 但是在函数的定义中:
我试图设置 alpha = complex(1.0,0) 但这会给我一个错误:
我能做些什么?我不明白这个 const void* 是什么......
fft - 英特尔至强融核上的 MKL 3D 双精度复数 FFT
我为 3 维 FFT(MKL 接口)开发了 C 代码,以便在英特尔 MIC 平台上本地运行。
对于复数到复数的转换,数据元素是双精度复数。我使用填充的前导维度,mkl_malloc() 64 字节对齐,并为数组使用 radix-2 维度我最终得到的性能约为 50 Gflop/s。
对于类似类型的转换,我无法在任何地方执行列表。谁能告诉我这对 Xeon Phi 是否合理(满意)?
windows - gfortran 是否放弃了对 Cygwin 的 svml 支持?
我在全新的 Cygwin 安装上编译 Fortran 代码时遇到了一些问题,我可以追溯到对英特尔svml
(短向量数学库)库中函数的未定义引用。
具体来说,我收到了表格错误
并且该函数vmldPow2
是svml
库的一部分,如此处所示,我将其作为选项传递给我的 makefile 中的 gfortran
(我也在使用库lapack
和lblas
。)
该文件在我的笔记本电脑上编译得很好,在 Windows 7 上运行 Cygwin 1.7.17。(大约在 2013 年 4 月 18 日安装;gfortran 版本是 4.5.3。)我现在正在尝试在新桌面上复制安装,同样运行 Windows 7,并已安装 Cygwin 1.7.25。我在 32 位和 64 位安装(分别使用 gfortran 4.7.3 和 4.8.1 运行)以及在我的桌面上新安装 64 位 Cygwin 时都遇到了上述错误。我也没有在同一个桌面上启动 Linux 时遇到错误,目前我无法解决。
我很清楚svml
,在较新的 Cygwin 安装中,有 (a) 到 的链接断开,或 (b) 该库缺少部分。我已尽我所能广泛搜索恢复该库的方法,但它似乎是 GNU 编译器的固有部分。事实上,GNU 编译器是否放弃了对这个库的支持?如果没有,那么我推测我需要修复库或链接到它的文件。在那种情况下,这个库在哪里可用?我应该修复哪些文件以及如何修复?
不过,我承认,我很可能会找错树,如果是这样的话,我很乐意直截了当。我应该在哪里寻找?
c++ - 如何链接英特尔 MKL 库,只使用 cblas_dgemm 函数
我想测试Intel MKL
矩阵乘法,所以我包含并且我只使用 cblas_dgemm 函数,但它总是说
我也链接了-lmkl_core -lmkl_blas95_lp64 -lmkl_lapack95_lp64
,但是我在$MKLROOT/lib/intel64/
目录中的库之间测试了很多组合,错误仍然存在。有人可以给我一些建议吗?谢谢。
c++ - 英特尔酷睿 i7-3770 上的 ACML 5.3.1 段错误
昨天想测试cblas_dgemm的例子,但是遇到了问题:How to link Intel MKL library, just cblas_dgemm function is used
,它仍然存在。所以我使用 ACML 5.3.1 库测试了 dgemm。演示示例来自http://r2labs.org/pct/Scott_McAllister_work/pCT/acmlg0.1/win64/examples/time_dgemm_c/dgemm_c_example.c,但是当我将项目与 链接时-L/opt/acml5.3.1/gfortran64/ -lacml
,它可以编译成功。但是运行的时候报错:
请帮助我。谢谢。
matlab - C++中有没有比MATLAB的eig函数更快的特征值分解方法?
为什么eig()
MATLAB中的运行速度如此之快?它是如何制作的?我使用 Eigen 的 EigenSolver,它比 MATLAB 慢很多。使用Intel-MKL
? 我们能否实现与 MATLAB 相同或更高的性能?或BLAS
/ LAPACK
/ ATLAS
/ ARPACK
/ OpenBLAS
/ GotoBLAS
/ ACML
?特征值分解的工业解决方案是什么?