华南理工大学多核软件设计课程

提交新文章

2009年08月15日 05:00


回到大学老师们的课件>> | 回到学术社区首页>>

多核软件设计

课程简介:
多核处理器技术是当前高性能微处理器系统发展的主流趋势。以Intel为代表的国际主流微处理器厂商已经成功推出了多款双核和
四核微处理器系统,应用领域也从高端服务器向一般桌面系统延伸。如何充分发挥多核处理器在性能方面的优势,已经成为对当
前软件设计产业的重要挑战。本课程将要介绍多核处理器系统上的软件设计方法,特别是并行程序的设计技术。本课程入选2007
年度“教育部-英特尔精品课程”立项课程名单。

主要教学对象:计算机和软件专业高年级本科生,硕士研究生

前导课程:计算机组织和系统结构、操作系统

主要教材:[1] Shameem Akhter, Jason Robert 著,李宝峰,富弘毅,李韬译,多核程序设计技术,电子工业出版社 ,
2007,ISBN 978-7-121-03871-6

教学大纲下载

主要教学内容:

知识模块

讲授内容

主要知识点

理论学时

实验学时

软硬件基础知识

多核体系结构

多核微处理器产生的背景;
典型多核处理器结构介绍;
共享主存的并行程序设计模型;

1

 

多核操作系统

多核操作系统中的线程概念;
多核处理器上的线程调度策略

1

 

基本程序设计技术

Linux平台多线程程序设计
实验:生产者/消费者问题 (实验资料

Linux平台的多线程应用程序接口(API)

4

2

Windows平台多线程程序设计
实验:在Windows平台上实现生产者/消费者问题

Windows平台的多线程应用程序接口(API)

2

2

OpenMP程序设计
实验:矩阵相乘(实验资料

OpenMP的基本原理和常用语句

4

2

并行化技术

并行程序设计方法导论

任务图和任务分解策略
Amdahl定律和加速比的分析

4

 

多核并行程序设计实例

并行高斯消去法实验资料
并行排序实验资料
蒙特卡罗法求PI实验资料
并行查询 
K值问题
动态调度模型 (论文及实验资料

并行程序设计的源代码分析;
多核软件中Cache问题

4

8

性能分析工具

Windows平台

VTune工具的使用

2

2

Linux平台实验资料

Oprofile的使用

2

SSE编程

SSE体系结构与编程

SSE指令系统
寄存器结构

2

 

SSE编程实践

双精度三维变换

 

2

GPU原理与编程

GPU体系结构
CUDA编程
矩阵乘法实例

GPU体系结构
CUDA编程
矩阵乘法实例

4

 

总计

 

 

28

20