Just My Life & My Work

Archive for the ‘平行與分散式程式設計’ Category

MapReduce的概念

對於Google如此成功的模範,我很好奇它所用到的技術MapReduce,所以就整理了一些資料,還挺好理解的。話說原本系上開的高等作業系統,今年附加了一個名字「雲端運算」,授課老師表示一直上舊有的作業系統知識實在很無趣,於是打算在今年之後教點有關雲端運算的知識。這讓我超級羨慕!令人驚訝的是最近在教MapReduce相關的議題。

(繼續閱讀…)

[OpenMP] 梯形法則 (Trapezoidal Rule)

已經設定好OpenMP程式設計環境後,接下來就是實際來寫一則code,仔細分析thread們如何運作,在此我選擇積分這個主題,以梯形法則 (Trapezoidal Rule)來計算曲線下的面積。

(繼續閱讀…)

[OpenMP] Hello World

學任何程式語言都要來Hello World,這裡OpenMP也不例外,在Microsoft Visual Studio 2010 Professional設定啟用OpenMP(可參考[OpenMP] Visual Studio 使用 OpenMP)之後,就可以編譯OpenMP的程式碼。

(繼續閱讀…)

[OpenMP] Visual Studio 使用 OpenMP

一開始我以為寫OpenMP需要安裝,就如同安裝OpenGL那樣,要把相關的.h、.lib、.dll檔丟到特定的資料夾,接著在專案中設定存取的相對位置,才能使用,不過那也是因為微軟「不想」支援OpenGL,我們才需要自己動手來「安裝」。好消息是微軟支援OpenMP,所以我們只要在專案特性中把OpenMP的選項打開即可寫OpenMP程式!

這篇文章要說是Visual Studio安裝OpenMP也是無妨!只要記得OpenMP已內建於Visual Studio中,我們只要去開啟它就能使用了!

(繼續閱讀…)

data parallelism & task parallelism

data parallelism和task parallelism的關係是怎樣呢?查了網路上,很少有比較的例子,還是看圖比較清楚。

(繼續閱讀…)

Flynn’s taxonomy

學習平行程式,一定要知道Flynn’s taxonomy的四種硬體架構。

(繼續閱讀…)

CPU與GPU的架構之想法

因為有在研究GPU,時常有人問我CPU和GPU架構有何差異,我的回答通常是序列處理和平行處理的差別。

這裡我們先來看CPU與GPU的硬體架構:

(繼續閱讀…)

MPI, OpenMP, CUDA三者的比較

想寫平行程式,必須先來瞭解平台和環境,簡單來比較這三者:MPI, OpenMP, CUDA

(繼續閱讀…)

標籤雲

%d 位部落客按了讚: