0
A
回答
0
對我來說,並行實現的直觀選擇將是一個反向而非向前的映射。
考慮幾個源像素映射到單個目標像素的情況。在正向映射中,如果每個源像素都被評估爲不同的工作項目,則必須在目標像素上實現某種同步以協調多個寫入。在逆映射中沒有同步開銷,因爲它保證只有一個工作項寫入每個像素。
實施例逆映射內核代碼,利用的OpenCL的image2d_t和sampler_t概念用於圖像處理:
__kernel void warp(__read_only image2d_t srcImage,
__write_only image2d_t dstImage,
sample_r sampler)
{
int2 dstCoords = (int2){ get_global_id(0), get_global_id(1)};
int2 srcCoords = my_warp_func_inverse(dstCoords);
float4 srcPixel = read_imagef(srcImage, sampler, srcCoords);
write_imagef(dstImage, dstCoords, srcPixel);
}
當然也有例外,其中正向映射可能是優選的。例如,如果您有一個非常大的源圖像和一個較小的目標圖像,則正向映射將允許您將源圖像分割爲多個分段,然後將它們分割爲工作項或工作組,並將分段數據緩存在__private或__local地址空間。如果沒有事先了解映射函數的知識,反向映射可能需要訪問源映像的任何部分,這可能會將您限制爲__全局內存。
相關問題
- 1. 無BiMap映射和反向映射
- 2. 雙向/反向映射
- 3. matlab反向映射索引
- 4. Groovy反向映射鍵
- 5. 映射ReferencesAny的反向嗎?
- 6. 反向URL映射與AppEngine
- 7. Django的反向映射
- 8. 雙向映射
- 9. 雙向映射
- 10. 雙向映射
- 11. 具有非唯一值的多映射的反向/反向映射
- 12. 映射單向ManyToMany?
- 13. orika - 單向映射
- 14. 向量對映射
- 15. PHP雙向映射
- 16. AutoMapper雙向映射
- 17. Python雙向映射
- 18. hibernate @onetomany雙向映射不能正確映射數據
- 19. 映射和反向子列表
- 20. 反向映射字符串枚舉
- 21. 是否有反向映射功能?
- 22. 如何反向鏈接哈希映射?
- 23. MapStruct反向鏈接映射可能嗎?
- 24. 如何在Python中反向映射?
- 25. 休眠一對一反向映射
- 26. 使用automapper從dto反向映射
- 27. 集合映射vs關聯映射
- 28. 單向OneToMany映射問題
- 29. Java中的雙向映射?
- 30. JPA manytomany單向映射