《并行编程原理与程序设计》课程教学大纲_第1页
《并行编程原理与程序设计》课程教学大纲_第2页
《并行编程原理与程序设计》课程教学大纲_第3页
《并行编程原理与程序设计》课程教学大纲_第4页
《并行编程原理与程序设计》课程教学大纲_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本科生课程大纲课程名称并行编程原理与程序设计课程代码081513101257课程属性专业知识课时/学分48/2.5课程性质选修实践学时16责任教师 课外学时48(32+16)课程属性:公共基础/通识教育/学科基础/专业知识/工作技能,课程性质:必修、选修一、 课程介绍 1.课程描述:并行编程原理与程序设计是地球信息科学与技术专业的必修课,也是勘查技术与工程专业的选修课。地球物理信息解译中的计算量十分庞大,常规串行电脑和软件无法解决地球物理资料的解译问题,必须采用并行算法合并行计算机来解决地球物理资料的处理、解释合反演工作。目前,微机群和GPU机群在地球物理领域的应用日益广泛,“地球信息科学与技

2、术”和“勘查技术与工程”专业必需掌握并行编程的基本原理与方法才能实现地学信息高效解译得目的,本课程主要学习基于微机群的MPI程序设计方法和基于GPU集群的CUDA程序设计方法,并进行适当的上机实践。通过本课程的学习,可使学生了解和掌握大型科学与工程问题中的基本并行编程技术,初步具备编写大型并行应用程序的能力。2.设计思路:本课程的讲授内容主要包括两大部分:第一部分:MPI并行程序设计部分:第一章 并行程序设计基础主要内容:并行计算;并行编程模型与并行语言;并行算法第二章 MPI简介主要内容:什么是MPI;MPI的目的,产生与发展;MPI的语言绑定;目前主要的MPI实现;SPMD并行机上并行程序

3、的执行过程第三章 第一个MPI程序主要内容:MPI实现的“Hello World”;c与Fortran语言的MPI程序的一些惯例第四章 六个接口构成的MPI子集主要内容:子集介绍;MPI预定义的数据类型;MPI数据类型匹配与数据转换;MPI消息; 第五章 简单的MPI程序示例主要内容:获取机器名字和MPI版本号;数据接力传送;任意进程间互相问候,任意源和任意标识的使用;编写安全的MPI程序 第六章 MPI并行程序的两种基本模式主要内容:对等模式的MPI程序设计;主从模式的MPI程序设计,标准通信模式的特点与消息传递过程第七章 不同通信模式MPI并行程序设计主要内容:四种通信模式(标准,缓存,同

4、步与就绪),了解集中通信模式的划分依据,掌握四种通信模式的优缺点及实现方式第八章 非阻塞通信MPI程序设计主要内容:阻塞通信;非阻塞通信简介;非阻塞标准发送与接收;非阻塞通信与其他三种通信模式的结合;非阻塞通信的完成第九章 组通信MPI程序设计主要内容:组通信的消息通信功能,同步功能和计算功能;广播;收集;散发;组收集;全互换、同步、归约、组归约、归约并散发操作的函数形式、使用方法与执行过程;几个相关示例程序第二部分:CUDA并行程序设计部分: 第一章 引言主要内容:异构并行算法,现代GPU的体系结构,为什么需要更高的速度和并行化,应用程序加速,并行编程语言和模型 第二章 GPU计算的发展历程

5、主要内容:图形流水线的发展,固定功能的图形流水线时代,可编程实时图形流水线的发展,图形与计算结合的处理器,GPGPU:一个中间步骤,GPU计算,可扩展的GPU,发展近况,未来的发展趋势第3章 CUDA简介主要内容:PC架构,GPU硬件结构,CPU与GPU,数据并行性,CUDA的程序结构 第4章 CUDA环境搭建主要内容:简介,在Windows下安装软件开发工具包,Visual Studio,工程,64位用户,创建工程,Linux,安装调试器,编译模型,错误处理 第5章 线程网格、线程块以及线程,主要内容:简介,线程,问题分解,CPU与GPU的不同,任务执行模式,GPU线程,CUDA内核,线程块

6、,线程网格,跨幅与偏移,X与Y方向的线程索引,线程束,分支,GPU的利用率,线程块的调度第6章 数据并行执行模型,主要内容:向量加法kernel函数,设备全局存储器与数据传输,kernel函数与线程,函数声明,启动kernel函数,预定义变量,CUDA的线程组织,线程与多维数据映射,矩阵乘法一个更加复杂的kernel函数,线程同步和透明的可扩展性,线程块的资源分配,线程调度与容许时延第三部分:上机实践部分: 本课程实践部分的设计思路为:以并行程序设计的方法为主线,结合地学信息处理中的实际问题,让学生掌握MPI和CUDA程序设计的基本方法和技能。课程内容包括三个模块:MPI和CUDA程序设计软件

7、环境的设置与相关软件的安装、数值积分的并行求解设计与编程、声波方程正演模拟问题的并行设计与编程。(1)MPI和CUDA程序设计软件环境的设置与相关软件的安装: 实现不同计算机硬件和操作系统条件下MPI软件的安转与编程环境的设置,实现不同计算机硬件和操作系统条件下CUDA软件的安装与编程环境的设置。(2)数值积分的并行求解设计与编程:给定地学信息解译中的常见的数值积分问题并设计其并行求解方案,实现该类问题的并行高效求解。(3)声波方程正演模拟问题的并行设计与编程:给定地学信息解译中的常见的二维声波方程正演模拟问题并设计其并行求解方案,实现该类问题的并行高效求解。3. 课程与其他课程的关系先修课程

8、:C程序设计,或FORTRAN程序设计。本课程还与弹性波动力学、电磁场论、地球物理资料处理等课程密切相关,本课程是解决上述课程中大型科学计算问题的必不可少的工具。二、课程目标本课程的目标是培养学生的并行编程思路和能力,初步具备编写大型并行应用程序的能力,培养能用并行计算机和并行技术解决地球物理信息解译问题的工程技术人才。(1)掌握MPI程序设计基本思路与方法,掌握MPI并行软件的安转与并行编程环境的设置方法。(2)掌握CUDA程序设计基本思路与方法,掌握CUDA并行软件的安转与并行编程环境的设置方法。(3)培养学生并行程序设计能力,通过上机训练,达到利用并行计算机和并行程序解决复杂工程问题的能

9、力。三、学习要求并行编程原理与程序设计是一门实践性较强的课程,作为一名地球物理方向的大学生,不仅需要一定的数、理和地质、地球物理的基础,同时还需要掌握利用先进的并行计算机解决地学问题的基本技能与方法。通过本课程教学,一方面要掌握并行编程的基本思路与方法,另一方面还要培养和提高学生的实践能力,能够编写并行程序解决地学信息解译中的工程问题。要达到以上学习任务,学生必须:(1)按时上课,上课认真听讲,积极参与课堂讨论、作业典型案例分析。本课程将包含较多的课下作业、讨论、小组作业展示等课堂活动。(2)保质保量的按时完成上机作业,只有在作业中才能够不断掌握所学习的内容。(3)理论学习和上机实践的基础上,

10、要在大学生创新创业计划和毕业设计等课程中利用本课程的相关知识解决实际问题,提升自己的并行编程能力。四、教学进度序号专题或主题计划课时主要内容概述一 MPI程序设计部分1第1章 并行程序设计基础1并行计算;并行编程模型与并行语言;并行算法2第2章 MPI简介1什么是MPI;MPI的目的,产生与发展;MPI的语言绑定;目前主要的MPI实现;SPMD并行机上并行程序的执行过程3第3章 第一个MPI程序1MPI实现的“Hello World”;c与Fortran语言的MPI程序的一些惯例4第4章 六个接口构成的MPI子集4子集介绍;MPI预定义的数据类型;MPI数据类型匹配与数据转换;MPI消息5第5

11、章 简单的MPI程序示例3获取机器名字和MPI版本号;数据接力传送;任意进程间互相问候,任意源和任意标识的使用;编写安全的MPI程序6第6章 MPI并行程序的两种基本模式4对等模式的MPI程序设计;主从模式的MPI程序设计,标准通信模式的特点与消息传递过程7第7章 不同通信模式MPI并行程序设计3四种通信模式(标准,缓存,同步与就绪),了解集中通信模式的划分依据,掌握四种通信模式的优缺点及实现方式8第8章 非阻塞通信MPI程序设计3阻塞通信;非阻塞通信简介;非阻塞标准发送与接收;非阻塞通信与其他三种通信模式的结合;非阻塞通信的完成9第9章 组通信MPI程序设计4组通信的消息通信功能,同步功能和

12、计算功能;广播;收集;散发;组收集;全互换、同步、归约、组归约、归约并散发操作的函数形式、使用方法与执行过程;几个相关示例程序二 CUDA程序设计部分1第1章 引言1异构并行算法,现代GPU的体系结构,为什么需要更高的速度和并行化,应用程序加速,并行编程语言和模型2第2章 GPU计算的发展历程1图形流水线的发展,GPGPU:一个中间步骤,GPU计算 3第3章 CUDA简介 1PC架构,GPU硬件结构,CPU与GPU,数据并行性,CUDA的程序结构4第4章 CUDA环境搭建1简介,在Windows下安装软件开发工具包, Visual Studio,Linux,安装调试器,编译模型错误处理5第5章

13、线程网格、线程块以及线程2简介,线程,线程块,线程网格,线程束,线程块的调度6第6章 数据并行执行模型2向量加法kernel函数,设备全局存储器与数据传输,kernel函数与线程,CUDA的线程组织,线程与多维数据映射,矩阵乘法一个更加复杂的kernel函数,线程同步和透明的可扩展性,线程块的资源分配,线程调度与容许时延三 上机实践部分1MPI和CUDA的安装与编程环境设置4MPI软件的安装,MPI编程环境的设置,CUDA软件的安装,CUDA并行环境的设置2数值积分的MPI并行求解4编写程序实现数值积分问题的并行求解3二维声波方程的并行实现8编写程序实现二维声波方程的并行求解五、参考教材与主要

14、参考书1、参考教材:高性能计算并行编程技术MPI并行程序设计都志辉清华大学出版社第一版2、主要参考书:MPI与OpenMP并行程序设计(C语言版)MichaelJ.Quinn著,陈文光卫等译清华大学出版社第一版并行算法实践 陈国良 高等教育出版社 第一版并行计算-结构.算法.编程 陈国良 高等教育出版社 第一版并行算法的设计与分析 陈国良 高等教育出版社 修订版并行计算导论 张林波等 清华大学出版社 第一版消息传递并行编程环境 MPI 陆新民 林鹏 科学出版社 第一版大规模并行处理器编程实战DavidB.Kirk,Wen-meiW.Hwu著赵开勇汪朝辉程亦超译,清华大学出版社第二版CUDA并行程序设计(GPU编程指南)ShaneCook著,苏统华、李东、李松泽、魏通译,马培军审校,机械工业出版社第一版六、成绩评定(一)考核方式 A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论