All Projects → parallel101 → course

parallel101 / course

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

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
Cuda
1817 projects
CMake
9771 projects
Less
1899 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to course

Dash
DASH, the C++ Template Library for Distributed Data Structures with Support for Hierarchical Locality for HPC and Data-Driven Science
Stars: ✭ 134 (-91.68%)
Mutual labels:  parallel-computing, high-performance-computing
Feelpp
💎 Feel++: Finite Element Embedded Language and Library in C++
Stars: ✭ 229 (-85.78%)
Mutual labels:  parallel-computing, high-performance-computing
Opencoarrays
A parallel application binary interface for Fortran 2018 compilers.
Stars: ✭ 151 (-90.62%)
Mutual labels:  parallel-computing, high-performance-computing
Arraymancer
A fast, ergonomic and portable tensor library in Nim with a deep learning focus for CPU, GPU and embedded devices via OpenMP, Cuda and OpenCL backends
Stars: ✭ 793 (-50.75%)
Mutual labels:  parallel-computing, high-performance-computing
t8code
Parallel algorithms and data structures for tree-based AMR with arbitrary element shapes.
Stars: ✭ 37 (-97.7%)
Mutual labels:  parallel-computing, high-performance-computing
Pyhpc Benchmarks
A suite of benchmarks to test the sequential CPU and GPU performance of most popular high-performance libraries for Python.
Stars: ✭ 119 (-92.61%)
Mutual labels:  parallel-computing, high-performance-computing
Sundials
SUNDIALS is a SUite of Nonlinear and DIfferential/ALgebraic equation Solvers. This is a mirror of current releases, and development will move here eventually. Pull requests are welcome for bug fixes and minor changes.
Stars: ✭ 194 (-87.95%)
Mutual labels:  parallel-computing, high-performance-computing
Graphit
GraphIt - A High-Performance Domain Specific Language for Graph Analytics
Stars: ✭ 254 (-84.22%)
Mutual labels:  parallel-computing, high-performance-computing
opensbli
A framework for the automated derivation and parallel execution of finite difference solvers on a range of computer architectures.
Stars: ✭ 56 (-96.52%)
Mutual labels:  parallel-computing, high-performance-computing
Natural Language Processing Specialization
This repo contains my coursework, assignments, and Slides for Natural Language Processing Specialization by deeplearning.ai on Coursera
Stars: ✭ 151 (-90.62%)
Mutual labels:  course, slides
Kokkos
Kokkos C++ Performance Portability Programming EcoSystem: The Programming Model - Parallel Execution and Memory Abstraction
Stars: ✭ 744 (-53.79%)
Mutual labels:  parallel-computing, high-performance-computing
ParallelUtilities.jl
Fast and easy parallel mapreduce on HPC clusters
Stars: ✭ 28 (-98.26%)
Mutual labels:  parallel-computing, high-performance-computing
Mfem
Lightweight, general, scalable C++ library for finite element methods
Stars: ✭ 667 (-58.57%)
Mutual labels:  parallel-computing, high-performance-computing
Batchtools
Tools for computation on batch systems
Stars: ✭ 127 (-92.11%)
Mutual labels:  parallel-computing, high-performance-computing
Taskflow
A General-purpose Parallel and Heterogeneous Task Programming System
Stars: ✭ 6,128 (+280.62%)
Mutual labels:  parallel-computing, high-performance-computing
Geni
A Clojure dataframe library that runs on Spark
Stars: ✭ 152 (-90.56%)
Mutual labels:  parallel-computing, high-performance-computing
MOT
Multi-threaded Optimization Toolbox
Stars: ✭ 28 (-98.26%)
Mutual labels:  parallel-computing, high-performance-computing
cefet-web
Aulas da disciplina de Programação Web no CEFET/MG
Stars: ✭ 12 (-99.25%)
Mutual labels:  course, slides
mastering-haskell
The slides for my Packt course, "Mastering Haskell".
Stars: ✭ 15 (-99.07%)
Mutual labels:  course, slides
PSyclone
Domain-specific compiler for Finite Difference/Volume/Element Earth-system models in Fortran
Stars: ✭ 67 (-95.84%)
Mutual labels:  parallel-computing, high-performance-computing

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

欢迎光临开源并行课!您将学到现代 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 专题)

参考资料

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].