五千年(敝帚自珍)

主题:超级计算机世界排名今年出现大变化 -- 彼得格勒

共:💬72 🌺501 🌵16
全看分页树展 · 主题 跟帖
家园 你从网上得到的消息都是扭曲的

知乎上的一个行家对太湖之星的评论很有见地

太湖之光的CPU sw26010在设计取向上是针对“暴力浮点”优化的,出现上面这个结果(FLOPS强,某些其他测试不太好)意料之中。

比较显著的一个指标是这个CPU的内存带宽/浮点比率达到令人难以置信的1/22.4=0.045 Byte/FLOP。作为对比(数据来源Yokota,J Algo Comp Tech, 7,3,2013):

INTEL Xeon E5 2690: 0.211

AMD Opteron 6284 SE: 0.235

NVIDIA Fermi GF110: 0.266

IBM PowerPC A2(BG/Q):0.208

Fujitsu Sparc64(FX10):0.359

相比较而言sw26010的内存带宽太小,很多操作都会卡在内存上。实际应用上,优化好的FMM或者DGEMM大概需要0.2,使用特殊向量指令还可以更低,3D FFT大概需要0.6~0.9, stencil大概2~3,spmv大概5。在x86上FMM/DGEMM是compute bound,后面几个都是memory bound,而在sw26010上这些操作几乎全都是memory bound。

所以在Graph500里面太湖之光落后内存带宽有很大优势的Sparc64 K是很正常的结果。

这是设计取向问题。

作为一个HPC用户,sw26010这样的cpu很难优化,内存带宽小是一方面。另一方面计算核有“The Computer Processing Element (CPE) is composed of an 8x8 mesh of 64-bit RISC cores, supporting only user mode, with a 256-bit vector instructions, 16 KB L1 instruction cache and 64 KB Scratch Pad Memory (SPM).”只有很小的L1指令缓存,要靠手工维护scratch pad memory,这个内存结构有点像Fermi架构之前的nvidia GPU,nbody这种简单暴力的写起来比较适合,想做点复杂的就很麻烦。

从太湖之光官网的软件环境(国家超级计算无锡中心)里也可以看出,目前科学计算软件里大量的都是比较适合这类CPU结构跑的nbody类型分子模拟程序,比如NAMD,LAMMPS,Amber,GROMACS之类。

另一方面在缺乏Petsc/trilinos这样的并行计算基础库的条件下给太湖之光写代码是

成本非常高的事情,一般大学里只有极少数实力强大的组有这个条件(经费、时间、人力)从底层开始写一套大程序,这也制约了这一套系统的潜在用户数量。用户数太少的话软件基础设施永远停留在比较原始的阶段。

通宝推:PBS,
全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河