我有一個關於塊的平均值的問題。我有大小爲256 * 512的輸入數據,並且我在一個塊中放置了256個線程,所以總共有512個塊。輸出的大小應爲256,其中每個元素是不同塊之間相同線程ID的平均值。換句話說,所有512個塊中的線程1被平均,結果賦給輸出數組的線程1。類似地,所有512個塊中的線程2被平均並提供給輸出數組的線程2。我知道通過使用共享內存在一個塊內部平均做到相當快速和高效,但這不是這裏的條件。使用NPP函數可以讓我在for循環中完成它,但這非常耗時。任何人都可以提出如何有效地對塊進行平均處理的建議嗎?非常感謝!CUDA-如何對塊進行平均?
2
A
回答
2
爲什麼不把它翻轉,每塊512個線程,並做一個共享內存sum-reduction來計算塊內的總和,然後除以512並存儲到全局內存?
您也可以使用thrust快速使用按鍵減法操作對其進行編碼。
+0
謝謝你的回答。你的意思是先使用矩陣轉置,然後使用共享內存每塊平均執行512個線程?或者有更好的方法來分配線程和塊?類似於將輸入[0]放入塊0的線程0,將輸入[256]放入塊0的線程1,...,輸入[256 * 512-1]到塊0的線程511中。 – user1588794 2012-08-10 17:26:33
相關問題
- 1. 在MATLAB中對矢量的塊進行平均
- 2. 如何對一個月內的平均值進行求和
- 3. 如何按加權平均值對組進行彙總數據?
- 4. 我該如何平均分塊列?
- 5. 豬平行平均
- 6. 運行查詢並對平均值進行排序。
- 7. 平均行
- 8. 爲平均函數進行SQL查詢
- 9. 平均超過連續塊
- 10. 如何跟蹤執行的CUDA塊?
- 11. CUDA塊並行性
- 12. Javascript - 如何對數字進行平方?
- 13. 如何在MATLAB的列中對列的平均值進行標準化?
- 14. 以可變採樣率對週期性數據進行平均
- 15. 在matlab中對圖像進行平均的問題
- 16. 對文件中的平均分進行排序。列和降序
- 17. 對矢量圖進行平均以獲得中間圖像
- 18. xsl對3個子元素的平均值進行排序
- 19. 對一個方法的多個結果進行平均?
- 20. 對來自CSV文件的元組列表進行平均
- 21. Bash,如何獲得多個平均執行時間的平均執行時間?
- 22. 如何組行,並提取平均值
- 23. MYSQL平均N行
- 24. 讀值平均行
- 25. 如何有效地計算飛行中的平均值(移動平均值)?
- 26. 如何選擇平均
- 27. 如何計算平均值?
- 28. 如何統計mySQL中高於平均水平的行?
- 29. photoshop如何計算圖像的「平均模糊」(平均顏色)?
- 30. 如何獲得所選列的平均值(平均值)
難道你不能切換線程和塊,以便可以平均一個塊中的線程嗎? – chaohuang 2012-08-09 23:49:55