序
计算着色器,是什么?
Unity中ComputeShader的基础介绍与使用 - 知乎 (zhihu.com)
好像是并行计算的一个东西。再具体的,看不懂了。
并行计算,显卡?
那看来得先了解显卡,铺垫一下,再计划能不能看懂这个链接了。
看懂这个链接,就是这个题目下的总目标呐。
认识显卡
显卡,小白,不懂。
对显卡的印象,只是停留在能把几百上千任务并行计算的那么一个设备。
大概是长这样的:
其它的就没有了。
怎么认识?买一个来不就认识了?没钱……那就线上看看吧……
看看中文的?
比较 GeForce 系列最新一代显卡和前代显卡 | NVIDIA
还是看英文的吧……
Compare Current and Previous GeForce Series of Graphics Cards | NVIDIA
正常来讲,最重要的参数总会写在第一行
看来这个《Streaming Multiprocessors》,在显卡里挺重要的
看来这个《CUDA Cores》,在显卡里也挺重要的
那么,什么是CUDA core?
关于CUDA CORE你可能不知道的一些事_图拉丁吧_百度贴吧 (baidu.com)
那么,实际的显卡上,这俩参数是多少?大概是这个数量级……
GeForce RTX3060值得入手吗 (baidu.com)
3840=30*4*32
刚好对的上嘞。
认识SM和SP【硬件上】
对于本人这样的小白,越直观越好……对错甚至都不重要。大致的印象先赶快弄出来,细节上的对错可以以后再慢慢搞。
CUDA基础 - LLW_NEU - 博客园 (cnblogs.com)
SM和SP,是个嵌套的关系
又带出来了个warp:
什么是warp?百度,启动
(70条消息) GPU软件抽象与硬件映射的理解(Grid、Block、Warp、Thread与SM、SP)_TANGWENTAI的博客-CSDN博客_gpu warp
【看着那个0——31,每行的颜色都是一样的——指令相同,数据不同,就并行了。大概是这个意思吧】
指令相同,数据不同
都是ADD指令,只是A,B不同,可以这么理解吗?
ADD A,B
上面的SM和SP和warp,大概是硬件上的概念,对立统一,是不是还存在着软件上的概念?
认识grid,block,thread【软件上】
软件上有哪些抽象?百度,启动
这个图挺好看的
CUDA编程入门极简教程 - 小小将的文章 - 知乎
这个图片也挺漂亮的,结合上图,挺好的。看来SM和block,是相对应的。
CUDA基础 - LLW_NEU - 博客园 (cnblogs.com)
它是横着排的……emm……让所有的都不闲着,大概是这个意思吧。
小结【硬件和软件】
CUDA的thread,block,grid和warp - 三七和酒的文章 - 知乎
图片的形式:
每个 stream processor 就是对应一个 thread。每个 multiprocessor 则对应一个 block。
文字的形式:
总结
这个链接,把前面的名词都串起来了。写的挺好的,简单明了。
还有数字,可以比划着算一算。
(70条消息) GPU中的SM和warp的关系_s.feng的博客-CSDN博客_gpu wrap
后记
先了解了硬件,再了解了软件,最好总结了一下。
正着一下,反着一下,合并着总结了一下。
铺垫了这些,是不是就可以开始了解unity的计算着色器了?