Composing Ancient Mathematical Knowledge Into Powerful Bit-fiddling0 码力 | 73 页 | 947.99 KB | 1 年前3
PyConChina2022-杭州-ARM芯片的Python+AI算力优化-朱宏林ARM 架构的服务平台,如何整合 Python + AI 的相关软件并使其在该平台上发挥最高的性能成为了工程师们关注的焦点。 - 矩阵乘法是深度学习计算的重要组成部分,我们利用 ARM 架构新提供的矩阵扩展对 bf16 类型的矩阵乘法计算进行优化,该优化将纯矩阵乘法的运算速度提升 3 倍以上,对深度学习推理任务性能提升明显。目前,该成果已经被集成进 OpenBLAS 和 PyTorch 中。 - ## 深度学习 • 广泛使用的深度学习框架 • TensorFlow、PyTorch • 结合硬件(ARM 服务端芯片) • 倚天 710 • AWS graviton • 矩阵乘法 • 为什么矩阵乘法是深度学习的核心 • Conv、Linear、Transformers  ### ARMv8.6 bf16 扩展 ## • bf16 扩展 • ARMv8.6 • 矩阵乘法指令 BFMMLA - 类型转换指令 BFCVT ## • BFMLLA • 128 bit 向量寄存器 • 单指令完成 $ (2 \times 4) \times (4 \times 2)0 码力 | 24 页 | 4.00 MB | 2 年前3
Data Is All You Need for Fusion0 码力 | 151 页 | 9.90 MB | 1 年前3
深度学习与PyTorch入门实战 - 12. 数学运算0 码力 | 11 页 | 1015.16 KB | 2 年前3
C++高性能并行编程与优化 - 课件 - 15 C++ 系列课:字符与字符串但是随着富连网的普及,很多网站都会跨国访问,如果你的电脑配置为GBK,那么看到其他编码格式的网站就会出现乱码。如何统一世界上这么多文字的编码?所以出现了俗称“万国码”的 Unicode。他给世界上所有的字符编码,从英文字母到中文汉字到古埃及象形文字,现在全部都可以用一个0x000000~0x10FFFF的整数表示了,是不是很暴力? ## 暴力解决:UTF-32 - 但是 Unicode 表只解决了把全世界所有字符映射到一个整数的问题,没有解决如何把 Unicode 的范围是 0x000000~0x10FFFF 吗?用 2 字节只能表示 0x0000~0xFFFF 的部分(中文汉字在这部分之内)。但是 0x00FFFF~0x10FFFF 的部分(古埃及文字等)该怎么表示? • 这部分字符,会被拆成两个 wchar_t!拆法很复杂,我就不解释了。 - 美国人虽然有点不高兴,但毕竟 2 字节总比 4 字节好,而且也有助于他的产品“Windows”畅销世界各地呀,所以最终0 码力 | 162 页 | 40.20 MB | 2 年前3
美团点评2018技术年货以及判断能力本质上也是一种函数处理。从数据或者经验中学习,对于人类来说是一件再平常不过的事情了。例如人们通过观察太阳照射物体影子的长短而发明了日晷,从而具备了计时和制定节气的能力。古埃及人通过尼罗河水的涨落发明了古埃及历法。  又比如0 码力 | 229 页 | 61.61 MB | 2 年前3
机器学习课程-温州大学-02-数学基础回顾-1.CS229-LinearAlgebra机器学习课程复习材料-线性代数 CS229 机器学习课程复习材料-线性代数 线性代数复习和参考 1. 基础概念和符号 1.1 基本符号 2. 矩阵乘法 2.1 向量-向量乘法 2.2 矩阵-向量乘法 2.3 矩阵-矩阵乘法 3. 运算和属性 3.1 单位矩阵和对角矩阵 3.2 转置 3.3 对称矩阵 3.4 矩阵的迹 3.5 范数 特征值和特征向量 3.13 对称矩阵的特征值和特征向量 4. 矩阵微积分 4.1 梯度 4.2 黑塞矩阵 4.3 二次函数和线性函数的梯度和黑塞矩阵 4.4 最小二乘法 4.5 行列式的梯度 4.6 特征值优化 ## 线性代数复习和参考 ### 1. 基础概念和符号 线性代数提供了一种紧凑地表示和操作线性方程组的方法。例如,以下方程组: $$ 在许多情况下,将矩阵视为列向量或行向量的集合非常重要且方便。通常,在向量而不是标量上操作在数学上(和概念上)更清晰。只要明确定义了符号,用于矩阵的列或行的表示方式并没有通用约定。 ### 2. 矩阵乘法 两个矩阵相乘,其中 $ A \in R^{m \times n} $ and $ B \in R^{n \times p} $ ,则: $$ C=A B\in\mathbb{R}^{m\times0 码力 | 19 页 | 1.66 MB | 2 年前3
1.2.4 Go on GPUnewCommandQueue]; } ... ``` 例子1:矩阵乘法 矩阵乘法几乎支撑了所有的现代科学计算,它也是一个非常经典的性能优化问题 例如:神经网络层与层之间的运算是通过矩阵完成的,科学计算中大量的求解器均依赖矩阵,等等 4x5 5x2 4x2 例子1:矩阵乘法 矩阵乘法几乎支撑了所有的现代科学,它的计算是一个非常经典的性能优化问题 例如:神经网络层与层之间的 完成的,科学计算中大量的求解器均依赖矩阵,等等 4x5 5x2 4x2 例子1:矩阵乘法 矩阵乘法几乎支撑了所有的现代科学,它的计算是一个非常经典的性能优化问题 例如:神经网络层与层之间的运算是通过矩阵完成的,科学计算中大量的求解器均依赖矩阵,等等 4x5 5x2 4x2 例子1:矩阵乘法 矩阵乘法几乎支撑了所有的现代科学,它的计算是一个非常经典的性能优化问题 例如:神经网络层与层之间的 完成的,科学计算中大量的求解器均依赖矩阵,等等 4x5 5x2 4x2 例子1:矩阵乘法 矩阵乘法几乎支撑了所有的现代科学,它的计算是一个非常经典的性能优化问题 例如:神经网络层与层之间的运算是通过矩阵完成的,科学计算中大量的求解器均依赖矩阵,等等 4x5 5x2 4x2 例子1:矩阵乘法 矩阵乘法几乎支撑了所有的现代科学,它的计算是一个非常经典的性能优化问题 例如:神经网络层与层之间的0 码力 | 55 页 | 4.79 MB | 1 月前3
机器学习课程-温州大学-03深度学习-PyTorch入门float16)| ### 1. Tensor张量乘法 #### 1. 二维矩阵乘法 torch.mm() torch.mm(mat1, mat2, out=None) 其中 $ mat1\inR^{n\times m},mat2\inR^{m\times d} $ ,输出的 $ out\inR^{n\times d} $ 该函数一般只用来计算两个二维矩阵的矩阵乘法,并且不支持broadcast操作。 ### 1. Tensor张量乘法 #### 2. 三维带batch的矩阵乘法 torch.bmm() 由于神经网络训练一般采用mini-batch,经常输入的时三维带batch的矩阵,所以提供torch.bmm(bmat1, bmat2, out=None) 其中 $ bmat1 \in R^{b \times n \times m}, bmat2 \in R^{b \times m \times tch维度),不支持broadcast操作 ### 1. Tensor张量乘法 #### 3. 多维矩阵乘法 torch.matmul() torch.matmul(input, other, out=None) 支持broadcast操作,使用起来比较复杂。针对多维数据 $ matmul() $ 乘法,可以认为该乘法使用使用两个参数的后两个维度来计算,其他的维度都可以认为是batch维度。0 码力 | 40 页 | 1.64 MB | 2 年前3
RISC-V 手册 v2(一本开源指令集的指南)链接器 ..... 46 3.5 静态链接和动态链接 ..... 49 3.6 加载器 ..... 49 3.7 结束语 ..... 49 3.8 扩展阅读.....50 第四章 乘法和除法指令.....51 4.1 导言.....51 4.2 结束语.....53 4.3 扩展阅读.....53 第五章 RV32F 和 RV32D:单精度和双精度浮点数.. after Addition(aaa)指令的描述。它以二进制编码十进制数(BCD)形式进行计算机运算,这种方式已经被扔进信息技术历史的垃圾堆里。x86还有三个相似的指令,分别执行减法操作(aas),乘法操作(aam),和除法操作(aad)。由于他们都是单字节指令,它们加起来占用了宝贵的操作码空间的1.6%(4/256)。 ### 1.2 模块化与增量型 ISA 英特尔曾将其未来押在高端微处理器 的特点,而这对于嵌入式应用可能至关重要。RISC-V编译器得知当前硬件包含哪些扩展后,便可以生成当前硬件条件下的最佳代码。惯例是把代表扩展的字母附加到指令集名称之后作为指示。例如,RV32IMFD将乘法(RV32M),单精度浮点(RV32F)和双精度浮点(RV32D)的扩展添加到了基础指令集(RV32I)中。 继续用我们刚才的类比来说,RISC-V提供的是菜单,而不是一顿应有尽有的自助餐。主厨只0 码力 | 164 页 | 8.85 MB | 2 年前3
共 250 条
- 1
- 2
- 3
- 4
- 5
- 6
- 25













