C++高性能并行编程与优化 - 课件 - 10 从稀疏数据结构到量化数据类型从稀疏数据结构到量化数据类型 by 彭于斌( @archibate ) 往期录播: https://www.bilibili.com/video/BV1fa411r7zp 课程 PPT 和代码: https://github.com/parallel101/course 本课涵盖:稀疏矩阵、 unordered_map 、空间稀 疏网格、位运算、浮点的二进制格式、内存带宽优 化 面向人群:图形学、 ,反之则是未激活 (inactive) 。 这就是稀疏的好处,按需分配,自动扩容。 分块则是利用了我们存储的数据常常有着空间局域性的特点,减轻哈希表的压 力,同时在每个块内部也可以快乐地 SIMD 矢量化, CPU 自动预取之类的。 第 2 章:位运算 稀疏的好处:坐标可以是负数 这样即使坐标为负数,或者可以是任意大的坐标,都不会产生越界错误。 但是分块存储时负数却导致出错了 为什么 segf 实现访问者模式 • 额,总之就是每一层都有一个缓存。 第 5 章:量化整型 使用 int :每个占据 4 字节 • 记得我第七课说过,一个简单的循环体往 往会导致内存成为瓶颈( memory- bound )。 • 右边就是一个很好的例子。 使用 int64_t :每个占据 8 字节 • 如果用更大的数据类型,用时会直接提升两倍! • 这是因为 i % 2 的计算时间,完全隐藏在内存0 码力 | 102 页 | 9.50 MB | 1 年前3
5_刘欣_Python在量化投资领域的应用0 码力 | 50 页 | 16.81 MB | 1 年前3
基本数据类型基本数据类型 主讲人:龙良曲 All is about Tensor python PyTorch Int IntTensor of size() float FloatTensor of size() Int array IntTensor of size [d1, d2 ,…] Float array FloatTensor of size [d1, d2, …] string0 码力 | 16 页 | 1.09 MB | 1 年前3
MoonBit月兔编程语言 现代编程思想 第五课 数据类型:树、二叉树、二叉搜索树、AVL树0 码力 | 29 页 | 1015.26 KB | 1 年前3
RISC-V 开放架构设计之道 1.0.0架构与其他架构的不同之处,同时也很好地阐释了 RISC-V 的模块化、扩展性和先进性。 这本书非常适合刚开始学习 RISC-V 架构的学生,是一本非常浅显易懂的教材, 它可以作为计算机体系结构的学习用书之一。在《计算机体系结构:量化研究方法》 中,我们已经可以学习到 RISC-V 的流水线、微架构等知识,但本书对 RISC-V 架构 进行了全面的描述,更加完整地解释了指令架构、复杂功能和二进制编码等关键技术 内容,是 RISC-V 错误的调试难度;RISC-V 并未像 MIPS 那样采用延迟分支技术,是因为该技术违反 架构和实现分离的原则。同时,本书还介绍 x86、ARM 和 MIPS 的设计,并通过插 入排序和 DAXPY(双精度乘加)程序量化对比它们,突出 RISC-V 的优势,深入阐 释指令集设计对计算机系统的影响。 我们将本书强烈推荐给计算机专业和电子专业数字电路方向的师生,以及处理器 1“一生一芯” 计划是由中国科学院大学发 优雅性的另一个示例。实际上,图 1.2 中所示的数百条添加到 x86-32 的指令 都是 SIMD,此外还有数以百计的 SIMD 指令即将问世。RV32V 甚至比大多数向量 ISA 更简单,因为它通过向量寄存器指定数据类型和长度,而不是将二者嵌入操作码。 RV32V 也许是从基于 SIMD 的传统 ISA 转到 RISC-V 最令人信服的原因。 第 9 章介绍 RV64G,RISC-V 的 64 位地址版本。正如该章节所述,RISC-V0 码力 | 223 页 | 15.31 MB | 1 年前3
PyConChina2022-杭州-ARM芯片的Python+AI算力优化-朱宏林内存布局:矩阵分块;重排 • 向量化指令:AVX、NEON V0 V1 ✕ ✕ ✕ ✕ V2 GEMM 例子 • 优化 GEMM • 内存布局:矩阵分块;重排 • 向量化指令:AVX、NEON 原始算法 展开4x1 向量化 GEMM 例子 • 优化 GEMM • 内存布局:矩阵分块;重排 • 向量化指令:AVX、NEON 原始算法 展开4x1 向量化 GEMM • 优化 GEMM GEMM • 内存布局:矩阵分块;重排 • 向量化指令:AVX、NEON • 硬件加速 • Nvidia Volta 架构引入 tensor core • Intel AMX, Advanced Matrix Extension • ARM SME, Scalable Matrix Extension • CPU 存在优势场景,但当前尚没有可大规模使用 AMX 和 SME 实例 V0 V0 V1 ✕ ✕ ✕ ✕ V2 BF16 数据类型 • BF16(Brain Floating Point,bfloat16) • Google Brain 团队 • float32、float16、bfloat16(FP32、FP16、BF16) • 特点 • 表示范围和 FP32 一致 • 转换便利 • 节省存储空间 • 硬件指令支持 ARMv8.6 bf16 扩展0 码力 | 24 页 | 4.00 MB | 1 年前3
2022年美团技术年货 合辑序 算法 1 YOLOv6:又快又准的目标检测框架开源啦 1 目标检测开源框架 YOLOv6 全面升级,更快更准的 2.0 版本来啦 13 通用目标检测开源框架 YOLOv6 在美团的量化部署实战 17 7 次 KDD Cup&Kaggle 冠军的经验分享:从多领域优化到 AutoML 框架 37 图神经网络训练框架的实践和探索 66 图技术在美团外卖下的场景化应用及探索 未来我们会持续建设和完善 YOLOv6 生态,主要工作包括以下几个方面: 1) 完善 YOLOv6 全系列模型,持续提升检测性能。 2) 在多种硬件平台上,设计硬 件友好的模型。 3) 支持 ARM 平台部署以及量化蒸馏等全链条适配。 4) 横向拓展和 引入关联技术,如半监督、自监督学习等等。 5) 探索 YOLOv6 在更多的未知业务场 景上的泛化性能。 12 > 2022年美团技术年货 同时也欢迎社 目标检测开源框架 YOLOv6 全面升级, 更快更准的 2.0 版本来啦 作者:楚怡 红亮 梦婕等 9 月 5 日,美团视觉智能部发布了 YOLOv6 2.0 版本,本次更新对轻量级网络进 行了全面升级,量化版模型 YOLOv6-S 达到了 869 FPS,同时,还推出了综 合性能优异的中大型网络(YOLOv6-M/L),丰富了 YOLOv6 网络系列。其中, YOLOv6-M/L 在 COCO 上检测精度(AP)分别达到0 码力 | 1356 页 | 45.90 MB | 1 年前3
动手学深度学习 v2.085 3.1.1 线性回归的基本元素 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 3.1.2 矢量化加速 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 3.1.3 正态分布与平方损失 softmax运算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 3.4.5 小批量样本的矢量化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 3.4.6 损失函数 . . . . . . 小批量随机梯度下降 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457 11.5.1 向量化和缓存 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457 11.5.2 小批量 . .0 码力 | 797 页 | 29.45 MB | 1 年前3
PyTorch OpenVINO 开发实战系列教程第一篇torchtext、针对计算机视觉的 torchvision、针对语音处理 的 torchaudio,这些库支持快速模型训练与演示应用,可以 帮助开发者快速搭建原型演示。此外在移动端支持、模型部署 的压缩、量化、服务器端云化部署、推理端 SDK 支持等方面 Pytorch 也在不断的演化改进。 在操作系统与 SDK 支持方面,Pytorch 从最初的单纯支持 Python 语言到如今支持 Python/C++/Java tensor([[2., 3.], [4., 5.]]) torch.float32 其中 torch.Tensor 是 torch.FloatTensor 的别名,所以默认的 数据类型是 flaot32,这点从 a.dtype 的打印结果上也得了印 证。此外 torch.Tensor 函数还支持从 Numpy 数组直接转换 为张量数据,这种定义声明张量数据的代码如下: b [3, 4], [5, 6], [7, 8]], dtype=torch.int32) 根据数据类型的自动识别,转换为 torch.int32 的数据类型。 除了直接声明常量数组的方式,Pytorch 框架还支持类似 Matlab 方式的数组初始化方式,可以定义数组的维度,然后 初始化为零,相关的演示代码如下: c0 码力 | 13 页 | 5.99 MB | 1 年前3
TiDB v5.2 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 35 2.3.1 数据类型,函数和操作符 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1298 12.11.3 数据类型 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 版本下获取上游表名时卡住的问题 #322 2.3 TiDB 基本功能 本文列出了 TiDB 功能在各版本的支持变化情况。请注意,实验特性的支持可能会在最终版本发布前发生变化。 2.3.1 数据类型,函数和操作符 数据类型,函数,操作符 5.2 5.1 5.0 4.0 数值类型 Y Y Y Y 日期和时间类型 Y Y Y Y 字符串类型 Y Y Y Y JSON 类型 实验特性 实验特性 实验特性0 码力 | 2259 页 | 48.16 MB | 1 年前3
共 427 条
- 1
- 2
- 3
- 4
- 5
- 6
- 43













