Skip to content

janefreew/course_parrallel

This branch is 1 commit ahead of, 64 commits behind parallel101/course:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4700c81 · Apr 11, 2024
Jan 6, 2022
Jan 6, 2022
Jan 6, 2022
Jan 6, 2022
Jan 8, 2022
Jan 15, 2022
Jan 28, 2022
Apr 11, 2024
Jan 10, 2023
Feb 12, 2022
Apr 5, 2022
Apr 5, 2022
May 26, 2022
Jul 9, 2022
Jul 31, 2022
Nov 19, 2022
Mar 12, 2023
Dec 15, 2021
Dec 19, 2021
Dec 25, 2021
Jan 12, 2022
Jan 12, 2022
Jan 20, 2022
Jan 23, 2022
Feb 20, 2022
Feb 20, 2022
Mar 6, 2022
Nov 8, 2022
Jan 10, 2023
Jun 6, 2023
Jun 6, 2023
Jul 9, 2022
Oct 15, 2023
Jan 12, 2022
Jan 29, 2024
Feb 25, 2023
Mar 6, 2022
Apr 5, 2022
Sep 24, 2023

Repository files navigation

高性能并行编程与优化 - 课件

欢迎光临开源并行课!您将学到现代 C++ 与高性能计算相关知识! 这里用来存放上课用到的 源代码课件 等。

CC-BY-NC-SA

下载课件

如果你不知道 Git 如何使用,可以点击这里:一键下载

目录结构

  • 01/slides.ppt - 第一课的课件
  • 01/01 - 第一课第一小节的代码
  • 01/02 - 第一课第二小节的代码
  • 02/slides.ppt - 第二课的课件
  • 以此类推……

每一小节的代码目录下都有一个 run.sh,里面是编译运行该程序所用的命令。

课程大纲

第一季课程分为前半段和后半段,前半段主要介绍现代 C++,后半段主要介绍并行编程与优化。

  1. 课程安排与开发环境搭建:cmake与git入门
  2. 现代C++入门:常用STL容器,RAII内存管理
  3. 现代C++进阶:模板元编程与函数式编程
  4. 编译器如何自动优化:从汇编角度看C++
  5. C++11起的多线程编程:从mutex到无锁并行
  6. 并行编程常用框架:OpenMP与Intel TBB
  7. 被忽视的访存优化:内存带宽与cpu缓存机制
  8. GPU专题:wrap调度,共享内存,barrier
  9. 并行算法实战:reduce,scan,矩阵乘法等
  10. 存储大规模三维数据的关键:稀疏数据结构
  11. 物理仿真实战:邻居搜索表实现pbf流体求解
  12. C++在ZENO中的工程实践:从primitive说起
  13. 结业典礼:总结所学知识与优秀作业点评

第二季正在绝赞连载中...

前置条件

硬件要求:

  • 64位(32位时代过去了)
  • 至少2核4线程(并行课…)
  • 英伟达家显卡(GPU 专题)

软件要求:

  • Visual Studio 2019(Windows用户)
  • GCC 9 及以上(Linux用户)
  • CMake 3.12 及以上(跨平台作业)
  • Git 2.x(作业上传到 GitHub)
  • CUDA Toolkit 10.0 以上(GPU 专题)

参考资料

About

高性能并行编程与优化 - 课件

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 70.9%
  • C 17.5%
  • Cuda 3.3%
  • CMake 2.9%
  • Python 2.8%
  • Less 2.1%
  • Other 0.5%