我正在分析 PETSc 的线性求解器的性能。据我了解,
我知道在一个处理器上运行并行代码可以用作顺序性能的代理。但是,由于产生的并行开销,我认为这不是衡量等效顺序代码的好方法。通常,顺序代码的性能比单个处理器上的并行性能要快。我想我可以搜索实现相同求解器的数值库,但不能保证该算法真的是等价的。
据我了解,
因此,如果有一种方法可以量化并行开销,我们可以从一个处理器上的并行时间中减去它,以更好地衡量顺序时间。
所以,我的问题是:
- 当没有可用的顺序代码时,有没有办法计算在单个处理器上运行的并行代码的并行开销?
- 真的有必要吗?一般来说,一个处理器上的并行性能是否足以接近顺序性能?