【问题标题】:Calling a threaded function of the MKL from python: openmp library not found?从 python 调用 MKL 的线程函数:找不到 openmp 库?
【发布时间】:2012-02-18 05:05:50
【问题描述】:

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

我在英特尔网站上找到了this 有用的链接,详细介绍了该过程,我可以运行他们的示例代码,但是当我运行我自己的使用 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 做任何事情。

【问题讨论】:

    标签: python openmp ctypes intel-mkl


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-19
      相关资源
      最近更新 更多