计算化学公社

标题: QC算法性能对计算机硬件性能需求的瓶颈在哪儿? [打印本页]

作者
Author:
chengdi123000    时间: 2018-5-20 23:50
标题: QC算法性能对计算机硬件性能需求的瓶颈在哪儿?
如题。

对于QC性能瓶颈Sobereva在帖子http://sobereva.com/243中也讨论过单路的,但是没有多路,多路多了个网络部分和并行文件系统的问题。想知道更大规模的计算的总体的瓶颈在哪儿?

QC基于薛定谔方程,这玩意儿是个线性方程,总的来说似乎就搞成某种矩阵然后解,(我猜)大概率是解个满阵方程(貌似多级展开之类的应该得到的是满阵吧)不好分开解,QC计算量和自由度是N**2 ~ 6次方关系。

搞线性方程一般分生成系数和解方程,生成系数一般是embarrassingly parallel的,解方程才是最头疼的。

对于集群性能的需求应该主要取决于线性代数的需求,参考HPL, HPCG等超算的性能评价和tuning。感觉关键在于三点:CPU、并行网络、访内外存IO。

- CPU 关键是Flops和cache,FLOPS是很好算的,其计算比较重要的是考虑频率,以及考虑是否支持AVX2, AVX512等FMA。

- 并行网络:对于cluster来说,高速网络的延迟和带宽都更好一些,IB和10GigE最常用,但是IB也分QDR,FDR之类的,但是资料显示DDR IB只加速MPQC 47%,GAMESS的结果显示DDR IB没有那么大优势(+6%)。
- 访存IO:访存分内存和外存,内存主要看容量和Bandwidth,容量应该是最主要的,bandwidth也非常重要,因为总的趋势是CPU吃不饱,但是对矩阵运算通常是CPU吃的速度不够,因为解方程是传进cache N**2大小的数组,传出来是N大小数组,做N**2 ~ **3操作,外存主要是HDD/SSD啥的,大小没有速度重要,Sobereva也提到过,对于加载时间有影响,与算法是否有频繁读写也有关系。cluster的问题更多,lustre,

当然这些需求也和计算软件的算法设计有关系。我看Gaussian用的是Linda并行模型,而非MPI,不是很懂。

此外实际考虑还有性价比问题。

总的来说,一般应该怎么诊断程序的硬件性能瓶颈呢?有没有非root的工具降频降带宽运行程序?

参考:
http://www.hpcadvisorycouncil.co ... s_and_Profiling.pdf

https://www.cs.uoregon.edu/Reports/PHD-201704-Ozog.pdf
http://www.hpcadvisorycouncil.com/pdf/IB_and_10GigE_in_HPC.pdf
Computational Chemistry Performance Analysis on various current architectures. https://pdfs.semanticscholar.org ... 4a5bc5eafaceba2.pdf





欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3