计算着色器(Compute Shader)
图形处理器(Graphics Processing Unit,简称GPU)每秒能够进行数以亿次的计算,目前其已成为一种性能十分惊人的器件。通常,GPU主要用来承担实时图形渲染中的海量数学运算,然而,其潜在的计算能力也可用于处理与图形无关的任务。
CUDA与OpenCL早已能够基于GPU实现并行计算,而OpenGL与DirectX也分别于OpenGL4.3与DirectX11版本后能够通过计算着色器的方式基于GPU实现并行计算。从图中可以看到,计算着色器是独立与通常的渲染管线的。
CUDA:NVIDIA推出的通用并行计算架构,该架构能够使用GPU解决复杂的计算问题。
OpenCL:针对异构系统进行并行编程的一个全新API,能够利用GPU进行并行计算。
1. CPU与GPU
前面提到了计算着色器能够基于GPU实现并行计算,从而提升计算能力,那么GPU到底独特在哪呢?为什么又比CPU的计算速度还要快?
理解CPU与GPU之间区别的一种简单方式是比较他们是如果处理任务的:
- CPU 由专为顺序串行处理而优化的几个核心组成,其需要很强的通用性来处理各种不同的数据类型,除此之外逻辑判断会引入大量的分支跳转和中断处理,使得CPU的内部结构异常复杂。
- GPU 拥有一个由数以千计的更小、更高效的核心(专为同时处理多重任务而设计)组成的大规模并行计算架构。
其中,绿色是计算单元,橙红色是存储单元,橙黄色是控制单元。
GPU采用了数量众多的计算单元和超长的流水线,但只有非常简单的逻辑控制并省去了Cache;而CPU不仅被Cache占据了大量空间,还有很复杂的控制逻辑和诸多优化电路,相比之下计算能力只是GPU很小的一部分。
计算着色器(Compute Shader)相关推荐
- Directx 计算着色器(compute shader)
原文 :http://www.cnblogs.com/Ninputer/archive/2009/12/11/1622190.html 博者注:计算着色器调试(http://msdn.microsof ...
- OpenGL之计算着色器(Compute Shader)注解
一.前言 关于计算着色器,我也是刚试验成功,所以接下来我也讲不出什么长篇大论,概念什么的百度一下到处都是,我这边只讲讲百度没有的填坑经历吧. 二.计算着色器的语法解释 先附上一个计算着色器的代码段: ...
- 计算着色器(Compute Shaders)
原文 : https://catlikecoding.com/unity/tutorials/basics/compute-shaders/ 1 将工作转移到GPU(Moving Work to th ...
- OpenGL深入探索——《OpenGL编程指南(原书第8版)》——计算着色器
转载自 <OpenGL编程指南(原书第8版)>--计算着色器 概述 由于图形处理器每秒能够进行数以亿计次的计算,它已成为一种性能十分惊人的器件.过去,这种处理器主要被设计用于承担实时图形渲 ...
- Unity Shader:细分着色器(Tessellation Shader)在Unity顶点着色器中的写法以及各参数变量解释
图1:在Unity内将sphere细分后 图2:在Unity内将sphere细分后 Unity官网关于细分着色器的资料比较少,只有在Surface Shader中使用的例子.我看了下Surface S ...
- OpenGL Compute Shader计算着色器的实例
OpenGL Compute Shader计算着色器 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 // #define USE_GL3W #include &l ...
- OpenGL Compute Shader Raytracing 计算着色器光线追踪的实例
OpenGL Compute Shader Raytracing 计算着色器光线追踪 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 // #define USE_ ...
- OpenGL Compute Shader Particle System计算着色器粒子系统的实例
OpenGL Compute Shader Particle System计算着色器粒子系统 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include &l ...
- OpenGL Compute Shader Image Processing计算着色器图像处理的实例
OpenGL Compute Shader Image Processing计算着色器图像处理 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include & ...
- OpenGL ES3.1使用计算着色器(Compute Shader)
OpenGL ES3.1使用计算着色器(Compute Shader) 1.基本介绍 OpenGL ES从3.1版本开始支持计算着色器 工作模型有全局工作组和本地工作组,全局工作组包含 ...
最新文章
- 以实用著称的《PHP与MySQL程序设计(第3版)》问世啦!
- GDB中遍历art::Thread打印local reference的脚本
- 共享内存 传一个类指针_C++指针
- Codis集群的搭建与使用
- java变量用来干嘛_Java
- oracle安装要多久,一次耗时4天的oracle安装过程
- 数据结构学习笔记:实现链表
- python绘制函数曲线x2sin(x2-x-2)_下面哪几个选项中的语句能够完成用fplot语句来绘制函数y=x^3+2*x^2+sin(x)在区间[-5,5]上的图形。...
- sql 练习网站答案解析
- 共享一个可用的谷歌相机
- Nodejs页面访问加载静态资源
- 搭建SPA项目SPA项目中使用路由嵌套路由
- 计算机视觉方向相关文献下载
- Chrome浏览器设置护眼模式(离线安装插件)
- 2014年元旦放假安排,又一个坑爹的假日
- 【论文阅读】GaitSet: Regarding Gait as a Set for Cross-View Gait Recognition
- zzulioj:1093: 验证哥德巴赫猜想(函数专题)
- wps表单小程序 服务器错误,微信小程序WPS表单怎么在钉钉使用
- 孩子爱收集“小破烂”?谁还没点收藏的癖好呢
- 2022 leetcode 春季赛 LCP 53. 守护太空城