GPU 相关概念
来源:互联网 发布:手机校色软件 编辑:程序博客网 时间:2024/04/30 01:43
https://sanwen8.cn/p/1e4WSsv.html
Qualcomm(高通)的Adreno、苹果的PowerVR、ARM的Mali。
应用程序->几何处理->光栅处理
在没有图形芯片(显卡)之前,几何处理、光栅处理都是由 CPU 或者 FPU(浮点单元)、SIMD (单指令多数据)单元协助来完成,随着芯片技术的进步,其中的几何处理、光栅处理开始逐步放到专门的芯片上执行,之后这些专用芯片又被集成到一块,逐渐形成了现在的 GPU
应用程序把需要进行三维渲染或者计算的数据和指令递交给 GPU,由GPU来执行几何处理以及光栅处理,这样的处理方式被称作流水线(pipeline)。
GPU上相对严格的“内核”概念单元, 在OpenCL中,这个层级的单元集合被称作Compute Unit(计算单元,简称CU),而GPU厂商的行销术语 “内核” 或者“core” 在OpenCL中被称作Process Element,简称PE。
现在的GPU都采用了多层次线程技术,按照硬件开发商提供的文档,对应SIMD Lane,OpenCL中称作work-item,在图形渲染的时候你可以将其看作是屏幕上的一个像素,是最小的线程单位;
Workgroup的对应GPU硬件关系是Compute Unit,同一时间里Compute Unit跑的都是一个workgroup,而Grid则对应GPU的一个partition(分区,在设备或者说加速器允许的情况下,OpenCL可以把一个设备分成若干个分区来使用)。
=================================================================================================
http://blog.csdn.net/c_ray/article/details/44278677
在GPU上,一般通过循环展开(Loopstrip mining 技术),来把串行代码改成并行执行的。
GPU的程序一般称作Kernel程序,它是一种SPMD的编程模型。SPMD执行同一段代码的多个实例,每个实例对数据的不同部分进行操作。
SIMD 指单指令多数据流模型 single instruction stream, multiple data stream; 由单一指令部件同时控制多个重复设置的处理单元, 执行同一指令下不同数据的操作。MIMD 指多指令多数据流模型 multiple instruction stream, multiple data stream; 多个独立或相对独立的处理机分别执行各自的程序、作业或进程。SPMD 指单程序多数据流模型 Single program multiple data。
在数据并行应用中,用loop stripmining来实现SPMD是最常用的方法:
- 在分布式系统中,我们用MessagePassing Interface (MPI)来实现SPMD。
- 在共享内存并行系统中,我们用POSIX线程来实现SPMD。
- 在GPU中,我们就是用Kernel来实现SPMD。
OpenCL平台通常包括一个主机(Host)和多个OpenCL设备(device),每个OpenCL设备包括一个或多个CU(computeunits),每个CU包括又一个或多个PE(process element)。每个PE都有自己的程序计数器(PC)。主机就是OpenCL运行库宿主设备,在AMD和Nvida的OpenCL平台中,主机一般都指x86 CPU。
A work-item is an instance of a kernel (see paragraph 2 of section 3.2 of the standard).
Processing Element: A virtual scalar processor. See also the definition of processing element from the standard:
A work-item may execute on one or more processing elements.
https://www.mql5.com/zh/articles/405
https://www.mql5.com/zh/articles/407
https://www.mql5.com/en/articles/407
http://stackoverflow.com/questions/21221834/opencl-work-items-processing-elements-ndrange
http://stackoverflow.com/questions/38233168/opencl-maximum-work-items-per-compute-unit?rq=1
http://www.drdobbs.com/parallel/a-gentle-introduction-to-opencl/231002854?pgno=3
- GPU 相关概念
- GPU地址空间的相关概念
- GPU地址空间的相关概念
- GPU概念
- GPU中与CUDA相关的几个概念
- GPU中与CUDA相关的几个概念
- GPU中与CUDA相关的几个概念
- GPU 编程概念
- GPU硬件加速概念
- GPU一些概念总结
- 计算机图形的简单概念了解(目的是了解GPU相关feature含义)
- 深度学习与硬件GPU,软件框架关系及相关概念解析
- GPU,图形学相关知识
- GPU渲染相关文章
- GPU 相关命令
- GPU相关知识
- GPU概念的一点总结
- 相关概念
- android getContext()、getApplicationContext()和this区别
- CSAPP lab1 datalab-handout(深入了解计算机系统 实验一)
- linux--find命令之xargs
- 操作系统(2)—进程管理
- C++之STL bitset
- GPU 相关概念
- ssh自动连接脚本
- 四大组件之Service 总结
- python模块中的__name__使用
- 设计模式之--适配器模式
- Android ListView工作原理完全解析,带你从源码的角度彻底理解
- 有关Linux的指令学习
- 索引的基本操作
- HttpClient和HtmlUnit