社区
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
正常么?
...全文
711
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
Spark 3.0.0 Driver 启动内幕
本课程讲解Spark 3.0.0 Driver 启动内幕 的内容,包括:Spark Driver
Program
剖析:Spark Driver
Program
、SparkContext 深度剖析、SparkContext 源码解析;DAGScheduler 解析:DAG 的实例化 、DAGScheduler 划分Stage 的原理、DAGScheduler 划分Stage 的具体算法、Stage 内部Task 获取位置的算法;TaskScheduler 解析:TaskScheduler 原理剖析、TaskScheduler 源码解析;SchedulerBackend 解析:SchedulerBackend 原理剖析、SchedulerBackend 源码解析、Spark 程序的注册机制、Spark 程序对计算资源Executor 的管理; 打通Spark 系统运行内幕机制循环流程。
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
这一步,
OpenCL和异构编程
603
社区成员
575
社区内容
发帖
与我相关
我的任务
OpenCL和异构编程
异构开发技术
复制链接
扫一扫
分享
社区描述
异构开发技术
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章