SlideShare a Scribd company logo
1 of 56
Download to read offline
Yiwei Yang A Bunch of HPC 1
Yiwei Yang
GeekPie_HPC
2020-6-4
A bunch of HPC
Yiwei Yang A Bunch of HPC 2
Table of Contents
① Why HPC?
② How HPC?
① Parallel Computing
② DevOps
③ GPU & CPU
④ Distributed Operating Systems
③ Why we need you?
① Class recomendations
Yiwei Yang A Bunch of HPC 3
The Goal of this talk
① Let more people know HPC.
② Recommend some quality classes in school like
PL/OS/Network/CA/Parallel computing to strengthen yourself and
hope you become a better member of the HPC.
③ Let you join our team first and you can watch the whole process
from the sidelines or as an reverse team member.
Yiwei Yang A Bunch of HPC 4
HPC Basics
Pic Credit: Tsinghua HPC Team
Yiwei Yang A Bunch of HPC 5
HPC Basics
Yiwei Yang A Bunch of HPC 6
HPC Rules
① 上场队员为 5-6 名本科⽣,⽐赛时其他⼈不得操作集群
② 正式开始前需确定集群硬件配置,⾮意外/特殊规则允许不得重启或
更改配置
③ 任何时间集群功耗不得超过 3kw4k5w否则会被惩罚(罚分、挂程序等)
④ 不允许使⽤或搭建外部⽹络 (违反将取消资格,亦可能遭到
Euro100000 罚款)
Yiwei Yang A Bunch of HPC 7
HPC Rules(Cond)
① SC 专属
① ⽐赛中途会有⾄少 1 次组委会设计的断电,队员需在断电后 启动集群恢复⼯
作
② 官⽅提供若⼲云服务器资源,需要合理利⽤
③ 参与学术会议,听若⼲讲座(SC19 改为由导师参加讲座)
② ISC 专属
① 。 开始前有 Tshirt challenge 环节,需要在会场找⻬本队 队服⽅能开始⽐赛
② 。 展位装饰美观程度作为评分标准之⼀
③ 。 所有参展⼈员可以投票选出最喜爱的队伍
Yiwei Yang A Bunch of HPC 8
HPC Rank
① 题⽬构成与评分规则
① Benchmark 基准测试程序:HPL,HPCG,HPCC
② 每场⽐赛每年规则和内容⼏乎相同
③ 在⽐赛正式开始前进⾏(意思是:超功耗不扣分,早上温度低/换cpu/超频)
④ 可以换配置,但是最终成绩需基于最终配置
⑤ 公开题⽬
① 赛前 3-6 个⽉公布⼤致内,⽐赛开始什下发具体任务
② 通常由正确性分数 + 性能分数构成
③ 需要进⾏全⾯细致的优化⽅能获胜
④ 通常由正确性分数 +性能分数构成(编译)
⑥ 神秘应⽤(Mystery Application)
① 在⽐赛开始前⼀⽆所知,所有内容在⽐赛开始时下发
② 拼⼿速 / 正确的硬件配置 / 运⽓
③ spack / apt / pip / npm (快速开编译选项)
Yiwei Yang A Bunch of HPC 9
HPC Rank(Cond)
① 物理学
① SWIFTsim(ISC'19):宇宙学模拟 (天体相互作⽤等)
② ShengBTE(ASC'19):声⼦ Bolzmann 输运⽅程求解
② ⽣命科学
① WTDBG2(ASC'19):基因序列⽚段拼接
③ 地球科学
① SeisSol (SC'18 Reproducibility):地震模拟 (印尼海萧)
② NormalModes(SC'19 Reproducibility):⾏星简正模式计算 (以⽉球为例)
④ 后候与⽓象学
① WRF (Weather Research and Forecasting model) (SC'18): 天⽓预报 (⼤⽓动⼒学)
② CESM (Community Earth System Model) (ASC'19):复杂⽓候模型
⑤ 计算机科学
① SST (Structural Simulation Toolkit) (SC'19):计算机体系结构模拟
② QuEST (ASC'20):量⼦电路模拟
Yiwei Yang A Bunch of HPC 10
HPC Rank(Cond)
① 炼丹(⼈⼯智能)
① C V
① VGG over ImageNet (ISC'18)
② ResNet over ImageNet (SC 18)
③ DeepLab / Tiramisu in hurricane recognition (ISC'19)
④ Facial Super-Resolution (ASC' 19)
② NLP
① ВЕRТ / Transformer (Cloze Test) (ASC' 20)
② Pretraining BERT (ISC'20)
③ M$ MARCO (ASC'18)
Yiwei Yang A Bunch of HPC 11
HPC Rank(Cond)
① ASC 答辩
① 正式⽐寨完成后第⼆天进⾏
② 先⽤ 10 分钟时间演讲,再回答评委问题
③ 各队单独进⾏,不能旁听其他队答辩亲
② ISC ⾯试
① 在最后⼀个⽐寨⽇进⾏
② 评委⾛到展位前与各队进⾏交流,内容宽泛 (diversity)
③ SC ⾯试和 Poster
③ SC⾯试与 ISC 类似,但评委⼿⾥有详细的打分表
① 每道题⽬由专⻔的评委进⾏专业⾯试,外加综合⾯试
② Poster 类似学术会议上的 Poster 展示,也有评委
Yiwei Yang A Bunch of HPC 12
Why You should have a
experience of HPC?
Coding is Hard.
Debug is even harder!
The CS journey of everyone's just started.
For Interns
For Graduate Schools
For your personal resume
For Money from pride.
For Friends inside and outside campus.
Yiwei Yang A Bunch of HPC 13
HPC Friends
⼤佬的识别与靠近算法
• If 某⼈在某次⽐赛或测试中成绩==第⼀名
• 某⼈=⼤佬
• 靠近
• If 下次考试成绩>=⼤佬
• 寻找下⼀个⼤佬
• else
• Loop
Yiwei Yang A Bunch of HPC 14
HPC Friends(Cond)
Yiwei Yang A Bunch of HPC 15
HPC Friends(Cond)
Yiwei Yang A Bunch of HPC 16
General Thoughs
Algorithm > CPU to GPU&FPGA > CA Fine tune > Compiler Option
Time-consuming < Medium < Fast
Yiwei Yang A Bunch of HPC 17
DevOps
HPL binary from Nvidia
Yiwei Yang A Bunch of HPC 18
Our HPC Composition
Yiwei Yang A Bunch of HPC 19
Our HPC Composition
• 计算
• CPU:双路 Intel / AMD 中⾼级服务器处理器,⽤于所有计算⽤途
• GPU:NVIDIA V106, ⽤于⼤规模并⾏浮点计算 (包括 benchmark)
• 存储设备
• RAM:DDR4 ⾼频率 (>2933 Mhz) ECC RDIMM
• SAS/SATA SSD:⽤于系统安装、⽇常⽂件存储
• NVMe SSD:⾼性能、⾼功耗, ⽤于⾼吞吐量程序、IO benchmark 等
• NVRam:外存?内存?
• 通信设备
• Ethernet NIC:低功耗、稳定,⽤于管理 InfiniBand(200Gb/s)
• (IB) NIC:⾼带宽、低延迟,⽤于应⽤通信
Yiwei Yang A Bunch of HPC 20
Our HPC Composition
Yiwei Yang A Bunch of HPC 21
HPC DevOps Stack
Yiwei Yang A Bunch of HPC 22
HPC DevOps Stack
系统与软件管理
① CentOS Linux 操作系统,使⽤ SSH 连接集群 。 使⽤ clustershell 进
⾏统⼀控制
② 通常需要各种各样的⼯具和库
① 编译器: GCC / ICC / Clang / PGI
② MPI: OpenMPI / Intel MPI / Mellanox HPC-X
③ 通信⽅式: Ethernet / IPoIB / UCX
④ 数学库:CuBLAS / MKL / OpenBLAS, FFTW / CuFFTW
⑤ 编译选项:是否启⽤ AVX512 指令集 / 是否开启 o3 优化 使⽤
Spack 统⼀管理各种软件的不同版本
① 动管理软件包依赖
① Spack⼀键配置 / 清理所需环境
Yiwei Yang A Bunch of HPC 23
HPC DevOps Stack
① 体⼒活
① 反
② 复装卸搬运各类硬件设备以供测试赛前后组装、拆卸集群,整理线纺、布置
机框
② 脑⼒活
① 安装维护系统、修复问题
② 搭建监控系统,实时监测功耗、⻛扇等关键信息
③ 配置⽹络、存储等基础设施
③ ⽞学活
① 在集群装好之后施法以提⾼散热效率
Yiwei Yang A Bunch of HPC 24
CPU & (GP)GPU Fintune
Sgemm
Yiwei Yang A Bunch of HPC 25
How to optimize a gemm Software?
Yiwei Yang A Bunch of HPC 26
How to optimize a gemm Software?
Yiwei Yang A Bunch of HPC 27
How to optimize a gemm Software?
Yiwei Yang A Bunch of HPC 28
How to optimize a gemm Software?
Yiwei Yang A Bunch of HPC 29
How to optimize a gemm Software?
Yiwei Yang A Bunch of HPC 30
Our HPC Composition
MPI
。 MIMD 模型,多进程(多机)
。 进程/线程绑定:numactl
。 使⽤ UCX 框架基于 IB 进⾏通信(环状)
OpenMP
。 SMT 模型,多线程(单机)
。 线程绑定:OMP_AFFINITY
* pthread
CUDA
。 SIMT 模型,在 GPU 上进⾏ (简单的) ⼤规模并⾏
。 可与 MPI / OpenMP 结合:CUDA-aware MPI NCCL
Yiwei Yang A Bunch of HPC 31
Cuda Basics
Yiwei Yang A Bunch of HPC 32
Cuda Basics (With thread)
Yiwei Yang A Bunch of HPC 33
Distributed OS
Yiwei Yang A Bunch of HPC 34
What's OS
Yiwei Yang A Bunch of HPC 35
What's OS(Cond)
Yiwei Yang A Bunch of HPC 36
What's OS(Cond)
Yiwei Yang A Bunch of HPC 37
What's OS(Cond)
Yiwei Yang A Bunch of HPC 38
Bottleneck by OS in HPC
Work Scheduler: Core isolation - prevent 降频恢复overhead
Kernel Bypass - I/O read()/write() no internal lock
Cache invalidation / page fault - memory hiearachy
Zero-copy / shared memory - false sharing
Avoid thread lock / busy spin -Modify your code
Non-blocking (context switching) - process binding
Yiwei Yang A Bunch of HPC 39
What's OS(Cond)
Yiwei Yang A Bunch of HPC 40
What's OS(Cond)
Yiwei Yang A Bunch of HPC 41
What's OS(Cond)
Yiwei Yang A Bunch of HPC 42
What's OS(Cond)
Yiwei Yang A Bunch of HPC 43
What's OS(Cond)
Yiwei Yang A Bunch of HPC 44
What's OS(Cond)
Yiwei Yang A Bunch of HPC 45
Cuda Basics (With thread)
Yiwei Yang A Bunch of HPC 46
What's OS(Cond)
Yiwei Yang A Bunch of HPC 47
What's OS(Cond)
Yiwei Yang A Bunch of HPC 48
What's OS(Cond)
Yiwei Yang A Bunch of HPC 49
What's OS(Cond)
Yiwei Yang A Bunch of HPC 50
What's OS(Cond)
Yiwei Yang A Bunch of HPC 51
What's OS(Cond)
Yiwei Yang A Bunch of HPC 52
What's OS(Cond)
Yiwei Yang A Bunch of HPC 53
Some food for thoughts
https://github.com/ntuhpc/training-ay1819
https://github.com/Kobzol/hardware-effects-gpu
https://github.com/kobzol/hardware-effects
https://wiki.geekpie.club/hpc
rcore/ucore xv6
Some Books uploaded in the qq group
Computer Archietecture by onur
Compiler by Stanford
Operating System by jyy nju
....................
vitowu.cn
enigmahuang.me
..................
Yiwei Yang A Bunch of HPC 54
Some Tools recommendation
Vim ??Cheat Sheat / 脚本+plugin>>Vscode
Arch - Autogen Make CMake/ Hackintosh - UEFI ACPI
Jetson nano - DevOps + SLAM + GPU TVM
Vtune Profiler - RL ⾃适应优化
常⽤炼丹⼯具的掉包与调参,有⼀定的看论⽂⽐如LSTM、RNN、(预训练)
BERT、Transformer功底。
Learning by doing
Yiwei Yang A Bunch of HPC 55
Some CLASS recommendation
OS>AI
Compiler
Parallel Computing
RL
CA2
Computer Network
FPGA
Yiwei Yang A Bunch of HPC 56
Thanks!

More Related Content

What's hot

Ceph Day Beijing - Leverage Ceph for SDS in China Mobile
Ceph Day Beijing - Leverage Ceph for SDS in China MobileCeph Day Beijing - Leverage Ceph for SDS in China Mobile
Ceph Day Beijing - Leverage Ceph for SDS in China MobileDanielle Womboldt
 
线上问题排查交流
线上问题排查交流线上问题排查交流
线上问题排查交流Edward Lee
 
Lvs在大规模网络环境下的应用pukong
Lvs在大规模网络环境下的应用pukongLvs在大规模网络环境下的应用pukong
Lvs在大规模网络环境下的应用pukongMichael Zhang
 
Java Crash分析(2012-05-10)
Java Crash分析(2012-05-10)Java Crash分析(2012-05-10)
Java Crash分析(2012-05-10)Kris Mok
 
mnesia脑裂问题综述
mnesia脑裂问题综述mnesia脑裂问题综述
mnesia脑裂问题综述Feng Yu
 
聊聊我接触的集群管理
聊聊我接触的集群管理聊聊我接触的集群管理
聊聊我接触的集群管理rfyiamcool
 
Raspberry Pi 智能風扇
Raspberry Pi 智能風扇Raspberry Pi 智能風扇
Raspberry Pi 智能風扇艾鍗科技
 
My sql 5.5 innodb xtradb 性能诊断与优化
My sql 5.5 innodb xtradb 性能诊断与优化My sql 5.5 innodb xtradb 性能诊断与优化
My sql 5.5 innodb xtradb 性能诊断与优化YUCHENG HU
 
Golang 高性能实战
Golang 高性能实战Golang 高性能实战
Golang 高性能实战rfyiamcool
 
Java线上应用问题排查方法和工具(空望)
Java线上应用问题排查方法和工具(空望)Java线上应用问题排查方法和工具(空望)
Java线上应用问题排查方法和工具(空望)ykdsg
 
用Raspberry Pi 完成一個智慧型六足機器人
用Raspberry Pi 完成一個智慧型六足機器人用Raspberry Pi 完成一個智慧型六足機器人
用Raspberry Pi 完成一個智慧型六足機器人艾鍗科技
 
5, system admin
5, system admin5, system admin
5, system adminted-xu
 
AI/ML-driven closed-loop automation using ONAP - Kate Hsuan
AI/ML-driven closed-loop automation using ONAP - Kate HsuanAI/ML-driven closed-loop automation using ONAP - Kate Hsuan
AI/ML-driven closed-loop automation using ONAP - Kate HsuanHanLing Shen
 
高级服务器设计和实现3
高级服务器设计和实现3高级服务器设计和实现3
高级服务器设计和实现3Feng Yu
 
C1000K高性能服务器构建技术
C1000K高性能服务器构建技术C1000K高性能服务器构建技术
C1000K高性能服务器构建技术Feng Yu
 
Cgroup lxc在17173 iaas应用池中应用
Cgroup lxc在17173 iaas应用池中应用Cgroup lxc在17173 iaas应用池中应用
Cgroup lxc在17173 iaas应用池中应用Jinrong Ye
 

What's hot (17)

Ceph Day Beijing - Leverage Ceph for SDS in China Mobile
Ceph Day Beijing - Leverage Ceph for SDS in China MobileCeph Day Beijing - Leverage Ceph for SDS in China Mobile
Ceph Day Beijing - Leverage Ceph for SDS in China Mobile
 
线上问题排查交流
线上问题排查交流线上问题排查交流
线上问题排查交流
 
Lvs在大规模网络环境下的应用pukong
Lvs在大规模网络环境下的应用pukongLvs在大规模网络环境下的应用pukong
Lvs在大规模网络环境下的应用pukong
 
Stm32 technical slide_pdf
Stm32 technical slide_pdfStm32 technical slide_pdf
Stm32 technical slide_pdf
 
Java Crash分析(2012-05-10)
Java Crash分析(2012-05-10)Java Crash分析(2012-05-10)
Java Crash分析(2012-05-10)
 
mnesia脑裂问题综述
mnesia脑裂问题综述mnesia脑裂问题综述
mnesia脑裂问题综述
 
聊聊我接触的集群管理
聊聊我接触的集群管理聊聊我接触的集群管理
聊聊我接触的集群管理
 
Raspberry Pi 智能風扇
Raspberry Pi 智能風扇Raspberry Pi 智能風扇
Raspberry Pi 智能風扇
 
My sql 5.5 innodb xtradb 性能诊断与优化
My sql 5.5 innodb xtradb 性能诊断与优化My sql 5.5 innodb xtradb 性能诊断与优化
My sql 5.5 innodb xtradb 性能诊断与优化
 
Golang 高性能实战
Golang 高性能实战Golang 高性能实战
Golang 高性能实战
 
Java线上应用问题排查方法和工具(空望)
Java线上应用问题排查方法和工具(空望)Java线上应用问题排查方法和工具(空望)
Java线上应用问题排查方法和工具(空望)
 
用Raspberry Pi 完成一個智慧型六足機器人
用Raspberry Pi 完成一個智慧型六足機器人用Raspberry Pi 完成一個智慧型六足機器人
用Raspberry Pi 完成一個智慧型六足機器人
 
5, system admin
5, system admin5, system admin
5, system admin
 
AI/ML-driven closed-loop automation using ONAP - Kate Hsuan
AI/ML-driven closed-loop automation using ONAP - Kate HsuanAI/ML-driven closed-loop automation using ONAP - Kate Hsuan
AI/ML-driven closed-loop automation using ONAP - Kate Hsuan
 
高级服务器设计和实现3
高级服务器设计和实现3高级服务器设计和实现3
高级服务器设计和实现3
 
C1000K高性能服务器构建技术
C1000K高性能服务器构建技术C1000K高性能服务器构建技术
C1000K高性能服务器构建技术
 
Cgroup lxc在17173 iaas应用池中应用
Cgroup lxc在17173 iaas应用池中应用Cgroup lxc在17173 iaas应用池中应用
Cgroup lxc在17173 iaas应用池中应用
 

Similar to A bunch of hpc

OpenRISC whsap
OpenRISC whsapOpenRISC whsap
OpenRISC whsap柏毅 李
 
服务器基准测试-叶金荣@CYOU-20121130
服务器基准测试-叶金荣@CYOU-20121130服务器基准测试-叶金荣@CYOU-20121130
服务器基准测试-叶金荣@CYOU-20121130Jinrong Ye
 
Linux期末 效能調教(kernel trnning)
Linux期末 效能調教(kernel trnning)Linux期末 效能調教(kernel trnning)
Linux期末 效能調教(kernel trnning)米米 林
 
Lamp优化实践
Lamp优化实践Lamp优化实践
Lamp优化实践zhliji2
 
Erlang Optimize
Erlang OptimizeErlang Optimize
Erlang OptimizeFeng Yu
 
MySQL压力测试经验
MySQL压力测试经验MySQL压力测试经验
MySQL压力测试经验Jinrong Ye
 
Kick start无人值守批量安装linux
Kick start无人值守批量安装linuxKick start无人值守批量安装linux
Kick start无人值守批量安装linuxYiwei Ma
 
Introduce powertop to end users
Introduce powertop to end usersIntroduce powertop to end users
Introduce powertop to end usersYuan CHAO
 
Install Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 LInstall Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 Lheima911
 
Linux性能监控cpu内存io网络
Linux性能监控cpu内存io网络Linux性能监控cpu内存io网络
Linux性能监控cpu内存io网络lovingprince58
 
Continuous Delivery with Ansible x GitLab CI
Continuous Delivery with Ansible x GitLab CIContinuous Delivery with Ansible x GitLab CI
Continuous Delivery with Ansible x GitLab CIChu-Siang Lai
 
Aix操作系统培训文档
Aix操作系统培训文档Aix操作系统培训文档
Aix操作系统培训文档lwj2012
 
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUGYingSiang Geng
 
Hp刀片机测试
Hp刀片机测试Hp刀片机测试
Hp刀片机测试alex1x
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰Scourgen Hong
 
Erlang分布式系统的的领域语言
Erlang分布式系统的的领域语言Erlang分布式系统的的领域语言
Erlang分布式系统的的领域语言Feng Yu
 

Similar to A bunch of hpc (20)

OpenRISC whsap
OpenRISC whsapOpenRISC whsap
OpenRISC whsap
 
服务器基准测试-叶金荣@CYOU-20121130
服务器基准测试-叶金荣@CYOU-20121130服务器基准测试-叶金荣@CYOU-20121130
服务器基准测试-叶金荣@CYOU-20121130
 
Linux期末 效能調教(kernel trnning)
Linux期末 效能調教(kernel trnning)Linux期末 效能調教(kernel trnning)
Linux期末 效能調教(kernel trnning)
 
Godson x86
Godson x86Godson x86
Godson x86
 
Lamp优化实践
Lamp优化实践Lamp优化实践
Lamp优化实践
 
Erlang Optimize
Erlang OptimizeErlang Optimize
Erlang Optimize
 
PVE 4.1 HC 架構
PVE 4.1 HC 架構PVE 4.1 HC 架構
PVE 4.1 HC 架構
 
MySQL压力测试经验
MySQL压力测试经验MySQL压力测试经验
MySQL压力测试经验
 
Develop Your Own Operating System
Develop Your Own Operating SystemDevelop Your Own Operating System
Develop Your Own Operating System
 
Kick start无人值守批量安装linux
Kick start无人值守批量安装linuxKick start无人值守批量安装linux
Kick start无人值守批量安装linux
 
Introduce powertop to end users
Introduce powertop to end usersIntroduce powertop to end users
Introduce powertop to end users
 
Install Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 LInstall Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 L
 
Linux性能监控cpu内存io网络
Linux性能监控cpu内存io网络Linux性能监控cpu内存io网络
Linux性能监控cpu内存io网络
 
Tcfsh bootcamp day2
 Tcfsh bootcamp day2 Tcfsh bootcamp day2
Tcfsh bootcamp day2
 
Continuous Delivery with Ansible x GitLab CI
Continuous Delivery with Ansible x GitLab CIContinuous Delivery with Ansible x GitLab CI
Continuous Delivery with Ansible x GitLab CI
 
Aix操作系统培训文档
Aix操作系统培训文档Aix操作系统培训文档
Aix操作系统培训文档
 
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
 
Hp刀片机测试
Hp刀片机测试Hp刀片机测试
Hp刀片机测试
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
 
Erlang分布式系统的的领域语言
Erlang分布式系统的的领域语言Erlang分布式系统的的领域语言
Erlang分布式系统的的领域语言
 

A bunch of hpc

  • 1. Yiwei Yang A Bunch of HPC 1 Yiwei Yang GeekPie_HPC 2020-6-4 A bunch of HPC
  • 2. Yiwei Yang A Bunch of HPC 2 Table of Contents ① Why HPC? ② How HPC? ① Parallel Computing ② DevOps ③ GPU & CPU ④ Distributed Operating Systems ③ Why we need you? ① Class recomendations
  • 3. Yiwei Yang A Bunch of HPC 3 The Goal of this talk ① Let more people know HPC. ② Recommend some quality classes in school like PL/OS/Network/CA/Parallel computing to strengthen yourself and hope you become a better member of the HPC. ③ Let you join our team first and you can watch the whole process from the sidelines or as an reverse team member.
  • 4. Yiwei Yang A Bunch of HPC 4 HPC Basics Pic Credit: Tsinghua HPC Team
  • 5. Yiwei Yang A Bunch of HPC 5 HPC Basics
  • 6. Yiwei Yang A Bunch of HPC 6 HPC Rules ① 上场队员为 5-6 名本科⽣,⽐赛时其他⼈不得操作集群 ② 正式开始前需确定集群硬件配置,⾮意外/特殊规则允许不得重启或 更改配置 ③ 任何时间集群功耗不得超过 3kw4k5w否则会被惩罚(罚分、挂程序等) ④ 不允许使⽤或搭建外部⽹络 (违反将取消资格,亦可能遭到 Euro100000 罚款)
  • 7. Yiwei Yang A Bunch of HPC 7 HPC Rules(Cond) ① SC 专属 ① ⽐赛中途会有⾄少 1 次组委会设计的断电,队员需在断电后 启动集群恢复⼯ 作 ② 官⽅提供若⼲云服务器资源,需要合理利⽤ ③ 参与学术会议,听若⼲讲座(SC19 改为由导师参加讲座) ② ISC 专属 ① 。 开始前有 Tshirt challenge 环节,需要在会场找⻬本队 队服⽅能开始⽐赛 ② 。 展位装饰美观程度作为评分标准之⼀ ③ 。 所有参展⼈员可以投票选出最喜爱的队伍
  • 8. Yiwei Yang A Bunch of HPC 8 HPC Rank ① 题⽬构成与评分规则 ① Benchmark 基准测试程序:HPL,HPCG,HPCC ② 每场⽐赛每年规则和内容⼏乎相同 ③ 在⽐赛正式开始前进⾏(意思是:超功耗不扣分,早上温度低/换cpu/超频) ④ 可以换配置,但是最终成绩需基于最终配置 ⑤ 公开题⽬ ① 赛前 3-6 个⽉公布⼤致内,⽐赛开始什下发具体任务 ② 通常由正确性分数 + 性能分数构成 ③ 需要进⾏全⾯细致的优化⽅能获胜 ④ 通常由正确性分数 +性能分数构成(编译) ⑥ 神秘应⽤(Mystery Application) ① 在⽐赛开始前⼀⽆所知,所有内容在⽐赛开始时下发 ② 拼⼿速 / 正确的硬件配置 / 运⽓ ③ spack / apt / pip / npm (快速开编译选项)
  • 9. Yiwei Yang A Bunch of HPC 9 HPC Rank(Cond) ① 物理学 ① SWIFTsim(ISC'19):宇宙学模拟 (天体相互作⽤等) ② ShengBTE(ASC'19):声⼦ Bolzmann 输运⽅程求解 ② ⽣命科学 ① WTDBG2(ASC'19):基因序列⽚段拼接 ③ 地球科学 ① SeisSol (SC'18 Reproducibility):地震模拟 (印尼海萧) ② NormalModes(SC'19 Reproducibility):⾏星简正模式计算 (以⽉球为例) ④ 后候与⽓象学 ① WRF (Weather Research and Forecasting model) (SC'18): 天⽓预报 (⼤⽓动⼒学) ② CESM (Community Earth System Model) (ASC'19):复杂⽓候模型 ⑤ 计算机科学 ① SST (Structural Simulation Toolkit) (SC'19):计算机体系结构模拟 ② QuEST (ASC'20):量⼦电路模拟
  • 10. Yiwei Yang A Bunch of HPC 10 HPC Rank(Cond) ① 炼丹(⼈⼯智能) ① C V ① VGG over ImageNet (ISC'18) ② ResNet over ImageNet (SC 18) ③ DeepLab / Tiramisu in hurricane recognition (ISC'19) ④ Facial Super-Resolution (ASC' 19) ② NLP ① ВЕRТ / Transformer (Cloze Test) (ASC' 20) ② Pretraining BERT (ISC'20) ③ M$ MARCO (ASC'18)
  • 11. Yiwei Yang A Bunch of HPC 11 HPC Rank(Cond) ① ASC 答辩 ① 正式⽐寨完成后第⼆天进⾏ ② 先⽤ 10 分钟时间演讲,再回答评委问题 ③ 各队单独进⾏,不能旁听其他队答辩亲 ② ISC ⾯试 ① 在最后⼀个⽐寨⽇进⾏ ② 评委⾛到展位前与各队进⾏交流,内容宽泛 (diversity) ③ SC ⾯试和 Poster ③ SC⾯试与 ISC 类似,但评委⼿⾥有详细的打分表 ① 每道题⽬由专⻔的评委进⾏专业⾯试,外加综合⾯试 ② Poster 类似学术会议上的 Poster 展示,也有评委
  • 12. Yiwei Yang A Bunch of HPC 12 Why You should have a experience of HPC? Coding is Hard. Debug is even harder! The CS journey of everyone's just started. For Interns For Graduate Schools For your personal resume For Money from pride. For Friends inside and outside campus.
  • 13. Yiwei Yang A Bunch of HPC 13 HPC Friends ⼤佬的识别与靠近算法 • If 某⼈在某次⽐赛或测试中成绩==第⼀名 • 某⼈=⼤佬 • 靠近 • If 下次考试成绩>=⼤佬 • 寻找下⼀个⼤佬 • else • Loop
  • 14. Yiwei Yang A Bunch of HPC 14 HPC Friends(Cond)
  • 15. Yiwei Yang A Bunch of HPC 15 HPC Friends(Cond)
  • 16. Yiwei Yang A Bunch of HPC 16 General Thoughs Algorithm > CPU to GPU&FPGA > CA Fine tune > Compiler Option Time-consuming < Medium < Fast
  • 17. Yiwei Yang A Bunch of HPC 17 DevOps HPL binary from Nvidia
  • 18. Yiwei Yang A Bunch of HPC 18 Our HPC Composition
  • 19. Yiwei Yang A Bunch of HPC 19 Our HPC Composition • 计算 • CPU:双路 Intel / AMD 中⾼级服务器处理器,⽤于所有计算⽤途 • GPU:NVIDIA V106, ⽤于⼤规模并⾏浮点计算 (包括 benchmark) • 存储设备 • RAM:DDR4 ⾼频率 (>2933 Mhz) ECC RDIMM • SAS/SATA SSD:⽤于系统安装、⽇常⽂件存储 • NVMe SSD:⾼性能、⾼功耗, ⽤于⾼吞吐量程序、IO benchmark 等 • NVRam:外存?内存? • 通信设备 • Ethernet NIC:低功耗、稳定,⽤于管理 InfiniBand(200Gb/s) • (IB) NIC:⾼带宽、低延迟,⽤于应⽤通信
  • 20. Yiwei Yang A Bunch of HPC 20 Our HPC Composition
  • 21. Yiwei Yang A Bunch of HPC 21 HPC DevOps Stack
  • 22. Yiwei Yang A Bunch of HPC 22 HPC DevOps Stack 系统与软件管理 ① CentOS Linux 操作系统,使⽤ SSH 连接集群 。 使⽤ clustershell 进 ⾏统⼀控制 ② 通常需要各种各样的⼯具和库 ① 编译器: GCC / ICC / Clang / PGI ② MPI: OpenMPI / Intel MPI / Mellanox HPC-X ③ 通信⽅式: Ethernet / IPoIB / UCX ④ 数学库:CuBLAS / MKL / OpenBLAS, FFTW / CuFFTW ⑤ 编译选项:是否启⽤ AVX512 指令集 / 是否开启 o3 优化 使⽤ Spack 统⼀管理各种软件的不同版本 ① 动管理软件包依赖 ① Spack⼀键配置 / 清理所需环境
  • 23. Yiwei Yang A Bunch of HPC 23 HPC DevOps Stack ① 体⼒活 ① 反 ② 复装卸搬运各类硬件设备以供测试赛前后组装、拆卸集群,整理线纺、布置 机框 ② 脑⼒活 ① 安装维护系统、修复问题 ② 搭建监控系统,实时监测功耗、⻛扇等关键信息 ③ 配置⽹络、存储等基础设施 ③ ⽞学活 ① 在集群装好之后施法以提⾼散热效率
  • 24. Yiwei Yang A Bunch of HPC 24 CPU & (GP)GPU Fintune Sgemm
  • 25. Yiwei Yang A Bunch of HPC 25 How to optimize a gemm Software?
  • 26. Yiwei Yang A Bunch of HPC 26 How to optimize a gemm Software?
  • 27. Yiwei Yang A Bunch of HPC 27 How to optimize a gemm Software?
  • 28. Yiwei Yang A Bunch of HPC 28 How to optimize a gemm Software?
  • 29. Yiwei Yang A Bunch of HPC 29 How to optimize a gemm Software?
  • 30. Yiwei Yang A Bunch of HPC 30 Our HPC Composition MPI 。 MIMD 模型,多进程(多机) 。 进程/线程绑定:numactl 。 使⽤ UCX 框架基于 IB 进⾏通信(环状) OpenMP 。 SMT 模型,多线程(单机) 。 线程绑定:OMP_AFFINITY * pthread CUDA 。 SIMT 模型,在 GPU 上进⾏ (简单的) ⼤规模并⾏ 。 可与 MPI / OpenMP 结合:CUDA-aware MPI NCCL
  • 31. Yiwei Yang A Bunch of HPC 31 Cuda Basics
  • 32. Yiwei Yang A Bunch of HPC 32 Cuda Basics (With thread)
  • 33. Yiwei Yang A Bunch of HPC 33 Distributed OS
  • 34. Yiwei Yang A Bunch of HPC 34 What's OS
  • 35. Yiwei Yang A Bunch of HPC 35 What's OS(Cond)
  • 36. Yiwei Yang A Bunch of HPC 36 What's OS(Cond)
  • 37. Yiwei Yang A Bunch of HPC 37 What's OS(Cond)
  • 38. Yiwei Yang A Bunch of HPC 38 Bottleneck by OS in HPC Work Scheduler: Core isolation - prevent 降频恢复overhead Kernel Bypass - I/O read()/write() no internal lock Cache invalidation / page fault - memory hiearachy Zero-copy / shared memory - false sharing Avoid thread lock / busy spin -Modify your code Non-blocking (context switching) - process binding
  • 39. Yiwei Yang A Bunch of HPC 39 What's OS(Cond)
  • 40. Yiwei Yang A Bunch of HPC 40 What's OS(Cond)
  • 41. Yiwei Yang A Bunch of HPC 41 What's OS(Cond)
  • 42. Yiwei Yang A Bunch of HPC 42 What's OS(Cond)
  • 43. Yiwei Yang A Bunch of HPC 43 What's OS(Cond)
  • 44. Yiwei Yang A Bunch of HPC 44 What's OS(Cond)
  • 45. Yiwei Yang A Bunch of HPC 45 Cuda Basics (With thread)
  • 46. Yiwei Yang A Bunch of HPC 46 What's OS(Cond)
  • 47. Yiwei Yang A Bunch of HPC 47 What's OS(Cond)
  • 48. Yiwei Yang A Bunch of HPC 48 What's OS(Cond)
  • 49. Yiwei Yang A Bunch of HPC 49 What's OS(Cond)
  • 50. Yiwei Yang A Bunch of HPC 50 What's OS(Cond)
  • 51. Yiwei Yang A Bunch of HPC 51 What's OS(Cond)
  • 52. Yiwei Yang A Bunch of HPC 52 What's OS(Cond)
  • 53. Yiwei Yang A Bunch of HPC 53 Some food for thoughts https://github.com/ntuhpc/training-ay1819 https://github.com/Kobzol/hardware-effects-gpu https://github.com/kobzol/hardware-effects https://wiki.geekpie.club/hpc rcore/ucore xv6 Some Books uploaded in the qq group Computer Archietecture by onur Compiler by Stanford Operating System by jyy nju .................... vitowu.cn enigmahuang.me ..................
  • 54. Yiwei Yang A Bunch of HPC 54 Some Tools recommendation Vim ??Cheat Sheat / 脚本+plugin>>Vscode Arch - Autogen Make CMake/ Hackintosh - UEFI ACPI Jetson nano - DevOps + SLAM + GPU TVM Vtune Profiler - RL ⾃适应优化 常⽤炼丹⼯具的掉包与调参,有⼀定的看论⽂⽐如LSTM、RNN、(预训练) BERT、Transformer功底。 Learning by doing
  • 55. Yiwei Yang A Bunch of HPC 55 Some CLASS recommendation OS>AI Compiler Parallel Computing RL CA2 Computer Network FPGA
  • 56. Yiwei Yang A Bunch of HPC 56 Thanks!