AI 中文总结
本文提出面向性能的基准测试框架,量化8种密度矩阵重整化群(DMRG)软件实现的性能差异,揭示参数配置对性能的影响,为相关用户和开发者提供决策支持。
AI 中文摘要
科学软件的性能往往决定了实际可解决问题的规模。随着同一算法的多种实现版本出现,需要系统评估以比较它们的优势与局限。密度矩阵重整化群(DMRG)算法广泛应用于量子系统研究,目前已有超过50种软件实现版本。这些实现版本在多个方面存在差异,会对性能产生显著影响。然而,尽管存在这种需求,针对这些实现版本的性能评估却很少,且缺乏一致的标准;许多现有评估要么过于不完整,无法进行有意义的比较,要么聚焦于直接性能比较之外的目标,从而限制了对各实现版本之间比较的理解。在此,我们提出一个面向性能的基准测试框架,以促进对DMRG实现版本的有意义比较,并将其应用于量化8种实现版本的性能,凸显它们之间的异同。此外,我们研究了多种参数设置、优化策略以及实现版本特有的特征,以展示参数配置如何影响性能,以及系统评估如何揭示非显而易见的权衡关系。结果显示,性能差异显著,在某些情况下高达两个数量级,不仅出现在参数对齐的不同实现版本之间,也出现在同一实现版本的不同参数配置之间。因此,我们的结果表明,开展严格的性能评估可获得显著的价值和见解。以我们的结果和框架为起点,更严格的基准测试最终将帮助用户和开发者做出明智决策,并支持未来开发更优质、更高效的软件。
英文摘要
The performance of scientific software often determines the scale of problems that can be solved in practice. As multiple implementations of the same algorithm emerge, systematic evaluation is needed to compare their strengths and limitations. The density matrix renormalization group (DMRG) algorithm, widely used to study quantum systems, has over 50 software implementations. These implementations vary in multiple aspects that can strongly affect performance. However, despite the need, performance evaluations of these implementations are scarce and lack a consistent standard; many existing evaluations are either too incomplete to enable meaningful comparisons or focus on objectives other than direct performance comparisons, thereby limiting understanding of how the implementations compare. Here, we present a performance-oriented benchmarking framework to facilitate meaningful comparisons of DMRG implementations, and we apply it to quantify the performance of eight implementations, highlighting similarities and differences among them. Furthermore, we examine multiple parameter settings, optimization strategies, and implementation-specific features to demonstrate how parameter configuration can affect performance and how systematic evaluation can reveal non-obvious trade-offs. The results show significant performance differences, up to two orders of magnitude in some cases, not only between different implementations when aligning parameters, but also within the same implementation when comparing different parameter configurations. Hence, our results demonstrate the significant value and insight that can be gained from conducting rigorous performance evaluations. Using our results and framework as a starting point, more rigorous benchmarking will ultimately help users and developers make informed decisions and support future development efforts to build better, more efficient software.