並行程式設計導論筆記1 2章

2021-10-25 04:54:20 字數 530 閱讀 3399

並行程式設計導論筆記

第一章1.為什麼要構建並行系統?

電路電晶體密度過大會使處理器能耗增加,散熱的問題使通過繼續增快積體電路密度提高處理器效能不再現實,因此積體電路商決定構建多核處理器。

2.為什麼要編寫並行程式?

之前的序列程式適合之前的傳統處理器,為了充分發掘多核處理器的效能,必須對常見序列結構進行並行化以提高效能。

3.如何編寫並行程式?

基本思想是把任務分配給各個核,主要有兩種方法,任務並行和資料並行。

任務並行指的是把各個的任務分配給不同的核,資料並行指的是將待處理的資料分配給各個核進行處理。

任務並行很可能每個核執行的任務不一樣,資料並行分配給每個核的往往是相同的任務。

在平行計算中,需要注意協調過程,包括通訊、負載平衡、同步

通訊:在不同核把計算結果傳送給其他核

負載平衡:每個核的計算的工作量應該大致相等

同步:同步每個核的運算時間

4.怎麼做?

利用訊息傳遞介面(mpi)、posix執行緒和openmp來編寫基本的並行程式

演算法導論 第12章

這一章主要就講了個二叉查詢樹。有關它的所有操作。這個在前面的資料結構裡面已經具體實現過了,就不重複了,主要來說說這裡我的感受。1.關於輸出 這個就是個中序遍歷,找左子樹,列印自己,找右子樹,over。2.關於查詢 和遍歷類似,比較關鍵字k與root的大小,小於遞迴找左子樹。大於遞迴找右子樹。o了。不...

《並行程式設計導論》02 openmp

global result 0.0 pragma omp parallel num threads thread count openmp提供了乙個更清晰的方法來避免local trap的序列執行 將global result定義為乙個歸約變數。歸約操作符是乙個二元操作,規約就是將相同的歸約操作符重...

《並行程式設計導論》03openmp

氣泡排序 for list length n list length 2 list length 這裡陣列a儲存n個int型整數,演算法將他們公升序排列。外部迴圈先找到列表最大元素將他存在a n 1 中,然後尋找次大的元素並存在a n 2 中,以此類推。因此,第一遍處理全部的n個元素,第二遍處理除了...