GPU真快,當談到paralleled computation並且不與爲15-30執行CPU(有的甚至報道50)倍的速度然而, GPU內存是非常有限的比較CPU內存和GPU內存與CPU之間的通信速度並不快。假設我們有一些數據不適合GPU ram,但我們仍然想使用 這是奇蹟般的計算。我們可以做的就是將這些數據分成幾塊,然後將它們逐個送入GPU。發送大量數據到GPU可能需要一段時間,有人可能會想,如果我們將數據分成兩部分並喂入前半部分,則運行內核,然後在內核運行時喂另一半。將數據傳輸到GPU內核同時運行,以節省時間
通過這個邏輯,我們應該節省一些時間,因爲數據傳輸應該去上,而計算是,希望沒有打擾它的工作,完成後,它就可以說,好吧,繼續它的工作,而不需要等待新的數據路徑。
我必須說我是新來的gpgpu,新來的cuda,但我一直在嘗試簡單的cuda代碼,並且注意到用於在CPU和GPU之間傳輸數據的函數cudaMemcpy會在kerner運行時阻塞。它會一直等到內核完成,然後才能完成它的工作。
我的問題,是有可能實現類似的東西上面,如果是那樣,可能一個顯示一個例子或提供如何可以做一些信息源?
謝謝!
我需要幫助提出更好的技巧, 會真的很棒, 謝謝! –