科学与工程中的并行计算课程教学大纲
《并行计算》实验教学大纲
《并行计算》实验教学大纲课程名称:并行计算英文名称:Parallel Computing课程编号:23152024课程性质:课程类型:专业选修是否为独立设课的实验课:否适用专业:软件工程专业学时与学分:总学时:72 总学分:3.5 实验学时:16 实验学分:0.5 执笔人:陆克中制定时间:2012-3-12一、实验课的任务、性质与目的《并行计算》是一门实践性很强的课程,除了系统的课堂理论学习外,还配有足够数量的实践内容,以巩固和加深学生对并行算法理论、设计技术、分析方法和具体实现等各个环节的整体理解。
通过课程实践,强化学生“结构—算法—编程”一体化学习方法的意识,充分理解对于求解一个给定问题的任何并行算法,都必须采用某种并行编程语言,最终运行在一台具体的并行计算机上。
根据并行计算课程的要求,其实验教学的要求如下:(1) 熟悉三种以上的主流并行计算平台,包括共享存储的多处理机、分布存储的多计算机和目前流行的PC机群,要求学生能够使用上述几种并行计算平台所提供的硬/软件环境及工具来开展自己的实验工作。
(2) 掌握至少两种并行程序设计语言标准:即分布存储的MPI和共享存储的OpenMP。
对面向大型科学和工程计算的HPF(高性能Fortran)也应尽量了解和熟悉。
(3) 选择某些典型的非数值并行算法和数值并行算法,使用上述的并行编程语言标准,至少在PC机群上编程调试、分析和运行它们。
(4) 为了入门,选用课程中简单的计算π的样本程序为出发点,通过使用不同的并行程序设计模型和不同的并行编程语言,在不同的硬件编程环境上改造和重现,以便为进一步的实践打下基础。
学习本课程的过程中,这些实践环节是非常必要的和重要的,它可以激发学生学习并行计算的积极性,缩小理论教学和实际应用能力之间的差距,引导学生进入一个思考和探索的世界,在这个世界里,他们是学习的主动参与者,而不再是被动的接受者。
二、主要仪器设备及环境硬件设备:机群计算机软件环境:LinuxMPICHPVMHPF三、实验项目的设置与实验内容四、教材、实验教材(指导书)[1]陈国良,《并行计算—结构.算法.编程(第3 版)》,高等教育出版社,2003[2]陈国良等,《并行算法实践》,高等教育出版社,2003五、考核方式与评分办法1 设计型实验考核方式:现场检查与实验报告评分方法:⑴实验态度20分⑵实验设计40分⑶实验结果40分2 验证型实验考核方式:实验报告与现场检查评分方法:⑴实验态度20分⑵实验结果80分六、大纲审核人:张席。
并行计算讲义
燕山大学课程讲义并行计算导论授课人:郭栋梁学时:32学时其中实验课:8学时三级项目:16学时第1章引言概述单处理器计算机即将成为过时的概念.我们需要考虑如下因素来着手改进提高计算机的性能:(1)单纯依靠单处理器很难提升现有计算机的性能.即使有一个性能十分强大的单处理器,其功耗也让人无法接受.想要提升计算机的性能,更加可行的方法是同时使用多个简单处理器,它所能达到的性能可能是现有单处理器计算机性能的几千倍。
(2)观察结果显示,除非使用并行处理技术,一个程序在一台型号更新的单处理器计算机上的运行速度,可能比在旧的计算机上的运行速度更慢。
能依照给定算法检测出程序中的并行结构的编程工具还有待开发。
此算法需要能够检测出变ja之间的依赖关系是否规则;而且不管这些依赖是否规则,此算法都能在保证程序正确性的前提下,通过将程序中的一些子任务并行化来加速程序的执行。
(3)提升未来的计算机性能的关键就在于并行程序的开发,这涉及各个层面的工作:算法、程序开发、操作系统、编译器及硬件设备。
(4)并行计算除了要考虑到参与并行计算的处理器的数量,还应该考虑处理器与处理器、处理器与内存之间的通信。
最终计算性能的提升既依赖于算法能够提升的空间,更依赖于处理器执行算法的效率。
而通信性能的提升则依赖于处理器对数据的供应和提取的速度。
(5)内存系统的速度始终比处理器慢,而且由于一次只能进行单个字的读写操作,内存系统的带宽也有限制。
(6)内存系统的速度始终比处理器慢,而且由于一次只能进行单个字的读写操作,内存系统的带宽也有限制。
本书内容主要涉及并行算法与为了实现这些算法而设计的硬件结构。
硬件和软件是相互影响的,任何软件的最终运行环境是由处理器组成的底层硬件设备和相应的操作系统组成.我们在本章开始的部分会介绍一些概念,之后再来讨论为了实现这些概念有哪些方法和限制.自动并行编程对于算法在软件中的实现过程我们都很熟悉。
在编程并不需要了解目标计算机系统的具体细节,因为编译器会处理这些细节.但是在编程和调试时依旧沿用着在单一央处理器(CPU)上顺序处理的模式.从另一方面讲,为了实现并行算法,硬件和软件之间的相互联系需要比我们想象的更加密切。
2160240并行计算(中英文)(2011)
2160240并行计算(中英文)(2011)天津大学《并行计算》课程教学大纲课程代码:2160240 课程名称:并行计算学时:40 学分: 2学时分配:授课:24 上机:16 实验:实践:实践(周):授课学院:计算机更新时间:适用专业:计算机/软件先修课程:计算机系统结构/计算机网络/程序设计/算法设计/操作系统一、课程的性质与目的让学生能够掌握并行计算技术在研究与开发中的应用,能够根据自己的需要选择合适的并行计算环境与并行计算编程技术,独立完成针对本领域或所承担具体任务的并行算法,并能够独立完成并行应用程序的编制、调试与部署。
二、教学基本要求课程内容主要介绍并行计算领域中基本概念以及基础的并行程序设计方法,目的是让学习本课程的同学了解并行计算硬件平台的类别、简单多线程/MPI并行化方法、云计算模式以及MapReduce并行计算模型,掌握基本的并行程序设计技术,为未来的工作或者科研打好基础。
三、教学内容1、并行计算概述并行计算基本概念–应用需求–并行计算硬件–并行程序设计并行化方法2、并行计算硬件环境并行计算机系统结构多核处理器–多核技术概述–双核与超线程区别–GPU/Cell BE3、内存系统,性能评测内存系统对性能的影响性能评测–基本性能指标–加速比定律4、多线程与Pthread多线程基本概念–线程与进程的区别–线程的生命周期–线程同步Pthread 多线程实例分析–计算数组中“3”出现的次数5、Java 多线程Java多线程的概念;Java线程的生命周期;Java多线程编程中的常量和方法;?线程调度方法;资源冲突与协调;线程之间的通信。
6、OpenMPOpenMP概述编译制导语句运行时库函数环境变量7、集群技术概述集群技术基础–定义–体系结构–分类Linux 集群–I BM Cluster1350PVM/MPIRSH/SSH8、MPIMPI概述MPI并行程序的基本模式?MPI数据及进程消息传递方式9、MapReduceMapReduce编程模型Hadoop实例10、X10X10编程语言概述语法与示例X10DT11、并行程序设计方法学?并行算法设计PCAM方法学并行程序设计模式并行计算与软件工程12、云计算–并行计算发展历程–网络发展历程网格计算云计算实验1–多线程计算π,性能分析?2–3PCF 计算多线程实现?3 –M PI 实现Jacobi 迭代?4 –自选实验四、学时分配五、评价与考核方式考试:80%实验与平时成绩:20% 六、教材与主要参考资料并行程序设计原理作者:(美国)Calvin Lin,Lawrence Snyder 译者:陆鑫达林新华页码:235 页出版日期:2009年07月ISBN:7111270754/9787111270751TU Syllabus for Parallel ComputingCode: 2160240 Title: Parallel Computing Semester Hours: 40 Credits: 2Semester Hour Structure Lecture:24 Computer Lab:16 Experiment:Practice:Practice (Week):Offered by: School of Computer Date:for: School of Computer/School of SoftwarePrerequisite: Computer Architecture/Network/Programming/Algorithm/OS1. ObjectiveThe course requires the students learn the application of parallel computing technology in research and development and select proper parallel computing environment and programming methods to their situation. The student will be able to design the algorithm, and program, debug and deploy the parallel application.2. Course DescriptionThe course will introduce concepts of parallel computing and parallel programming. The students should understand types of parallel computing hardware, multi-thread/MPI parallelization methods, cloud computing and Mapreduce parallel computing model. The basic parallel programming technology will help their future work or research.3. Topics1. Introduction to parallel computingParallel application requirementsParallel computing hardwareParallel programming2. Parallel computing hardware environmentParallel computer architectureMulticore processorIntroduction to multicoreDifference between dual-core and hyper-threadGPU/Cell BE3. Memory system, performance evaluationEffect of memory system to performancePerformance evaluationPerformance parametersSpeedup laws4. Multi-thread and PthreadConcepts of multi-threadDifference between thread and processLife cycle of threadThread synchronizationPthreadSampleCount the 3s in the array5. Java multi-threadConcepts of Java multi-threadLife cycle of Java threadConstants and methods in Java multi-thread programming Thread schedulingResource confliction and coordinationIntercommunication between threads6. OpenMPIntroduction to OpenMPCompiler directivesRuntime librariesEnvironment variablesSamples7. Cluster technologyCluster basicsDefinitionArchitectureClassificationLinux ClusterIBM Cluster 1350PVM/MPIRSH/SSH8. MPIIntroduction to MPIPatterns of MPI programsMPI data and processMessage passing pattern9. MapReduceMapReduce programming model HadoopSamples10. X10Concepts of X10 programming language Grammars and samplesX10DT11. Methodologies of parallel programming Parallel algorithm designPCAMParallel programming patternsParallel computing and software engineers12. Cloud computingBackgroundHistory of parallel computingDevelopment of networksGrid computingCloud computingLabs1. Calculate π using multi-thread, and performance analysis2. Calculate 3PCF using multi-thread3. Implement Jacobi iteration using MPI4. Self design4. Semester Hour StructurePaper test: 80%Labs: 20%6. Text-Book & Additional ReadingsPrinciples of Parallel ProgrammingHardcover: 352 pagesPublisher: Addison Wesley; 1 edition (March 7, 2008) Language: EnglishISBN-10: 0321487907ISBN-13: 978-0321487902。
并行计算结构算法编程课程设计
并行计算结构算法编程课程设计一、课程背景高性能计算(High Performance Computing,HPC)已经成为科技竞争的重要战场之一。
各大科研机构、高校都在日益加大对高性能计算的投入和重视。
在为科学研究提供强有力的支撑的同时,也在很大程度上推动了信息技术的进步和发展。
并行计算结构算法编程课程是计算机科学与技术专业的一门重要的课程,重点讲解并行计算系统的结构、算法设计与编程方法。
二、课程目标本课程旨在介绍并行计算结构和基本的并行算法设计与优化方法,通过学习课程,达到以下目标:1.掌握并行计算系统的结构,包括传统的并行计算系统和云计算系统。
2.熟悉并行算法的设计与优化,掌握传统的并行算法和新兴的并行算法。
3.掌握并行程序的编写方法,能够使用现代工具和技术编写高效的并行程序。
4.具备一定的实验设计和实验分析能力,能够独立完成并行计算相关的实验与项目。
三、课程内容1. 并行计算系统的结构1.1 什么是并行计算系统1.2 传统式并行计算系统1.3 云式并行计算系统2. 并行计算算法设计2.1 并行计算中的任务划分2.2 并行计算中的数据划分2.3 并行计算中的任务调度2.4 并行计算中的数据通信3. 并行程序的编写3.1 编写并行程序的基本原则3.2 选用适合的编程语言3.3 选择美国能源部国家科学院NNSA的ASC黄金标准测试用例4. 课程设计4.1 课程设计项目的内容和要求4.2 怎么设计一个并行计算程序4.3 基于MPI的分散式矩阵-向量乘法运算的实现4.4 基于OpenMP的PDE求解器的实现四、实验环境本课程的实验环境为台式机或服务器,由学生自行摆放,安装MATLAB和MPI 等软件。
五、参考资料1.Peter Pacheco, An Introduction to Parallel Programming,Elsevier, 2011.2.Arora Jaswinder Pal Singh, Anindya Das, Practical ParallelProgramming, PHI Learning Private Limited, 2012.3.Tim Mattson, Beverly Sanders, Berna Massingill, Patterns forParallel Programming, Addison-Wesley Professional, 2004.本文档主要让读者了解并行计算结构算法编程课程设计的内容,以及课程的目的和参考资料。
并行计算课程设计
并行计算课程设计一、课程目标知识目标:1. 让学生理解并行计算的基本概念,掌握并行计算的发展历程及分类;2. 培养学生掌握并行编程的基本方法,了解并行算法的设计原则;3. 使学生了解并行计算在现实生活中的应用,并能结合实际问题进行分析。
技能目标:1. 培养学生运用并行计算技术解决实际问题的能力,提高计算思维;2. 培养学生掌握并行编程工具和软件的使用,能进行简单的并行程序设计;3. 培养学生通过团队合作,进行问题分析、方案设计和程序实现的能力。
情感态度价值观目标:1. 培养学生对并行计算的兴趣,激发其探索未知领域的热情;2. 培养学生具备良好的团队合作精神,学会尊重他人、沟通协作;3. 培养学生认识到科技发展对社会进步的重要性,树立正确的科技观。
课程性质:本课程为选修课,旨在拓展学生的计算思维和编程技能,提高解决实际问题的能力。
学生特点:学生具备一定的计算机基础,对编程有一定了解,对并行计算感兴趣,但可能对并行编程方法和技巧掌握不足。
教学要求:结合学生特点和课程性质,注重理论与实践相结合,充分调动学生的积极性,培养其创新能力和实践能力。
通过本课程的学习,使学生能够将并行计算技术应用于实际问题,达到学以致用的目的。
在教学过程中,将目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 并行计算基本概念:包括并行计算的定义、发展历程、分类及特点。
教材章节:第一章 并行计算概述2. 并行编程模型:介绍 Flynn 分类法,讲解共享内存和分布式内存编程模型。
教材章节:第二章 并行编程模型3. 并行编程语言与工具:学习 MPI、OpenMP、CUDA 等并行编程语言和工具。
教材章节:第三章 并行编程语言与工具4. 并行算法设计:讲解并行算法设计原则,分析常见并行算法。
教材章节:第四章 并行算法设计5. 并行计算应用:介绍并行计算在科学计算、大数据处理等领域的应用。
教材章节:第五章 并行计算应用6. 实践环节:安排学生进行并行程序设计和实现,针对实际问题进行团队协作。
并行计算原理
《并行计算原理》教学大纲课程名称:并行计算原理课程编号:学分:2学时:总学时:32(讲授:32,实验:0,上机:0,讨论:0,其他:0)开设学期:第五学期授课对象:信息与计算科学专业本科生课程级别:专业选修课课程负责人:教学团队:信息与计算科学系一、课程性质与目的本课程以并行计算为主题,主要讲授并行计算的硬件平台(并行计算机)、并行计算的理论基础(并行算法)和并行计算的软件支撑(并行程序设计),强调将并行计算机结构、并行算法设计和并行编程融为一体。
该课程是信息与计算科学专业本科生的专业选修课程;通过本课程的学习,应使学生了解并行计算机的体系结构与并行计算模型,熟悉常见的并行计算算法与并行设计技巧;通过此课程的学习,可使学生了解和掌握计算机学科中以及大型科学与工程问题中的基本的并行与分布计算方法及其软硬基础。
二、课程简介为了适应我国面向21 世纪人才培养应是宽口径、通才和适应性强的要求,将并行计算机、并行数值计算、并行算法和并行程序设计中有关内容精炼、整合形成计算机专业本科层次上的并行计算课程。
四、教学基本要求课程强调融并行计算机结构、并行算法设计和并行编程为一体。
通过本课程的学习,应使学生掌握并行计算机的体系结构、了解并行计算模型,熟悉常见的并行计算,通过此课程的学习,可使学生了解和掌握计算机学科中以及大型科学与工程问题中的基本的并行与分布计算方法及其软硬基础。
五、教学方法(1)课堂授课采用多媒体教学,采用由浅入深、循序渐进学习步骤,达到学必用、学即用,提高学生的学习兴趣。
从而加深学生对理论课的理解,提高学生的动手能力。
(2)多媒体教学:本门课程已制作电子课件教案,可针对不同章节的特点安排合适的内容使用,加深学生对所学内容的理解。
(3)课堂讨论和课后自学:为了培养学生自学能力和处理问题的能力,对各章中的重点,采用课堂讨论的形式,加深理解。
(4)练习题讲解:对部分典型练习题进行重点讲解,加深学生对基本概念的理解。
《并行编程原理与程序设计》课程教学大纲
本科生课程大纲课程属性:公共基础/通识教育/学科基础/专业知识/工作技能,课程性质:必修、选修一、课程介绍1.课程描述:《并行编程原理与程序设计》是地球信息科学与技术专业海洋测绘与地理信息系统方向的选修课,也是勘查技术与工程专业的选修课。
地球物理信息解译中的计算量十分庞大,常规串行电脑和软件无法解决地球物理资料的解译问题,必须采用并行算法合并行计算机来解决地球物理资料的处理、解释合反演工作。
目前,微机群和GPU机群在地球物理领域的应用日益广泛,“地球信息科学与技术”和“勘查技术与工程”专业必需掌握并行编程的基本原理与方法才能实现地学信息高效解译得目的,本课程主要学习基于微机群的MPI 程序设计方法和基于GPU集群的CUDA程序设计方法,并进行适当的上机实践。
通过本课程的学习,可使学生了解和掌握大型科学与工程问题中的基本并行编程技术,初步具备编写大型并行应用程序的能力。
2.设计思路:本课程的讲授内容主要包括两大部分:第一部分:MPI并行程序设计部分:第一章并行程序设计基础主要内容:并行计算;并行编程模型与并行语言;并行算法第二章 MPI简介主要内容:什么是MPI;MPI的目的,产生与发展;MPI的语言绑定;目前主要的MPI实现;SPMD并行机上并行程序的执行过程第三章第一个MPI程序主要内容:MPI实现的“Hello World”;c与Fortran语言的MPI程序的一些惯例第四章六个接口构成的MPI子集主要内容:子集介绍;MPI预定义的数据类型;MPI数据类型匹配与数据转换;MPI消息;第五章简单的MPI程序示例主要内容:获取机器名字和MPI版本号;数据接力传送;任意进程间互相问候,任意源和任意标识的使用;编写安全的MPI程序第六章 MPI并行程序的两种基本模式主要内容:对等模式的MPI程序设计;主从模式的MPI程序设计,标准通信模式的特点与消息传递过程第七章不同通信模式MPI并行程序设计主要内容:四种通信模式(标准,缓存,同步与就绪),了解集中通信模式的划分依据,掌握四种通信模式的优缺点及实现方式第八章非阻塞通信MPI程序设计主要内容:阻塞通信;非阻塞通信简介;非阻塞标准发送与接收;非阻塞通信与其他三种通信模式的结合;非阻塞通信的完成第九章组通信MPI程序设计主要内容:组通信的消息通信功能,同步功能和计算功能;广播;收集;散发;组收集;全互换、同步、归约、组归约、归约并散发操作的函数形式、使用方法与执行过程;几个相关示例程序第二部分:CUDA并行程序设计部分:第一章引言主要内容:异构并行算法,现代GPU的体系结构,为什么需要更高的速度和并行化,应用程序加速,并行编程语言和模型第二章 GPU计算的发展历程主要内容:图形流水线的发展,固定功能的图形流水线时代,可编程实时图形流水线的发展,图形与计算结合的处理器,GPGPU:一个中间步骤,GPU计算,可扩展的GPU,发展近况,未来的发展趋势第3章 CUDA简介主要内容:PC架构,GPU硬件结构,CPU与GPU,数据并行性,CUDA的程序结构第4章 CUDA环境搭建主要内容:简介,在Windows下安装软件开发工具包,Visual Studio,工程,64位用户,创建工程,Linux,安装调试器,编译模型,错误处理第5章线程网格、线程块以及线程,主要内容:简介,线程,问题分解,CPU与GPU的不同,任务执行模式,GPU 线程,CUDA内核,线程块,线程网格,跨幅与偏移,X与Y方向的线程索引,线程束,分支,GPU的利用率,线程块的调度第6章数据并行执行模型,主要内容:向量加法kernel函数,设备全局存储器与数据传输,kernel函数与线程,函数声明,启动kernel函数,预定义变量,CUDA的线程组织,线程与多维数据映射,矩阵乘法——一个更加复杂的kernel函数,线程同步和透明的可扩展性,线程块的资源分配,线程调度与容许时延第三部分:上机实践部分:本课程实践部分的设计思路为:以并行程序设计的方法为主线,结合地学信息处理中的实际问题,让学生掌握MPI和CUDA程序设计的基本方法和技能。
《科学与工程中的并行计算》课程大纲
元的并行实现基于区域分解方法。我们分别用软件 Petsc 和 Deal.ii 实现差分方法和有限元的并行计算,并评价它们的并行性能。对于无 结构网格,我们介绍 Metis 软件,它实现了网格的均匀分割,同时相 邻子网格间的节点个数尽可能少。把子网格映射到进程后,确保进程 的负载平衡,同时进程间的通信尽可能少。谱方法的并行实现通过并 行的快速 FFT 实现。我们以 Poisson 为例说明这些方法的具体实现, 以及模拟结果对精度和进程个数的依赖。3)在科学应用部分,我们强 调一些普遍算法:分子动力学模拟、Monte Carlo 方法和 Langevin 动 力学,以及它们的并行实现。描述一个物理系统关键在于自由度的选 择。一个描述方法是以很多粒子(如它们的位置、动量等)作为自由 度,我们以 Brownian 运动为例通过分子动力学实现并行计算。另一个 是以连续场作为自由度,我们以量子场论的若干模型为例通过 Monte Carlo 方法和 Langevin 动力学实现并行计算。 This course includes two parts: 1) The basics of parallel computation; 2) Applications of parallel computation in science and engineering. Non-numerical simulations are not included in this course. The basics part includes the following several parts. a) Linux operation system and it's common commands; the installation of packages, compiling of source code, linking of objects, running of executables and data visualization. b) The hardware part of parallel machine including the discussion of the effect of memory on the FLOPS in a parallel machine. c) Two kinds of parallel machines, shared-address-space machines or multiprocessors and message passing platforms or multicomputers. The programming patterns for this two kinds of parallel machines. The topological connection in parallel machines. The principle for designing of *课程简介(Description) parallel algorithms. d) The communication pattern based on message passing and its realization MPI. The course does not include the programming for shared-address-space machines, e.g., OpenMP, etc.. e) The performance metrics for parallel systems, e.g., parallel runtime, speedup, efficiency, scalability and optimal cost, etc.. The application part includes three parts. 1) Parallel algorithms related to numerical linear algebra, including matrix multiplication, Gaussian elimination, LU decomposition of large sparse matrices and QR algorithm. The iteration algorithms for solving linear system or eigenvalues problem are not included in this course since their parallel realization is reduced to the parallel computation of the multiplication between matrices and vectors. Due to the importance of the discrete FFT in
《科学与工程中的计算方法》课程教学大纲
3.应用实例(实验课4学时)
重点:Simpson积分公式
难点:数值积分的应用
(六)最小二乘法(8学时)
1.线性最小二乘法
2.非线性最小二乘法
3.最小二乘法的应用
4.应用实例(实验课4学时)
重点:线性最小二乘法
难点:非线性最小二乘法
(七)回归分析(8学时)
1.一元线性回归分析
2.多元线性回归分析
3.点:一元线性回归分析、多元线性回归分析
难点:对计算结果的讨论
(八)计算机在化学和化工中应用的现状和发展趋势(8学时)
1.计算机在化学和化工中应用的现状
2.若干应用软件简介(实验课4学时)
3.计算机在化学和化工中应用的发展趋势
重点:若干应用软件简介
教学要求:
1.掌握若干常用的科学计算方法及其应用实例
2.理解若干经典算法的计算机程序
3.了解计算机在化学和化工中应用的现状和发展趋势。
课
程
内
容
及
学
时
分
配
课
程
内
容
及
学
时
分
配
(一)绪论(6学时)
1.计算机概述
2.计算机在化学和化工中应用的背景
3.本课程的内容和学习方法
(二)高次方程的求解方法(6学时)
1.误差问题
5.首选教材:《计算机在化学和化工中的应用》吴若峰、乐之伟、陆文聪
上海大学出版社2000
二选教材:《计算机在化学中的应用》忻新泉南京大学出版社1996
参考书目:《计算机在化工中的应用》刘道德中南工业大学出版社1997
6.考核形式:考查
7.教学环境:课堂和计算机房
并行计算讲义
燕山大学课程讲义并行计算导论授课人:郭栋梁学时:32学时其中实验课:8学时三级项目:16学时第1章引言1.1概述单处理器计算机即将成为过时的概念.我们需要考虑如下因素来着手改进提高计算机的性能:(1)单纯依靠单处理器很难提升现有计算机的性能.即使有一个性能十分强大的单处理器,其功耗也让人无法接受.想要提升计算机的性能,更加可行的方法是同时使用多个简单处理器,它所能达到的性能可能是现有单处理器计算机性能的几千倍。
(2)观察结果显示,除非使用并行处理技术,一个程序在一台型号更新的单处理器计算机上的运行速度,可能比在旧的计算机上的运行速度更慢。
能依照给定算法检测出程序中的并行结构的编程工具还有待开发。
此算法需要能够检测出变ja之间的依赖关系是否规则;而且不管这些依赖是否规则,此算法都能在保证程序正确性的前提下,通过将程序中的一些子任务并行化来加速程序的执行。
(3)提升未来的计算机性能的关键就在于并行程序的开发,这涉及各个层面的工作:算法、程序开发、操作系统、编译器及硬件设备。
(4)并行计算除了要考虑到参与并行计算的处理器的数量,还应该考虑处理器与处理器、处理器与内存之间的通信。
最终计算性能的提升既依赖于算法能够提升的空间,更依赖于处理器执行算法的效率。
而通信性能的提升则依赖于处理器对数据的供应和提取的速度。
(5)内存系统的速度始终比处理器慢,而且由于一次只能进行单个字的读写操作,内存系统的带宽也有限制。
(6)内存系统的速度始终比处理器慢,而且由于一次只能进行单个字的读写操作,内存系统的带宽也有限制。
本书内容主要涉及并行算法与为了实现这些算法而设计的硬件结构。
硬件和软件是相互影响的,任何软件的最终运行环境是由处理器组成的底层硬件设备和相应的操作系统组成.我们在本章开始的部分会介绍一些概念,之后再来讨论为了实现这些概念有哪些方法和限制.1.2自动并行编程对于算法在软件中的实现过程我们都很熟悉。
在编程并不需要了解目标计算机系统的具体细节,因为编译器会处理这些细节.但是在编程和调试时依旧沿用着在单一央处理器(CPU)上顺序处理的模式.从另一方面讲,为了实现并行算法,硬件和软件之间的相互联系需要比我们想象的更加密切。
并行计算 教学大纲
并行计算一、课程说明课程编号:090236Z10课程名称:并行计算/Introduction of Parallel Computing课程类别:专业教育课程学时/学分:32/2先修课程:计算机组成原理与汇编、面向对象编程(C++)适用专业:计算机科学与技术、信息安全、物联网工程教材、教学参考书:1. (美)M.Grama 著,张武译.并行计算导论. 北京:机械工业出版社,2012年2. (美)Hesham ElRewini著,陆鑫达译.先进计算机体系结构与并行处理.北京:电子工业工业出版社,2012年3. 陈国良.并行计算:结构,算法,编程. 北京:高等教育出版,2012年4. 张林波.并行计算导论. 北京:清华大学出版社,2014年5. 黄铠,徐志伟. 可扩展并行计算--技术、结构与编程. 北京:机械工业出版社,2012年二、课程设置的目的意义并行处理是实现高性能、高可用计算机系统的主要途径。
本课程以并行计算为主题,主要介绍当代并行计算机系统及其结构模型,并行算法设计与并行程序的设计原理与方法,强调融并行机结构、并行算法和并行编程为一体,力图反映本学科的最新成就和发展趋势。
通过本课程的学习,使学生从系统结构、算法、程序设计三个方面,初步了解并行处理的基本概念和涉及的各种学术和技术问题。
通过本课程的学习,使学生能把握并行处理技术的最新成就和发展趋势,掌握并行计算技术和方法。
三、课程的基本要求知识:熟练掌握并行计算技术方面的基本概念;熟悉并行计算机系统及其结构模型,并了解如何进行并行计算的性能评测;熟练掌握并行算法设计的基础知识,了解现有的并行计算模型以及并行算法的设计方法、设计技术和设计过程;熟练掌握并行算法;熟练掌握MPI 并行编程方法。
能力:掌握并行计算的基本方法和技术,将并行计算的知识用于应用软件设计;用多处理机互联网理论,培养多处理机互联网设计的能力;掌握并行计算机结构,针对具体实际问题提出有效的并行计算机结构解决方案,提高并行计算机设计的能力;利用并行算法原理,学会并行算法设计方法;掌握MPI程序设计代方法,在针对具体问题给出MPI程序设计;在并行计算知识的讨论中培养创新意识,提高分析、发现、研究和解决问题的能力;素质:建立多处理机体系结构的观念,通过课程中的分析讨论辩论培养分析沟通交流素质,建立并行计算的思维模式,提升理解应用并行计算机体系结构和并行计算软件设计的基本素质。
并行计算
课程名称:并行计算课程编码:C303课程学分:2适用学科:计算机应用技术并行计算parallel computing教学大纲一、课程性质本课程是为计算机科学与技术专业本科硕士研究生所开设的一门必修课,以便扩充学生在并行计算方面的知识。
二、课程教学目的通过本课程的学习,使学生掌握并行计算的硬件基础知识,并行计算设计与并行数值算法的基础知识,掌握在不同的并行计算模型上的并行程序设计方法。
三、教学基本内容及基本要求本课程的教学基本内容以并行计算为主题,讲授并行计算的硬件基础,并行计算设计与并行数值算法以及并行计算的软件支持。
第一章并行计算机系统及其结构模型(掌握)1、并行计算与高端并行计算机2、并行计算机系统互连3、并行计算机系统结构第二章当代并行机系统:SMP MPP和COW(掌握)1、对称多处理机SMP2、在规模并行机MPP3、工作站群COW4、国产曙光系列并行机系统第三章并行计算性能评测1、加速比性能定律2、可扩放性评测标准3、基准测试程序第四章并行算法的设计基础(掌握)1、并行算法的基础知识2、并行计算模型第五章并行算法的一般设计方法(掌握)1、串行算法的直接并行化2、从问题描述开始设计并行算法3、借用已有算法求解新问题第六章并行算法的基础设计技术(掌握)1、划分设计技术2、分治设计技术3、平衡树设计技术4、倍增设计技术5、流水线设计技术第七章并行算法的一般设计过程(掌握)1、PCAM设计方法2、划分3、通信4、组合5、映射第八章基本通信操作(掌握)1、选路方法与开并技术2、单一信包一到一传输3、一到多播送4、多到多播送第九章稠密矩阵运算(掌握)1、矩阵的划分2、矩阵转置3、矩阵向量乘法4、矩阵乘法第十章线性方程组的求解(掌握)1、三角形方程组的求解2、三对角方程组的求解3、密线性方程组的求解4、稀疏线性方程组的求解第十一章快速傅里叶变换(掌握)1、离散傅氏变换2、快速傅氏变换串行算法3、并行FFT算法第十二章并行程序设计基础(掌握)1、并行程序设计基础概述2、进程3、线程4、同步5、通信第十三章并行程序设计模型和共享存储系统编程(掌握)1、并行编程风范和样本程序2、并行程序设计模型3、共享存储并行编程第十四章分布存储系统并行编程1、基于消息传递的并行编程2、MPI并行编程3、PVM并行编程4、基于数据并行的并行编程5、HPF并行编程第十五章并行程序设计环境与工具1、软件工具与环境2、并行编译器3、并行程序调试和性能分析四、本课程与其它课程的联系与分工本课程要求学生在学习完《计算机体系结构》、《操作系统》、《编译原理》、《数据结构》等课程之后学习本课程。
并行计算教案
并行计算教案一、教学目标通过本课的学习,学生应该达到以下目标:1. 了解并行计算的背景和基本概念;2. 掌握并行计算的分类和应用领域;3. 能够描述并行计算的优势和挑战;4. 学会使用并行计算的基本工具和技术。
二、教学内容1. 并行计算的背景和基本概念1.1 并行计算的定义1.2 并行计算的发展历程1.3 并行计算的基本概念和术语2. 并行计算的分类和应用领域2.1 按结构分类:共享内存并行、分布式并行等2.2 并行计算的应用领域:科学计算、图像处理、数据挖掘等3. 并行计算的优势和挑战3.1 优势:大幅提高计算性能、解决大规模问题等3.2 挑战:并发控制、通信开销、负载平衡等4. 并行计算的基本工具和技术4.1 并行程序设计语言:MPI、OpenMP等4.2 并行编程模型:数据并行、任务并行等4.3 并行算法设计原则:负载均衡、数据分配等三、教学过程1. 导入(10分钟)介绍并行计算的背景和意义,引起学生对并行计算的兴趣。
2. 知识讲解(40分钟)依次介绍并行计算的背景和基本概念、分类和应用领域、优势和挑战等内容,结合具体案例进行讲解和解释。
3. 讨论和实践(60分钟)将学生分成小组,让他们讨论并行计算的应用领域和挑战,并结合实际问题进行讨论。
然后引导学生使用并行编程工具和技术,设计并实现一个简单的并行计算程序。
4. 总结与展望(10分钟)对本堂课学到的知识进行总结,并展望并行计算的未来发展和应用前景。
四、教学评价1. 课堂参与度评价:观察学生在课堂讨论和实践环节的积极程度和参与度。
2. 作业评价:布置一篇与并行计算相关的作业,考察学生对所学知识的理解和应用能力。
3. 课堂测试:设立一小测验,测试学生对并行计算基本概念和术语的掌握程度。
五、教学资源1. 并行计算教案PPT2. 并行计算案例和实验数据3. 并行编程工具和环境六、教学反思本节课采用了结合理论讲解和实践操作的方式,使学生在学习并行计算的基本概念的同时,也能够亲自动手实践。
并行计算导论课程设计
并行计算导论课程设计一、课程背景并行计算是计算机科学中极为重要的研究领域之一,其研究目标是通过设计和实现多个任务的并行执行,提高计算机系统的性能,并提高计算机程序的执行效率。
在现代计算机中,随着CPU数量的增加,以及GPU、FPGA等计算加速器的普及,基于并行计算的程序设计已经越来越受到人们的关注。
二、课程设计目的本课程设计是为了帮助学生通过实践掌握并行计算的基本概念及其应用,以及并行程序的设计和实现方法。
通过此课程设计,学生将对并行计算系统的工作原理、并行程序的设计和实现方法、性能分析和优化等方面有更深入的理解。
三、课程设计内容(一) 实验环境本课程设计将使用具有多核CPU的计算机集群作为实验环境,以及CUDA、OpenMP等工具进行并行编程。
学生需要在实验环境中进行实验并完成相应的实验报告。
(二) 实验内容1.练习Linux基本命令,对计算集群进行操作2.学习多线程编程和并行算法设计,例如管道、map-reduce等方式3.掌握CUDA和OpenMP等并行计算工具的使用,实现并行矩阵乘法、并行排序、并行计算pi等应用4.掌握并行程序的性能分析和优化技术,例如数据划分、负载平衡等(三) 课程设计目标本课程设计旨在通过以上实验内容,达到以下目标:1.培养学生思考并行程序设计及并行算法的能力;2.培养学生独立思考并解决并行计算问题的能力;3.增强学生实践能力,提高学生综合应用技能;4.培养学生团队合作精神,提高团队合作能力。
四、课程设计要求1.学生需要独立完成课程设计项目及实验报告;2.学生需要按时提交实验报告,内容需详尽、准确;3.学生需遵守实验平台的规定及相关使用条款;4.学生需尊重知识产权,严禁抄袭相关实验内容。
五、总结通过本课程设计,学生将对并行计算系统有更深入的理解,同时也会提高自己的实践能力,为今后的学习和工作打下坚实的基础。
并行计算简单课程设计
并行计算简单课程设计一、课程目标知识目标:1. 学生能理解并行计算的基本概念,掌握并行计算的主要原理。
2. 学生能掌握并行计算的基本模式,如数据并行、任务并行和管道并行。
3. 学生能了解并行计算在现实生活中的应用,如科学研究、大数据处理等领域。
技能目标:1. 学生能够运用并行计算的基本原理,分析和解决实际问题。
2. 学生能够运用并行编程语言或工具,实现简单的并行计算程序。
3. 学生能够评估并行计算的性能,分析并行计算的优化策略。
情感态度价值观目标:1. 学生培养对并行计算的兴趣,激发探究计算机科学领域的热情。
2. 学生培养团队协作意识,提高在团队项目中沟通与协作的能力。
3. 学生认识到并行计算在现代社会中的重要作用,增强对科技创新的责任感和使命感。
课程性质:本课程为计算机科学领域的一门选修课程,旨在帮助学生了解并行计算的基本原理和应用。
学生特点:学生为九年级学生,具备一定的计算机科学素养,对新鲜事物充满好奇心,喜欢探索和实践。
教学要求:结合学生的特点,采用理论讲解与实践操作相结合的方式,注重培养学生的动手能力和实际问题解决能力。
在教学过程中,关注学生的情感态度,激发学生的学习兴趣,提高学生的综合素质。
通过本课程的学习,使学生能够达到上述课程目标,为后续学习和发展奠定基础。
二、教学内容1. 并行计算基本概念:介绍并行计算的定义、发展历程和分类。
- 教材章节:第一章 引言- 内容列举:并行计算的定义、并行计算的发展、并行计算机的分类。
2. 并行计算原理:讲解并行计算的基本原理,如并发、并行度、负载平衡等。
- 教材章节:第二章 并行计算原理- 内容列举:并发的概念、并行度的度量、负载平衡与任务分配。
3. 并行计算模式:介绍数据并行、任务并行和管道并行等并行计算模式。
- 教材章节:第三章 并行计算模式- 内容列举:数据并行、任务并行、管道并行、MapReduce模式。
4. 并行编程语言与工具:介绍并行编程语言和工具,如CUDA、OpenMP 等。
并行计算(中科大讲义)
2
2
N
2-D网孔 Illiac网孔 2-D环绕 二叉树
N N N N
4 4 4 3
非
N
2( N N )
2N
非
2 N
N
N /2
是
2 N
2N
N
2log N 1
1
非 非 是
N 1
星形
N
N 1
2
N / 2
N 1
超立方 立方环
N 2
n
n
3
国家高性能计算中心(合肥)
2013-8-14
11
静态互连网络(2)
N N
二维网孔(2-D Mesh):
每个节点只与其上、下、左、右的近邻相连(边界节点除外), 节点度为4,网络直径为 2( N 1) ,对剖宽度为 N 在垂直方向上带环绕,水平方向呈蛇状,就变成Illiac网孔了, 节点度恒为4,网络直径为 N 1 ,而对剖宽度为 2 N 垂直和水平方向均带环绕,则变成了2-D环绕(2-D Torus), 节点度恒为4,网络直径为 2 N / 2 ,对剖宽度为 2 N
1.3 并行计算机系统结构
1.3.1 并行计算机结构模型 1.3.2 并行计算机访存模型
国家高性能计算中心(合肥) 2013-8-14 4
并行计算
并行计算:并行机上所作的计算,又称高性能 计算或超级计算。 计算科学:计算物理、计算化学、计算生物等 科学与工程问题的需求:气象预报、油藏模拟、 核武器数值模拟、航天器设计、基因测序等。 需求类型:计算密集、数据密集、网络密集。 美国HPCC计划:重大挑战性课题,3T性能 美国Petaflops研究项目:Pflop/s。 美国ASCI计划:核武器数值模拟。
《并行计算》教学大纲
教学大纲课程名称:并行计算预修课程:计算机体系结构、数据结构等开课学期:总学时:60学分:大纲撰写人:陈国良、徐云、孙广中一、教学目标及要求本课程是为计算机科学与技术专业的高年级本科生开设的专业课,也可作为面向科学和工程计算的非计算机专业的高年级本科生和研究生的选修课程。
通过此课程的学习,可使学生了解和掌握计算机学科中以及大型科学与工程问题中的基本的并行与分布计算方法及其软硬基础。
二、教学重点和难点重点:并行计算机系统结构、模型、互连方式和性能评价,并行计算模型,并行算法设计策略、基本设计技术和PCAM设计方法学,典型的并行数值算法,并行程序设计等。
难点:并行结构模型和计算模型的理解,并行算法基本设计技术,并行数值算法等。
三、教材及主要参考书教材陈国良,《并行计算:结构,算法,编程》,北京:高教出版社,1999(初版),2003(修订版)主要参考书:1.陈国良等,《并行计算机体系结构》,北京:高教出版社,20022.陈国良,《并行算法的设计与分析》,北京:高教出版社,2002 (修订版)3.陈国良等,《并行算法实践》,北京:高教出版社,20034.Barry Wilkinson等,陆鑫达等译,《并行程序设计》,北京:机械工业出版社,2001四、课程章节及学时分配第一部分并行计算硬件基础1.并行计算机系统结构和模型4课时(1)并行计算机系统结构(PVP、SMP、MPP、DSM、COW)。
(2)并行计算机存储器访问模型(UMA、NUMA、COMA、NORMA)。
2.并行计算机系统互连4课时(1)系统互连技术(节点内的互连:总线,开关,Buses,switches;节点间的互连:SAN;系统间的互连:LAN,MAN,WAN)。
(2)互连网络拓扑(静态互连网络:LA,RC,MC,TC,HC,CCC;动态互连网络:Buses,crossbar,MINI)。
标准网络(FDDI、ATM、SCI)。
3.并行系统性能评价4课时(1)加速比(Amdahl负载固定加速定律;Gustafson负载可扩放加速定律;Sun和Ni存储受限加速定律)。
并行计算-哈尔滨工程大学计算机科学与技术学院
063820并行计算32学时/2学分英文译名:Parallel Computing and Distributed Computing适用领域:计算机科学与技术,科学、工程计算开课单位:计算机科学与技术学院教学目的:当今,计算科学已成为与理论科学和实验科学并列的第三门科学,学生有必要了解、初步掌握高性能计算(并行与分布计算)的理论、技术及应用。
预备知识或先修课程要求:算法设计与分析,计算机系统结构,操作系统。
教学主要内容以及对学生的要求:并行计算系统结构介绍,并行计算性能评测,并行算法设计基础及一般设计方法。
分布式系统模型,通信、进程、命名和复制。
内容摘要:高性能计算的应用需求极为广泛,以美国等国家为代表已制订长远发展规划。
本课程将介绍并行计算机结构模型、系统互联技术,当代并行机系统:SMP、MPP和COW。
介绍并行计算性能评测方法与标准,并行算法的基础知识及模型。
并行算法的一般设计方法,包括串行算法的直接并行化,从问题描述开始设计并行算法,借用已有算法求解新问题。
并行算法的基本设计技术,并行算法的一般设计过程及PCAM设计方法学。
分布式系统的目标,分布式计算模型,远程过程调用,远程对象调用,消息通信,代码迁移,软件代理,移动实体的定位,时钟同步,分布式事务,以数据为中心的一致性模型,以客户为中心的一致性模型,分发协议,一致性协议。
基于协作的分布式系统:TIB/Rendezvoas,Jini,及二者的比较,协作模型。
协作系统中心通信、命名、同步、缓存和复制,容错性、安全性等。
考核方式:大作业;平时成绩(出勤情况+研讨情况)占20%。
课程主要教材:[1] 并行计算.陈国良.高等教育出版社,2011[2]分布式系统原理与范型(第2版). Andrew S. Tanenbaum Maarten Van Steen著,辛春生,陈宗斌等译.清华大学出版社,2008主要参考书目:[1]网络并行计算与分布式编程环境,孙家祖等,科学出版社,1996。
《并行与分布式计算》课程教学大纲
《并行与分布式计算》课程教学大纲课程基本信息注:L课程类别:选填“通识核心课/通识拓展课/通修课/学科基础课/专业主干课/专业选修课/专业实践/ 素质拓展”2.课程性质:选填“选修/必修”3.授课语言:选填“中文/双语/全英文或其他语种”二、课程目标注:1.支撑毕业要求指标点:选填项。
需要进行专业认证,有毕业要求指标点可参照的课程必填,无明确毕业要求指标点可参照的可不填。
三、理论教学内容注:L2.学生学习预期成果:描述学生在学完本节内容后应获得的知识、能力或素养水平(下同).教学方式:包括讲授、讨论、案例、演示等,但不限于所列,根据课程实际需要列举、实践(实验)教学2.实验类型:选填”验证性/综合性/设计性”;实习类型:选填“认识实习/生产实习/毕业实习”五、课程评价(一)考核内容、考核方式与课程目标对应关系注:1.课程目标在考核方式及占比:主要根据课程目标自行设计和制定多元化考核方式,表中所列仅为参考(红色数据可删除)。
但所列考核方式必须覆盖全体学生,可根据当学期具体教学情况酌情调整。
2.各考核方式占总成绩权重:根据课程实际情况对各考核方式占总成绩的权重予以赋值。
(二)考核方式评分标准.课程作业评分标准1.课程实验评分标准(笔试类评分标准可在大纲中按以下格式予以说明,也可在通过“试 卷分析表”予以说明)3.课程考试评分标准注:考核方式和课程目标在考核方式中占比应与“(一)考核内容、考核方式与课程目标对应关系” 一致。
所列考核环节,除了笔试类均须依次给出评分标准,格式同上。
笔试类课程考核评分标准可以在本课程大纲里进行说明,也可以通过提交“试卷分析表”予以说明。
五、参考书目及学习资料1 .《并行计算:结构,算法,编程》,陈国良,高教出版社,2003.《并行算法实践》,陈国良等,高等教育出版社,20042 .《分布式算法导论(第二版)》,(荷)Gerard Tel译者:霍红卫,机械工业出版社,2004.93 .《分布式计算(第二版)》,Hagit Attiya, Jennifer Welch著,骆志刚等译,电子工业出版社,2008.4。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程基本信息(Course Information)
课程代码 (Course Code)
*课程名称 (Course Name)
课程性质 (Course Type)
授课对象 (Audience)
授课语言 (Language of Instruction)
*开课院系 (School) 先修课程 (Prerequisite) 授课教师 (Instructor)
*课程简介(Description)
The basics part includes the following several parts. a) Linux operation system and it's common commands; the installation of packages, compiling of source code, linking of objects, running of executables and data visualization. b) The hardware part of parallel machine including the discussion of the effect of memory on the FLOPS in a parallel machine. c) Two kinds of parallel machines, shared-address-space machines or multiprocessors and message passing platforms or multicomputers. The programming patterns for this two kinds of parallel machines. The topological connection in parallel machines. The principle for designing of parallel algorithms. d) The communication pattern based on message passing and its realization MPI. The course does not include the programming for shared-address-space machines,e.g., OpenMP, etc.. e) The performance metrics for parallel systems, e.g., parallel runtime, speedup, efficiency, scalability and optimal cost, etc..
应用部分包括三部分。1)和数值线性代数相关算法的并行实现。如矩 阵相乘、Gauss 消去法、大型稀疏矩阵的 LU 分解、QR 算法以及实现这 些并行并行算法的软件包 ScaLAPACK。线性方程组和特征根问题的迭代 算法的并行实现归结为矩阵和向量相乘的并行实现,所以迭代算法的 并行实现不在该课程中。基于快速 FFT 在数值模拟的重要性,我们着 重介绍它的并行实现和标准软件包 FFTW。2)工程问题中常见的偏微分 方程的数值模拟方法,包括差分、有限元和谱方法。差分方法和有限
MA3151
*学时 (Credit Hours)48源自*学分 (Credits)
3
(中文)科学与工程中的并行计算
(英文)An Introduction to Parallel Computation: Applications in Science and Engineering
专业方向选修 B 组
数学、物理、化学、材料、机械工程、核工程、航空航天工程等专业 本科生
中文
数学系
《C 语言》,《微积分》、《线性代数》
课程网址
李大明
无
(Course Webpage)
该课程包含两部分:1)并行计算基础;2)并行计算在科学和工程问
题中的几个应用。该课程不包含非数值模拟的并行计算。
*课程简介(Description)
基础部分包含若干部分。a)Linux 操作系统和常用命令,软件包安装、 编译源码、库连接产生可执行代码、运行和数据可视化等过程。b)并 行机器的硬件方面,特别介绍内存的限制对并行性能(峰值 FLOPS)的 影响。c)地址共享和非地址共享的并行机器,以及它们对应不同的编 程模式。介绍并行机器的网络连接的,以及并行算法设计的基本原理。 d)基于地址非共享并行机器中进程间的通信方式(即消息的发送和接 受操作)的并行算法以及性能评价,以及它们在 MPI 标准库中的实现。 地址共享机器的编程方式(基于多线程的 OpenMP)不做介绍。e)并行 算法性能的评价指标,如执行时间、加速比、效率、可扩展性、费用 最优等。
元的并行实现基于区域分解方法。我们分别用软件 Petsc 和 Deal.ii 实现差分方法和有限元的并行计算,并评价它们的并行性能。对于无 结构网格,我们介绍 Metis 软件,它实现了网格的均匀分割,同时相 邻子网格间的节点个数尽可能少。把子网格映射到进程后,确保进程 的负载平衡,同时进程间的通信尽可能少。谱方法的并行实现通过并 行的快速 FFT 实现。我们以 Poisson 为例说明这些方法的具体实现, 以及模拟结果对精度和进程个数的依赖。3)在科学应用部分,我们强 调一些普遍算法:分子动力学模拟、Monte Carlo 方法和 Langevin 动 力学,以及它们的并行实现。描述一个物理系统关键在于自由度的选 择。一个描述方法是以很多粒子(如它们的位置、动量等)作为自由 度,我们以 Brownian 运动为例通过分子动力学实现并行计算。另一个 是以连续场作为自由度,我们以量子场论的若干模型为例通过 Monte
Carlo 方法和 Langevin 动力学实现并行计算。
This course includes two parts: 1) The basics of parallel computation; 2) Applications of parallel computation in science and engineering. Non-numerical simulations are not included in this course.