高級語言程序設計一課程大綱_第1頁
高級語言程序設計一課程大綱_第2頁
高級語言程序設計一課程大綱_第3頁
高級語言程序設計一課程大綱_第4頁
高級語言程序設計一課程大綱_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、并行程序設計課程大綱課程基本信息課程編號 F06D3740 學分 2.0開課學期秋 春 夏(小學期)課程名稱一(中文)并行程序設計課程學時 及其分配課內總學時課內學時分配建議課外學時24講課學時24課程準備和復習0實驗學時0實驗/上機準備0上機學時8課外上機0(英文)Parallel Programming課程類別口必修選修1年級口2年級3年級 口4年級口教學方式課堂講授為主口實驗為主自學為主專題討論為主考核方式 三次作業(yè)分數匯總(百分制)評分依據考勤加上以及三次作業(yè)的得分,作業(yè)的分數分別是:20, 50, 30適用院系 適用專業(yè)計算機學院,高等工程學院計算機軟件與理論,計算機應用技術,計算機

2、系統(tǒng)結構先修課程高級程序語言設計數據結構與算法計算機系統(tǒng)結構編譯技術預備知識教材與 (1)并行程序設計原理 中譯本,Calvin Lin, Lawrence Snyder著,陸鑫達 林 參考文獻新華 譯 機械工業(yè)出版社,2009年7月。(2)并行計算導論(原書第2版)中譯本,Ananth Grama,Anshul Gupta,George Karypis,Vipin Kumar著,張武 毛國勇 程海英 譯,機械工業(yè)出版社,2004年 12月。(3)UNIX 環(huán)境高級編程(第二版),W.RICHARD STEVENS , STEPHEN A.RAGO著,尤晉元 張亞英戚正偉譯,人民郵電出版社,2

3、006年5月。三、教學目標本課程目標在于使學生了解并行計算的基本概念與原理,培養(yǎng)學生的并行思維,學會在多核多CPU硬件平臺上編寫簡單的并行程序,并初步具備解決實際 問題的能力。通過本課程的學習,學生應該能了解當前流行的并行計算機的體系 結構,多核芯片以及異構多核芯片的演變過程; 熟悉進程間通信的基本技術,包 括管道、消息隊列、信號量、共享內存;掌握線程的基本概念,線程安全性,線程的創(chuàng)建、終止、同步與控制;了解 MPI并行程序結構,掌握 MPI基本通信原 語,包括點對點通信、集合通信;掌握幾種重要的并行設計模式,包括數據并行、 流水線并行、工作池模式和主從模式;掌握并行程序的性能分析方法。學完本

4、課 程,學生具備分析和解決易并行問題的能力, 能夠在一周時間內,編寫并調試通 過、能正確運行、具備可擴展性的、200行有效代碼以內的并行程序。四、課程簡介隨著多核體系結構的出現和發(fā)展,使得并行計算科學的硬件基礎設施發(fā)生了 很大的變化,如果把并行硬件基礎設施看成是“經濟基礎”,則其相應的上層并 行軟件就可以視為“上層建筑”。本課程的主要目的是讓學生了解并行計算的概 念和原理,學習并行編程技術,培養(yǎng)學生并行程序設計思維,使其能夠在多核體 系結構上進行高效的并行程序設計,以充分利用多核所提供的硬件并行性。五、課程教學內容及基本要求第1講、并行程序設計基礎(2學時)目標:要求學生了解并行的基本概念,

5、學習并行程序設計的必要性;了解共享存儲與分布式存儲并行計算機架構; 了解多核與異構多核處理器架構;并行計算的應用范圍; 并行計算技術概覽。主要內容:什么是并行計算為什么要學習并行程序設計并行與并發(fā)并行與分布式并行計算的應用并行層次與分類并行計算機架構及分類并行計算的發(fā)展趨勢與挑戰(zhàn)重點:并行計算的概念、多核處理器的特點、 集群體系結構、并行計算機內存訪問模型、 并行的層次與分類難點:多核處理器的歷史與架構、多進程、線程概念、操作系統(tǒng)對并行計算的支持、并 行編程環(huán)境第2講、多進程程序設計(4個學時)目標:要求學生了解多進程的概念與特點,熟悉多進程程序開發(fā)技術,了解進程間通信的必要性,熟悉常用的進程

6、間通信技術。本章內容重在了解,不要求學生必須掌握。主要內容:進程的基本概念與特點進程的控制信號進程間通信重點:多進程的概念與特點、多進程程序設計難點:管道、消息隊列、信號量、記錄鎖第3講、多線程程序設計(6學時)目標:要求學生掌握線程的概念,學會在Linux平臺下編寫多線程程序;掌握線程的創(chuàng)建、終止、控制與同步;掌握線程的調試方法。主要內容:線程基礎線程的基本操作多線程的共享變量線程同步機制多線程信號處理并發(fā)常見問題重點:線程基礎、線程的創(chuàng)建與終止、線程同步、線程安全性難點:線程同步、線程安全性第4講、MPI程序設計(4學時)目標:要求學生掌握 MPI程序的結構,了解 MPI的組和通信子的概念

7、,掌握 MPI常用通信原語。主要內容:認識MPI什么是MPI為什么要用MPIMPI編程基礎MPI集合通信MPI與Pthread混合編程重點:MPI的程序結構、點對點通信、集合通信難點:MPI的執(zhí)行模型、集合通信、MPI與Pthreads混合編程第5講、并行程序性能分析方法(4學時)目標:要求學生能夠了解影響并行程序性能的因素;掌握衡量并行程序優(yōu)劣的指標,這些指標包括加速比、可擴展性、執(zhí)行時間;掌握如何計算這些指標,并根據這些指標分析并行程序性能瓶頸。主要內容:實例:通過性能分析改進程序性能并行程序性能度量影響并行程序性能的因素并行程序的可擴展性改進并行程序性能的幾種策略重點:性能度量難點:影響

8、并行程序性能的因素、性能優(yōu)化方法第6講、并行算法設計與并行模式(4學時)目標:要求學生了解并行算法設計的常用方法和常見的并行模式,并能用這些并行模式解決實際問題。主要內容:并行算法設計基本方法常用的并行模式數據并行任務并行工作池模式主-從模式流水線模式(或生產者-消費者)Google 的 MapReduce 編程框架重點:主-從模式,流水線模式難點:數據并行、任務并行、工作池模式六、課程知識單元和知識點并行程序設計基礎知識點并行計算概念并行計算機分類多核處理器架構并行層次與分類多進程編程與進程間通信知識點多進程的創(chuàng)建管道消息隊列信號量記錄鎖共享內存信號處理多線程編程知識點線程基礎線程的創(chuàng)建線程

9、終止線程互斥條件變量讀-寫鎖信號量線程安全性線程設計技巧MPI編程知識點MPI的特點MPI執(zhí)行模型進程組通信域點對點通信原語集合通信原語并行程序性能分析方法知識點影響并行程序性能的可能因素執(zhí)行時間度量方法加速比度量方法可擴展性度量方法常用的性能優(yōu)化方法并行模式知識點數據并行任務并行工作池模式主-從模式流水線模式七、課程實踐環(huán)節(jié)課程實驗(一)實驗名稱:多進程編程實驗目的:通過實驗使得學生了解多進程程序的設計方式,程序結構特點,父進程與子 進程間的通信與控制技術。實驗內容:含2道編程題:1道簡單編程題,1道難度較大的選作題。課程實驗(二)實驗名稱:線程編程實驗目的:通過實驗使得學生能夠正確理解線程的執(zhí)行過程,線程的創(chuàng)建、中止、結束 方法,能夠掌握互斥、條件變量、信號量等線程間的同步技術,能夠判斷線 程安全性引起的原因并加以解決。實驗內容:含1道編程題,大概需要 200行左右的代碼,CourseGrading系統(tǒng)自動評判 提交的多線程并行程序。課程實

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論