机器只有一台,有两个CPU,各为Dual Core的2.8G的Nocona
测试操作系统为RedHat Enterprise Linux AS3 Update 3,一定要用这个版本,试了其他版本,都有问题!x86_64的版本普遍有一个编译gromacs时链接libX11.so(-lX11)不兼容的问题,目前还不知道如何解决!
编译器就用了一个Intel Fortran Compiler 9 Build 021版本,因为只有Intel 9系列的编译器才能发挥dual core的威力。没用Intel的C Compiler,不知道用了之后会不会更好。
FFT还是用的FFTW2.1.3,因为不知道如何修改gromacs的源码,使之能跑在Intel的MKL上!
GROMACS还是用的3.2.1,和以前在Xeon和Itanium2上的一样!
单机测下来的结果比预期的要好!
算gromacs的dppc benchmark,结果是:
HT ON:耗时1336秒,3.147GFlops
HT OFF:耗时1370秒,3.066GFlops
结论是,在HT OFF的情况下,本机的性能是单颗Xeon 2.4G的5.162倍!是双Itanium2 1.5G的3.277倍!Itanium2的性能差是有原因的,因为gromacs的网站上说了,Itanium2上没有汇编级的inner loop,他们用了Fortran的inner loop!
此外,如果CPU的SSE被gromacs利用到了,性能会好很多,仔细看gromacs dppc benchmark的log文件,如果里面有酱紫的话:
Testing x86 SSE capabilities...
CPU and OS support SSE.
Using Gromacs SSE single precision assembly innerloops.
那就OK了!
GROMACS的官方网站有benchmark表,但里面的值不是上面讲的GFlops或是耗费的时间,而是ps/node day,就是一天能计算的ps步数,这个值是这样计算的:
在benchmark的输出文件中,在Performance一行,有一列就是ps/node hour(和GFlops这些数据在一行上),把这个值乘以24,就可以得到这个ps/node day了,这样就可以和GROMACS官方网站的数据进行比较了