2016-01-23 157 views
19

我正在研究C++中的高性能代碼,並且一直在使用CUDA和OpenCL,以及最近的C++ AMP,我非常喜歡它。然而,我有點擔心它不會被開發和擴展,並會消亡。什麼是C++的當前狀態AMP

什麼導致我這個想法是,即使是MS C++ AMP博客已經沉寂了大約一年。看看C++ AMP算法庫http://ampalgorithms.codeplex.com/wikipage/history似乎一年來都沒有發生過。

唯一的發展中,我所看到的是,現在LLVM那種支持C++ AMP,所以它不僅是窗口,但僅此而已,而不是已被告知無遠弗屆。

你知道什麼樣的工作正在進行,如果有的話?

+2

您可能希望查找支持導出到設備的OpenMP 4.0。我在clang ML上看到他們正在開發GPU代碼,但我不知道當前狀態。作爲OpenMP 3。0進來叮噹3.6,我猜對方會遲到。 –

+1

感謝您的提示。我不知道openmp現在支持GPU。這不是我有任何親身經歷的「框架」,但它確實看起來很有趣。再看一遍之後,我確實想知道爲什麼你想要通過OpenMP使用CUDA,OpenCL或AMP?似乎以一般方式提供了許多相同的內容,但也許我只是不知足以看清問題。 – JoeTaicoon

+0

OpenMP將爲您「生成」代碼。這很棒,但它可能沒有預期的那麼高效。在這種情況下,您可能希望編寫CUDA代碼以提高效率。正如你可以寫sse/avx代碼一樣,因爲編譯器不能成功地向量化一個循環。但我同意從長遠來看,如果我們能夠依靠這些功能將會更好! –

回答

11

讓我想到這個想法的是,甚至連MS C++ AMP博客都沉默了大約一年。看看C++ AMP算法庫http://ampalgorithms.codeplex.com/wikipage/history似乎一年來都沒有發生過。

我用於在C++ AMP算法庫工作。在最初的發佈之後,微軟將它放在一起,我構建了許多附加功能並將其移植到VS的更新版本中。似乎圍繞C++ AMP出現了動力損失。我沒有計劃對這個項目做進一步的工作。

使這個你會。也許有人從微軟可以澄清事情?

+5

感謝您回覆一個有點明確的答案。你是「The C++ AMP」一書的作者之一,現在不在編寫它,這使得這個假設C++放大器已經或多或少已經死了。真的太糟糕了。在我看來,這是一個非常有前景的舉措,但我想CUDA和OpenCL不願意放棄。 我想知道你現在看到什麼作爲大規模並行的最佳工具? – JoeTaicoon

+1

可惜,ms對此一言不發,因爲我認爲它是一個非常好的庫(除了困難的平鋪選項)。 – gast128

1

我發現,AMD仍在使用C++ AMP .. http://developer.amd.com/community/blog/2015/09/15/programming-models-for-heterogeneous-systems/ http://developer.amd.com/community/blog/2015/01/19/bolt-1-3-whats-new/ 還有一些論壇引用,英特爾是提它。

我看最主要的是,我們的程序員終於開始,我們可以使用GPU進行普通任務也想法玩。特別是現在HBM正在進入APU,你可以在相對便宜的系統上做很多事情。 因此,不要將數據複製到圖形卡或主存儲器,而是將其保存在可實時訪問的BIG HBM「高速緩存」中,即無需GPU等待時間。

所以微軟建立一個真正非常好的技術,只能在未來幾年內即當硬件終於「用戶友好」成爲相關。但是,如果他們不會像其他人一樣前進,那麼這件事就會過時。並不是說C++ AMP中不會有什麼功能,但是由於最近的變化速度非常大,程序員不會冒險開始使用它,如果他們沒有看到一些進步......至少每年有一兩個博客,他們在那裏測試了一些東西,以便你看到微軟仍然相信它。

0

我還在使用功放。現在我正在製作一個GPU路徑跟蹤器(希望)以供遊戲使用。

它現在沒有太多的文檔或很多新的更新可惜的接縫。這絕對是我想看到更新和使用更多的東西,但它接近死亡。

0

FWIW我們也在金融領域使用C++ AMP。非常成功的代碼比較容易。 CUDA可能是一個更安全的選擇,但如果有人正在考慮學習AMP,我建議先刷上基本的STL,然後閱讀數組視圖。

+0

這不提供問題的答案。一旦你有足夠的[聲譽](https://stackoverflow.com/help/whats-reputation),你將可以[對任何帖子發表評論](https://stackoverflow.com/help/privileges/comment);相反,[提供不需要提問者澄清的答案](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an- I-DO-代替)。 - [來自評論](/ review/low-quality-posts/17044014) –

相關問題