我看到英特爾(MIC)架構爲「基於x86的GPGPU」,如果你熟悉的GPGPU的概念,你會發現你自己熟悉的英特爾MIC。
一種均勻聚類是一個系統的基礎設施與多個執行單元(即CPU)的所有具有相同的功能。例如,具有四個Intel Xeon處理器的多核系統是同質的。
異構集羣是具有多個具有不同特徵(即CPU和GPU)的執行單元的系統基礎結構。例如,我的帶有英特爾i7 Haswell(4個CPU),Nvidia GT740M(GPU)和Intel HD Graphics 4600(GPU)的Levono z510是一個異構系統。
異構代碼的一個例子可能是一個視頻遊戲。
視頻遊戲有一個控制代碼,由一個CPU的一個代碼執行,用於控制其他代理執行的操作,其在GPU上執行的發送着色器,要在其他內核或GPU上執行的物理計算等。
在這個例子中,您需要編寫運行在CPU上的代碼(因此它是「CPU意識」)和運行在GPU上的代碼(因此它是「GPU意識」)。這實際上是通過使用不同的工具,不同的編程語言和不同的編程模型!
均勻碼是代碼,不需要知道ň不同的編程模型,每一個不同類型的代理。它只是相同的編程模型,語言和工具。
看看這個非常簡單的sample code爲MPI庫。
代碼全部寫入C,它是相同的程序,只是採取不同的流程。
關於應用程序,那真是一個廣泛的問題......
正如上面說我看到的英特爾MIC基於x86的ISA(至少其一部分)GPGPU。
的SDK特別有用(和你鏈接的視頻中列出)與集羣系統的工作是OpenCL,它可用於快速processing of images and computer vision,基本上用於任何需要相同的算法不同運行數十億次輸入(如加密應用程序/暴力強制)。
如果您在網頁中搜索,你會得到一個想法上的一些基於OpenCL的項目。
要回答你的第二個問題,最好是問自己「什麼不能利用MIC架構的?」我們很快就會發現,更多的算法是從Stream Processing的概念和相關主題遙遠,其中包括Kernel之一,它適用於MIC越少。
這是過於廣泛,這個論壇的一個問題。 – Jeff