博客更新计划
该文档主要阐明后续的博客重点更新方向:
主题 | 进度 | 备注 |
---|---|---|
《二分》 | 规划中 | 二分查找、二分搜索,算法、理论与应用 |
《DFS、BFS》 | 编写中 | 总结DFS、BFS的通用思路,题解举例 |
《动态规划》 | 规划中 | 总结从递归到动态规划、题解 |
该文档主要阐明后续的博客重点更新方向:
主题 | 进度 | 备注 |
---|---|---|
《二分》 | 规划中 | 二分查找、二分搜索,算法、理论与应用 |
《DFS、BFS》 | 编写中 | 总结DFS、BFS的通用思路,题解举例 |
《动态规划》 | 规划中 | 总结从递归到动态规划、题解 |
Reference
This site is built by Vuepress, Vuepress GitHub
A basic tutorial: zero-to-deploy-build-a-documentation-system-with-vue-and-vuepress
Zon of Python By Tim Peters
translated by weigao chen
⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠ You can decompress Drawing data with the command palette: 'Decompress current Excalidraw file'. For more info check in plugin settings under 'Saving'
SM/Core ^XBwvmcfM
AMD IBS(Instruction-Based Sampling,基于指令采样)是 AMD 处理器中一项硬件级性能分析技术,用于监控和记录处理器执行的指令流,为开发者和系统管理员提供细粒度的性能洞察。
IBS 是一种基于已执行指令的硬件采样技术。与传统基于事件计数的采样(如周期、缓存未命中等)不同,IBS 能够采集指令级别的丰富信息,比如:
每条采样指令是否命中 L1/L2/L3 缓存
是否发生 TLB miss
分支预测是否成功
指令类型(load、store、branch、ret 等)
执行延迟、流水线 stalls 情况
内存地址访问路径(可选)
特性 | 对编译器的影响 |
---|---|
动态类加载(Class.forName ) |
编译器无法静态分析依赖 |
字符串驱动方法/字段调用(method.invoke ) |
无法内联、去虚、裁剪 |
访问私有成员(字段/构造器) | 安全检查阻碍优化 |
使用频率不确定 | 难以收集热点信息 |
MMU 中的 Table Walk Unit(页表遍历单元) 是硬件级的核心组件,专门处理虚拟地址到物理地址转换过程中 TLB 未命中时的页表查找,其设计目标是通过硬件加速减少页表访问延迟。以下是其技术细节的深度解析:
当 TLB 未命中时,自动根据虚拟地址中的虚拟页号(VPN) 逐级解析页表层级:
支持多级页表架构(如 x86 的 4 级页表、ARMv8 的 2 级页表)
todo
下图是一个 mutli-chip GPU, 由四个 GPU 芯片组成。每个芯片包含 64 个流多处理器( SM),每个 SM 配有 128KB 的私有一级缓存( L1 缓存),具有 4MB 的末级缓存( LLC)容量,以及 8 个内存控制器(图中每个 chip 画出了一个)。
The Network-on-Chip (NoC) connects 32 SM clusters (two SMs share one network port) to 16 LLC slices with a total bisection bandwidth of 4 TB/s.
NVLink 是 NVIDIA 开发的一种高速互连技术,旨在实现 GPU 之间以及 GPU 与 CPU 之间的高带宽、低延迟通信。它主要用于加速 AI、HPC 和数据分析等场景中的数据传输。
NVLink 不但可以实现 GPU 之间以及 GPU 和 CPU 之间的互联,还可以实现 CPU 之间的互联。从这一点来看,NVLink 的野心着实不小。
我们知道,Intel 的 CPU 间互联总线是 QPI,20 位宽的 QPI 连接带宽也只有 25.6GB/s,在 NVLink 面前同样差距巨大。可想而知,如果全部采用 NVLink 总线互联,会对系统数据交换通道的带宽有多大提升