Hacker News | 📄 原文链接 | 2026-09-24 收录

自动优化分子模拟程序:内存需求被砍掉 85%

来源:shishir-iyer.medium.com — 8 分 · by shishir03

📋 概述

作者参与了加州大学圣地亚哥分校 Paesani 研究组的分子模拟软件 MBX,其中一个叫"三体水多项式"的代码段要为系统中所有水分子做大量浮点运算,原本是串行执行。平行化看似直接,但八路 SIMD 一次算八个多项式会同时需要八倍中间变量:单次求值原本用 32,609 个中间量、约 260KB,八路并行直接膨胀到近 2,087KB,远超 L1/L2 缓存,数据只能从更慢的 L3 乃至主存取。于是工作重心转向自动代码重构,围绕一个叫"livesize"(任一时刻活跃中间量的数量)的指标做冗余子表达式消除与语句重排,最终把中间量从 32,609 降到 1,457、减少近 85%,八路向量化后的内存也只有原来单次求值的三分之一左右,整套数据能舒服地待在 L1 里。

🔑 核心要点

💡 金句

到这一步,一组多项式求值所需的所有数据已经可以舒服地放进 L1 缓存里了。
← 返回 Hacker News 首页