python - 从 python : openmp library not found? 调用 MKL 的线程函数

标签 python openmp ctypes intel-mkl

我正在使用 ctypes 模块将英特尔 MKL 加载到 python 中,然后我想调用一个需要 openmp 并行化的例程(pardiso,在我的例子中)

我找到了 this Intel 网站上详细介绍该过程的有用链接,我可以运行他们的示例代码,但是当我运行我自己的使用 openmp 线程函数的示例时,程序崩溃并显示消息

python: symbol lookup error: /opt/intel/Compiler/11.1/072/mkl/lib/em64t/libmkl_intel_thread.so: undefined symbol: omp_get_num_procs

我强烈怀疑加载 libmkl_rt.so 不会正确触发加载 libiomp5.so

我已尝试将英特尔 MKL 库路径(“正常”英特尔库路径)添加到 LD_RUN_PATHLD_LIBRARY_PATH,以无济于事,尽管在这些路径中同时包含 mkl 库和 openmp 库(英特尔版本)。

这里的魔术是什么?

请注意,虽然我也使用 numpy,但我没有针对 mkl 构建 numpy。但我怀疑这是否重要,因为我应该能够从 mkl 中调用内容,而无需首先对 numpy 进行任何操作。

最佳答案

NVM,原来我安装了旧版本的 MKL。

按照我为早于 10.3 的版本提供的链接上的说明,我启动并运行了它。

关于python - 从 python : openmp library not found? 调用 MKL 的线程函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8995518/

相关文章:

c++ - fork 线程的成本 : How do I determine the minimum vector size to justify multithreading

gcc OpenMP 实现 : how does it dynamically set the number of threads?

python - 打印值列表

python - np.add.types列出的字符是什么意思?

python - 如何检查 html 中 Django 表单中的字段名称?

python - 如何在不压缩文件的情况下估计文件的可压缩性?

python - 如何在两个不同的字典中组合值,这些字典在 python 中具有相同的键

linux - 在 Linux 中使用 Matlab MEX 时 OpenMP 没有加速

python - 使用 QStandardItemModel 更改 QTableView 的行颜色

c++ - 将复杂列表列表的元组从 C++ 返回到 Python