通过过载减小伴随算法微分中的随机存取内存大小
摘要:通过运算符和函数重载的伴随算法微分基于对数值模拟程序求值产生的有向无环图的解释。存储图所需的计算机系统内存大小与底层程序执行的浮点操作数量成正比。它很快超过可用的内存资源。除了相对简单的数值模拟外,朴素的伴随算法微分通常变得不可行。 与图相关联的数据访问可以分为顺序访问和随机访问。后者是指由图内顶点之间的邻接关系定义的内存访问模式。顺序访问数据可以分解为块。这些块可以在系统内存层次结构中流动,从而扩展可用内存的数量,例如硬盘。异步I / O可以帮助减轻由于对较慢内存的访问而产生的成本增加。因此,可以解决更大规模的问题实例,而无需采用技术上具有挑战性的用户干预,例如检查点。随机访问数据不应该被分解。由于跨块数据访问,其块方式流动可能会导致计算成本的显着开销。因此,伴随所需的随机访问内存的大小应该保持最小,以消除对分解的需求。我们提出了将专用内存用于伴随$L$值与利用剩余带宽的组合作为可能的解决方案。测试结果表明,在保持整体计算效率的同时,显著节省了随机访问内存的大小。
作者:Uwe Naumann
论文ID:2207.07018
分类:Mathematical Software
分类简称:cs.MS
提交时间:2022-07-15