C++ - unordered_map 源码解析】的更多相关文章

转自:http://zrj.me/archives/1248,转载请注明.(分析得不错) 主要尝试回答下面几个问题: 一般情况下,使用 hash 结构,需要有桶的概念,那么 unordered_map 是如何自动管理桶的,这个问题其实再细分的话是这样的: 初始的桶是如何设置的 当需要扩容的时候,是如何重新分布的 对于 string,unordered_map 的默认哈希函数是怎样的 代码位于 /usr/include/c++/4.1.2/tr1/,编译器版本比较老,在这个目录下,有这些文件 to…
[源码解析] 机器学习参数服务器ps-lite 之(1) ----- PostOffice 目录 [源码解析] 机器学习参数服务器ps-lite 之(1) ----- PostOffice 0x00 摘要 0x01 概要 1.1 参数服务器是什么 1.2 历史溯源 1.3 论文架构 1.4 ps-lite发展历程 1.5 ps-lite 系统总体 1.6 基础模块 0x02 系统启动 2.1 如何启动 2.2 启动脚本 2.3 示例程序 0x03 Postoffice 3.1 定义 3.2 ID…
[源码解析] 机器学习参数服务器ps-lite(2) ----- 通信模块Van 目录 [源码解析] 机器学习参数服务器ps-lite(2) ----- 通信模块Van 0x00 摘要 0x01 功能概述 0x02 定义 2.1 UML图 2.2 主要说明 2.3 线程管理 2.4 类定义 0x03 初始化 0x04 接受消息 4.1 后台处理消息线程 4.2 处理函数 4.2.1 控制信息 4.2.2 线程内全局变量 4.2.3 具体实现 4.3 处理 ADD_NODE 消息 4.3.1 注册…
[源码解析] 机器学习参数服务器ps-lite 之(3) ----- 代理人Customer 目录 [源码解析] 机器学习参数服务器ps-lite 之(3) ----- 代理人Customer 0x00 摘要 0x01 来源 1.1 目前总体 1.2 Postoffice 1.3 Van 1.4 Customer 1.5 目前逻辑 0x02 基础类 2.1 SArray 2.2 KVPairs 2.3 Node 2.4 Control 2.5 Meta 2.6 Message 2.6.1 结构…
[源码解析]机器学习参数服务器ps-lite(4) ----- 应用节点实现 目录 [源码解析]机器学习参数服务器ps-lite(4) ----- 应用节点实现 0x00 摘要 0x01 基础类 1.1 Range 1.2 TreadsafeQueue 0x02 SimpleApp 2.1 概述 2.2 定义 2.2.1 支撑类 2.2.2 成员变量 2.3 功能函数 0x03 KVServer 3.1 定义 3.2 功能函数 3.2.1 Response 3.2.2 Process 3.2.3…
[源码解析] 机器学习参数服务器 Paracel (1)-----总体架构 目录 [源码解析] 机器学习参数服务器 Paracel (1)-----总体架构 0x00 摘要 0x01使用 1.1 配置&启动 1.2 编译 1.3 梯度下降法 1.4 驱动代码 1.5 算法代码 1.5.1 类定义 1.5.2 主体代码 1.5.3 Agd算法 1.6 小结 0x02 启动 2.1 python脚本 prun.py 2.1.1 主体函数 2.1.2 starter函数 2.2 可执行程序 start…
[源码解析] 机器学习参数服务器Paracel (3)------数据处理 目录 [源码解析] 机器学习参数服务器Paracel (3)------数据处理 0x00 摘要 0x01 切分需要 1.1 切分的好处 1.2 数据并行 1.3 模型并行 1.3.1 线性模型 1.3.2 非线性模型(神经网络) 1.4 混合使用 0x02 切分机制与数据格式 2.1 切分原则 2.2 模型和数据格式 2.3 Paracel 数据机制 2.3.1 数据表示 2.3.2 数据加载 0x03 数据加载 3.…
[源码解析] Pytorch 如何实现后向传播 (2)---- 引擎静态结构 目录 [源码解析] Pytorch 如何实现后向传播 (2)---- 引擎静态结构 0x00 摘要 0x01 Engine 0x02 GraphRoot 2.1 构建 2.2 作用 0x03 GraphTask 3.1 定义 3.2 outstanding_tasks_ 3.2.1 任务结束 3.2.2 增加 3.2.3 递减 3.3 keep_graph 3.4 dependencies_ 3.5 not_ready…
[源码解析] Pytorch 如何实现后向传播 (3)---- 引擎动态逻辑 目录 [源码解析] Pytorch 如何实现后向传播 (3)---- 引擎动态逻辑 0x00 摘要 0x01 前文回顾 0x02 引擎总体架构 0x03 启动引擎 3.1 初始化local ready queue 3.2 构建GraphTask 3.3 构建根节点 3.4 计算最小拓扑 3.5 计算依赖 3.6 初始化GraphTask ExecInfo 3.7 配置工作线程输入 3.8 开始运行 3.9 配置设备和R…
[源码解析] PyTorch 如何实现后向传播 (4)---- 具体算法 目录 [源码解析] PyTorch 如何实现后向传播 (4)---- 具体算法 0x00 摘要 0x01 工作线程主体 1.1 线程主体代码 1.2 使用 Ready Queue 0x02 反向计算总体逻辑 0x03 准备工作 0x04 核心逻辑 0x05 准备下一步工作 5.1 依据依赖排查节点 5.2 处理这个节点 0x06 扫尾操作 6.1 判断结束 6.2 后续&通知 6.2.1 后续操作 6.2.2 通知主线程…