Some general thoughts regarding the HPC research.
主要是记录一些general的关于HPC的thoughts,HPC wire是常常关注的一个site,上面会经常发布一些相关的最新素材。最近看到网上经常会发布一些Jack Dongarra作presentation,也非常地有启发
Basic views
I got this view from other people, it is quite straightforward and convenient to use.
In this view, it divides the work related with the HPC as three aspects:
建设超算,维护超算,使用超算。
If we use these three aspect as a principle we know what we are currently. About the 建设超算,we usually discuss the cpu architecture, network topology, file io these kind of things. About the topic of 维护超算,we usually discuss the job scheduler things, resource allocation, or hardware fault these kind of things. About the 使用超算,we usually discuss the domain specific application running on these super computer.
Key features of the architecture
The take away at 53:18 of the SC22 talk here (https://www.hpcwire.com/2022/11/16/jack-dongarra-a-not-so-simple-matter-of-software/), the architecture change and the software try to catch up with the software.
ECP project
这个slides 的26,27 page 对ECP project 做了比较详尽的概括,大牛就是大牛,两页slides言简意赅信息量极大,甚至比ECP官网上提供的信息还大。了解这个project就是让自己有个比较好的定位,知道自己做的东西和涉及到的project在整个大的scope中是处于哪个位置。比如自己熟悉的大部分的project都在Data and Vis 的这个division。从这个角度来看,其实美国的HPC实力确实强劲,尤其是最近几年,HPC更新的速度真是飞快。不管是硬件还是软件,整个ECP也有很好的scope。
slides的最后几页还强调了z scale machine的一些数据,感觉这一块的硬件发展还是挺快的。
Post-ECP
现在的这个阶段算是整个project的中后期了,各个组似乎又开始为founding的事情发愁了,这就涉及到一个哲学问题,project肯定有始有终,但是自己做的事情怎样保持延续性,怎么样才能让自己做的这些东西在保持延续性的同时,还能搭上新的project的车,而不是这个是需要不断思考的。对于这个问题,其实就算是各个大佬们也没有很好的解答。
比如最近一个是这个
https://www.51cto.com/article/717823.html
上面说的Simulation+AI的workflow是一个比较新颖的地方,具体也有一些类似的paper在做相关的事情,这么看起来,ensible simulation可能是比较靠谱的一个。比如最近的一个关于coupling AI和HPC ensembles的例子
这个presentation中提到的cloud 和 HPC 融合的问题,根据大佬的回答,似乎在American,HPC的成本还是比Cloud低很多。但是似乎在中国,这个趋势是相反的,甚至连HPC都有这种云化的趋势比如所谓的elastic HPC,按照大佬的说法,这些elastic HPC岂不是在瞎搞?还是说能走出自己的路?真是让人很费解。或者目前还根本还没有那么大的scale的应用?所以本质上都是small scale的应用,这样也并不是很需要许多node了,HPC和cloud用哪个就没区别了,反而用小规模的cloud node维护起来还方便很多。
还有一个是这个slides,说明了如何用iterative 的方式取得到一些结果来避免过多地communication带来的一些overhead。主要还是关注在reduction的层面上,如何用mixed precision来减少data transfer的overhead。
可以看到这些research相关的问题其实大佬们也没有一个明确的结论,目前也是在探索阶段,所以有一点点idea的时候就尽量去实现,可能这个是常态吧。
Metrics
大佬做persentaion的时候通常会关注那些core metrics of the HPC platform,对这些metrics有个很好的了解有的时候才能知道他们想说什么。
metrircs in TOP500
Original linpack benchmark
The traditional metrics
https://www.top500.org/project/top500_description/
HPL Rmax (HPL represents the high performance linpack Rmax - Maximal LINPACK performance achieved)
Some good anology regarding the flop point computation
HPCG (new benchmark)
https://hpcg-benchmark.org/ (an important complementary for HPL)
Other famous performance list: IO500
Regarding the application
Some personal ideas and thoughts:
在master的时候做cloud相关的内容就发现没有什么合适的application,就一个jar包弄来弄去。后来HPC的时候也还是没有什么合适的application,几个mini simulation 弄来弄去。当然客观环境是一方面,确实没有那样的avalible的application env,另一方面就是自己要去补充那样的短板。还是从MD simulation 入手吧,之前看到的sim 和 AI 结合的例子,使用的也是MD的simulation。毕竟就算是以后的quantum info , 比较reasonable 的一个场景还是quantum chemistry。从application的角度,要拿出一部分时间专门去学习相关的内容,从cs的角度,data 或者 vis ,长久地关注在某一方面,这样以后的路才能走的比较宽。可以从一些简单的任务开始,比如首先是弄清楚miniMD的一些应用机理,研究的问题,然后再看到sim + AI 那篇论文中涉及的task,比如使用openMM的一些技术。(This can be the really good work to reproduce, since it combines both application and AI things, which are attractive, this is the associated ML approach they adopted)
New trend
Combination with the AI workflow
Codesign methodology
The mixed precision and data reduction
Tera scale (the specific application for the T scale, at the sc talk)
References
SMP 2022
https://www.51cto.com/article/717823.html
Talk in PEARC22
https://pearc.acm.org/pearc22/wp-content/uploads/2022/07/PEARC22-Plenary-Dongarra.pdf
SC22 Talk
a not so simple mater of software
https://www.hpcwire.com/2022/11/16/jack-dongarra-a-not-so-simple-matter-of-software/