Created by: ysh329
cl::Image2D
格式
OpenCL支持- 支持
cl::Buffer
与cl::Image2D
的相互转换op。因使用了L1 cache的使用,基于cl::Image2D
的kernel性能好于cl::Buffer
; - 支持
cl::Buffer
与cl::Image2D
的自动转换,由框架pass、model_optimize_tool完成。原理:OpenCL适配type_layout_cast_pass
,当前后两个kernel的layout不同时(比方前一个是NCHW、后一个是NHWC),该pass中间自动加入layout op; - 可行性验证:跑通仅有relu的小模型和Layout单测。relu小模型的op流程:feed -> io_copy(host_to_device) -> layout (buffer_to_image2d) -> relu -> layout(image2d_to_buffer) -> io_copy(device_to_host) -> fetch