美文网首页
骁龙手机的opencl优化(一)

骁龙手机的opencl优化(一)

作者: 半笔闪 | 来源:发表于2020-02-26 14:17 被阅读0次

    opencl是针对在异构系统上进行跨平台程序并行的开源标准,而高通的骁龙平台上使用的高通Adreno GPU系列是最早全面支持opencl的手机GPU之一。


    image.png

    上图是可以大概概况出一个典型的基于OpenCL的异构系统,包括3个部分:CPU作为一个控制中心管理和控制应用程序;GPU、DSP、FPGA、硬件加速器作为OpenCL的设备;CPU编译kernel代码,传送到OpenCL设备中执行。
    OpenCL标准由两个方面:OpenCL的实时运行的API和OpenCL的c语言规范(就是.cl文件)。API定义了一系列运行在Host上的函数,主要包括资源管理,内核分发(将kernel函数分发到不同的GPU上运行)以及许多其他的任务;OpenCL的c语言是用来写kernel函数的。

    • OpenCL平台层和实时运行层的功能


      image.png
    • OpenCL的c语言
      关于OpenCL的c语言主要要主要它与c语言的两个关键的不同点:
      1、由于硬件的限制和OpenCL的执行模型,一些c的特性在OpenCL上是不支持的,比如函数指针,动态内存分配(malloc/calloc等)
      2、OpenCL语言在默写方面扩展了c:OpenCL添加了内建函数来查询OpenCL内核的执行参数;为了更好的使用GPU硬件,添加了图片加载和存储函数。

    相关文章

      网友评论

          本文标题:骁龙手机的opencl优化(一)

          本文链接:https://www.haomeiwen.com/subject/epfmchtx.html