opencl(2)平台、设备、上下文的获取与信息获取
1:平台
1)获取平台id
cl_int clGetPlatformIDs(
cl_uint num_entries, //想要获取的平台数
cl_platform_id * flatformids, //获取到设备会保存在该指针中
cl_uint *platforms //环境中存在的平台数量
)
2)获取指定平台的info
cl_int clGetPlatformInfo(
cl_platform_id platform_id, //platform平台
cl_platform_info param_name, //获取信息的类型
size_t param_value_size , //所要保存信息的字节大小
void *param_value, //所要保存的地址
size_t param_value_size_ret //实际信息的数据大小
)
信息类型:
CL_PLATFORM_PROFILE 确认系统是否支持完整的opencl版本还是嵌入式版本(FULL_PROFILE EMBEDDED_PROFILE)
CL_PLATFORM_VERSION
CL_PLATFORM_NAME
CL_PLATFORM_VENDOR 返回和平台相关的厂商
CL_PLATFORM_EXTENSIONS 查看平台支持的浮点精度扩展
2:设备
1)获取设备id
cl_int clGetDeviceIDs(
cl_platform_id platform_id, //所选平台
cl_device_type device_type, //设备类型
cl_uint num_entries, //想要获取的设备数
cl_device_id *devices, //保存设备的地址
cl_uint num_devices //总设备数
)
2) 获取所得设备的信息
cl_int cl_GetDeviceInfo(
cl_device_id device_id, //所选设备
cl_device_info param_name, //信息类型
size_t param_value_size, //所要保存的信息字数
void* param_value, //信息保存的地址
size_t param_value_size_ret //信息应有的字节数
)
信息的类型
CL_DEVICE_EXTENSION 支持的扩展类型
CL_DEVICE_GLOBAL_MEM_SIZE 全局设备内存大小
CL_DEVICE_ADDRESS_BITS 设备地址空间大小
CL_DEVICE_PREFERRED_VECTOR_EIDTH_CHAR/SHORT/INT/LONG/DOUBLE 向量长度
3:上下文
1)根据设备类型,创建上下文
cl_context clCreateContext(
cl_context_properties *properties,//属性列表
cl_uint num_devices, //设备数量
const cl_device_id *devices, //设备列表
void* ftn_notfy(
const char* errinfo,
const char* private_info,
size_t cb,
void *user_data),
void *user_data, //提供报错信息
cl_int *errcode_ret //错误信息大小
)
2)根据设备属性,创建上下文
cl_context clCreateContext(
cl_context_properties *properties,//属性列表
cl_device_type device_type
void* ftn_notfy(
const char* errinfo,
const char* private_info,
size_t cb,
void *user_data),
void *user_data, //提供报错信息
cl_int errcode_ret //错误信息大小
)
3)获取上下文信息
cl_int clGetContextInfo(
cl_context contxet, //上下文
cl_context_info param_name,//信息参数名称
size_t param_value_size, //所要保存的大小
void* param_value, //信息存放的地址
size_t param_value_size_ret //信息的大小
)
信息类型:
CL_CONTEXT_REFERENCE_COUNT 引用计数
CL_CONTEXT_DEVICES 上下文中包含的设备
CL_CONTEXT_PROPERTIES 属性参数
4)管理上下文的引用
cl_int clRetainContext(cl_context context) 引用计数+1
cl_int clReleaseContext(cl_contetx contex) 引用计数-1
创建时,计数加1,
opencl(2)平台、设备、上下文的获取与信息获取的更多相关文章
- uni-app开发经验分享二十: 微信小程序 授权登录 获取详细信息 获取手机号
授权页面 因为微信小程序提供的 权限弹窗 只能通用户确认授权 所以可以 写一个授权页面,让用户点击 来获取用户相关信息 然后再配合后台就可以完成登录 <button class="bt ...
- wx.createSelectorQuery() 获取节点信息 获取不到解决方法
场景:一个气泡的宽度由加载来的数据填充所决定,不定宽, wx.createSelectorQuery().selectAll('.talkbubble').boundingClientRect ...
- Asp.Net Core获取请求信息/获取请求地址
一.Asp.Net Core 2.0版本中目前HttpRequest是个抽象类 在控制器或视图上下文中获取到的 Request对象,是 DefaultHttpRequest的实例. 定义 如图 : ...
- 重新想象 Windows 8 Store Apps (30) - 信息: 获取包信息, 系统信息, 硬件信息, PnP信息, 常用设备信息
原文:重新想象 Windows 8 Store Apps (30) - 信息: 获取包信息, 系统信息, 硬件信息, PnP信息, 常用设备信息 [源码下载] 重新想象 Windows 8 Store ...
- JAVA获取微信小程序openid和获取公众号openid,以及通过openid获取用户信息
一,首先说明下这个微信的openid 为了识别用户,每个用户针对每个公众号会产生一个安全的OpenID,如果需要在多公众号.移动应用之间做用户共通,则需前往微信开放平台,将这些公众号和应用绑定到一个开 ...
- c#反射机制学习和利用反射获取类型信息
反射(Reflection)是.NET中的重要机制,通过放射,可以在运行时获得.NET中每一个类型(包括类.结构.委托.接口和枚举等)的成员,包括方法.属性.事件,以及构造函数等.还可以获得每个成员的 ...
- C# 通过豆瓣网络编程API获取图书信息
这篇文章主要是关于如何通过豆瓣API获取信息的书籍,起初,我看到了原来的想法的内容是"C# 网络编程之网页简单下载实现"中通过HttpWebResponse类下载源代码,再通过正則 ...
- UserAgentUtils 获取浏览器信息
<dependency> <groupId>eu.bitwalker</groupId> <artifactId>UserAgentUtils</ ...
- Activiti7 获取资源信息及其查询流程历史信息
获取资源信息 /** * 获取资源信息 * * @throws IOException */ @Test public void getProcessResources() throws IOExce ...
随机推荐
- Redis数据类型简介(十分钟快速学习Redis)
如何在ubuntu18.04上安装和保护redis 如何连接到Redis数据库 如何管理Redis数据库和Keys 如何在Redis中管理副本和客户端 如何在Redis中管理字符串 如何在Redis中 ...
- RocketMQ Windows 搭建
一.rocketMQ 下载 官网:http://rocketmq.apache.org/ 本人使用是v4.3.0版本,百度网盘下载地址链接:https://pan.baidu.com/s/1qWewB ...
- 前端ie7的兼容问题及解决方案(未完待续)
最近在维护一些老的项目,需要兼容ie7 ,css3就不能用了,这里总结一下碰到的问题及解决方案. 1.盒模型 ie7.8 的盒模型都是 box-sizing为content-box的盒模型,这里在做 ...
- vs2015 cppunit配置及使用
目录 第一步 第二步 第三步 编译生成lib库 使用 calculator类测试 代码部分 第一步 下载源代码 http://sourceforge.net/projects/cppunit/file ...
- zz 关于插入意向间隔锁( insert intention gap lock)产生的死锁问题
出处: http://www.cnblogs.com/sunss/p/3166550.html 昨天看到一个很有意思的死锁,拿来记录下: 环境:deadlock on 事务隔离级别: read com ...
- 基于Netty包中的Recycler实现的对象池技术详解
一.业务背景 当项目中涉及到频繁的对象的创建和回收的时候,就会出现频繁GC的情况,这时就出现了池化的技术来实现对象的循环使用从而避免对象的频繁回收,Netty包下的Recycler就实现了这一功能.当 ...
- Redis设计原理简介
学完MySQL InnoDB之后,又开始学习和研究Redis. 首先介绍下书:<Redis设计与实现>第二版 黄健宏著,机械工业出版社,388页,基于redis3.0版本.版本有点低,这个 ...
- 2.Scrapy基本命令介绍
1.安装scrapy框架 a.安装wheel pip install wheel -i https://pypi.douban.com/simple/ b.安装twisted pip install ...
- search(16)- elastic4s-内嵌文件:nested and join
从SQL领域来的用户,对于ES的文件关系维护方式会感到很不习惯.毕竟,ES是分布式数据库只能高效处理独个扁平类型文件,无法支持关系式数据库那样的文件拼接.但是,任何数据库应用都无法避免树型文件关系,因 ...
- ShoneSharp语言(S#)的设计和使用介绍系列(10)— 富家子弟“语句“不炫富
ShoneSharp语言(S#)的设计和使用介绍 系列(10)— 富家子弟“语句“不炫富 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/Sho ...