高等数值分析(高性能计算,并行计算) (Parallel and High Performance Computing)
https://math.ecnu.edu.cn/~jypan/Teaching/ParaComp/
Parallel and High Performance Computing(高等数值分析(高性能计算,并行计算))
基本信息:
教材:本课程主要讲授数值并行计算,内容以课堂讲义为主
主要参考资料:
并行计算与实现技术,迟学斌等,科学出版社,2015
并行计算导论,张林波等, 清华大学出版社,2006
Parallel Programming: Concepts and Practice, Schmidt et al, 2018 (并行程序设计: 概念与实践, 张常有等译, 2020)
Parallel and High Performance Computing, Robey & Zamora, 2021 (并行计算与高性能计算, 殷海英译, 2022)
The Art of High Performance Computing, Eijkhout, 2023
远程客户端: SSH Secure Shell Client-3.2.9, SecureCRT
电子课件:
02.27,并行计算介绍
网络资源: Introduction to Parallel Computing Tutorial (Lawrence Livermore National Lab)
计算机体系结构基础
课外阅读: 第60届全球超级计算机TOP500排名及分析,2022.11
03.06,Linux 操作系统介绍
参考资料: Linux Command Quick Reference, Vi 简介, Vi 小结, vim cheat sheet
Linux 就该这么学 (第 2 版), 刘遄, 2021
Linux命令行与shell脚本编程大全 (第 4 版), Blum 等著, 2020, 门佳译, 2022
网络资源: Linux 教程, Shell 教程, Linux 常用命令, Linux 命令搜索
vim 入门基础, vi/vim 菜鸟教程
CentOS/Ubuntu 下载: 上海交大FTP, 清华开源软件镜像, 阿里巴巴开源镜像, 网易开源镜像
03.13,C 语言编程介绍 (示例代码)
参考资料: C 语言程序设计笔记, C Reference Card, 常用头文件
C Primer Plus (第 6 版), Prata 著, 2014, 姜佑译 2016, 涵盖 C11
零基础学 C 语言 (第 4 版), 康莉等著, 2019
网络资源: C 语言入门, C 语言教程, C reference, C 语言运算优先级, GCC docs online
编译器: https://gcc.gnu.org, https://clang.llvm.org
03.20,C 语言编程介绍 (续)
应用举例: 矩阵乘积快速计算
课外阅读: Why GEMM is at the heart of deep learning
作业:用 C 语言编程实现矩阵乘积的各种不同算法, 并比较这些算法的计算效率.
03.27,OpenMP并行编程(一)
参考资料: Quick Card 4.0, Quick Card 5.0, Specification 4.0, Specification 5.0, OpenMP Examples 4.0.2
网络资源: OpenMP 主页, OpenMP Tutorial (Lawrence Livermore National Lab)
示例代码: OMP_hello.c, OMP_parallel_01.c, OMP_parallel_02.c
OMP_for.c, OMP_parallel_for.c, OMP_for_schedule.c
OMP_pi.c, OMP_pi_critical.c, OMP_pi_for.c
04.03,OpenMP并行编程(二)
示例代码: OMP_sections.c, OMP_critical_pi.c, OMP_atomic_01.c, OMP_atomic_02.c
04.10,OpenMP并行编程(三)
示例代码: OMP_lock.c, OMP_lock_pi.c, OMP_lock_atomic_critical.c
作业:实现 Jacobi 迭代算法的 OpenMP 并行计算.
04.17,矩阵-向量乘积并行算法, 矩阵-矩阵乘积并行算法
示例代码: C_MatVec_for.c, OMP_MatVec_for.c, OMP_MatVec_row.c
OMP_MatMul_for.c, OMP_MatMul_row.c
04.24,线性方程组直接法并行计算
示例代码: C_LU.c
作业:实现部分选主元 LU 分解的串行算法和 OpenMP 并行算法.
05.01,五一放假
05.08,消息传递编程接口 MPI:(一)编程基础
参考资料: MPI 3.1 Report (2015), MPI 4.0 Report (2021), 被替换的 MPI 旧函数 (2021)
网络资源: MPI-Forum, mpitutorial
MPI 实现: MPICH, OpenMPI
示例代码: MPI_hello.c, MPI_pi.c
MPI_Sendrecv_01.c, MPI_Sendrecv_02.c, MPI_Sendrecv_03.c, MPI_Sendrecv_04.c
05.15,消息传递编程接口 MPI:(二)消息传递
示例代码: MPI_pi_reduce.c
作业:使用 reduce 计算 pi 的值,连续分配计算小区间.
05.22/29,基于 MPI 的矩阵向量乘积, 基于 MPI 的矩阵矩阵乘积
示例代码: MPI_matvec.c, MPI_matvec_v.c, MPI_matvec_swap.c
MPI_matmul.c, MPI_matmul_swap.c
06.05,消息传递编程接口 MPI:(三)MPI 数据类型
消息传递编程接口 MPI:(四)进程与通信器操作
基于 MPI 的 LU 分解
06.12,基于 MPI 的二维 Poisson 方程求解
示例代码: jacobi.c, MPI_jacobi.c
参考资料:
Pacheco 著,邓倩妮等译,并行程序设计导论(An Introduction to Parallel Programming),机械工业出版社,2012
李晓梅等著,数值并行算法与软件,科学出版社,2014
陈国良, 《并行计算: 结构、算法与编程》第二版, 高等教育出版社, 2003
陈国良, 安虹等,《并行算法实践》, 高等教育出版社, 2004.
J. Dongarra等著, 莫则尧等译, 《并行计算综论》, 电子工业出版社, 2005(英文版2003)
Introduction To Parallel Computing (中文翻译)
OpenMP/MPI
M. Quinn著, 陈文光等译, 《MPI与OpenMP并行程序设计(C语言版)》, 清华大学出版社, 2004
秋明等著, OpenMP编译原理及实现技术, 清华大学出版社, 2012.
张武生等, 《MPI并行程序设计实例教程》, 清华大学出版社, 2009.
M. Snir, et al, 《MPI: The Complete Reference》, 1996, 2nd 2001.
W. Gropp, et al, 《MPI: The Complete Reference, Vol.2, MPI-2 Extensions》, 1998.
W. Gropp, et al, 《Using MPI: Portable Parallel Programming With the Message-passing Interface》, 2nd, 1999.
MPI Turorial
MPI2 介绍(中文)
Fortran
S.J. Chapman 著, 《Fortran 95/2003程序设计》(第3版), 中国电力出版社, 2009.
I. Chivers, J. Sleightholme, Introduction to Programming with Fortran, 2nd, 2012
(中译本, Fortran权威指南, 第一版, 2009)
GPU
J. Sander 等著, 《GPU高性能编程CUDA实战》, 机械工业出版社, 2012.
R. Farber 著, 《高性能CUDA应用设计与开发:方法与最佳实践》, 机械工业出版社, 2013.
A. Munshi 等著, 《OpenCL编程指南》, 机械工业出版社, 2012.
并行程序编程实现:
MPI: MPI Forum, MPICH, Open MPI (原 LAM)
MVAPICH -- MPI over InfiniBand and iWARP
PVM - Parallel Virtual Machine
OpenMP 一个共享存储并行系统上的应用编程接口
HPF - High Performance Fortran
中科院超级计算中心 (超级计算环境基础并行软件平台建设与应用)
Top 500 supercomputer (浮点运算性能)
Graph 500 supercomputer (在数据密集型应用上的性能)
Netlib (国内镜像) Collection of Mathematical Software, Papers and Database
PETSc: Portable, Extensible Toolkit for Scientific Computation
Last modified: Sep. 1, 2019
高等数值分析(高性能计算,并行计算) (Parallel and High Performance Computing)的更多相关文章
- C#并行计算 Parallel.Foreach&Parallel.For
Parallel.For(int fromInclude, int toExclude, Action<int> body) 栗子: Parallel.For(0, 10, (i) =&g ...
- c# 并行计算 Parallel
//多重认证 Parallel.Invoke(() => { jianYanResult = new VerifiedMobileService().CheckMobileFun(request ...
- Github上的1000多本免费电子书重磅来袭!
Github上的1000多本免费电子书重磅来袭! 以前 StackOverFlow 也给出了一个免费电子书列表,现在在Github上可以看到时刻保持更新的列表了. 瞥一眼下面的书籍分类目录,你就能 ...
- Github 的一个免费编程书籍列表
Index Ada Agda Alef Android APL Arduino ASP.NET MVC Assembly Language Non-X86 AutoHotkey Autotools A ...
- Introduction to Parallel Computing
Copied From:https://computing.llnl.gov/tutorials/parallel_comp/ Author: Blaise Barney, Lawrence Live ...
- 异步和多线程,委托异步调用,Thread,ThreadPool,Task,Parallel,CancellationTokenSource
1 进程-线程-多线程,同步和异步2 异步使用和回调3 异步参数4 异步等待5 异步返回值 5 多线程的特点:不卡主线程.速度快.无序性7 thread:线程等待,回调,前台线程/后台线程, 8 th ...
- [NPM] Run npm scripts in parallel
In this lesson we will look at running several npm scripts in parallel. Sometimes you don’t need scr ...
- Massively parallel supercomputer
A novel massively parallel supercomputer of hundreds of teraOPS-scale includes node architectures ba ...
- A Pattern Language for Parallel Application Programming
A Pattern Language for Parallel Application Programming Berna L. Massingill, Timothy G. Mattson, Bev ...
- SCI&EI 英文PAPER投稿经验【转】
英文投稿的一点经验[转载] From: http://chl033.woku.com/article/2893317.html 1. 首先一定要注意杂志的发表范围, 超出范围的千万别投,要不就是浪费时 ...
随机推荐
- CTF实验吧:登陆一下? 不一样的SQL注入
http://ctf5.shiyanbar.com/web/wonderkun/web/index.html 发现 过滤了很多SQL敏感字符,并且 转码绕过也并不行 发现'和=没有进行过滤 考虑万能密 ...
- idea 导入类时报红
在idea打开新项目的时候发现有的类不能通过import进行导入,删除target目录,重新编译也无济于事. 解决办法: 在idea中选择File-->Invalidate Caches/Res ...
- 【记录】手机QQ和电脑QQ里的emoji种类有什么差异?
版本 手机 QQ:V 8.9.76.12115 电脑 QQ:QQ9.7.15(29157) 偶然发现,有一种emoji手机上怎么找都找不到,一开始以为自己失忆了,后来发现这种emoji只在电脑上有. ...
- 时间工具类之“Calendar时间类的函数用法”
一.时间工具类之"Calendar时间类的函数用法" // 获取当前时间 Calendar cal = Calendar.getInstance(); // start是Date时 ...
- Winform C#多显示器窗口控制详解
写Winform程序的时候,有将一个窗口放置到特定的显示器,并且全屏的需求.于是借此机会,好好研究了一番这个Screen类[1],总结了一些方法. Windows的窗口逻辑 首先我们需要知道窗口定位的 ...
- k8s资源清单创建pod
资源:对象 service pod deployment workload:pod,ReplicaSet,Deployment,statefulset,DaemonSet,Job,Crontabjob ...
- net core mvc6使用jwt实现简单的登录
创建一个新的.NET Core Web应用程序项目.在创建项目时,选择MVC模板. 在项目中添加Microsoft.AspNetCore.Authentication.JwtBearer包: 在Vis ...
- L1-6、Prompt 与上下文的关系🤖
模型不是"记性差",只是"提示不清". 为什么理解上下文对话很重要? 大模型具备 "上下文窗口" 的能力,可以"记住"你 ...
- 终极指南:Scrum中如何设置需求优先级
需求众多不知道如何下手?总想先做简单的需求,复杂需求却一拖再拖?那么,我们是时候开始考虑如何设置需求优先级了. 本期终极指南将展示如何为需求设置有效优先级,如何有效管理工作量,让效率指数倍增长,搭配 ...
- MySQL事务:工作原理与实用指南
MySQL事务:工作原理与实用指南 在数据库操作中,事务是保证数据一致性的重要机制.本文将深入探讨 MySQL 事务的特性.隔离级别以及实际应用场景,帮助你更好地理解和使用事务. 一.什么是事务? 事 ...