如何用opencl做编码中的全搜索算法

如何用opencl做编码中的全搜索算法,第1张

使用opencl来实现戚搜春编码算法中运动搜索模块!

下面测试数据时在GTX570上的测试漏培结果:

LCU为32x32, 100帧720P, CPU上纯C算法使用搜索时间是67s, GPU上是0.915s

LCU为高耐16x16, CPU 是76.8s, GPU上是1.6s

LCU为8x8, CPU 是82.5s, GPU上是4.2s

OpenCL是GPU通用运算API。是显卡作通用浮点运算的API。比如视频转码,原来这个工作都是CPU来做的。现在显卡运算能力比较强,这个工作完全可以交给显卡来做。

要调用显卡,这个工作不需要再由程序员考虑了,因为已经有一个现成的接口了,程序员只要管好转码的算法,然后直接调用OpenCL中现成的指令,这个工作就自动由CPU转交到GPU了。

OpenCL是一个为异构平台编写程序的框架,此异构平台可由CPU,GPU或其他类型的处理器形成。OpenCL由一门者悔纳用于编写kernels (在OpenCL设备上运行的函数)的语言(基于C99)和一组用于定义并控制平台的API组成。OpenCL提供了基于任务分割和数据分割的并行计算机制。

OpenCL类似于另外两个开放的工业标准OpenGL和OpenAL,这两个标准分别用于三维图形和计算机音频方面。OpenCL扩展了GPU用于图形生成之外的能力首没。OpenCL由非盈利性前源技术组织Khronos Group掌管。

扩展资料

API之主要目的是提供应用程序与开发人员以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。提供API所定义的功能的软件称作此API的实现。API是一种接口,故而是一种抽象。

应用程序接口(英语:Application Programming Interface,简称:API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定。由于近年来软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的维护性和扩展性。[1]

参考资料来源 OpenCL_百度百科


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12343755.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存