BLAS+多精度+MPI
Posted
技术标签:
【中文标题】BLAS+多精度+MPI【英文标题】:BLAS+Multiple Precision+MPI 【发布时间】:2013-01-21 14:27:09 【问题描述】:我正在用 C++ 为我的数学博士学位编写一个科学应用程序,它基于一些重线性代数,主要是 BLAS 3 级例程。所用矩阵的大小差异很大,理想情况下,我希望能够处理 10000 或更高阶的非常大的矩阵。到目前为止,我已经使用了多线程的英特尔 MKL,可以很好地扩展到 8 个内核。我的算法产生正确的结果,但是在双精度算术中非常不稳定,这是由于采用高功率导致的累积误差。此外,由于我可以访问大型超级计算机集群,并且我的算法可以轻松跨多个节点扩展,我想使用 MPI 将应用程序扩展到数百个节点。
我的目标是找到一个模板化的 BLAS 库:
支持多精度算术, 支持多线程, 支持 MPI
到目前为止我的发现: MTL4 - Matrix Template library 4 似乎可以做到以上所有,但是开源版只能运行在一个内核上,而超级计算版的成本相当高。
Eigen - 似乎不支持多核?如果与 MKL 链接,它是否支持多核和 MPI?
犰狳 - 以上所有都可以吗?
如果有任何见解和建议,我将不胜感激
亲切的问候,
玛丽亚
【问题讨论】:
如果您确定 MTL4 完全满足您的需求,我建议您直接联系 MTL4 销售人员并索取一个免费教育许可证。 【参考方案1】:根据您的矩阵问题,Tpetra package of Trilinos 可能值得一看。它以标量类型为模板,因此您可以使用多种精度类型。它针对超级计算机上的大规模应用程序,因此可以期待良好的并行性能。
希望对你有帮助!
编辑:而且它是免费的!
【讨论】:
以上是关于BLAS+多精度+MPI的主要内容,如果未能解决你的问题,请参考以下文章