连接 NumPy 线性代数库的 C 扩展。

4
我正在编写C扩展,并希望利用链接到numpy库的线性代数例程。是否有一种跨平台的方法来获取这些路径?我浏览了大部分的numpy.distutils.*,但没有找到类似这样的内容。我还尝试了numpy.show_config(),它打印出正确的库名称,但错误的目录。
我的目标是能够访问numpy在幕后调用的低级例程。即在我的C代码中,我想能够执行以下操作:
dgetrf(&m, &n, a, &lda, ipiv, &info);
// or
LAPACK_dgetrf(&m, &n, a, &lda, ipiv, &info);

非常感谢任何帮助或文档链接。

1个回答

0
Numpy没有实现线性代数例程,通常在大多数平台上默认使用OpenBLAS(如果正确配置了Numpy,则可能使用Intel MKL)。有关链接的BLAS的信息可通过np.show_config()查看。如果您在Linux上,可以使用lddobjdump列出已链接的共享库,甚至可以使用lsof。在Windows上,您可以使用Process Explorer查看运行时链接的DLL。没有跨平台获取BLAS库路径的方法。事实上,在我的Windows上,np.show_config()的路径是错误的(它引用了一个甚至不存在的存储设备)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接