上一页 1 2 3 4 5 6 ··· 10 下一页
摘要: 在实现二叉树遍历时,使用递归的方式是比较直观的方式。然而递归依赖系统调用栈,一方面在树深度很大时可能导致栈溢出,另一方面在工程实践中往往需要更灵活的控制方式。于是,非递归遍历成为一种必要补充:通过显式地维护栈或队列来模拟递归过程,从而在不依赖系统栈的情况下完成遍历。本博客将介绍一些非递归的方式实现二 阅读全文
posted @ 2025-09-28 15:16 木杉的园子 阅读(72) 评论(0) 推荐(0)
摘要: 当缓存容量固定时,我们需要一种淘汰策略:每次访问把数据标记为“最近使用”,当容量满了时淘汰“最久未使用”的那个,以提升缓存命中率。这就是 LRU 的核心。 以下是一个使用 C++ 实现的 LRU Cache 模版,拥有以下特性: 使用 std::list 维护一个缓存列表,头部的缓存块为最近使用的、 阅读全文
posted @ 2025-09-03 17:02 木杉的园子 阅读(31) 评论(0) 推荐(0)
摘要: llama.cpp 是使用 C/C++ 编写的高性能推理框架,没有外部依赖,因此可以跨平台快速部署。并且,llama.cpp 还支持多种硬件平台上的计算库,包括 Metal、BLAS、CUDA、Vulkan、CANN 等,以加速模型的推理。此外,llama.cpp 还支持多种量化方案以加快推理速度并 阅读全文
posted @ 2025-08-28 16:21 木杉的园子 阅读(646) 评论(0) 推荐(0)
摘要: GNU 工具和 RealView 编译工具(RVCT)的最新版本均支持 NEON 指令。 1. NEON Assembler 使用 NEON 单元最直接的方式是编写汇编代码。GNU 和 RVCT 汇编器采用相同的指令格式,但是存在一些差异,包括:汇编器指示(assembler directives) 阅读全文
posted @ 2025-08-22 16:58 木杉的园子 阅读(89) 评论(0) 推荐(0)
摘要: ARMv7 架构引入了 Advanced SIMD 作为 ARMv7-A 和 ARMv7-R 架构的可选扩展。它通过定义对存储在 64 位 D(双字)寄存器和 128 位 Q(四字)向量寄存器中的向量进行操作的指令组,扩展了 SIMD 概念。ARM 处理器中使用的高级 SIMD 扩展实现被称为 NE 阅读全文
posted @ 2025-08-22 16:57 木杉的园子 阅读(145) 评论(0) 推荐(0)
摘要: 编写或生成 SVE 代码由几种方法: 编写 SVE 汇编代码; 使用 SVE intrinsics 进行编程; 自动向量化; 使用 SVE 优化的库。 下面我们将详细介绍这四种方法。 1. 编写 SVE 汇编代码 我们可以在 C/C++ 代码中以内联汇编形式编写 SVE 指令,或在汇编源文件中编写完 阅读全文
posted @ 2025-08-22 15:50 木杉的园子 阅读(247) 评论(0) 推荐(0)
摘要: ARM 可扩展向量扩展(Scalable Vector Extension,SVE)是继 Neon 之后的 SIMD 扩展。SVE 允许在 CPU 实现中采用灵活的向量长度,其取值范围可从最小 128 位至最大 2048 位,但必须是 2 的幂次。因此有效的向量长度实现为 128、256、512、1 阅读全文
posted @ 2025-08-22 15:48 木杉的园子 阅读(274) 评论(0) 推荐(0)
摘要: ARM 的 Neon、SVE 和 SME 架构都可以计算矩阵乘法,本篇博客将对比这三种架构。 本博客的编写参考了基于以下 ARM 社区文章: Part 1: Arm Scalable Matrix Extension (SME) Introduction Part 2: Arm Scalable M 阅读全文
posted @ 2025-08-16 02:40 木杉的园子 阅读(452) 评论(0) 推荐(0)
摘要: ARM SME 指令 与 SME ZA 存储交互的 SME 指令包括以下内容: 将两个向量的外积累加或减去到 ZA 矩阵分块的指令; 在 ZA 矩阵分块行/列与向量之间传输的 Load/Store/Move 指令; 将向量水平或垂直方向加到 ZA 矩阵分块的指令; 在流式 SVE 模式下将向量大小的 阅读全文
posted @ 2025-08-15 20:07 木杉的园子 阅读(327) 评论(0) 推荐(0)
摘要: ARM 可扩展矩阵扩展(Scalable Matrix Extension,SME),是用于增强矩阵运算的指令集扩展。SME 是建立在可扩展向量扩展(Scalable Vector Extension,SVE)上的,新增了处理矩阵的能力。主要特性包括: 两个向量之间的外积运算; 矩阵分块存储; 矩阵 阅读全文
posted @ 2025-08-15 19:38 木杉的园子 阅读(374) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 ··· 10 下一页