继续讨论这个话题:相同价位的13900k和8336C和7950x和7B12和9334QS,这五颗cpu,哪个才算高。
从第二个角度讲,软件特征。今天以计算化学软件Gaussian 16举个例子,该软件有许多很典型的科学计算特征,如不依赖GPU加速,计算本身并不依赖GPU,只需要在服务器主板上有板载集显AST2000,AST2500等,能满足最基本的亮机需求就能操作。虽然tesla系列的K40,K80显卡能对Gaussian16的Linux版本的计算加速,但效果不强。Gaussian16依赖cpu的多核并行,核越多越好,全核睿频越高越好,这会直接体现在Cpu-z、CineBench等跑分软件上。这类科学计算的软件在Linux系统下硬件资源调度远优于Windows系统,也包括ORCA等。Gaussian16不支持AVX-512指令集,因此暂不需要优先考虑昨天提到的支持AVX-512指令集的cpu。目前Gaussian16在Linux系统里的四个版本:Legacy版本、SSE4.2版本、AVX版本、AVX2版本里,最优秀的是AVX2版本,运行速度高于AVX版本约20%。AVX2指令集已在四代酷睿架构开始普及,锐龙和霄龙全系均配备avx2指令集。在这种情况下,选购硬件时基本只需考虑多核性能即可。Gaussian16还有一些典型的特征,如不吃超线程技术带来的增益,像64核128线程的设备,它只吃64核64线程,且12代酷睿的小核助力很小甚至会起到反作用。并且,Gaussian16在一定程度上依赖内存带宽。内存带宽越高越好,像7950x在进行计算时就常受限于内存带宽瓶颈。常规平台,如13900k和7950x,海力士小绿条往死里超,读写也都在130GB/s以内。而在服务器主板上,能允许更多的内存通道,所以内存能插满就尽量插满。在1-3代的双路epyc平台,最大支持16通道内存,如果需要配置256G内存,那么32G*8根的内存带宽是低于16G*16根的。16通道的ddr4-2666内存的读写能达到300GB/S。当预算有限时,优先提升CPU性能,再优化内存的搭配另外,内存的容量也是重要的,在进行更耗内存的任务时更大的内存能容许更多的核并行,如sobereva老师提到的DLPNO-CCSD(T)方法进行的任务等。经实测在m062x/def2tzvp的方法和基组下对一个约60原子300电子的体系做opt freq tddft任务时,内存占用最高能达到220G以上,因此对内存容留留有余裕也是在一般计算问题里需要注意的。
那么在面对这类型不需要AVX512,不依赖GPU加速,主要依赖多核性能、内存带宽的任务,我对上述5颗cpu的排序是这样的,如有不同意见欢迎指正。
1. 7B12,支持双路cpu,共128核256线程,cpuz跑分6万,支持十六通道ddr4-3200内存,在多核性能和内存带宽都非常优秀。
2.9334QS,支持双路cpu,zen4架构,核比7B12少一半,全核频率约能到3.5GHz。有24通道的ddr5-4800内存,不存在内存带宽瓶颈。但主板和内存太贵,是它的缺点。
3.8336C,核比7B12少了一半。最大能支持8路cpu,但8路的成本太高,常规来说也是双路使用,双路时也是支持十六通道ddr4-3200内存,但主板比epyc更贵。
4.7950x,家用高主频处理器,很优秀但受限于内存带宽。
5.13900K,小核没用。
附图一张,16-Channel的ddr4-2666内存读写实测
