3

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

我在详细介绍该过程的英特尔网站上找到了这个有用的链接,我可以运行他们的示例代码,但是当我运行我自己的使用 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,但我没有numpy针对 mkl 构建。但我怀疑这是否重要,因为我应该能够从 mkl 调用东西而无需首先对 numpy 做任何事情。

4

1 回答 1

3

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

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

于 2012-01-26T00:14:40.010 回答