通过对经典的两物种 Lotka-Volterra 捕食者-猎物常微分方程组积分 500 万个时间步来测量 CPU 性能。用时越短越好。
Lotka-Volterra 捕食者-猎物模型由阿尔弗雷德·洛特卡(1925)和维托·沃尔泰拉(1926)各自独立提出,描述两个相互作用物种之间的周期性动态。猎物自由增长,直到捕食者随之繁殖;数量增多的捕食者耗尽猎物;猎物稀少使捕食者断粮;捕食者减少后猎物恢复,如此周而复始。在相图中,这个循环表现为围绕平衡点 (α/β, γ/δ) 的闭合轨道。
该系统为:猎物种群 x 的 dx/dt = α·x − β·x·y,以及捕食者 y 的 dy/dt = δ·x·y − γ·y。四个参数控制出生率和死亡率:α 是猎物出生率,β 是猎物被捕食致死的死亡率,δ 是捕食者因捕食而产生的出生率,γ 是捕食者的自然死亡率。交叉项 x·y 是非线性的,代表物种之间的相遇,这使得两个变量之间存在数据依赖,无法独立向量化。
这个基准测试对耦合的 Lotka-Volterra 系统进行 500 万步欧拉积分。每一步计算两个耦合的更新,含四次乘法和四次加法:每次迭代的运算量比单变量常微分方程更多。耦合乘积 x·y 使 CPU 的标量浮点管线在变量之间存在轻微依赖的情况下受到考验,使其成为超出简单的寄存器内循环的有代表性的测试。用时越短,说明 CPU 单线程性能越好。