我有一個關於塊的平均值的問題。我有大小爲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. 超過塊取平均Cuda的
- 2. 在MATLAB中對矢量的塊進行平均
- 3. 如何使用Python對信號進行平均去除噪聲
- 4. 如何對一個月內的平均值進行求和
- 5. 如何按加權平均值對組進行彙總數據?
- 6. 如何對不同的羣組字段進行平均求和
- 7. 如何對txt文件進行排序以找到平均值
- 8. 我該如何平均分塊列?
- 9. Cuda圖像平均濾波器
- 10. matlab中如何平均時間序列對象的平均值?
- 11. 對數組對象進行迭代並計算平均值
- 12. 如何平均
- 13. 豬平行平均
- 14. 運行查詢並對平均值進行排序。
- 15. 用SQL對一些行進行平均排序
- 16. 平均行
- 17. 平均n行
- 18. 使用accumarray進行加權平均?
- 19. 爲平均函數進行SQL查詢
- 20. 平均超過連續塊
- 21. 多個滑塊和平均
- 22. Javascript - 如何對數字進行平方?
- 23. 如何跟蹤執行的CUDA塊?
- 24. 如何多次查找並在excel中對它們進行平均
- 25. 如何根據平均計算對mysql查詢結果進行分組?
- 26. 如何在MySQL中對不同平均值的三個變量進行分組?
- 27. 如何在MATLAB的列中對列的平均值進行標準化?
- 28. 如何平均配對百分比
- 29. CUDA塊並行性
- 30. MongoDB - 如何進行查詢以獲得平均使用率?
難道你不能切換線程和塊,以便可以平均一個塊中的線程嗎? – chaohuang 2012-08-09 23:49:55