2011年4月16日 星期六

OpenMP 心得 (五) Sections Construct

大部分的程式實際上是由許多個工作任務所組合而成,有些工作任務可能只是一行簡單的敘述,像是輸出資訊到螢幕;也可能是由數個敘述或小型任務所組成的程式區塊,例如條件判斷結構、迴圈結構、以及函式等。在些任務在序列執行的環境下按照我們編撰它們的順序被執行,其中有些任務在處理過程中是彼此相關的,即某些任務在運算時需要用到其它任務的執行結果,處理這類具有相關性的任務必須要按其因果順序來進行。但有些任務彼此間是不相關的,也就是說執行它們並不需要按一定的順序,誰先誰後都不會影響到程序接下來的進展以及最後的計算結果,像這樣互為獨立的程式任務就可以使用 OpenMP 的 sections construct 來將它們平行化。