C++ AMP 相關資料

之前 Heresy 已經有在《微軟發表用於 GPU 大量平行計算的 C++ AMP》中介紹過由微軟所提出,在下一代的 Visual C++、也就是 Visual C++ 11 裡,基於其自家 Direct X 11 技術的新的 GPGPU、使用顯示卡來做通用計算的語法、C++ AMP(Accelerated Massive Parallelism)了~而隨著 Visual Studio 11 Beta 的推出,現在要試玩的話,也都可以開始用了。

在 Heresy 來看,C++ AMP 最大的好處,是在於它的語法概念是採用 C++ STL 的 Function object 的概念,和 STL 提供的 algorithm 的用法非常地相近,在簡單的範例上非常地好寫~下面就是一個簡單的 C++ AMP 的例子:

閱讀更多»

微軟發表用於 GPU 大量平行計算的 C++ AMP

自從 nVIDIA CUDA 推出後,把顯示卡的繪圖晶片拿來做通用計算的 GPGPU 算是用來越普及了~目前除了 CUDA 外,AMD 也有自己的 Stream SDK(目前以改名為 AMD APP),同時也更有跨硬體的標準 OpenCL 以及微軟 DirectX 裡的 DirectCompute(MSDN)。

而微軟在這幾天 AMD Fusion Developer Summit  上,也發表了一個用於 C++ 的 GPU 大量平行化的開發技術,命名為「C++ Accelerated Massive Parallelism」。目前似乎還沒有能找到詳細資料,不過就現在看到的資料,重點是在於:

  • STL-Like、C++ 的語法,只要會用 STL 就會用。也就是他的學習門檻會更低~
  • 會整合在下一版的 Visual C++ 中,不需要額外的編譯器也不需要其他的語法。
  • 基於微軟的 DirectCompute(這代表了他應該只能用在 Windows Vista / Windows 7)。
  • 將可以使用在 GPU,以及 APU 等適合大量平行計算(massively parallel)的硬體上。

詳細的資料可以參考《C++ Accelerated Massive Parallelism》和《Introducing C++ Accelerated Massive Parallelism (C++ AMP)》,不過說實話細節也不多。另外,在 Channel 9 上可以找到展示的影片(網頁簡報投影片),裡面有簡單的矩陣相乘範例程式碼;而在《Microsoft brings GPU computing to C++ with C++ AMP》一文中,也有一些簡單的說明。

閱讀更多»