2015-05-06 339 views
1

可以使用Gpu運行在Cpu上運行的程序,例如從鍵盤和鼠標獲得輸入,或者使用Direct3D和OpenGL Api播放音樂或閱讀文本文件的內容?GPU可以用來運行在CPU上運行的程序嗎?

+0

短:不,長:你會生氣嘗試。另一方面,如果您要執行幾萬億次浮點運算,GPU將支持您。 Google for OpenCL或CUDA。 – gnasher729

回答

0

GPU無法直接訪問OS所映射的任何內存,以便在客戶端代碼(即在CPU上執行指令時以用戶模式執行的代碼)內訪問該內存。另外GPU不應該執行這樣的東西,它的目標是高速執行浮點運算。最後,除非你只使用計算着色器,否則絕不會使用Direct3D或OpenGL來執行與圖形無關的任何事情。通用計算是在GPU上使用OpenCL或CUDA執行的,例如圖像處理或物理模擬。然而,您可以收集CPU上的任何數據,將其發送到GPU進行進一步處理,最後再將其寫回到可從CPU訪問的內存中。

+2

不一定正確;如果你想把浮點運算從CPU委派給GPU並得到結果,該怎麼辦?從來沒有這種情況下比使用CPU更有效嗎?我知道有上傳和下載費用,但爲了證明概念,是否有辦法做到這一點?可能通過將緩衝區作爲紋理髮送,然後執行復雜的着色器,然後將結果輸出到輸出緩衝區中。如果我理解正確; GPU具有對矩陣操作的本地支持,這可能會提高某些問題的性能。 – Dmitry

相關問題