我正在使用CUDA編寫的程序出現問題。我有一個輸入數組和輸出數組,我需要將其複製到設備內存。問題在於兩個陣列太大而無法放入設備內存。我現在正在做的是拆分輸入和輸出數組,併爲這兩個部分按順序運行內核。
爲了使這種方法起作用,我使用了一箇中間數組,因爲cudaMemcpyFromArray和cudaMemcpyToArray只能用於紋理內存。這會導致不必要的內存複製操作。有誰知道更有效的方法?CUDA中大量輸入的高效memcpy?
0
A
回答
0
如果數組的一個段上的操作獨立於數組的另一個段上的操作,則可以使用異步存儲器複製。這將幫助您在計算時來回複製事物。來自cuda c編程指南:
某些函數調用是異步的:在設備完成所請求的任務之前,將控制返回給主機 線程。它們是:
- 內核啓動;
- 設備到設備的內存拷貝;
- 64 KB或更少內存塊的主機到設備內存副本;
- 由帶有Async後綴的函數執行的內存副本;
- 內存集函數調用。
希望它能幫助兄弟。你也可以考慮使用大米編碼來壓縮數組,以使它們合適。
1
相關問題
- 1. CUDA中的高效圖像金字塔?
- 2. postgresql中的高效增量插入
- 3. 大型矢量最高效的VHDL?
- 4. CUDA的memcpy(dst,src,0)可能寫入* dst嗎?
- 5. 使大的Mysqli插入效率更高
- 6. 高效的批量數據插入
- 7. 渲染大量單個像素高效?
- 8. CUDA最大數量管理
- 9. 更改導航欄項的高度以匹配大量輸入
- 10. 提升等效的memcpy?
- 11. 檢測輸入中的最大數量
- 12. 處理「大量輸入」中的「Kill」
- 13. 將大文件(最多2GB)有效地傳輸到CUDA GPU?
- 14. 在Android AutoCompleteTextView中高效加載大量數據(大約5000)
- 15. 使用不同數量的輸入在MS SQL Server中進行高效計算
- 16. Cuda的不修改輸入,如果網格尺寸太大
- 17. 大型矢量空間高效的C++矢量分配器?
- 18. 如何在含有大量數據的NSScrollview中高效滾動?
- 19. 如何在Python中高效地運行大量的子進程?
- 20. 在CUDA內核memcpy調用中使用array [i] [j]
- 21. 如何在CUDA中高效地打包比特?
- 22. Python:高效的bytearray增量
- 23. 通過大量的輸入通過Ajax
- 24. Ember全局變量的輸入大小
- 25. 在jQuery中,如何高效地添加大量元素?
- 26. Matplotlib:如何在3D中高效地繪製大量線段?
- 27. 在javascript中測量websockets數據輸入/輸出的大小
- 28. 等效的memcpy不同的結果?
- 29. 蟒蛇中的高效張量收縮
- 30. 高效的數據導入?