我一直在寻找支持多线程的线性代数库。我发现 PLASMA 看起来很有希望。它来自开发 LAPACK 的同一组。
http://icl.cs.utk.edu/projectsfiles/plasma/html/InstallationGuide.html
https://icl.utk.edu/projectsfiles/plasma/pdf/users_guide.pdf
但是,它似乎没有得到很好的维护/记录,这令人惊讶。例如,我无法找到用户论坛来提问。
我已经能够正确安装库。我创建了一个 mybuild 目录并使用 cmake 进行安装。
debasish@debasish-HP-Z840:~/Desktop/softwares/plasma-20.9.20/mybuild$ ls
CMakeCache.txt CMakeFiles cmake_install.cmake libplasma_core_blas.so libplasma.so Makefile plasmatest
接下来,我可以按以下方式运行测试:
debasish@debasish-HP-Z840:~/Desktop/softwares/plasma-20.9.20/mybuild$ ./plasmatest dgesv
状态错误时间 Gflop/sn nrhs nb ib padA padB mtpf
通过 1.28e-19 0.1492 17.8622 1000 1000 256 64 0 0 1
但是,我不确定如何在我自己的代码中使用这些库。
抱歉,在没有任何文档的情况下,我无法更具体,但我想我会在这里尝试一下。一般来说,我不擅长使用没有全面文档的库。