scalapack/pblas 如何优雅地串行恢复为 lapack/blas

计算科学 布拉斯 缩放 斯卡拉包
2021-12-21 01:06:10

如果我使用scalapackpblas,并且代码以串行方式运行(1x1 blacs 进程网格),那么 scalapack 和 pblas 恢复到lapack / blas的性能如何?

我对pzhegvxpzheevx例程特别感兴趣n1000pzgemmpzherk例程m,n1000k100. 这些是合理输入空间的下限。否则,正如 Jeff 指出的那样,scalapack 就没有多大意义。

2个回答

对于这种大小的矩阵,我不确定您是否要使用 ScaLAPACK。

如果您已经拥有 ScaLAPACK 代码,那么实施您自己的逻辑来代替 LAPACK 应该不难。至少,这样做可以让您执行回答您自己的问题所需的实验。

不太好。如果串行是一种常见情况,重要的是包装并下拉到 lapack 以进行串行执行。

我在我的代码中实现了这一点。对于 2013 MKL pzhegvxn100(1000)与 zhegvx 相比,串行执行时似乎会产生 30% (100%) 的开销。

这对我来说似乎很高,所以我有点担心我的实施请注意,我内联了 zhegvx 以启用对因式分解的重用B.