没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
中科院数学与系统科学研究院
“并行计算” 课程讲义 (草稿)”
张林波
计算数学与科学工程计算研究所
科学与工程计算国家重点实验室
2003 年1月 29
目 录
第一部分 MPI消息传递编程
第一章 预备知识
§1.1 高性能并行计算机系统简介
§1.1.1 微处理器的存储结构
§1.1.2 Cache 结构对程序性能的影响
§1.1.3 共享内存 SMP 型并行计算机
§1.1.4 分布式内存 MP P 型并行计算机
§1.1.5 DSM 型并行计算机
§1.1.6 SMP/D SM 机群
§1.1.7 微机/1.4.作站机群
§1.1.8 TOP500
§1.2 并行编程模式
§1.2.1 自动并行与手1.4.并行
§1.2.2 0penMP
§1.2.3 DSM 编程模式
§1.2.4 高性能 Fortran: HPF
§1.2.5 消息传递并行编程模式
§l.3 Unix 程序开发简介
§l.3.1 Unix中常用的编译系统
§1.3.2 实用1.4.具make
§1.4 消息传递编程平台 MPI
§1.4.1 MPI 程序的编译与运行
§1.4.2 利用 MPICH 建立 MPI 程序开发与调试环境
第二章 MPI 基础知识
§2.1 下载 MPI标准的 PS 文档
§2.2 一些名词与概念
§2.3 编程模式
§2.4 MPI 函数的一般形式
§2.5 MPI 的原始数据类型
§2.5.1 Fortran 77 原始数据类型
§2.5.2 C 原始数据类型
§2.6 MPI 的几个基本函数
§2.6.1 初始化 MPI 系统
§2.6.2 检测 MPI 系统是否已经初始化
§2.6.3 得到通信器的进程数及进程在通信器中的序号
§2.6.4 退出 MPI 系统
§2.6.5 异常终止 MPI 程序的执行
§2.6.6 查询处理器名称
§2.6.7 莸取墙上时间及时钟精度
§2.7 MPI 程序的基本结构
§2.7.1 Fortran 77 程序
§2.7.2 C 程序
第三章 点对点通信
§3.1 标准阻塞型点对点通信函数
§3.1.1 标准阻塞发送
§3.1.2 阻塞接收
§3.1.3 阻塞型消息传递实例
§3.1.4 其它一些阻塞型消息传递函数
§3.2 消息发送模式
§3.2.1 阻塞型缓冲模式消息发送函数
§3.3 阻塞型与非阻塞型函数
§3.4 非阻塞型点对点通信函数
§3.4.1 非阻塞发送
§3.4.2 非阻塞接收
§3.4.3 通信请求的完成与检测
§3.4.4 通信请求的释放
§3.5 消息探测与通信请求的取消
§3.5.1 消息探测
§3.5.2 通信请求的取消
§3.6 点对点通信函数汇总
§3.7 持久通信请求
§3.7.1 创建持久消息发送请求
§3.7.2 创建持久消息接收请求
§3.7.3 开始基于持久通信请求的通信
§3.7.4 持久通信请求的完成与释放
第四章 数据类型
§4.1 与数据类型有关的一些定义
§4.1.1 数据类型定义
§4.1.2 数据类型的大小
§4.1.3 数据类型的下界、 上界与域
§4.1.4 MPI_LB 和 MPI_UB
§4.1.5 数据类型查询函数
§4.2 数据类型创建函数
§4.2.1 MPI_Type_contiguous
§4.2.2 MPI_Type_vector
§4.2.3 MPI_Type_hvector
§4.2.4 MPI_Type_indexed
§4.2.5 MPI_Type_hindexed
§4.2.6 MPI_Type_struct
§4.2.7 地址函数 MPI_Address
§4.3 数据类型的使用
§4.3.1 数据类型的提交
§4.3.2 数据类型的释放
§4.3.3 MPI_Get_elements
§4.4 数据的打包与拆包
§4.4.1 数据打包
§4.4.2 数据拆包
§4.4.3 得到打包后的数据大小
§4.5 MPI l.l 中位移与数据大小的限制
第五章 聚含通信 (Collective Communications)
§5.1 障碍同步
§5.2 广播
§5.3 数据收集
§5.3.1 收集相同长度数据块 MPI_Gather
§5.3.2 收集不同长度数据块 MPI_Gatherv
§5.3.3 全收集 MPI_Allgather
§5.3.4 不同长度数据块的全收集 MPI_Allgatherv
§5.4 数据散发
§5.4.1 散发相同长度数据块 MPI_Scatter
§5.4.2 散发不同长度数据块 MPI_Scatterv
§5.5 全部进程对全部进程的数据散发收集
§5.5.1 相同数据长度的全收集散发 MPI_Alltoall
§5.5.2 不同数据长度的全收集散发 MPI_Alltoallv
§5.6 归约
§5.6.1 归约函数 MPI_Reduce
§5.6.2 全归约 MPI_Allreduce
§5.6.3 归约散发 MPI_Reduce_scatter
§5.6.4 前缀归约 MPI_Scan
§5.6.5 归约与前缀归约中用户自定义的运算
§5.7 两个程序实例
§5.7.1值π计算
§5.7.2 Jacobi 迭代求解二维 Poisson 方程
第六章 进程组与通信器
§6.1 基本概念
§6.1.1 进程组
§6.1.2 上下文 (Context)
§6.1.3 域内通信器 (Intracommunicator)
§6.1.4 域间通信器 (Intercommunicator)
§6.2 进程组操作函数
§6.2.1 查询进程组大小和进程在组中的序号
§6.2.2 两个进程组间进程序号的映射
§6.2.3 比较两个进程组
§6.2.4 进程组的创建与释放
§6.3 域内通信器操作函数
§6.3.1 比较两个通信器
§6.3.2 通信器的创建与释放
§6.4 通信器的附加属性 (Caching)
§6.5 域间通信器 (Intercommunicator)
§6.6 进程拓扑结构
§6.6.1 迪卡尔拓扑结构
§6.6.2 一般拓扑结构
§6.6.3 底层支持函数
第七章 文件输入输出
§7.1 基本术语
§7.2 基本文件操作
§7.2.1 打开 MPI 文件
§7.2.2 关闭 MPI 文件
§7.2.3 删除文件
§7.2.4 设定文件长度
§7.2.5 为文件预留空间
§7.2.6 查询文件长度
§7.3 查询文件参数
§7.3.1 查询打开文件的进程组
§7.3.2 查询文件访问模式
§7.4 设定文件视窗
§7.4.1 文件中的数据表示格式
§7.4.2 可移植数据类型
§7.4.3 查询数据类型相应于文件数据表示格式的域
§7.5 文件读写操作
§7.5.1 使用显式位移的阻塞型文件读写
§7.5.2 使用独立文件指针的阻塞型文件读写
§7.5.3 使用共享文件指针的阻塞型文件读写
§7.5.4 非阻塞型文件读写函数
§7.5.5 分裂型文件读写函数
§7.6 文件指针操作
§7.6.1 独立文件指针操作
§7.6.2 共享文件指针操作
§7.6.3 文件位移在文件中的绝对地址
§7.7 不同进程对同一文件读写操作的相容性
§7.7.1 设定文件访问的原子性
§7.7.2 查询 atomicity 的当前值
§7.7.3 文件读写与存储设备间的同步
§7.8 子数组数据类型创建函数
本讲义仅供课程学员及其他感兴趣者个人参考用,尚处于逐步修改完善的过程中,许多内容
代表的是作者的个人观点。未经作者同意,不得擅自散播、印刷、 转引讲义中的部分或全
部内容。
Vll
课程安排
· 高性能计算机简介:高性能计算机的体系结构特点及编程方式。
· 消息传递环境:MPI 编程:消息传递 MPI (Message Passing Interface)标准。
· 分布式并行算法设计技术:分布式并行算法设计的基本原理与方法。
· 目的:学习分布式并行算法设计,分布式并行程序编制,高性能并行计算机使用
参考材料
· 孙家昶等,《网络并行计算与分布式编程环境》,科学出版社,1996。
· 张宝琳等,《数值并行计算原理与方法》,国防1.4.业出版社,1999。
· 李晓梅等,《可扩展并行算法的设计与分析》,国防1.4.业出版社,2000。
· 莫则尧等,《 消息传递并行编程环境 MPI》,科学出版社,2001。
· http://www.mpi-forum.org
· http://lssc.cc.ac.cn/Parallel-programming/莫则尧/
· http://lssc.cc.ac.cn/Parallel-programming/唐志敏/
· ftp://ftp.cc.ac.cn/pub/home/zlb/bxjs/bxjs.pdf
1
第一部分
MPI 消息传递编程
第一章 预备知识
§1.1 高性能并行计算机系统简介
§1.1.1 微处理器的存储结构
§1.1.2 Cache 结构对程序性能的影响
例1.1矩阵乘法中不同循环顺序对程序性能的影响
n
a b
k
1 i ,k k , j
C
i , j
DO J=l,N
DO I=l,N
C(I,J) = 0.D0
END DO
END DO
DO I=l,N
DO J=l,N
DO K=l,N
C(I,J) = C (I,J) + A (I,K) * B (K ,J)
剩余83页未读,继续阅读
资源评论
春哥111
- 粉丝: 1w+
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- js基础但是这个烂怂东西要求标题不能少于10个字才能上传然后我其实还没有写完之后再修订吧.md
- electron-tabs-master
- Unity3D 布朗运动算法插件 Brownian Motion
- 鼎微R16中控升级包R16-4.5.10-20170221及强制升级方法
- 鼎微R16中控升级包公版UI 2015及强制升级方法,救砖包
- 基于CSS与JavaScript的积分系统设计源码
- 生物化学作业_1_生物化学作业资料.pdf
- 基于libgdx引擎的Java开发连连看游戏设计源码
- 基于MobileNetV3的SSD目标检测算法PyTorch实现设计源码
- 基于Java JDK的全面框架设计源码学习项目
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功