智能计算系统:从深度学习到大模型 第2版课件 6、第六章-面向深度学习的处理器原理_第1页
智能计算系统:从深度学习到大模型 第2版课件 6、第六章-面向深度学习的处理器原理_第2页
智能计算系统:从深度学习到大模型 第2版课件 6、第六章-面向深度学习的处理器原理_第3页
智能计算系统:从深度学习到大模型 第2版课件 6、第六章-面向深度学习的处理器原理_第4页
智能计算系统:从深度学习到大模型 第2版课件 6、第六章-面向深度学习的处理器原理_第5页
已阅读5页,还剩109页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

智能计算系统

第六章面向深度学习的

处理器原理中国科学院软件研究所李玲研究员liling@运行输入输出建模实现运行2用来处理智能任务的处理器可以是CPU、GPU、FPGA等也可以是专用的深度学习处理器(DLP)3智能计算系统中的处理器提纲通用处理器向量处理器深度学习处理器大规模深度学习处理器总结4为什么选用通用处理器?普及:每台计算设备都包含CPU廉价:1分钱获得完备的处理能力灵活:可与其他任何任务共享计算硬件适用小模型、少量数据、成本敏感的推理场景5通用处理器6算法执行算子程序指令执行7算法执行算子程序指令执行for(co=0;co<Co;co++)for(yo=0;yo<Ho;yo++)for(xo=0;xo<Wo;xo++){output[co][yo][xo]=bias[co];

for(yk=0;yk<Hk;yk++)for(xk=0;xk<Wk;xk++)for(ci=0;ci<Ci;ci++){output[co][yo][xo]+=weight[co][ci][yk][xk]

*input[ci][yo*stride+yk][xo*stride+xk];}}8算法执行算子程序指令执行.L2:cmpDWORDPTR[rsp-20],eax

jle

.L1

imulrdx,rax,27

movQWORDPTR[rsp-40],r10

xorr9d,r9d

movQWORDPTR[rsp-32],rdx

xoredx,edx

movDWORDPTR[rsp-24],edx.L12:movedi,DWORDPTR[rsp-16]

cmpDWORDPTR[rsp-24],edi

jge

.L16

movrdx,QWORDPTR[rsp-40]

xorebx,ebx

xorr11d,r11d.L10:movecx,DWORDPTR[rsp-12]

cmpr11d,ecx

jge

.L17

movssxmm0,DWORDPTRbias[0+rax*4]

movr12,QWORDPTR[rsp-32]

xorr8d,r8d

movssDWORDPTR[rdx],xmm0.L3:movedi,DWORDPTR[rsp-8]

cmpr8d,edi

jge

.L7

leaecx,[r8+r9]

learbp,weight[0+r12*4]

xoredi,edi

movsxrcx,ecx

imulrcx,rcx,224.L8:movr14d,DWORDPTR[rsp-4]

cmpedi,r14d

jge

.L5

lear13d,[rdi+rbx]

movr14,rbp

movsxr13,r13d

addr13,rcx

lear15,input[0+r13*4]

xorr13d,r13d.L6:cmpr13d,DWORDPTR[rsp+56]

jge

.L18

movssxmm0,DWORDPTR[r14]

mulssxmm0,DWORDPTR[r15]

incr13d

addr14,36

addssxmm0,DWORDPTR[rdx]

addr15,200704

movssDWORDPTR[rdx],xmm0

jmp

.L6.L18:incedi

addrbp,4

jmp

.L8.L5:incr8d

addr12,3

jmp

.L3.L7:incr11d

addrdx,4

addebx,esi

jmp

.L10.L17:incDWORDPTR[rsp-24]

addr9d,esi

addQWORDPTR[rsp-40],888

jmp

.L12.L16:incrax

addr10,197136

jmp

.L2.L1:for(co=0;co<Co;co++)for(yo=0;yo<Ho;yo++)for(xo=0;xo<Wo;xo++){output[co][yo][xo]=bias[co];

for(yk=0;yk<Hk;yk++)

for(xk=0;xk<Wk;xk++)

for(ci=0;ci<Ci;ci++){output[co][yo][xo]+=weight[co][ci][yk][xk]

*

input[ci][yo*stride+yk][xo*stride+xk];}}9算法执行算子程序指令执行64394424EC0F8E00010000486BD01B4C895424D84531C948895424E031D2895424E88B7C24F0397C24E80F8DCC000000488B5424D831DB4531DB8B4C24F44139CB0F8DA0000000F30F100485000000004C8B6424E04531C0F30F11028B7C24F84139F87D74438D0C084A8D2CA50000000031FF4863C94869C9E0000000448B7424FC4439F77D49448D2C1F4989EE4D63ED4901CD4E8D3CAD000000004531ED443B6C24387D22F3410F1006F3410F590741FFC54983C624F30F58024981C700100300F30F1102EBD7FFC74883C504EBAD41FFC04983C403EB8341FFC34883C20401F3E953FFFFFFFF4424E84101F148814424D878030000E926FFFFFF48FFC04981C210020300E9F6FEFFFF10真实的处理器例子5%×8=39%2.4%用于运算的芯片面积不到1%!1930年代~1940年代1936年AlanTuring定义了图灵机和可计算性(computability)M.,Turing,OnComputableNumbers,withanApplicationtotheEntscheidungsproblem,ProceedingsoftheLondonMathematicalSociety,1936.早期代表性计算机1944美国HarvardMark

I1945美国ENIAC世界上第二台电子计算机&第一台通用计算机1942美国ABC世界上第一台电子计算机1940年代~1950年代存储程序计算机编程:机器语言

汇编语言汇编器将符号代码和内存地址转换为机器代码EDVAC,冯诺依曼架构1944-1951英国ACE(Turing)1946-1950103机,1958年中国第一台通用电子计算机IBM704,第一台具有浮点运算硬件的量产计算机,195413处理器的演进/mp/a12970.html冯·诺依曼结构包含控制器、运算器、存储器和输入/输出。“存储程序”:指令从主存储器中取出14通用处理器结构中央控制器(CC)中央运算器(CA)“中央”(C)主存储器(M)外部存储器(R)输入(I)输出(O)冯·诺依曼结构包含控制器、运算器、存储器和输入/输出。“存储程序”:指令从主存储器中取出15通用处理器结构“中央”(C)16通用处理器结构高速缓存用来弥补主存和运算器之间的“剪刀差”。自动暂存最近读取的数据,以备不久之后再次使用通常使用SRAM实现17高速缓存哈佛结构指令缓存和数据缓存分离允许同时进行取指和访存,互不干扰18通用处理器结构精简指令集结构(RISC)关键原则:通过专门的load/store指令访存实践中,处理器内部将复杂指令首先译为RISC微码19通用处理器结构分支指令:由运算器计算出下一条指令的地址分支指令计算完成前,暂停取指!20通用处理器结构多发射:多条互不相关的指令可以同时发射可能同时利用多个运算器21通用处理器结构示例程序:r1←r2×r3r4←r1+r4地址生成单元:专用于计算访存地址的运算器可以高效支持多种寻址模式22通用处理器结构寄存器重命名:将寄存器编号与物理寄存器相分离消除伪相关,提高指令同时执行的机会23通用处理器结构示例程序:r1←r2×r3r2←r3+r4改为:r1←r2×r3r5←r3+r4乱序执行,有序提交实现精确例外,可以撤销已执行的指令24通用处理器结构示例程序:r1←[r2]r1←r1+1r3←[r2+4]写入/写出队列:暂存已执行、未提交的访存指令可以连续发起load/store指令,未提交前可以撤销25通用处理器结构数据前递:上一指令运算结果直接送入下一指令运算单元可以省去连续运算时反复写入、读出寄存器的动作26通用处理器结构示例程序:r1←r2×r3r4←r1+r4分支预测:未确定跳转方向时,按猜测方向投机执行预测正确时:减少等待时间,提高了流水线效率预测错误时:不予提交,撤销错误执行的指令27通用处理器结构运算只占1%?以标量作为基本运算粒度需要更多指令来执行任意指令间都潜在依赖,控制很复杂“内存墙”现象越来越大、越来越多层次的缓存28通用处理器结构29优化机会.L2:cmpDWORDPTR[rsp-20],eax

jle

.L1

imulrdx,rax,27

movQWORDPTR[rsp-40],r10

xorr9d,r9d

movQWORDPTR[rsp-32],rdx

xoredx,edx

movDWORDPTR[rsp-24],edx.L12:movedi,DWORDPTR[rsp-16]

cmpDWORDPTR[rsp-24],edi

jge

.L16

movrdx,QWORDPTR[rsp-40]

xorebx,ebx

xorr11d,r11d.L10:movecx,DWORDPTR[rsp-12]

cmpr11d,ecx

jge

.L17

movssxmm0,DWORDPTRbias[0+rax*4]

movr12,QWORDPTR[rsp-32]

xorr8d,r8d

movssDWORDPTR[rdx],xmm0.L3:movedi,DWORDPTR[rsp-8]

cmpr8d,edi

jge

.L7

leaecx,[r8+r9]

learbp,weight[0+r12*4]

xoredi,edi

movsxrcx,ecx

imulrcx,rcx,224.L8:movr14d,DWORDPTR[rsp-4]

cmpedi,r14d

jge

.L5

lear13d,[rdi+rbx]

movr14,rbp

movsxr13,r13d

addr13,rcx

lear15,input[0+r13*4]

xorr13d,r13d.L6:cmpr13d,DWORDPTR[rsp+56]

jge

.L18

movssxmm0,DWORDPTR[r14]

mulssxmm0,DWORDPTR[r15]

incr13d

addr14,36

addssxmm0,DWORDPTR[rdx]

addr15,200704

movssDWORDPTR[rdx],xmm0

jmp

.L6.L18:incedi

addrbp,4

jmp

.L8.L5:incr8d

addr12,3

jmp

.L3.L7:incr11d

addrdx,4

addebx,esi

jmp

.L10.L17:incDWORDPTR[rsp-24]

addr9d,esi

addQWORDPTR[rsp-40],888

jmp

.L12.L16:incrax

addr10,197136

jmp

.L2.L1:控制寻址计算控制和寻址开销超过了实际的计算!降低控制开销:循环展开(Loopunrolling)30控制、寻址降低控制开销:循环展开(Loopunrolling)降低寻址开销:强度削减(Strengthreduction)31控制、寻址降低控制开销:循环展开(Loopunrolling)降低寻址开销:强度削减(Strengthreduction)均为通用技巧,现代编译器已经尽力而为。没有非常有效的优化方法!为什么?32控制、寻址降低控制开销:循环展开(Loopunrolling)降低寻址开销:强度削减(Strengthreduction)均为通用技巧,现代编译器已经尽力而为。没有非常有效的优化方法!通用处理器为通用性而设计,深度学习只是其中一种应用;虽然深度学习程序行为规整,仍需较多指令才能定义清晰。33控制、寻址降低控制开销:循环展开(Loopunrolling)降低寻址开销:强度削减(Strengthreduction)均为通用技巧,现代编译器已经尽力而为。没有非常有效的优化方法!通用处理器为通用性而设计,深度学习只是其中一种应用;虽然深度学习程序行为规整,仍需较多指令才能定义清晰。每访问一个数据,都必须计算其地址,并控制循环条件!34控制、寻址容量失效:循环访问数据超过缓存容量,LRU缓存失效35访存缓存容量32字4×4方阵5×5方阵7×7方阵6×6方阵8×8方阵访问放大:逐字访问不命中时,缓存以行为单位替换高效高效失效失效失效缓存行4字缓存容量32字8×8方阵缓存访问量64字内存访问量64字9×9方阵缓存访问量81字内存访问量

324字36访存临界步幅:条带状访问使组相联缓存提前遭遇容量失效缓存行4字,容量32行,4路组相联15×15方阵16×16方阵17×17方阵命中率79%命中率45%命中率82%37访存伪共享:两核交替修改同一行,交替无效对方本地缓存缓存行4字,一级缓存容量8行,二级缓存容量16行8×8方阵6×6方阵命中率92%命中率28%缓存的复杂行为给优化带来挑战!一级缓存(本地)二级缓存(共享)分块(tiling):将运算分解至固定尺寸的区块处理38访存优化命中率56%命中率78%ABCABCC=ABC=AB不分块:B

矩阵发生容量失效分为3×3区块:避免了前述各项缓存问题程序更复杂三重循环六重循环:三重循环遍历各个分块分块内正常运算仍需三重通用处理器上实现矩阵乘法,这两种实现方式:递归(分治法)谁更高效?39访存优化迭代(三重循环)

else:

returnA*B通用处理器上实现矩乘,这两种实现方式:递归(分治法)谁更高效?没有定论!需要通过测试来确认。40访存优化迭代(三重循环)

else:

returnA*B递归优势:相当于实现了不同尺寸的分块,缓存友好;可以采用Strassen等快速算法!迭代优势:程序简单;控制、寻址开销较低。通用处理器独特的优势:普及、廉价、灵活缺陷:较高的控制、寻址开销;复杂的访存优化策略。控制、寻址开销仅凭软件优化难以改善。如何从架构上改善?41讨论通用处理器独特的优势:普及、廉价、灵活缺陷:较高的控制、寻址开销;复杂的访存优化策略。控制、寻址开销仅凭软件优化难以改善。如何从架构上改善?观察:深度学习处理数据以向量、矩阵为主,数量较多。42讨论通用处理器独特的优势:普及、廉价、灵活缺陷:较高的控制、寻址开销;复杂的访存优化策略。控制、寻址开销仅凭软件优化难以改善。如何从架构上改善?观察:深度学习处理数据以向量、矩阵为主,数量较多。思路:允许一条指令并行操作多个数据?43讨论通用处理器独特的优势:普及、廉价、灵活缺陷:较高的控制、寻址开销;复杂的访存优化策略。控制、寻址开销仅凭软件优化难以改善。如何从架构上改善?观察:深度学习处理数据以向量、矩阵为主,数量较多。思路:允许一条指令并行操作多个数据?预期效果:摊薄控制和寻址开销!44讨论提纲通用处理器向量处理器深度学习处理器大规模深度学习处理器总结45来源于Flynn分类法(1972)46SIMD单指令流、单数据流(SISD)多指令流、单数据流(MISD)PE数据指令PE数据指令PEPEPEPE数据PEPE数据指令PEPEPEPE指令PEPEPE指令指令单指令流、多数据流(SIMD)多指令流、多数据流(MIMD)来源于Flynn分类法(1972)47SIMD单指令流、单数据流(SISD)多指令流、单数据流(MISD)PE数据指令PE数据指令PEPEPEPE数据PEPE数据指令PEPEPEPE指令PEPEPE指令指令单指令流、多数据流(SIMD)多指令流、多数据流(MIMD)允许一条指令并行操作多个数据48向量指令标量指令:(虚构的)向量指令:movss

xmm0,

DWORDPTRx[0+rax*4]addss

xmm0,

DWORDPTRy[0+rax*4]movss

DWORDPTRy[0+rax*4],xmm0inc

raxmovss

xmm0,

DWORDPTRx[0+rax*4]addss

xmm0,

DWORDPTRy[0+rax*4]movss

DWORDPTRy[0+rax*4],xmm0inc

rax ……movss

xmm0,

DWORDPTRx[0+rax*4]addss

xmm0,

DWORDPTRy[0+rax*4]movss

DWORDPTRy[0+rax*4],xmm0N遍vmov

v0,

DWORDPTRx,Nvadd

v0,

DWORDPTRy,Nvmov

DWORDPTRy,v0,

N允许一条指令并行操作多个数据49向量指令for(size_ti=0;i<n;i++)y[i]=a*x[i]+y[i];

mov

edx,DWORD

PTR

n[rip]

movss

xmm1,DWORD

PTR

a[rip]

xor

eax,eax.L2:

cmp

edx,eax

jle

.L5

movss

xmm0,DWORD

PTR

x[0+rax*4]

mulss

xmm0,xmm1

addss

xmm0,DWORD

PTR

y[0+rax*4]

movss

DWORD

PTR

y[0+rax*4],xmm0

inc

rax

jmp

.L2.L5:

mov

edx,DWORD

PTR

n[rip]

movss

xmm1,DWORD

PTR

a[rip]

vmov

v0,DWORD

PTR

x,edx

vmul

v0,xmm1,edx

vadd

v0,DWORD

PTR

y,edx

vmov

DWORD

PTR

y,v0,edx标量程序:(虚构的)向量程序:控制寻址计算摊薄控制和寻址开销STAR:源自CDCSTAR-100(1970年)任意指定向量长度直接从主存读取数据50向量指令的三种风格vadd

DWORDPTRx,

DWORDPTRy,

Nfor(size_ti=0;i<N;i++)y[i]=x[i]+y[i];SWAR:源自Cray-1(1975年)固定向量长度使用向量寄存器mov

rax,0Loop:vmov

v0,

DWORDPTRx[0+rax*4]vmov

v1,

DWORDPTRy[0+rax*4]vadd

v0,v1,v0vmov

DWORDPTRy[0+rax*4],v0add

rax,8cmp

rax,Njl

Loop结果:Cray战胜CDC为什么?单指令多线程(SIMT):源自英伟达Tesla(2006年)通过分歧执行(diverge),一条指令流实现多个控制流多线程束轮转执行隐藏延迟51向量指令的三种风格催生于冷战期间的超算,美军方迫切的核武器模拟需求ILLIACIV(1971,美国)CDC/Cray(Cray-1:1975,美国)“地球模拟器”(2002,日本)52历史CPU:SIMD扩展指令(IntelSSE/AVX,ArmNEON…)GPU:统一渲染管线(NVIDIACUDA,AMDCU…)也常见于各类加速器53发展以通用处理器结构为基础54向量处理器结构以通用处理器结构为基础可以保留标量部分,用于控制、寻址和少量标量运算也可以完全由向量运算单元组成(根据应用需求!)55向量处理器结构相对独立地设计向量部分更宽的寄存器、运算、数据通路56向量处理器结构调度单元(向量)可以借用标量地址生成单元,访问向量数据57向量处理器结构调度单元(向量)可以增加向量/标量数据交换通路,方便控制58向量处理器结构调度单元(向量)可以接入乱序执行流水线当中59向量处理器结构调度单元(向量)60图形处理器(GPU)结构向量处理器的优势:(相比标量通用处理器)使用一条指令就可以驱动多个运算器,或者访问主存中连续的一段数据控制寻址开销摊薄针对并行应用较为灵活缺陷:由于运算增加,访存瓶颈更加严峻61讨论访存访存非常关键*62*V.Sze,Y.-H.Chen,T-J.Yang,J.Emer,“EfficientProcessingofDeepNeuralNetworks:ATutorialandSurvey”,ISCA2017

63运算密度I/O数据量有多大?至少包含最初输入数据+最终输出数据64运算密度I/O数据量有多大?至少包含最初输入数据+最终输出数据向量化不会改善访存:标量乘:1次运算,2个输入,1个输出每次运算,I/O量为3向量乘:n次运算,2n个输入,n个输出平均到每个运算上,I/O量仍为365运算密度×ABY×A1B1Y1×A2B2Y2×A3B3Y3I/O数据量有多大?至少包含最初输入数据+最终输出数据向量化不会改善访存:标量乘:1次运算,2个输入,1个输出每次运算,I/O量为3向量乘:n次运算,2n个输入,n个输出平均到每个运算上,I/O量仍为3向量处理器需等比例增加运算和带宽66运算密度×ABY×A1B1Y1×A2B2Y2×A3B3Y3随着算法处理的数据规模逐渐增加,算法表现出的运算密度也将增加。可以简单推算的结果:标量运算:

向量运算:

矩阵乘向量:

矩阵乘矩阵:67运算密度AB×AB×=Y=YAB×=YAB×=Y

一组最常用的线性代数运算代码,产业标准(1970年代)第一代BLAS:向量操作内积、AXPY……(1980年代中期)第二代BLAS:向量-矩阵操作矩阵乘向量……开销有所降低(1980年代末)第三代BLAS:矩阵运算矩阵乘……性能潜力显著提升68基础线性代数运算库(BLAS)一组最常用的线性代数运算代码,产业标准(1970年代)第一代BLAS:向量操作内积、AXPY……(1980年代中期)第二代BLAS:向量-矩阵操作矩阵乘向量……开销有所降低(1980年代末)第三代BLAS:矩阵运算矩阵乘……性能潜力显著提升(今天?)深度神经网络基本运算(卷积等)具有更优良的数据局部性!(运算量与I/O数据量之比)69基础线性代数运算库(BLAS)提纲通用处理器向量处理器深度学习处理器大规模深度学习处理器总结70基本运算单元从向量运算扩展到矩阵运算71深度学习处理器(DLP)运算单元运算单元运算单元运算单元片内存储控制单元向量处理器标量通用处理器运算单元片内存储控制单元基本运算单元从向量运算扩展到矩阵运算72深度学习处理器(DLP)运算单元运算单元运算单元运算单元片内存储控制单元向量处理器片内存储控制单元深度学习处理器运算单元运算单元运算单元运算单元运算单元运算单元运算单元运算单元运算单元运算单元运算单元运算单元运算单元运算单元运算单元运算单元片内存储片内存储标量通用处理器运算单元片内存储控制单元基本运算单元从向量运算扩展到矩阵运算73深度学习处理器(DLP)运算单元运算单元运算单元运算单元片内存储控制单元向量处理器片内存储控制单元深度学习处理器运算单元运算单元运算单元运算单元运算单元运算单元运算单元运算单元运算单元运算单元运算单元运算单元运算单元运算单元运算单元运算单元片内存储片内存储标量通用处理器运算单元片内存储控制单元运算单元:1数据通路:2运算单元:n数据通路:2n运算单元:n2数据通路:3n基本运算单元从向量运算扩展到矩阵运算74深度学习处理器(DLP)运算单元运算单元运算单元运算单元片内存储控制单元向量处理器片内存储控制单元深度学习处理器运算单元运算单元运算单元运算单元运算单元运算单元运算单元运算单元运算单元运算单元运算单元运算单元运算单元运算单元运算单元运算单元片内存储片内存储标量通用处理器运算单元片内存储控制单元运算单元:1数据通路:2运算单元:n数据通路:2n运算单元:n2数据通路:3n深度学习处理器在相同带宽下,提供更高运算能力缓存相比便笺存储75DLP结构:访存缓存便笺面积+50%速度+23%功耗+2%编程透明需要控制4MB,7nmFinFET工艺评估深度学习访存行为规律,更适合使用便笺存储76DLP结构:控制深度学习程序控制流以计数循环为主

for(co=0;co<Co;co++)for(yo=0;yo<Ho;yo++)for(xo=0;xo<Wo;xo++){output[co][yo][xo]=bias[co];

for(yk=0;yk<Hk;yk++)for(xk=0;xk<Wk;xk++)for(ci=0;ci<Ci;ci++){output[co][yo][xo]+=weight[co][ci][yk][xk]

*input[ci][yo*stride+yk][xo*stride+xk];}}77DLP结构:控制深度学习程序控制流以计数循环为主启发:可以特别设计计数跳转指令大多数跳转无需分支预测for(co=0;co<Co;co++)for(yo=0;yo<Ho;yo++)for(xo=0;xo<Wo;xo++){output[co][yo][xo]=bias[co];

for(yk=0;yk<Hk;yk++)for(xk=0;xk<Wk;xk++)for(ci=0;ci<Ci;ci++){output[co][yo][xo]+=weight[co][ci][yk][xk]

*input[ci][yo*stride+yk][xo*stride+xk];}}以精简的通用处理器结构为基础省去了分支预测器78DLP结构取消数据缓存,I/O直连外部主存79DLP结构添加便笺存储器和直接访存模块(DMA)DMA:代理主存与便笺存储器之间的大块连续数据搬运80DLP结构添加矩阵运算单元81DLP结构添加矩阵指令的控制单元矩阵指令在提交队列中,与标量/访存指令同步82DLP结构83神经网络计算机/芯片的发展历史第一次热潮(1950年代-1960年代)1951,M.Minsky研制了神经网络模拟器SNARC1960,F.Rosenblatt研制了神经网络计算机Mark-ISNARCMark-I84神经网络计算机/芯片的发展历史第一次热潮(1950年代-1960年代)第二次热潮(1980年代-1990年代初)1989,IntelETANN1990,CNAPS1993,MANTRAI1997,预言神……1990s的神经网络处理器结构简单规模小85模拟电路:IntelETANN851990s的神经网络处理器86模拟电路:FPAA实现数字电路:CNAPS数字电路:MANTRA-I86872019201320082014201520162017国际首个深度学习处理器架构DianNao国际首个多核深度学习处理器架构DaDianNao国际首个深度学习处理器芯片国际首个深度学习指令集奠定寒武纪生态基础近亿台手机和服务器开始集成寒武纪处理器国际上同期峰值速度最高的智能芯片MLU100AlphaGo用1202个CPU+176个GPU战胜李世石Google公布其第一代深度学习处理器TPUNvidia在其V100GPU产品中加入深度学习加速器深度学习处理器发展第三次热潮(2006-至今)可用于人工智能的GPUGoogleBrain猫脸识别1.6万个CPU核训练数天20122018MLU270性能提升4倍首个面向深度学习的GPU架构PascalDianNao(中科院计算所&法国INRIA,2013)TPU(Google,2016)VoltaGPU(NVIDIA,2017)88深度学习处理器样例深度学习处理器的优势:一条指令完成复杂的线性运算,控制开销低同等访存,能达到更强运算能力缺陷是什么?89讨论提纲通用处理器向量处理器深度学习处理器大规模深度学习处理器总结90如何堆积更强的运算能力?91DLP的规模扩展片内存储控制单元深度学习处理器运算单元运算单元运算单元运算单

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论