2008-09-23 113 views
5

我想知道什麼是關鍵的事情,可以幫助你在GPGPU的發展和當然是什麼約束,你覺得不可接受。GPGPU(通用GPU)開發的優點和缺點是什麼?

想到我:

  • 關鍵優勢:原始動力的這些東西
  • 鍵約束:內存模型

您有什麼看法?

+0

http://codeflow.org/read-the-faq/#subjective – 2008-09-23 22:08:26

回答

0

曾經是他們的並行架構和額外的硅,這是大部分閒置,因此可以在一旁爲一般purpos編程任務中使用有趣 -

看到的 - http://en.wikipedia.org/wiki/CUDA

但面對Lou的回答,這可能不太重要。

4

你必須小心,你如何解釋Tim Sweeney在Ars採訪中的陳述。他表示,隨着我們的應用程序和硬件彼此向前發展,擁有兩個獨立平臺(CPU和GPU),一個適合單線程性能,另一個適合面向吞吐量的計算,將很快成爲過去。

GPU的發展源於CPU的技術侷限性,這使得更合理的分辨率和幀速率下可以更自然地使用光線跟蹤和光子映射等自然算法。 GPU帶來了截然不同的限制性編程模型,但是對於那些需要精心編碼的應用,吞吐量可能會提高2或3個數量級。這兩種機器模型具有(並且仍然)具有基本不同的編碼風格,語言(OpenGL,DirectX,着色器語言與傳統桌面語言)和工作流程。這使得代碼重用,甚至算法/編程技巧重複使用都變得非常困難,並且任何希望利用密集的並行計算基板進入這種限制性編程模型的開發人員都會ha手ha腳。

最後,我們來到了這個密集的計算基板類似於CPU編程的點。雖然這些大規模並行加速器的一個「核心」之間仍然存在相當大的性能差異(儘管G80內的SM內執行的線程並不完全是傳統意義上的核心),而現代x86桌面芯,兩個因素驅動這兩個平臺的收斂:

  • 英特爾和AMD正朝着在x86芯片更多,更簡單的內核,與所述的GPU,其中單元正變得越來越粗粒和可編程隨時間收斂硬件)。
  • 這個和其他力量正在產生許多新的應用程序,可以利用數據或線程級並行(DLP/TLP),有效地利用這種襯底。

因此,蒂姆說的是,兩個不同的平臺將會收斂,甚至比例如OpenCl所提供的更大。來自採訪的突出報價:

TS:不,我確切地看到你在哪裏 標題。在下一代控制檯 一代,你可以有控制檯 由單一非商品 芯片組成。這可能是一個通用處理器,它 是否從過去的CPU 架構或GPU架構演化而來,並 它可能會運行 一切-圖形中,AI, 聲音,並且在 完全均勻的方式,所有這些系統。這是一個非常有趣的前景,因爲它 可以大大簡化 工具集和創建 軟件的過程。我們不得不使用多種 編程語言。我們使用一個 編程語言編寫像素 着色器,另一個用於編寫遊戲 的代碼,然後在PlayStation 3上我們使用 又一個編譯器編寫代碼到 在Cell處理器上運行。所以 PlayStation 3的結束是一個 特別的挑戰,因爲那裏 您有三種完全不同的 來自不同廠商有不同 指令集和 不同的編譯器和不同 性能技術的處理器。因此,很多複雜性是不必要的,並且 使得負載平衡更加困難。

當你有,例如,不同 編程功能三個 不同的芯片,你經常 有兩個那些芯片的閒置 的大部分時間,而其他 被刷爆了。但是如果架構 是完全統一的,那麼您可以隨時在芯片的任何部分上運行任何任務,並以此方式獲得最佳的性能折衷。

0

關鍵優勢是gigaflops - 原始動力。缺點包括有限的非正交指令集和編程模型。

這裏有一個調查紙: http://graphics.idav.ucdavis.edu/publications/print_pub?pub_id=907

維基百科的文章是一個非常好的開始。

Lou Franco指向Tim Sweeney的採訪;這裏是他給了一個報告,裏面有詳細的幻燈片: http://www.scribd.com/doc/5687/The-Next-Mainstream-Programming-Language-A-Game-Developers-Perspective-by-Tim-Sweeney

可能還會鼻子周圍: http://gpgpu.org

相關問題