科百科
当前位置: 首页 范文大全

code blocks结构化程序设计(用Codeblocks进行OpenCL编程8)

时间:2023-07-02 作者: 小编 阅读量: 4 栏目名: 范文大全

buffer对象支持的数据类型可以是任意标题、向量以及用户自定义的数据类型。buffer对象中存储的数据是连续的,这就使OpenCLkernel可以用C程序员熟悉的指针随机访问方式来读取它们。image与buffer主要区别:为优化图像数据访存而进行的数据布局格式的变换,使得通过定义指针来访问数据非常困难。最后的结果是图像数据结构不仅对开发人员不可见,对kernel代码来说也是完全不可见。表示整型,浮点和无符号整型数据。

OpenCL的内存对象被分为两类,而这两类内存对象的具体位置、布局以及格式由参数来定义。这两类内存对象是buffer和image。

buffer内存对象

以传统CPU的意义看,buffer对象是一维数组,类似C程序中的malloc函数。buffer对象支持的数据类型可以是任意标题、向量以及用户自定义的数据类型。buffer对象中存储 的数据是连续的,这就使OpenCL kernel可以用C程序员熟悉的指针随机访问方式来读取它们。

image内存对象

image对象采用的是不同的方法。因为GPU是为处理图像任务而设计的,所以对图像数据的访问进行了深入优化。image与buffer主要区别:

为优化图像数据访存而进行的数据布局格式的变换,使得通过定义指针来访问数据非常困难。因为不同内存对象之间的位置关系对开发者来说是不可见的。最后的结果是图像数据结构不仅对开发人员不可见,对kernel代码来说也是完全不可见。只能通过专用函数来访问。

在处理图像数据时。用image内存较buffer内存更有效率。这节我们学习如何用image内存处理数据。

这节依然会用到读取和存储图像数据的函数,打开CL文件函数。这些以往章节都有,从这节起就不再复制上来了(节省大家阅读时间)。

一、使用Image内存处理图像数据要掌握以下几个概念。

1.主机上的图像对像是cl_mem,使用clCreateImage2D或clCreateImage3D来创建。

2.主机上的采样器。cl_sampler,它规定了内存数据的存储格式。他的格式如下:

3.内核图像对像:image2d_t和image3d_t,指明像素的坐标。

4.内核图像读取函数。

内核图像数据读取函数有read_imagex和write_imagex。x可取i,f,ui等值。表示整型,浮点和无符号整型数据。

5.内核图像信息函数。

get_image_width:获取图像宽度

get_image_height:获取图像高度

get_image_depth:获取图像深度

get_image_dim:获取图像长、高和深度

以上只是简录一些常用的函数。下面我们看一个例子。读取一张JPG,然后不做任何处理再保存成PNG,我们主要学习如何使用Image内存。

二、main.cpp源码三、save.cl源文件
    推荐阅读
  • 紫薯能做什么好吃的呢(你不知道紫薯还可以做这么多种好看好吃的美食)

    紫薯介绍紫薯又名黑薯,薯肉呈现紫色或深紫色,它除了具有普通红薯的营养成分外,还富含硒元素和花青素。紫薯中含有丰富的蛋白质,18中易被人体消化和吸收的氨基酸,维生素C,B,A等8种维生素和磷铁等10多种天然矿物质元素。

  • 珍惜粮食倡议书(怎么写倡议书)

    为此,我们发出以下倡议:以知为行,广泛参与,共做“勤俭节约”的践行者。点菜适量,吃饱为宜,以“光盘”为荣、“剩宴”为耻,珍惜每一粒粮食,自觉维护节俭用餐的良好风气。推己及人,互相提醒,成为“光盘行动”的传播者。监督身边同学,及时制止浪费行为;向亲人、朋友宣传“光盘行动”,劝说他们节约每一棵菜、每一粒米。让我们共同践行勤俭节约,从“光盘”做起,不浪费每一滴水、每一度电、每一张纸,共建节约型和谐校园。

  • 新冠疫苗对精子有影响吗

    虽然新冠疫苗还没有明确是否会对怀孕产生影响,但在新冠疫苗明确了孕妇、哺乳期的妇女都不能进行接种,所以为了安全起见,建议备孕的人群在接种后都适当推迟怀孕的时间,而参考其他与新冠疫苗类似的灭活疫苗,一般建议在接种3个月后,男女双方都经过体检,没有任何隐性疾病存在时即可怀孕。打新冠疫苗怀孕了会怎么办根据医嘱执行。

  • 传承精神力量彰显时代担当(让更多观众铭记和传承时代的榜样与精神)

    前不久,我受中央广播电视总台的邀请,在《故事里的中国》第三季中饰演老年时期的中国核潜艇第一任总设计师彭士禄。节目播出后许多观众告诉我,他们被彭院士一家两代践行“愿将此身长报国”的信念深深感染。他的童年颠沛流离,1933年,年仅8岁的彭士禄被捕入狱、受尽磨难。辞世后的第九天,他的骨灰被撒向了渤海湾,也就是中国第一艘核潜艇下水的地方。

  • 在家里怎样做炸土豆(如何制作炸土豆)

    主料:土豆2个辅料:油适量,盐适量,下面我们就来说一说关于在家里怎样做炸土豆?我们一起去了解并探讨一下这个问题吧!把土豆去皮切成滚刀块。然后放上盐和食用油。然后用筷子搅拌均匀,让土豆裹上盐和油,还可以把土豆放倒保鲜袋再放上盐和食用油,摇晃几下就可以了让土豆均匀裹上盐和油就行了。处理好后放入炸锅里,200度25分钟左右熟了就可以了。出锅上撒上小葱和自己喜欢的调料就行了。

  • 蛋黄果的种植方法 蛋黄果种植方法和技巧

    一般蛋黄果树三年结果,所以在第三年开始我们就需要按照成树的施肥规律来合理的进行施肥,主要注意花期和果期的管理。

  • 为什么我总是在怀念过去(我们为什么总是爱怀念过去)

    于是乎,“怀念”所指的竖着的心,不是今天的心,也不是未来的心,而是过去的心。所以怀念只针对过去,而不是针对现在和未来。也就是说,越接近生命线的终点,在生命线上属于过去的就越多,可供怀念的东西也就越多,自然就总爱去怀念。比如,你荣升处长的时候,你可能会回想起以前荣升副科长、科长、副处长等等值得怀念的瞬间。再比如,你失去以后,总会怀念曾经的美好。

  • 怎么制作汽车在迷你世界里(迷你世界怎么做汽车)

    接下来我们就一起去了解一下吧!怎么制作汽车在迷你世界里迷你世界怎么做汽车?②然后做轮子有个车身后,接下来就需要做两个轮子了,轮子比较简单,在木头的两边装上按钮,木头最好选择胡桃木,最后就是在前面的轮子上面加上和车身同样颜色的玻璃,这样一辆汽车就出来啦。目前这辆汽车好像不能走,如果大家知道怎么做会走的汽车,也可以在底下评论告诉大家,造福更多的玩家哟!

  • 手机放冰箱冷藏室里会冻坏吗 手机放进冷藏室会冻坏吗

    3、而手机放在冰箱里冷冻,锂电池表面的锂膜与电解液的微观结构,以及它们的交界面都会发生明显变化,导致电池内部暂不活跃,漏电流减少。所以再次充电后,手机的待电时间会增加。

  • 女性法定结婚年龄(年龄是20周岁)

    女性法定结婚年龄我国婚姻法规定法定婚龄为女满20周岁,男满22周岁。所以,尽管我国法律赋予每个公民结婚的权利能力,但并非所有公民都可以成为婚姻法律关系的主体,只有达到法律规定的结婚年龄的人,才享有结婚的权利。2021年1月1日起,《中华人民共和国民法典》施行。第一千零四十七条结婚年龄,男不得早于二十二周岁,女不得早于二十周岁。