//创建的内存对象由内核访问,将缓冲区作为参数传递给内核

1:创建缓存对象

cl_mem clCreateBuffer(

cl_context context,  //上下文

cl_mem_flags flags,     //内存对象性质标签

size_t size,      //大小

void* host_ptr,    //主机地址

cl_int *errcode_ret  //错误码

)

性质标签:

CL_MEM_READ_WRITE     指定内核对象将由内核读写

CL_MEM_WRITE_ONLY     指定内核对象只由内核写

CL_MEM_READ_ONLY       指定内核对象只由内核读

CL_MEM_ALLOC_HOST_PTR         指定缓冲区应当在宿主机可访问的内存中分配,不能与下一个性质一起用

CL_MEM_USE_HOST_PTR    实现使用host_ptr引用的内存作为内存对象的存储位

CL_MEM_COPY_HOST_PTR       实现分配内存对象的内存,并从hst_ptr引用的内存复制数据,不能和上一个性质一起使用。可以和CL_MEM_ALLOC_HOST_PTR,初始化这些对象的内容。且host_ptr不为NULL

2:创建子缓存对象

cl_mem clCreateSubBuffer(

cl_mem buffer,            //缓存对象

cl_mem_flags flags,            //性质对象

cl_buffer_create_type buffer_create_type,//CL_BUFFER_CREATE_TYPE_ORGIN

const void* buffer_create_info,     //缓存创建信息数据

cl_int* errcode_ret            //错误代码

)

缓存创建信息结构数据:(buffer_create_info)

typedef struct _cl_buffer_region{

size_t origin;

size_t size;

}cl_buffer_region;

3:获取缓存对象相关信息

cl_int clGetMemObjectInfo(

cl_mem memobj,      //缓存对象

cl_mem_info param_name,   //信息类型名称

size_t param_value_size,    //要获取相关信息的大小

void* param_value,       //存放缓存信息的地址

size_t param_value_size_ret  //实际获得信息的大小

)

opencl(5)缓存对象的更多相关文章

  1. OpenGL帧缓存对象(FBO:Frame Buffer Object)(转载)

    原文地址http://www.songho.ca/opengl/gl_fbo.html 但有改动. OpenGL Frame BufferObject(FBO) Overview: 在OpenGL渲染 ...

  2. 顶点缓存对象(VBO)

    创建VBO 绘制VBO 更新VBO 实例 GL_ARB_vertex_buffer_object扩展致力于提供顶点数组与显示列表的优势来提升OpenGL效率,同时避免它们实现上的不足.顶点缓存对象(V ...

  3. Cache缓存对象缓存对象

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DemoCache.aspx ...

  4. OpenGL 顶点缓存对象

    顶点缓存对象(Vertex Buffer Object,简称 VBO),允许开发者根据情况把顶点数据放到显存中. 如果不用 VBO,用 glVertexPointer / glNormalPointe ...

  5. 现代3D图形编程学习--opengl使用不同的缓存对象(译者添加)

    现代3D图形编程学习系列翻译地址 http://www.cnblogs.com/grass-and-moon/category/920962.html opengl使用不同的缓存对象 在设置颜色一章中 ...

  6. [翻译] 编写高性能 .NET 代码--第二章 GC -- 减少大对象堆的碎片,在某些情况下强制执行完整GC,按需压缩大对象堆,在GC前收到消息通知,使用弱引用缓存对象

    减少大对象堆的碎片 如果不能完全避免大对象堆的分配,则要尽量避免碎片化. 对于LOH不小心就会有无限增长,但LOH使用的空闲列表机制可以减轻增长的影响.利用这个空闲列表,我们可以在两块分配区域中间找到 ...

  7. 顶点缓存对象(VBO)【转】

    http://www.cnblogs.com/hefee/p/3824300.html 顶点缓存对象(VBO) 创建VBO 绘制VBO 更新VBO 实例 GL_ARB_vertex_buffer_ob ...

  8. OpenGL帧缓存对象(FBO:Frame Buffer Object)

    http://blog.csdn.net/dreamcs/article/details/7691690 转http://blog.csdn.net/xiajun07061225/article/de ...

  9. OpenGL帧缓存对象(FBO:Frame Buffer Object) 【转】

    http://blog.csdn.net/dreamcs/article/details/7691690 原文地址http://www.songho.ca/opengl/gl_fbo.html 但有改 ...

随机推荐

  1. 到手的DEM不会用?教你6个常用强大功能

    一.概述 DEM是数字高程模型(Digital Elevation Model)的简称,接触GIS,规划,设计类的多多少少会接触到DEM,可是这个直接查看黑溜溜一片DEM到底可以用来做什么呢? 二.背 ...

  2. Docker之commit制作镜像

    一.docker是什么? Docker是一个为开发人员和系统管理员提供分布式应用程序的开放平台.它是一个开源的容器引擎,基于Go语言并遵从Apche2.0协议开源. 功能:Docker可以让开发者打包 ...

  3. Java Concurrent包初探

    同步容器: Vector/Hashtable:jdk1.0就已经存在,jdk1.2改写实现List/Map接口.作为ArrayList/HashMap在并发场景中的替代类出现.注意:Hashtable ...

  4. 策略模式C++实现

    #include <iostream> using namespace std; class Strategy; class Context { public: Context(Strat ...

  5. P2444 [POI2000]病毒 AC自动机

    P2444 [POI2000]病毒 #include <bits/stdc++.h> using namespace std; ; struct Aho_Corasock_Automato ...

  6. Jquery动画,排队与并发

    一.事件绑定 1.鼠标事件:模拟触发 什么是模拟触发? 虽然没有点在按钮上,也可以触发按钮的事件处理函数. 如何:$元素.trigger("事件名") 即使没有点在指定的元素上,也 ...

  7. kubernetes flannel pod CrashLoopBackoff解决

    背景 某环境客户部署了一个kubernetes集群,发现flannel的pod一直重启,始终处于CrashLoopBackOff状态. 排查 对于始终CrashLoopBackOff的pod,一般是应 ...

  8. iperf压测linux网卡带宽

    1.安装 yum install iperf --enablerepo=epel 2.启动服务端 iperf -s -i 1 3.启动客户端测试10分钟 iperf -c 172.16.3.153 - ...

  9. BZOJ1010单调性DP优化

    1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 10707  Solved: 4445[Submit][S ...

  10. 【万字图文-原创】 | 学会Java中的线程池,这一篇也许就够了!

    碎碎念 关于JDK源码相关的文章这已经是第四篇了,原创不易,粉丝从几十人到昨天的666人,真的很感谢之前帮我转发文章的一些朋友们. 从16年开始写技术文章,到现在博客园已经发表了222篇文章,大多数都 ...