SC18:年轻人的第一次学术会议

本科眼馋 SC 三年了,读研以后终于可以去 SC 了。年轻人的第一次学术会议啊。

今年 SC 在达拉斯办。虽然比不得炼丹界顶级会议的十多分钟卖完票,SC 也有过万人参会,会展中心附近的酒店因此生意火爆。我毕竟还是太年轻,有时候幼稚,竟然没有提前订酒店。等到我订酒店的时候,会展中心附近已经没有我订得起的了。最后只能跑到10公里外去住,天天打车来回。达拉斯好歹也算一个大城市了,市中心工作日还是冷清得跟国内大城市过年一样。更让我友邦惊诧的是,展览中心半公里以外竟然有一个巨大无比的露天停车场和一个单层的麦当劳,简直就像是地皮不要钱一样。更让我痛哭流涕的是我居然有一晚要沦落到去那个麦当劳吃饭,因为展览中心外围只有三个快餐摊而我都吃过了一次,稍近一点的三个小餐厅都爆满了人。原本还以为学校一天给 59 刀我们坐车和吃饭要省着点花,结果想花都花不起来。呜呼,还是老老实实开会吧。

SC 主要的会议日程在周二到周四,我在周三下午讲论文。老板之前跟我说了这次讲论文会是个挑战,因为我们做的东西除了计算还涉及到不少化学背景知识。我第一次做的 PPT 非常失败,按老板的话来说他之前不帮我看 PPT 就是想看我跳到坑里能有多深,结果完全被水淹没不知所措。好在第二次做的 PPT 还行,剩下的事情无非就是曲不离口唯嘴熟尔。讲完以后没有人问问题,我还担心讲得不行,好在老板说讲得挺好,那我就放心了。听了一些别人的论文,印象最深的还是 Jiajia Li 那个 HiCOO,概念简明,方法合理,表述清晰,效果突出,最后拿 best student paper 实至名归呀。

今年的 GB Finalist 和最后的 GB 奖,我感觉有点失望。6个 Finalist 里有 5 个是 Summit 上的倒是正常,只是 5 个里有两个炼丹的,一个用 Tensor Core 跑 GEMM 堆性能的,就很为性能而性能了。有懂炼丹的同学跟我说两个 GB 奖里那个炼丹的他觉得做得不怎么样,大概算是欺负炼丹的人不懂 HPC,HPC 的人不懂炼丹了吧。日本人为了压缩内存带宽需求,甚至在去年 GB 奖的 FP64 -> FP32 变精度传输的基础上搞出了软件实现的 FP21,简直就是八佾舞于庭啊。神威上的图处理框架(神图)我倒是觉得有点意思。找清华的同学问了一下,得知神图之前有很多骚操作没办法写到论文里去。严格意义上来说这些骚操作的存在是因为太湖光的软件栈太差,处理器的内存系统太弱,只能逼得大家手撸各种骚操作,甚至重新写了超越函数的计算代码。如果说天河二号是 Top500 刷榜专用机,那么太湖光某种意义上可以说是 GB 奖收割机。天河二号的 Xeon CPU 在不能刷榜的时候还是可以跑各种各样常用的应用的,太湖光不冲 GB 就真是没多少可以做的事情了。我也问了一下天河二号的人,感觉现在 Matrix2000 也是有同样的问题:除了跑基准测试,没有多少移植的应用。

除了讲论文听论文,逛展览自然是必不可少的。SC 的展览有各色厂商和不少的大学,有些厂商我觉得和 HPC 真是没啥关系,比如说给区块链硬件(你们就直说是矿机吧)提供液冷的。今年 SC 会场上 OpenMP 5 正式推出,现在 OpenMP 和 OpenACC 一样可以 offload to device 了。我跑去问 PGI 的人怎么看 OpenMP 和 OpenACC 的异同,答曰 OpenACC (PGI)的编译器很聪明,程序员不需要操心细节,但是 OpenMP 的话不行。同学告诉我他之前问 OpenMP 的人同样的问题,得到的是完全相反的答复。哈哈哈哈,还是 CUDA 真香啊。

RIKEN 的展台采访上,日本那位 Satoshi Matsuoka 教授对 post-K 和 NEC 的新芯片非常有信心,表示它们不只是堆 HBM2 和内存带宽那么简单。想到国产芯片现在的处境,我就很想去问 Fujitsu 和 NEC 的人他们是怎么解决软件生态问题的。Fujitsu 的人好像没有懂软件的,害得我浪费了20分钟练习片假名听力。倒是 RIKEN 展台里有个人跟我大概说了一下情况。我的感觉是 Fujitsu 那个 A64FX 是个 ARM 版的增强 KNL,将 ARM 里给移动设备用的特性砍掉,加上 512 bit 向量处理以及增强的 Gather 操作(见https://www.anandtech.com/show/13258/hot-chips-2018-fujitsu-afx64-arm-core-live-blog )。这样的话,程序基本上只要重新编译就可以运行了,接下来就看就看 Fujitsu 编译器的向量化做得怎么样了。

NEC 的 Vector Engine 则非常有意思:每个核心有三个 2048 bit SIMD lane,支持 FMA,因此每 cycle 可以执行高达192次双精度浮点运算,单个核心提供了 307.2 GF 的计算能力(见 https://www.anandtech.com/show/13259/hot-chips-2018-nec-vector-processor-live-blog )。程序编译以后直接跑在 VE 上,只有系统调用会传回去 Host CPU,但是他们没说怎么用每个 VE 的那 8 个核心。NEC 的软件栈还很全,除了MKL对应的部分,还有如 Approximation & Interpolation, Numerical Integral & Differential, Roots of Equations 等功能。但是 32 个 double 这么宽的向量长度,我感觉对程序的要求有点太高了。很多向量化得不好的程序在这个上面估计要扑街了。

 

 

展区里华为也有个 ARM many-core 服务器。这次展出的是 2 * Hi1616,一共是96个核心,跑华为自家的 EulerOS (kernel 4.18)。

虽然他们号称 Hi1616 以及将来的 64 核 Hi1620 不是为 HPC 设计的(估计还是只有 128 bit SIMD),但是演示时对标了 2 * Xeon Gold 6132,在 OpenFOAM, WRF 和 SU2 上打平或者比 Xeon 快。华为的说法是 Hi1620 是 “Fine-tuned for memory-bound workloads”。

 

第一次见到了活的磁带机,但是就是不知道它在那里频繁换磁带是在干什么。

 

第一次见到大名鼎鼎的 Cray-1

 

会场看到的 SCinet 网络设计图,这么多不同牌子的网络设备一起用就不怕出问题么。SCinet 号称在 SC 会议期间是全世界最快的网络架构,虽然我在会场里一点也不觉得那些 WiFi 很快……

 

今年 student cluster competition 贵清又三连大满贯了,都拿了11个冠军了,怕不是拿到手软了……

 

这次出去开会唯一一顿吃得『好』(贵)的,还是蹭饭的,就是这个牛扒。然而这牛扒太厚,中间几乎完全是生的,我根本吃不下,只好忍痛放弃……

 

嘛,今年 SC 就这样结束了,希望明年继续有论文中 SC 啦。

发表评论

电子邮件地址不会被公开。 必填项已用*标注