浅析OpenCL memory object(1)—buffer与image

 

        了解opencl的GPGPU同仁们都必须关注的问题之一就是内存。OCL使用ocl memory object 来存储各种输入或输出数据。ocl memory object 是global memory/constant memory的存储实体。

        ocl memory object可以分为两大类:buffer和image。

        如OCL spec 中所说,buffer具有以下特点:

                 (1).可视为随机访问的线性数组(可读可写),与数组的访问方式相同(Array[idx] = **)

                 (2).可以存储用户自定义的数据结构(自然也支持OCL内建数据类型)

                 (3).在kernel中需要提供buffer的字节参数来确定其大小

 

        image是一个模式化定制的数据容器,是支持矩阵运算和图像操作的利器。它的结构也与名称一致,具有图像数据的通道个数,通道类型等特征。image具有以下特点:

                (1).内存布局对用户透明(底层实现的硬件相关性大),需要使用内建函数进行读写(read_image, write_image等)

                (2).支持的数据类型有限(通道数目+通道的数据类型(单个像素字节数)均有限),不支持自定义的结构体。

                (3).不支持既读又写

               

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值