4.1 OpenCL实例
本章会讨论一些简单的OpenCL实例,第3章总结出的一些结论同样适用于这些实例。实例证明,编程的每一步都需要出现在一个完整的OpenCL应用中。对于习惯用C++的同学,我们也会使用C++ Wrapper实现一个实例。我们讨论的这些例子,相较于有更深层次优化的代码,算是一个基线版本。优化相关的内容将在之后的章节中讨论。
表4.1中将我们要使用到的OpenCL特性和具体实例一一对应。同学们可以按照自己的喜好,去关注特定的实例。
每节的末尾,我们都将提供完整的程序代码。另外,实例中使用到的一些功能函数将在本章末尾提供源码,有兴趣的同学可以先看看。这些功能函数包括对OpenCL代码的查错和报错,从文件中读取OpenCL程序(创建程序时需要),并且直接报告程序编译错误。
表4.1 每个例子所涉及的OpenCL特性
例子 | OpenCL特性 |
---|---|
直方图 | 局部内存,局部原子操作,全局原子操作,内存栅栏 |
图像旋转 | 图像,采样器 |
图像卷积 | C++ API,常量内存,图像,采样器 |
生产者-消费者 | 通道,多设备 |
当前内容版权归 xiaoweiChen 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 xiaoweiChen .