超算学习路线&资源
超算 HPC
整理自:Zhang-kg
学习路线资源
时刻温故
- (推荐)请问高性能计算的学习路线应该是怎样的? - 陈清扬的回答 - 知乎 https://www.zhihu.com/question/33576416/answer/1243835966
- 请问高性能计算的学习路线应该是怎样的? - Xiao Song的回答 - 知乎 https://www.zhihu.com/question/33576416/answer/2205280528
- 请问高性能计算的学习路线应该是怎样的? - Max Lv的回答 - 知乎 https://www.zhihu.com/question/33576416/answer/56922690
- (推荐)请问高性能计算的学习路线应该是怎样的? - 溪亭日暮的回答 - 知乎 https://www.zhihu.com/question/33576416/answer/2187630184
(重要)高性能计算工程师需要什么技术堆栈? opencl dsp neon perf profile tvm?
(入门)高性能编程系列(一) - 知乎 (zhihu.com)
C++
- 从零开始的C/C++高性能编程指南 - 知乎 (zhihu.com)
- C++高性能编程笔记 - 知乎 (zhihu.com)
- C++ 高性能编程实战(一):整体视角 - 知乎 (zhihu.com)
- 现代C++中的高性能并行编程与优化 - 知乎 (zhihu.com)
- 高性能并行编程与优化(一):学C++从CMake学起 - 知乎 (zhihu.com)
深度学习框架底层
知乎系列文章合集1:https://www.zhihu.com/column/c_1386460843089981440
知乎系列文章合集2:如何最简单、通俗地理解Transformer? - 鱼先生的回答 - 知乎 https://www.zhihu.com/question/445556653/answer/2882383919
GPU 架构
GPU 编程
B站资源:
Intel Data Parallel C++ (and SYCL 2020) Tutorial
GitHub - jeffhammond/dpcpp-tutorial: Intel Data Parallel C++ (and SYCL 2020) Tutorial.
Tutorial: Program Data Parallel C++ (SYCL) (intel.cn)
机器学习的新捷径:通过 SYCL 在 GPU 上加速 C++ - 知乎 (zhihu.com)
CMAKE
CMAKE 官网:CMake
网页文档资源:
CMake 良心教程,教你从入门到入魂 - 知乎 (zhihu.com)
(17 条消息) CMake 如何入门? - 知乎 (zhihu.com)
超详细的CMake教程 - 一杯清酒邀明月 - 博客园 (cnblogs.com)
书籍资源:
CMake 实践:CMake Practice.pdf (ncnynl.com)
代码示例:
GitHub - ttroy50/cmake-examples: Useful CMake Examples
其他相关资源:
轻松打造 Qt Creator 开发环境(Qt5.14+CMake3.22+OpenCV4.5) - 知乎 (zhihu.com)
书籍资源
CSAPP
计算机体系结构-量化研究方法
CUDA 编程书籍
- CUDA 编程入门书籍推荐 - jie.hang的文章 - 知乎 https://zhuanlan.zhihu.com/p/564805080
CUDA C Programming Guide
CUDA_C_Programming_Guide:CUDA C++ Programming Guide (nvidia.com)
CUDA Toolkit Documentation
大规模并行处理器编程实战第二版
课程资源
简介:在知乎上有总结好的课程链接
https://zhuanlan.zhihu.com/p/86414564
包含斯坦福大学、MIT、卡耐基梅隆大学、伊利诺伊大学香槟分校 UIUC、康奈尔大学 Cornell、普林斯顿大学 Princeton、华盛顿大学 UW、德州大学奥斯汀分校 UT Austin
NVIDIA & UDACITY CS344
Intro to Parallel Programming:这个是 Nvidia 和 Udacity 联合退出的课程,年代比较久远
Nvidia 课程官网:https://developer.nvidia.com/udacity-cs344-intro-parallel-programming
Udacity 课程官网:https://www.udacity.com/blog/2014/01/update-on-udacity-cs344-intro-to.html
课程视频下载网站:https://www.udacity.com/wiki/cs344/downloads
Udacity github 页面(课程代码、课件、问题):https://github.com/udacity/cs344
博客链接1:Udacity CS344 并行计算入门(一)
博客链接2:白嫖Google GPU完成Udacity CUDA CS344 并行计算入门
ECS/CS 508 Manycore Parallel Algorithms
课程网站链接:ECE/CS 508: Manycore Parallel Algorithms (illinois.edu)
github仓库:GitHub - illinois-impact/gpu-algorithms-labs: IMPACT GPU Algorithms Teaching Labs
UC Berkeley 知乎课程总结
知乎链接:https://zhuanlan.zhihu.com/p/102083014
CS 9E: Productive Use of the UNIX Environment
课程链接:https://www-inst.eecs.berkeley.edu//~selfpace/unix/
UC Berkeley CS267
Applications of Parallel Computers
课程链接:https://sites.google.com/lbl.gov/cs267-spr2023/
博客链接1:UCB CS267(并行计算)L2 内存结构和矩阵乘法
US Berkeley CS273
课程链接:https://people.eecs.berkeley.edu/~satishr/cs273/
CMU 15-418/15-618
简介:https://blog.csdn.net/wwxy1995/article/details/113918392
这门课有三次作业和四次project,作业都是独自完成,project都是组队完成(2-3人)。基本上作业就是帮你熟悉project的开发环境,跑一个sample program再把输出结果提交上去。而project相对有意思一点,前三次project各自对应课程的三大块内容,要求你用OpenMP, CUDA 以及 MapReduce来优化一个基础算法(矩阵乘法、K-means、N-gram),project的评分参照两点:你的优化程序相对于原始算法的运算速度,以及你的程序相对于别的小组的程序的运算速度。做得最好的team还可以去做presentaion,给大家讲你们的优化思路XD. 第四个project要求你自行选题,用课程学到的parallel computing的方法去优化一个实际算法,并且写一篇小论文。 我们组当时选的是中值滤波,把三个方法都用了一遍,发现还是mapreduce 大法好:)。 总的来说这门课的缺点在于课程内容太浅,project也没有什么锻炼量,如果ECE的同学想找一门不是太水的水课来抵学分,那还是可以一上的。
课程链接:http://www.cs.cmu.edu/~418/schedule.html
CSE 6220:Intro to High-Performance Computing
佐治亚理工学院
其他技术资源
知乎优秀博主
https://www.zhihu.com/people/jackhay
Github 优秀仓库
GitHub - PrathameshTugaonkar/SPMV: BFS SPMV Parallel implementation
GitHub - NVIDIA/cutlass: CUDA Templates for Linear Algebra Subroutines
GitHub - alibaba/EasyNLP: EasyNLP: A Comprehensive and Easy-to-use NLP Toolkit
OpenCV
OpenCV官网:https://opencv.org/
安装:
使用:
Visual Studio 搭载 CMake
使用:
前沿领域
目前计划是看期刊文章,初步了解。
未来发展
计算机研究生的方向和学校以及导师的选择(AI和高性能计算)? - Spicy Wang的回答 - 知乎 https://www.zhihu.com/question/287071232/answer/1546802966
清华
北大
中科院计算所导师
- 陈莉老师-处理器芯片重点实验室(并行编程语言;并行编译技术和工具):陈莉—中国科学院计算技术研究所 (cas.cn)
- 何鑫老师-高性能计算机研究中心、处理器芯片重点实验室(科学计算;高性能计算;数值分析;软件开发;计算流体力学):何鑫—中国科学院计算技术研究所 (cas.cn)
- 霍志刚老师(高性能计算机体系结构;操作系统;容错计算):霍志刚—中国科学院计算技术研究所 (cas.cn)
- 贾海鹏老师-高性能计算机研究中心(高性能计算;面向多核/众核计算平台的编程与优化方法):贾海鹏—中国科学院计算技术研究所 (cas.cn)
- 刘宇航老师-先进计算机系统研究中心、处理器芯片重点实验室(计算机体系结构;存储系统;高性能计算;数据科学;智能并发系统;(研究组主页:liuyuhang.cc)):刘宇航—中国科学院计算技术研究所 (cas.cn)
- 马捷老师-科研支撑中心(高性能计算机系统):马捷—中国科学院计算技术研究所 (cas.cn)
- 商红慧老师-高性能计算机研究中心(高性能并行算法设计与优化;智能超算(HPC+AI);科学计算方法):商红慧—中国科学院计算技术研究所 (cas.cn)
- 邵恩老师-高性能计算机研究中心、处理器芯片重点实验室(计算机系统结构;系统软件):邵恩—中国科学院计算技术研究所 (cas.cn)
- 王展老师-高性能计算机研究中心(高性能计算机;智能计算机;互连网络):王展—中国科学院计算技术研究所 (cas.cn)
- 肖俊敏老师-高性能计算机研究中心(高性能并行算法设计与优化;智能超算(HPC+AI)):肖俊敏—中国科学院计算技术研究所 (cas.cn)
- 姚二林老师-高性能计算机研究中心、处理器芯片重点实验室(大数据分析;机器学习;高性能计算):姚二林—中国科学院计算技术研究所 (cas.cn)
- 元国军老师-高性能计算机研究中心(计算机系统结构;分布式AI训练网络;高性能网络芯片;光互连网络):元国军—中国科学院计算技术研究所 (cas.cn)