你的目标是什么平台?
在我的平台(Mac OS X,IDL 8.2.1)上查看idl_lapack.so
withnm
似乎表明 LAPACK 例程直接在.so
. LD_LIBRARY_PATH
)。
$ nm idl_lapack.so
...
000000000023d5bb t _dgemm_
000000000023dfcb t _dgemv_
000000000009d9be t _dgeqp3_
000000000009e204 t _dgeqr2_
000000000009e41d t _dgeqrf_
000000000023e714 t _dger_
000000000009e9ad t _dgerfs_
000000000009f4ba t _dgerq2_
000000000009f6e1 t _dgerqf_
其他一些可能性...
我的个人库有一个目录src/dist_tools/bindings
,其中包含为给定“简单”(即不使用 typedef)函数原型的库自动创建绑定的例程。LAPACK 将相当容易为其创建绑定(最困难的部分可能是构建您想要使用 ATLAS、PLAPACK、ScaLAPACK 等的包)。该库是免费使用的,如果您愿意,可以签订一份小型咨询合同。
下一版本的 GPULib 将包含使用 MAGMA 库的 LAPACK 的 GPU 实现。这实际上是一个高度并行的选项,但仅适用于 CUDA 显卡。如果除矩阵求逆之外的其他操作可以在 GPU 上完成以最小化内存传输,它也将工作得最好。这个选项需要花钱。