OpenCL读取内核cl文件
来源:互联网 发布:摄像头软件 编辑:程序博客网 时间:2024/06/06 02:03
普遍上的OpenCL编程都分为两个部分,一个为主机端代码,一个为设备端代码。
主机端代码的作用是:主要是负责设置设备执行代码的环境,以及与设备端的通信。
设备端代码的作用是:设备上所要执行的功能函数。
在主机端和设备端通信的过程中,会有一个读取设备端代码的过程。通常就是读取cl文件。
因为在创建程序对象program时,需要用到这个cl文件。创建程序对象就会把这个cl文件包括进程序对象中。然后生成内核对象kernel,最后发送到命令队列,等待发送到设备上执行。
因此,读取cl文件的目的是将文件融入到程序对象中,以便之后发送到设备上执行。
/* Read program file and place content into buffer */FILE *program_handle;size_t program_size;char *program_buffer;program_handle = fopen(PROGRAM_FILE, "r"); if(program_handle == NULL) { perror("Couldn't find the program file"); exit(1); } fseek(program_handle, 0, SEEK_END); program_size = ftell(program_handle); rewind(program_handle); program_buffer = (char*)malloc(program_size + 1); program_buffer[program_size] = '\0'; fread(program_buffer, sizeof(char), program_size, program_handle); fclose(program_handle);
通过上面的代码,将cl文件读取到了program_buffer中,然后调用clCreateProgramWithSource来生成所需的程序对象。
注意:在创建完程序对象后,要记得释放前面的program_buffer.
阅读全文
0 0
- OpenCL读取内核cl文件
- opencl:cl::make_kernel的进化
- OpenCV-CL: OpenCL加速计算机视觉技术
- opencl: C++ 接口(cl.hpp)创建kernel
- linux内核文件读取
- opencl:C++ 利用cl::make_kernel简化kernel执行代码
- CL编译CPP文件
- opencl:c++接口(cl.hpp)利用cl::LocalSpaceArg设置__local 参数
- No.3 分离 OpenCL 内核
- opencl文件的执行
- seq_file文件的内核读取过程
- seq_file文件的内核读取过程
- seq_file文件的内核读取过程
- seq_file文件的内核读取过程
- cl
- CL
- OpenCL中设置内核参数整理
- OpenCL编程步骤(六):执行内核
- 线程安全与可重入函数
- day09多态、接口、抽象类
- 【GDSOI2017】 逃亡
- 当爬虫没抓到数据的时候(漫画)
- fastjson 转嵌套List<Bean>时的问题
- OpenCL读取内核cl文件
- SQL查询重复数据
- Spark安装并运行WordCount示例
- OpenCL编程之同步问题:事件
- Mweb汉化
- 3.2 Linux文件属性(5、6节)
- 策略模式
- map表红黑树实现
- React学习笔记——如何创建React组件