benchmark-whetstone

介绍whetstone。

简介

whetstone是用于测试CPU浮点性能的benchmark,其单位是KIPS。

分数

跑完之后可以得到log

1
2
3
Loops: 100000, Iterations: 1, Duration: 8 sec.

C Converted Double Precision Whetstones: 1250.0 MIPS

其分数计算如下,

1
score(KIPS) = (100 * LOOP * ITERATION) / TIME

其中score单位为KIPS,TIME单位为秒。

可以看出,KIPS是和频率有关系的。如果要得到和频率无关的,应该要再除以频率,得到

1
score(KIPS/MHz) = score(KIPS) / FREQ

所以假设频率是1MHz,那根据cycle数就可以得到KIPS/MHz

1
2
score(KIPS/MHz) = (100 * LOOP * ITERATION * 1000 * 1000) / CYCLE
score(MIPS/MHz) = (100 * LOOP * ITERATION * 1000) / CYCLE

一般一个基础的的两条浮点pipe的浮点,IPC大概0.4,score大概是1.8 MIPS/MHz左右。

如果将浮点算法优化,是可以做到2.8 MIPS/MHz的。