Unity计算着色器 01

计算着色器,是什么?

官方文档,启动!

Unity - Manual: Compute shaders (unity3d.com)

大概是这个画风:

Unity计算着色器 01_第1张图片就看到了有《GPU》这个字眼,其它的完全看不懂。

怎么办?

那看来得先了解显卡,铺垫一下了。

认识显卡

显卡,小白,不懂。

对显卡的印象,只是停留在能把几百上千任务并行计算的那么一个设备。

大概是长这样的:

其它的就没有了。

怎么认识?买一个来不就认识了?没钱……那就线上看看吧…… 

看看中文的?

比较 GeForce 系列最新一代显卡和前代显卡 | NVIDIA

还是看英文的吧……

Compare Current and Previous GeForce Series of Graphics Cards | NVIDIA

正常来讲,最重要的参数总会写在第一行

看来这个《Streaming Multiprocessors》,在显卡里挺重要的 

Unity计算着色器 01_第2张图片

 看来这个《CUDA Cores》,在显卡里也挺重要的

Unity计算着色器 01_第3张图片

那么,什么是CUDA core?

关于CUDA CORE你可能不知道的一些事_图拉丁吧_百度贴吧 (baidu.com)

Unity计算着色器 01_第4张图片

 那么,实际的显卡上,这俩参数是多少?大概是这个数量级……

GeForce RTX3060值得入手吗 (baidu.com)

Unity计算着色器 01_第5张图片

3840=30*4*32

刚好对的上嘞。 

认识SM和SP【硬件上】

对于本人这样的小白,越直观越好……对错甚至都不重要。大致的印象先赶快弄出来,细节上的对错可以以后再慢慢搞。

CUDA基础 - LLW_NEU - 博客园 (cnblogs.com)

SM和SP,是个嵌套的关系

Unity计算着色器 01_第6张图片

又带出来了个warp:

Unity计算着色器 01_第7张图片

什么是warp?百度,启动

(70条消息) GPU软件抽象与硬件映射的理解(Grid、Block、Warp、Thread与SM、SP)_TANGWENTAI的博客-CSDN博客_gpu warp

Unity计算着色器 01_第8张图片

【看着那个0——31,每行的颜色都是一样的——指令相同,数据不同,就并行了。大概是这个意思吧】

指令相同,数据不同

都是ADD指令,只是A,B不同,可以这么理解吗?

ADD A,B

 上面的SM和SP和warp,大概是硬件上的概念,对立统一,是不是还存在着软件上的概念?

认识grid,block,thread【软件上】

软件上有哪些抽象?百度,启动 

这个图挺好看的

 CUDA编程入门极简教程 - 小小将的文章 - 知乎

Unity计算着色器 01_第9张图片

这个图片也挺漂亮的,结合上图,挺好的。看来SM和block,是相对应的。

CUDA基础 - LLW_NEU - 博客园 (cnblogs.com)

它是横着排的……emm……让所有的都不闲着,大概是这个意思吧。 

Unity计算着色器 01_第10张图片

小结【硬件和软件】

CUDA的thread,block,grid和warp - 三七和酒的文章 - 知乎

图片的形式: 

每个 stream processor 就是对应一个 thread。每个 multiprocessor 则对应一个 block。

Unity计算着色器 01_第11张图片

 文字的形式:

Unity计算着色器 01_第12张图片

总结

这个链接,把前面的名词都串起来了。写的挺好的,简单明了。 

还有数字,可以比划着算一算。 

(70条消息) GPU中的SM和warp的关系_s.feng的博客-CSDN博客_gpu wrap

Unity计算着色器 01_第13张图片  Unity计算着色器 01_第14张图片

Unity计算着色器 01_第15张图片  Unity计算着色器 01_第16张图片

后记

先了解了硬件,再了解了软件,最好总结了一下。

正着一下,反着一下,合并着总结了一下。

铺垫了这些,是不是就可以开始了解unity的计算着色器了?

你可能感兴趣的:(无题,compute,shader,计算着色器)