作者blackmaninEE (黑人電機機)
看板NTHU_Course
標題[心得] 李濬屹 平行計算概論
時間Fri Aug 27 16:33:52 2021
課名:平行計算概論
科號:CS 411100
老師:李濬屹
課本:無
課別:電資院專業選修
學分:3
涼度:★★★
甜度:★★★★☆
建議先修課程:計算機程式設計、計算機結構、(Optional)高等計算機結構
課程內容\簡介:
這堂課主要是教你如何去平行化一個程式,並講解在平行化的過程中,各個層面帶來的影
響(ex: 硬體配置、Performance評估)。
學期初:
先從CPU層面的平行化開始(Pthread, OpenMP),會複習到一些計算機結構的內容,接著會
介紹Message Passing Interface,這兩個部分會各出一個作業實作。
學期中:
開始介紹GPU的平行化策略(CUDA),同時也是這一門課比較重要的地方,因為現在GPU的運
算已經是趨勢所在。除了講解GPU的平行化架構外,會有三份作業讓我們用CUDA去實作各
種平行化的任務。
學期末:
講解平行化實際執行時會遇到的問題,包含: 如何根據目標去選定適合的方法去評估表現
(Performance Evaluation)、平行化的過程如何確保cache的正確性(Cache Coherency)等
等。這邊不會出相關作業,可以當作吸收知識去聽。
上課方式:
實體上課用投影片上課,投影片會先上傳到iLMS上,後面因為疫情就改成線上直播上課,
然後教授不會點名。XD
給分:
Lab Assignment: 10%
Homework * 5: 40%
Midterm Exam: 20%
Final Project: 30%
考試作業型態:
這堂課評分方式比較多元,有5次程式作業、1次期中考以及1次Final Project。
程式作業:
每次都會有一個指定的任務,助教會提供sequential code,讓我們嘗試去對它平行化。
作業評分的部分除了report (20%),還需要繳交code上去,由助教那邊的測資去做測試,
並以其正確性(40%)和運行時間(40%)作為評分標準。助教會在server上建立一個scoreboa
rd,作為運行時間的排行榜,可以和同學比較誰的code比較快。
期中考:
範圍是到學期中教過的內容,雖然範圍有點多,不過考題並不會很刁鑽,基本上有好好讀
過講義兩遍就可以回答出來了!
Final Project:
題目由學生自由發想沒有特別限制,只需要找到一個task,去對它做平行化後再寫報告討
論即可。有人是以merge sort的平行化作為題目,也有強者去做流體力學的模擬平行化,
所以各種有趣的題目都有。
老師的喜好、個性:
老師人很好,課程schedule制定都會參考同學意見,像是作業做不完延期或是期中考考試
時間等等都很有彈性,有問題都可以跟老師溝通~~
Btw期中考試時老師會訂飲料請大家邊寫邊喝
給加簽嗎?
因為寫作業的server資源有限,基本上不給加簽。不過在加退選階段,有一些人聽完課程
大綱,或是寫第一次作業後就退掉了,所以可以嘗試點點看! 如果真的很想加簽,也可以
前幾周都去教室聽課,表現出學習熱忱,或許老師會幫你加簽XD。
補充:
這堂課整體下來蠻充實的,不同面向的學習都有(考試、作業、project實作),學完之後
我才看懂GPU到底在幹嘛,然後真正學會該怎麼寫C/C++,以前系上程式設計課沒學好QQ。
另外,老師上課的講義算是擷取了重點部分,如果有看不太懂得部分或是想要學更多,我
覺得可以參考CMU的線上課程及講義。我覺得CMU的講義寫得很不錯,可以跟課堂講義搭配
一起看。
Link:
http://www.cs.cmu.edu/afs/cs/academic/class/15418-s20/www/schedule.html
總成績:A+
成績分布:未公開
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.136.149.106 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/NTHU_Course/M.1630053235.A.AE1.html
※ 編輯: blackmaninEE (114.136.149.106 臺灣), 08/27/2021 22:52:31