未来 HPC 系统上的整数算术支持

计算科学 计算机算术 建筑学
2021-11-29 05:26:42

我使用量化+整数算法编写了一些强大的几何算法来评估精确谓词。然而,由于 BlueGene 的整数支持非常糟糕,我想到整数数学的使用可能(奇怪地)在性能方面扼杀了库的可移植性。

我应该对此有多担心?未来的 HPC 系统是否可能存在类似问题?我意识到关于预测未来的问题可能很难或不可能回答,但这似乎是一个正确的重要设计决策。任何想法表示赞赏。

在这种情况下,有一个简单的回退:我可以使用浮点间隔算法运行初始过滤步骤(假设架构具有“round to" 支持)。这对结果的影响为零,因为如果过滤器失败,我会回退到整数。但是,其他基于整数的算法可能就没有那么幸运了。

2个回答

不同的供应商在这方面有不同的前进道路,其中大部分都在 NDA 之下。如果您真的想知道,请向 Intel、AMD、IBM、ARM 甚至 NVIDIA 询问 NDA 下的简报。其中一些供应商将在未来完全支持矢量化整数指令,以便整数跟上浮点数,而其中一些可能不会。对于那些不这样做的人,您很可能会看到每个时钟级别的单个加法、乘法或逻辑运算的性能,而除法和求余运算需要许多周期。

回答你的第一个问题:我不担心浮点比整数快。如果浮点运算常规整数运算快,我不明白为什么不应该使用它们。如果保持在 23 位以内,则对整数值的所有单精度浮点运算应该与对相同值的整数运算相同。