OpenCL作為一種開放的并行加速計算標準,已經得到了AMD、Intel、NVIDIA等芯片業巨頭和大量行業廠商的支持,但唯獨缺少了微軟。就在AMD Fusion開發者峰會上,微軟終于拿出了自己的反擊武器:“C++ AMP”,其中AMP三個字母是“accelerated massive parallelism”的縮寫,也就是加速大規模并行的意思。 C++ AMP是微軟Visual Studio和C++編程語言的新擴展,用于幫助開發人員充分適應現在和未來的高度并行和異構計算環境。它使用C++語言的句法,將隨同下個版本的Visual Studio一同發布,不過可能會在今年晚些時候放出測試版本。 令人矚目的是,微軟宣布C++ AMP標準將是一種開放的規范,允許其它編譯器集成和支持。這無疑是對OpenCL的最直接回應。 為了展示了C++ AMP的威力,微軟現場運行了一個剛體模擬程序。同一個可執行文件能夠在多臺計算機和設備上運行,既支持 3GFlops的Llano APU x86處理器部分,也支持650GFlops的Llano APU協同加速,還支持830GFlops的Radeon HD 5800 CrossFire,另外在一臺使用AMD E系列APU的平板機上還獲得了16GFlops的計算能力,能夠模擬16000多個粒子。 OpenCL雖然是免費開放的,但也是目前異構計算的唯一選擇。誰也不敢保證C++ AMP能夠挑落OpenCL,但至少給開發人員提供了新的選擇,而且背后還有微軟這樣的大佬支持著。 ![]() |