超算 HPC

整理自:Zhang-kg

学习路线资源

时刻温故

(重要)请问高性能计算的学习路线应该是怎样的?

(重要)想进大厂的高性能计算岗位需要做哪些准备?

(重要)高性能计算工程师需要什么技术堆栈? opencl dsp neon perf profile tvm?

(入门)高性能编程系列(一) - 知乎 (zhihu.com)

C++

深度学习框架底层

GPU 架构

【GPU】目录与前言 - 知乎 (zhihu.com)

GPU 编程

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教程(一) - 知乎 (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

链接:https://fengmuzi2003.gitbook.io/csapp3e/

计算机体系结构-量化研究方法

CUDA 编程书籍

CUDA C Programming Guide

CUDA Toolkit Documentation

大规模并行处理器编程实战第二版

链接:https://www.cnblogs.com/yuxiaolan/p/15249883.html

课程资源

简介:在知乎上有总结好的课程链接

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

清华

北大

中科院计算所导师

还有其他的高校?

商汤

商汤HPC又来招人啦~

浪潮

华为/腾讯/阿里/字节…