什么是GEMM?该怎么去学习GEMM?

什么是GEMM? 它的英文全称是 GEneral Matrix to Matrix Multiplication (通用矩阵的矩阵乘法),Gemm在神经网络的计算中占据很重要的位置。 它代表全局矩阵到矩阵的乘法,它本质上完全按照它在tins上所说的那样,将两个输入矩阵乘法在一起,得到一个输出矩阵。它和我在三维图形世界中使用的矩阵操作类型之间的区别在于,它所工作的矩阵通常非常大。

例如,典型网络中的单个层可能需要将256行、1152列矩阵乘以1152行、192列矩阵,以产生256行、192列的结果。天真地说,这需要5700万层(256x1152x192)浮点操作,在现代架构中可以有几十个这样的层,所以我经常看到网络需要几十亿FLOP来计算一帧。

随着AI技术的快速发展,深度学习在各个领域得到了广泛应用。深度学习模型能否成功在终端落地应用,满足产品需求,一个关键的指标就是神经网络模型的推理性能。于是,一大波算法工程师为了算法的部署转岗到先进计算工程师。然而,先进计算并不是一件简单的事,它要求工程师既要精通计算机体系架构,又要熟悉算法的计算流程,于是,稍微有经验的深度学习先进计算工程师都成了各家公司争抢的“香饽饽”。相关人才少,但需求多,先进计算成为了未来的一大趋势。

那么,我们该如何学习GEMM?

第一,我们需要了解一下硬件的基础的体系结构,了解硬件如何工作,才能在软件上实现算法的时候,尽可能去考虑利用硬件的一些特性,来做到高效的、极致的优化。

第二,充分利用SIMD进行指令向量化和多核心并行。大部分现代CPU支持SIMD(Single Instruction Multiple Data,单指令流多数据流)。在同一个CPU循环中,SIMD可在多个值上同时执行相同的运算/指令。

点击下方链接,加入先进计算训练营

先进计算基础训练营测评名单收集http://hbcjintern.mikecrm.com/2lu8xm8猿代码科技,现向国家大力输送先进计算行业的人才,助力国家智能科技产业的升级发展。而且猿代码科技也与各个地区的国家超算中心有紧密的合作,例如“无锡国家超算中心”、“天津国家超算中心”等,现向全社会人员以及各个高校在校生提供100个名额,如果你如果你想挣到程序员的高薪,又想有稳定的发展,那请点击下方链接,详细咨询,前50名可得先进计算基础课程,提供面试机会,助你进入目标单位。
猿代码-先进计算猿代码(北京)科技有限公司是一家IT类科技公司,致力于软件开发、系统集成及高素质IT开发人才的训练与培养。icon-default.png?t=M85Bhttp://www.ydma.com/ydm_mobile.html

你可能感兴趣的:(先进计算,高性能计算,学习,深度学习)