首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >大模型与AI底层技术揭秘 (4) 珠算小助手们的家

大模型与AI底层技术揭秘 (4) 珠算小助手们的家

作者头像
用户8289326
发布于 2023-10-08 01:14:36
发布于 2023-10-08 01:14:36
3180
举报

在上期,我们遗留了一个问题:如果我们用GPU计算圆周率,是否能提升计算效率呢?

这其实涉及到圆周率的计算方法。

祖冲之计算圆周率使用的“割圆术”,实际上可以使用数学算法来表达:

令m(1) = 1,m(n+1)=sqrt(2-sqrt(2+m(n))),

Pi = m(x)*3*2^x

当这个算法迭代12次以后,就可以得到Pi = 3.1415926,也就是祖冲之得到的“密率”。

我们可以很容易地看出,每一次计算m(n+1),都要依赖于前一次m(n)的值,也就是前一次计算是依赖后一次计算的。

实际上,圆周率还有很多种算法,例如莱布尼茨提出的最容易记忆的:

Pi = 4*((1) - (1/3) + (1/5) - (1/7) + (1/9) - (1/11) + (1/13) ...... )

还有欧拉在解决巴塞尔问题中发现的:

Pi = sqrt (6*(1+1/4+1/9+1/16+1/25+ ... ))

(虽然欧拉对于这个结果的证明是错的,但比当时大数学家伯努利算不出来还是要强的,这个级数后来也成为黎曼函数的起源)

但是,这些算法都无法进行并行运算,也就是说,如果需要得到最终的计算结果,难以避免有一个串行化的环节。

因此,对于计算圆周率这一任务,使用GPU可以计算,但无法发挥GPU最大的实力。同样,如果给祖冲之1000个珠算小助手,祖冲之也没有办法把割圆术的算法分解成1000份给小助手们执行。

而在《大模型与AI底层技术揭秘 (2) 人妖之间的国度》中,我们提到的原子弹的Langevin方程,是一个可以充分发挥并行计算优势的算法,如果有了GPU,或一大批珠算小助手,就可以通过并行计算的方式来加速计算。

聪明的小H看出,原来4080Ti和H100里面就是有一大批珠算小助手呀!

是的,只是这些珠算小助手被称为“CUDA Core”。NVidia推出的高端GPU H100中,集成了数万个CUDA Core。这么多CUDA Core是如何组织的呢?

我们可以很容易地获取到NVidia公开的H100的内部架构图:

https://resources.nvidia.com/en-us-tensor-core/nvidia-tensor-core-gpu-datasheet

H100分为SM (Streaming Multiprocessor)阵列、外围IP和高速缓存等几部分。H100的SXM版本共有132个SM,每个SM有256个128个FP32 CUDA Core,总共有16896个FP 32 CUDA Core。

SM内部的架构如下图:

在H100中,每个SM包含4个Partition,每个Partition中有32个FP32 CUDA Core(也可以执行FP64和整数运算),以及1个Tensor Core。Tensor Core是比CUDA Core更专精的珠算小助手,我们会在接下来的内容中详细分析。

除了CUDA Core和Tensor Core这两种珠算小助手外,每个Partition内部还有计算所需要的寄存器。对CPU体系架构有所了解的同学会发现,每Partition的16384个寄存器数量比CPU内部的寄存器数量多2-3个数量级!这是因为,GPU的计算是高度并发和高度流水的,每个CUDA Core本身就可以并发计算多个数据,特别是向量数据。CUDA Core的内部结构如下图:

CUDA Core采用了极简设计,内部只有Dispatch Port接受指令,Operand Collector能够获取操作数,在FP Unit或INT Unit中进行计算。我们知道,在计算机中,最复杂的设计就是ALU的设计,而CUDA大大简化了ALU,使得在GPU中集成成千上万个简化的ALU成为可实现的设计。

我们注意到,在CUDA Core的旁边,还有一个模块叫做Tensor Core。这是做什么用的呢?

Tensor Core是另一类具备专精计算能力的珠算小助手。请看下期。

Tips:其实有一个勉强能实现并行计算圆周率的公式:

虽然这个公式也有最终的累加环节,但这个公式能实现圆周率的并行计算。为什么呢?这个问题也在下期解答。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-10-07 13:02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 帅云霓的技术小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档