高性能科学计算(High-performance computing for scientific research)

课程编号: 
0201803010-900

开课学期:

课程简介: 

  本课程的基本任务和目的是让从事工程、科学研究的学生了解高性能计算的基本概念、基本知识以及基本的实现方法,在以后的科研工作中如果需要进行高性能计算时能够相对较容易的上手。同时,本课程也是开阔学生视野,使其了解目前世界上进行的先进的高性能科学计算项目和领先的科研机构所从事的工作,这些工作包括寻找外星人、进行核试验等项目。在以后从事科学研究的各个领域都有可能遇到大规模计算的问题,因而高性能科学计算可以认为是一种基本的工具,希望通过本课程能够让同学们学会如何使用这一工具,并在需要的时候能够立刻拿来使用。
本课程共16学时,2学分。

已完成课程记录:
2014.2-2014.6 完成第一次春季学期课程,16学时,共25人选课。
2014.9-2014.12 选课人数不足,暂停开设。
2015.1-2015.6 暂停开设。
 

课程大纲与目录: 

(一)第一节(2课时)
1、授课内容:
  从同学们最熟悉的例子谈起,为什么玩电脑玩游戏时配置好的计算机更加流畅而配置稍差的计算机则会出现卡机现象?以此为引子,引入个人计算机并行化的概念。然后介绍高性能科学计算与各个学科之间的联系,举例说明高性能科学计算与所涉及的学科,如土木工程、水利水电工程、工程力学、流体力学、机械、新材料、新能源领域以及计算机学科、通讯科学学科的联系,其最基本的联系来自数学和物理上的关联,以此为契机引起同学们广泛的兴趣,对高性能科学计算不再认为遥不可及。
2、学生学完本课程后,应达到以下基本要求:
  同学们能够认识到高性能计算离我们的生活并不遥远,而是实实在在发生在我们身边的事情。
(二)第二节(2课时)
1、授课内容:
本章主要介绍并行计算的基本概念、发展历程;本章了解基本概念为主。并行计算的概念、发展历程、应用、面临的技术挑战、人类对高速计算的探索
2、学生学完本课程后,应达到以下基本要求:
对高性能科学计算不再陌生,而是能够实实在在的接触和大体了解什么是高性能科学计算。
(三)第三节(2课时)
3、授课内容:
基于多核多线程CPU的单机并行。
3.1编译环境的安装与配置(以Windows或Linux为例),以Fortran编译环境为例
3.2 OpenMP支持环境的配置
3.3运行第一个并行程序示例
4、学生学完本课程后,应达到以下基本要求:
能够按照自己的要求配置并测试所需要的多核多线程CPU的单机并行运算环境。
(四)第四节(6课时)
5、授课内容:
以Fortran或C为例,介绍编写科学计算程序的基础知识和基本步骤。
6、学生学完本课程后,应达到以下基本要求:
能够掌握变成语言的基本语法,并能够完成简单的程序设计和编写工作。
(五)第五节(4课时)
7、授课内容:
以求解线性代数方程组为例介绍基于OpenMP的多核多线程单CPU并行计算设计与实现。
8、学生学完本课程后,应达到以下基本要求:
能够基本掌握采用OpenMP进行简单并行计算任务的设计与实现。
(六)第六节(2课时)
9、授课内容:
上机,每个学生分配一个计算题目,根据已经完成的学习内容达到不同并行核心计算的测试试验,并形成实验报告,作为考核的一部分。每个学生的题目有老师采用程序随机生成和随机分配。
10、学生学完本课程后,应达到以下基本要求:
能够掌握基本的多核多线程单CPU并行编程。
(七)第七节(2课时)
11、授课内容:
介绍图形计算单元的基本概念及基础实现方法。
12、学生学完本课程后,应达到以下基本要求:
了解到计算机的显卡不单单是具有图形显示的作用,还能够进行大规模的科学计算。
(八)第八节(6课时)
13、授课内容:
基于Nvidia Cuda技术的并行计算策略
基于OpenAcc标准的GPU并行实现方法
14、学生学完本课程后,应达到以下基本要求:
基本了解和掌握GPU并行计算的基本过程和实现。
(九)第九节(4课时)
15、授课内容:
以线性代数求解问题为例进行演示和教授GPU并行的计算过程及实现方法
16、学生学完本课程后,应达到以下基本要求:
能够基本掌握基于Nvidia的GPU并行计算实现方法
(十)第十节(2课时)
17、授课内容:
上机课,联系GPU并行计算的过程及实现方法,并完成老师布置的作业题目。
18、学生学完本课程后,应达到以下基本要求:
基本掌握GPU并行计算的过程与实现方法,在以后的工作中需要时可以随时的拿起来应用。
 

课程类型: