Van der Pol 振荡器基准测试

通过用四阶 Runge-Kutta 方法求解刚性 Van der Pol 常微分方程 100 万步来测量 CPU 性能。RK4 每步进行 4 次力的求值:运算量是简单欧拉求解器的 4 倍。用时越短越好。

...
你的结果
— ms

查看 TOP 500 排行榜

关于这个基准测试

Van der Pol 振荡器以巴尔塔萨·范德波尔命名,他在 1920 年代分析真空管电路时研究了它,它是一个具有自持极限环的典型非线性振荡器。与简单的谐振子不同,它具有非线性阻尼:小振幅时阻尼为负(注入能量),大振幅时阻尼为正(耗散能量)。这使得无论初始条件如何,轨迹都会被拉向一个稳定的振荡状态。

方程 x'' − μ·(1−x²)·x' + x = 0 在 μ 较大时会变得刚性:解在缓慢漂移阶段和快速的尖峰式跃迁之间交替,需要很小的时间步长才能准确捕捉。简单的欧拉求解器需要小得离谱的 dt 才能保持稳定,这就是这个基准测试使用四阶 Runge-Kutta(RK4)方法的原因。RK4 每步以加权平均对右端项求值四次,达到四阶精度,并能容忍大得多的时间步长。

基准测试以 μ = 5、x₀ = 2、v₀ = 0、dt = 0.01 运行 1,000,000 个 RK4 步。每步进行四次右端项求值,每次约十次浮点运算,总计约 4000 万次运算。这个紧凑的循环除了少量寄存器之外几乎没有内存访问,用来检验 CPU 在浮点依赖链上保持吞吐量的能力。这使它比单步欧拉变体要求更高,并会惩罚流水线较浅或对依赖数据的条件分支预测不佳的处理器。