关于服务
翻译我是一名专注于科学和高性能计算的Fortran开发者,已经在他人不敢触碰的数值代码中工作了多年。我的日常工作是用现代Fortran(从F77到2008/2018)编写快速且正确的模拟、求解器和数据处理管道,并使它们在多核机器和集群上高效运行。与那些习惯性选择Julia、MATLAB或C++的人不同,我有意识地留在Fortran的世界中:对于密集的数值循环、线性代数和遗留科学软件,它仍然是最诚实和可预测的工具。我关心数值稳定性、可重复性和正确的物理,而不仅仅是代码能编译。
我的许多工作是救援和现代化。研究小组和工程团队通常有几十年前的Fortran代码:它仍然产生每个人依赖的结果,但没有人记得它是如何工作的。我仔细重构这样的代码,添加测试和文档,用干净的模块替换固定格式的意大利面代码,将其集成到构建系统和CI中,而不改变科学。当速度是目标时,我通过OpenMP和MPI进行并行化,调整内存访问和向量化,并诚实地分析性能以查看时间的真实去向。当需要时,我将Fortran核心与Python或C链接,以便于工具和可视化。
如果您有一个太慢的求解器,一个需要扩展的模拟,或者一个有多年前景的旧科学程序,我可以提供帮助。我用简单的语言解释权衡,在每一步保持结果可验证,并交付您的团队可以在没有我的情况下维护的代码。
— 现代Fortran(F77到2008/2018)的开发,模块和干净的接口
— 通过OpenMP和MPI在集群上进行HPC和并行计算
— 数值方法:线性代数、ODE/PDE求解器、积分、优化
— 物理、工程和应用数学的模拟和建模
— 遗留代码救援:重构、测试、构建、文档
— 性能分析、向量化和内存调优
— 将Fortran与Python和C链接以便于工具和可视化
我的许多工作是救援和现代化。研究小组和工程团队通常有几十年前的Fortran代码:它仍然产生每个人依赖的结果,但没有人记得它是如何工作的。我仔细重构这样的代码,添加测试和文档,用干净的模块替换固定格式的意大利面代码,将其集成到构建系统和CI中,而不改变科学。当速度是目标时,我通过OpenMP和MPI进行并行化,调整内存访问和向量化,并诚实地分析性能以查看时间的真实去向。当需要时,我将Fortran核心与Python或C链接,以便于工具和可视化。
如果您有一个太慢的求解器,一个需要扩展的模拟,或者一个有多年前景的旧科学程序,我可以提供帮助。我用简单的语言解释权衡,在每一步保持结果可验证,并交付您的团队可以在没有我的情况下维护的代码。
— 现代Fortran(F77到2008/2018)的开发,模块和干净的接口
— 通过OpenMP和MPI在集群上进行HPC和并行计算
— 数值方法:线性代数、ODE/PDE求解器、积分、优化
— 物理、工程和应用数学的模拟和建模
— 遗留代码救援:重构、测试、构建、文档
— 性能分析、向量化和内存调优
— 将Fortran与Python和C链接以便于工具和可视化