将Odeint时间步进集成到OpenFPM中以实现分布式且GPU加速的数值求解器
Integrating Odeint Time Stepping into OpenFPM for Distributed and GPU Accelerated Numerical Solvers
AI总结:
本研究将Boost的Odeint时间积分库集成到OpenFPM框架,通过扩展元编程系统支持其数据类型,实现分布式及GPU加速的显式时间积分,经基准测试与实例验证,取得了80%的强扩展效率及单GPU五倍加速的效果。
摘要:
我们提出了一种软件实现方案,将Boost旗下的时间积分库Odeint与面向可扩展科学计算的OpenFPM框架相集成。该实现支持在分布式内存并行计算机及图形处理单元(GPU)上,为多阶段、多步长及自适应显式时间积分编写简洁且可扩展的代码。本次实现基于将OpenFPM的元编程系统扩展至支持Odeint数据类型,使得Odeint的时间积分方法可通过简洁的模板表达式语言调用,用于经OpenFPM分布式并行化的数值模拟。我们针对指数动力学和S型动力学对该软件进行了基准测试,并给出了其在三维Gray-Scott反应扩散问题、流体力学“溃坝”问题中的应用实例。测试结果显示,在最多512个CPU核心上,其强扩展效率达80%,在单GPU上可实现5倍加速。
英文摘要:
We present a software implementation integrating the time-integration library Odeint from Boost with the OpenFPM framework for scalable scientific computing. This enables compact and scalable codes for multi-stage, multi-step, and adaptive explicit time integration on distributed-memory parallel computers and on Graphics Processing Units (GPUs). The present implementation is based on extending OpenFPM's metaprogramming system to Odeint data types. This makes the time-integration methods from Odeint available in a concise template-expression language for numerical simulations distributed and parallelized using OpenFPM. We benchmark the present software for exponential and sigmoidal dynamics and present application examples to the 3D Gray-Scott reaction-diffusion problem and the "dam break" problem from fluid mechanics. We find a strong-scaling efficiency of 80% on up to 512 CPU cores and a five-fold speedup on a single GPU.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。