用LFortran和Enzyme让Fortran可微

Differentiable Fortran with LFortran and Enzyme

12dionhaefner💬 1
用LFortran和Enzyme让Fortran可微

想象一下,直接对几十年前写的Fortran、C或C++仿真代码进行反向传播,并将其无缝嵌入JAX或PyTorch中,变成高性能的可微物理引擎。这听起来很疯狂,但通过LFortran和Enzyme的组合,我们真的做到了。传统做法是重写代码,而我们选择利用LLVM层面的魔法,直接从现有代码中提取精确梯度。虽然这个过程需要手动处理一些边缘情况,甚至要调试NaN梯度,但当看到古老技术与现代AI框架完美协作时,那种成就感无与伦比。

"如果足够勇敢,你确实可以对现有的Fortran、C或C++仿真代码进行反向传播,将其嵌入JAX和torch,并用作高性能可微物理引擎。"

同日更多故事 · 2026-07-14