社区
OpenCL和异构编程
帖子详情
clCreateProgramWithSource创建program问题
cc___999
2017-07-14 01:08:21
测试发现同样的代码通过cpu或gpu创建出来的program大小不一样
cpu创建后通过clGetProgramInfo(*gProgram, CL_PROGRAM_BINARY_SIZES)发现大小才几十K
N卡创建的竟然是1.4M
正常么?
...全文
708
1
打赏
收藏
clCreateProgramWithSource创建program问题
测试发现同样的代码通过cpu或gpu创建出来的program大小不一样 cpu创建后通过clGetProgramInfo(*gProgram, CL_PROGRAM_BINARY_SIZES)发现大小才几十K N卡创建的竟然是1.4M 正常么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
一只小可爱啊
2017-07-18
打赏
举报
回复
为什么是cpu创建才几十k, N卡创建是1.4M? m_program<---m_context<---devices<---clGetDeviceIDs(这里面可以是CL_DEVICE_TYPE_CPU or CL_DEVICE_TYPE_GPU) 我选择N卡,然后再选择N卡里面的CPU/GPU设备
cl
-cache:Rust库(带有C绑定)可简化Open
CL
内核的构建,并将构建结果保存在缓存中
什么是
cl
-cache?
cl
-cache是一个Rust库(带有C绑定),用于简化Open
CL
的内核编译和缓存。 如果需要,它将编译它们;如果我们已经使用相同的参数构建了该内核,它将使用预编译的二进制文件。 为什么选择
cl
-cache? 使用Open
CL
时,可以从源代码或从二进制文件
创建
cl
_
program
。 加载程序的最简单方法是将内核的源代码加载到内存中,并先调用
cl
Create
Program
With
Source
,然后调用
cl
Build
Program
,但是如果始终使用该流程,则会有一些缺点: 每次加载主机二进制文件时,它都应将源文件加载到内存中并进行编译。 根据内核的大小,可能要花一些时间进行编译。 您应该将内核源代码与程序源一起分发 使用源代码和编译时间的一部分,我发现的另一个
问题
是某些Open
CL
的集成开发了自己的内核缓存系统。 人们在不同的项目上一遍又一遍地做同
Windows Open
cl
cl
Create
Program
With
Source
()函数
Windows Open
cl
cl
Create
Program
With
Source
()函数详细解析 函数原型
cl
_
program
cl
Create
Program
With
Source
(
cl
_context context,
cl
_uint count, const char **strings, const size_t *l
Open
CL
编程步骤(三):
创建
和编译程序
Open
CL
程序是由一组内核组成,而这些内核就是程序源码中以限定符__kernel声明的函数。__kernel函数可能会用到一些辅助函数以及常量数据,他们也是程序的一部分。 1、
创建
程序对象
cl
_
program
cl
Create
Program
With
Source
(
cl
_context context,
cl
_uint
cl
Create
Program
WithBinary 和
cl
Create
Program
With
Source
摘录: 使用
cl
Create
Program
With
Source
()
创建
完的是一个包含源代码的程序对象;要运行设备上的Open
CL
程序必须对它进行编译、连接;而对于用
cl
Create
Program
WithBinary
创建
的程序对象,则只需要进行连接。最后构建成一个完整的可加载的执行程序。我们通过
cl
Build
Program
这个函数来构建Open
CL
程序。 (即,到build
Program
这一步,
open
cl
获取gpu信息_Open
CL
获取
Program
信息
本程序生成一个Open
CL
Program
,然后获取
Program
的
source
,事实上它的
source
就是一个char[],能够打印出来。然后我们把这些内容和原来文本的内容对照,看看是否是我们想要读入的内容。还能够測试是否编译正确,假设不对会有输出提示的。以下程序执行例如以下:前面都是读入的函数代码。然后后面检查这些函数是否正确,能够看到第二个函数不对,由于*r未定义。以下是完整代码:#defi...
OpenCL和异构编程
602
社区成员
575
社区内容
发帖
与我相关
我的任务
OpenCL和异构编程
异构开发技术
复制链接
扫一扫
分享
社区描述
异构开发技术
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章