基于 Strassen 与 LCMA 低复杂度矩阵乘,腾讯 FalconGEMM 探索超越硬件峰值的矩阵乘优化

百度 POI 多城采集:关键词 × 城市矩阵与去重入库 空间智能实验室 Vol.21:百度 POI 多城采集:关键词 × 城市矩阵与去重入库 上一篇是「一表一批」的地址补坐标,量级是几百行。这一篇要处理的是另一类需求:给定几十个关键词和十几个城市,抓取所有相关的 POI,落库 阅读详情

8 月 1 日,HyperAI 主办的 Meet AI Compiler 技术沙龙第 9 期在北京举办。本期活动聚焦 AI 编译技术的最新进展,多位来自产业界和科研机构的专家围绕编程语言、算子开发、编译优化与推理执行展开分享,呈现 AI 编译器从上层语言表达到硬件执行的协同演进。

其中,腾讯高性能计算工程师朱泓霖以「FalconGEMM: Surpassing Hardware Peaks with Lower-Complexity Matrix Multiplication」为题,分享了团队围绕低复杂度矩阵乘法开展的算法与算子优化实践。

面对 cuBLAS 等成熟算子库已经将矩阵乘性能推至接近硬件峰值、传统 Kernel 级优化空间日益收窄的问题,团队重新从算法复杂度入手,以 Strassen、AlphaTensor 等低复杂度矩阵乘算法为基础,构建统一的 LCMA(Low-Complexity Matrix Algorithms)框架,并结合 QDSL、算子融合、Persistent Kernel、细粒度调度与 Cost Model 等技术,将「减少乘法次数」的理论优势转化为 GPU 上的实际性能收益。

在 NVIDIA H20 的 FP16、BF16 测试中,FalconGEMM 在大量矩阵 Shape 上超过 cuBLAS,峰值性能提升约 10%—16%,同时在语言模型 Benchmark 中保持了与标准矩阵乘基本一致的数值精度。

朱泓霖老师与观众深度交流

HyperAI 在不违原意的前提下,对分享内容进行了整理汇总。

关注微信公众号「HyperAI超神经」,后台回复关键字「0801 AI 编译器」,即可获取确认授权的讲师演讲 PPT。

从 Strassen 出发,重新寻找矩阵乘的优化空间

矩阵乘是深度学习中最重要的基础算子之一,也通常占据模型主要的计算耗时。CUDA、MKL、cuBLAS 等软件栈已经经过多年优化,在不少场景下,单个 GEMM Kernel 的性能已经非常接近硬件峰值。这意味着,如果继续只在指令、流水线和访存层面做局部优化,能够挖掘的空间已经越来越有限。团队因此将目光重新投向经典的 Strassen 算法。

Strassen 算法由 Volker Strassen 于 1969 年提出。对于最基础的 2×2 矩阵乘,传统方法需要完成 8 次乘法,而 Strassen 通过重新组合输入矩阵,只需要执行 7 次乘法,再通过额外的加减操作恢复最终结果,相当于减少了 1/8 的乘法计算量。如果操作对象只是标量,这笔交易并不划算;但当操作单元变成子矩阵后,矩阵加法 O(N²) 与矩阵乘法 O(N³) 之间的复杂度差异,使得「少做一次矩阵乘、多做若干矩阵加法」开始具备实际价值。

如果进一步递归使用 Strassen,乘法次数还可以继续下降。例如,一个 4×4 的分块矩阵乘,传统方式需要 64 次块乘法,而两层 Strassen 只需要 49 次。不过,递归层数增加也会带来更多加法、数据组织和访存开销,因此实际系统往往只采用有限层数,在计算削减和额外开销之间寻找平衡。

2022 年,DeepMind 提出的 AlphaTensor 又进一步拓展了这一算法空间。它将矩阵乘法转化为 Tensor Decomposition 问题,并利用强化学习搜索更低 Rank 的分解方式,说明除了经典 Strassen 之外,不同 M、N、K Shape 下还可能存在大量不同的低复杂度矩阵乘算法。

但从算法发现走向工程应用,还有一个现实问题:如果每一种低复杂度算法都需要单独手写 GPU Kernel,开发和维护成本显然过高。为此,团队将这类算法统一抽象为 LCMA(Low-Complexity Matrix Algorithms),统一描述输入矩阵中哪些子块需要预先组合、实际执行多少次矩阵乘,以及中间结果最终如何组合成输出矩阵,再通过 Codegen 自动生成对应实现。

由此,问题从「如何实现一个 Strassen Kernel」,转变为「如何构建一个能够承载多种低复杂度矩阵算法、同时保持高性能的统一框架」。

与此同时,低复杂度算法还必须面对数值精度问题。Strassen 在代数上与标准矩阵乘等价,但浮点运算并不严格满足结合律,计算顺序变化可能带来额外的舍入误差。因此,LCMA 在追求性能的同时,也需要控制低精度计算中的误差传播。

有了统一的算法描述,下一步就是寻找合适的 GPU 实现方式。团队先后尝试了 CUDA、Triton、TiLang 和 QDSL。CUDA 的硬件控制能力最强,但面对大量不同 LCMA 算法时,寄存器、Shared Memory 和中间求和结构都需要针对性调整,扩展和维护成本较高。

Triton 在基础 Strassen 场景中几乎可以达到 CUDA 的性能,但当算法扩展到更大的分块结构后,需要在多个中间计算之间精确复用寄存器 Buffer,Triton 容易产生额外 Spill。TiLang 在寄存器和 Shared Memory 控制上更加灵活,但团队测试中性能仍比 Triton 低约 5%—10%。对于理论收益只有 12.5% 的基础 Strassen 而言,这一损失已经足以明显侵蚀算法收益。

最终,团队选择 QDSL 作为 FalconGEMM 的主要实现后端。QDSL 的开发粒度接近 CUDA,同时具备 Codegen 能力,并支持嵌入 PTX,既方便迁移已有高性能实现,也适合根据不同 LCMA 描述批量生成代码,为后续融合与定制优化提供了更大的空间。

从 LCMA 到 FalconGEMM,把算法收益落到 GPU 上

最直接的 Strassen GPU 实现可以分为几个环节:分别组合 A 和 B 的子矩阵,生成 7 对新的输入;执行 7 个 Batched GEMM;最后再将 7 组中间结果组合成最终矩阵 C。相比常规 GEMM,其中真正计算密集的矩阵乘部分只有原来的 7/8,因此只要前后处理的额外耗时低于省下来的 1/8 计算量,整体就有机会获得收益。

团队首先在 NVIDIA H20 上进行测试。H20 具有较高的显存带宽和相对较低的计算峰值,比较适合这种「增加部分数据处理、换取计算量下降」的方案。在约 2048³ 及以上的矩阵规模上,基础实现已经能够观察到稳定收益。但在更小的 Shape 上,输入组合、中间结果写回和输出组合的占比会迅速上升,很容易吃掉节省下来的计算量。

因此,后续优化的重点从 GEMM 本身转向了中间访存。最直接的思路是算子融合,让中间结果尽量留在片上,而不是反复写回 Global Memory。不过,输入端 Combine A/B 并不适合直接融合进 GEMM,因为同一个子块可能被多个 SM 使用,容易产生重复加载和重复求和。相比之下,Batched GEMM 与 Combine H 的后处理融合更具可行性。

真正的难点在于,Strassen 的 7 个中间结果会以不同方式贡献给最终 4 个输出子矩阵。如果以 H 为并行单元,多个 SM 可能同时向同一个 C 写回,带来严重的 Atomic 冲突;如果以 C 为并行单元,又会导致部分 H 被不同 SM 重复计算。两种方式都会抵消减少乘法带来的收益。

团队最终不再按照 Strassen 的中间结果组织任务,而是按照矩阵的空间坐标进行分组:将 7 组 Batched GEMM 中处于相同位置的 7 个乘法 Tile 组成一个 Group,并放在同一个 SM 上执行。这样,一个 Group 完成相关计算后,可以直接在片上将结果累加至最终 C,既省去了中间结果写回 Global Memory,也避免了明显的跨 SM 写冲突。

这一融合方式大幅削减了 Strassen 带来的额外访存,但更大的 Group 粒度又带来了负载不均衡。以 4096³ 矩阵乘为例,粗粒度调度可能造成约 21% 的额外 Wave 浪费,甚至超过 Strassen 本身 12.5% 的计算削减。

为此,团队借鉴 Stream-K 的思路,将一个 Group 在必要时拆分到两个 SM 上执行。调度层面仍以 Group 为基本单位,但实际执行可以进一步细化到 Tile,从而减少尾部 SM 空转,在保留 Group 级数据复用优势的同时提升硬件利用率。

不过,解决负载均衡后,新的问题随之出现:L2 Cache 抖动。Group 被拆分后,同一个 Wave 中可能混入不同类型的中间乘法,访问的数据彼此独立,导致 L2 命中率明显下降。与此同时,GEMM 已经高度占用 Tensor Core,当访存压力也接近满载时,H20 会触碰功耗墙。实测中,核心频率从约 1.8 GHz 降至 1.6 GHz,计算性能随之下降,部分融合收益再次被抵消。

针对 L2 Cache 抖动,团队进一步调整拆分后的 Group 顺序,尽可能让同一个 Wave 内处理相同类型的中间结果,只在少量尾部 Wave 中出现混排。这样既保留了细粒度调度带来的负载均衡,也恢复了较好的 L2 数据局部性,最终消除了明显的降频问题。

值得一提的是,这些调度优化的重要基础是 Persistent Kernel。与普通 Kernel 中 CTA 完成一个 Block 后退出不同,Persistent Kernel 让 CTA 长时间驻留在 SM 上,持续领取后续任务,使开发者能够更灵活地控制 Group 和 Tile 的执行顺序,并进行片上资源复用。前面的任务拆分、调度重排和缓存优化,也因此能够在同一个 Kernel 内完成。

从缓存重排到 Cost Model,峰值性能提升10%-16%

经过融合、负载均衡和缓存重排后,FalconGEMM 已经能够在更多 Shape 上释放 LCMA 的计算优势。但 LCMA 并不会在所有情况下都优于普通 GEMM:它的本质仍然是以额外的数据处理换取更少的乘法计算。如果原始 GEMM 本身已经受到访存限制,继续减少计算并不能带来足够收益;只有在计算密度较高时,低复杂度算法才更具优势。

因此,团队进一步设计了一个类似 Roofline 的 Cost Model,用于决定什么时候采用 LCMA,以及在多种 LCMA 中选择哪一种。由于目标是「选对算法」而非精确预测执行时间,模型主要分析不同方案的计算量、访存量,并结合目标 GPU 的算力与带宽,估算其所处的计算/访存瓶颈区间。

在这一模型中,低复杂度算法减少的乘法量对应计算侧收益,额外的数据组合和重复访存则构成新的内存开销;而前述融合优化,又进一步压缩了这部分访存成本。由此,FalconGEMM 可以根据不同 M、N、K Shape,判断常规 GEMM 与不同 LCMA 方案的收益边界,并自动选择更合适的实现。

结合 QDSL 的 Codegen 能力,整个框架最终形成了一套较完整的执行流程:首先基于 LCMA 描述生成相应的融合 Persistent Kernel,通过融合减少中间访存;随后由 Cost Model 针对具体 Shape 选择合适的矩阵乘算法;最后由 QDSL 自动生成并编译目标代码。这样一来,LCMA 不再只是某一种固定的 Strassen 实现,而是形成了可以根据工作负载动态选择的算法空间。

性能测试主要在 NVIDIA H20 上进行。结果显示,在多种低精度矩阵乘场景下,FalconGEMM 在大量 Shape 上超过 cuBLAS,峰值性能提升约 10%—16%。完成 Group 拆分和缓存重排后,大 Shape 上能够稳定获得低复杂度算法带来的计算收益,小 Shape 的表现也得到改善,并避免了因 L2 Cache 抖动触发功耗墙而导致的降频。

从 Cost Model 的选择结果来看,在大部分跨过 LCMA 收益阈值的 Shape 上,模型都能够选择到性能更优的实现,说明「算法选择+融合 Kernel」的方式能够较好地覆盖不同计算密度的矩阵乘场景。

除了性能,数值精度也是 FalconGEMM 必须验证的问题。团队早期在低精度实验中曾出现较明显的误差,核心原因在于浮点数的累加顺序发生变化。例如,A+C+B−C 在代数上等于 A+B,但在有限精度浮点计算中并不一定严格相等。

进一步分析发现,真正显著的误差主要来自低精度 Cast,而不是 FP32 累加本身。在常见的 FP16/BF16 输入场景中,矩阵乘通常先以 FP32 完成累加,再转换回较低精度;如果中间结果频繁 Cast,FP32 尾数信息会被不断舍弃。

融合实现反而缓解了这一问题。WGMMA 的输出保持 FP32 精度,FalconGEMM 直接在片上以 FP32 对最终 C 进行组合和累加,直到计算结束后再统一 Cast 回目标精度。相比多个独立 Kernel 之间反复写回低精度中间结果,这种方式减少了一次或多次精度转换,使计算顺序变化带来的误差更多停留在 FP32 的低位。

在语言模型 Benchmark 中,使用 FalconGEMM 与标准矩阵乘得到的最终得分几乎一致,仅存在非常微弱的差异,表明当前实现并未带来明显的模型精度下降。

下一阶段,团队计划继续推进两个方向:一是进一步融合 Combine A/B,通过调整 Batch Group 和 K Loop 顺序,继续减少输入中间结果访存;二是将 LCMA 扩展至 Attention。Flash Attention 同样具有较高的计算访存比,如果低复杂度矩阵算法能够与其分块和流水线进一步结合,也可能带来新的性能空间。

从 Strassen、AlphaTensor 到 LCMA 和 FalconGEMM,这项工作的意义并不只是让已经高度优化的 GEMM 再快几个百分点。它提供了另一种思路:当 Kernel 本身已经逼近硬件上限时,性能优化不仅可以继续向下挖掘指令和流水线,也可以向上重新寻找算法复杂度上的空间,再通过编译、融合和调度,将理论上的计算削减真正转化为运行时间收益。

ORB-SLAM3 正定,半正定,不定,矩阵 中 15×15 Hessian 的处理,下面从定义、几何直觉、为什么优化需要它、ORB-SLAM3 中的具体体现、以及数值判定与修复几个层面讲透。“半正定”(positive semi-definite, PSD)是优化和线性代数里的核心概念。 阅读详情

相关推荐

硬核拆解 DeepSeek-V3:双流并发、矩阵吸收与 C++/CUDA 算子级工程落地

在多机集群上部署 6710 亿参数的 DeepSeek-V3 时,自回归解码阶段的核心性能瓶颈并非静态显存容量,而是高并发长上下文下的显存带宽消耗与 256 专家 MoE 带来的算子调度开销。在标准多头注意力(MHA)配置下,单路请求在 128K 上下文时仅 KV Cache 就会在全模型 61 层中累积出近 488 GB 的显存读写需求,解码吞吐直接受限于 HBM 带宽物理上限;

weixin_45715405的博客 46

矩阵补全低秩结构

相反,如果低秩矩阵的奇异向量是"铺展"的——能量分散在所有行与所有列上,与采样矩阵的坐标基"不相干"——那么随机抽取有限个元素,就有很大概率覆盖到足以确定那几个潜在因子的信息。核范数是秩的凸松弛,就像 ℓ1 是 ℓ0 的凸松弛一样,它是"秩这个非凸目标在凸方向上最紧的替代"。报告里如果把矩阵补全压缩成几条可执行原则:第一,在动手做任何"从几行数据推断整张表"的任务前,先检验低秩假设是否成立——用已有的数据估计一下矩阵的近似秩,若秩接近满秩,那么低秩恢复这条路就不该走,应换用其他方法或引入领域约束降低秩。

2602_95606446的博客 319

【高清照片】深圳光博会看PCIe Over Fibre 实现方案

本文分析了PCIe over Fibre技术及其在数据中心的应用前景。该技术通过光纤延伸PCIe总线,解决了传统铜缆距离限制问题,支持跨机架资源池化。目前主要有两种实现方式:CDFP混合光缆方案和Retimer转接卡方案,各有优缺点。文章还探讨了CDFP接口的现状、低速信号传输解决方案,以及PCIe速率与光通信发展的对应关系。最后对比了PCIe光缆与以太网光缆的关键差异,指出PCIe光互连在协议透明度和边带信号处理上的特殊要求。随着标准推进,PCIe over Fibre将成为数据中心扩展高带宽、低时延互连

Saniffer的博客 1387

python题目练习23-同行列对角线的格// 计算矩阵边缘元素之和//计算鞍点

以上代码可供大家参考,如果大家有更好的方法也可以分享出来哈。

2201_76061075的博客 241

Win10 有线网卡配置静态IP后,出现两个IPv4地址的解决方法

在我使用有线网络连接局域网时,配置了静态IP之后,发现网络并没有通,检查之后发现“以太网状态”-“网络连接详细信息”中,出现了2个IPv4的地址(一个是DHCP分配的169.254.xx.xx的IP,另一个是我配置的静态地址),但是网络是没有正常与我所配置的静态地址正常通信的。这个是我执行后的截图,重启电脑后以太网配置静态IP,恢复正常。最终我查了好多网络上的解决办法,有些办法并没有解决我的问题。这个是网上别人的问题截图,我的也是类似这种。第一种(没有解决我的问题)第二种(没有解决我的问题)

Zlz_Nike的博客 2万+

利用LATX技术在龙芯安同AOCS OS上部署坚果云:跨架构文件同步实战

本文详细介绍了如何在龙芯安同AOCS OS上,利用LATX指令翻译技术部署坚果云客户端,实现跨架构文件同步。通过安装LATX环境、解压x64安装包、运行安装脚本三步,成功在loongarch64架构上运行仅支持x86_64的软件,解决了国产平台办公协同的痛点,并分享了性能实测与优化建议。

weixin_29305337的博客 456

FSW 与 MIG/TIG 的适用边界、成本结构与选择矩阵

转速 600–1500 r/min、焊速 100–500 mm/min、下压量 0.1–0.3 mm、倾角 2–3°,动一个另外三个都要跟着调,这一点在选工艺阶段就要评估进去。搅拌头寿命按 3000–5000 件计,件数少时工装摊销占比高,件数上万时工装被摊薄,FSW 的单件成本明显下移。超过 12 mm 后单面焊透困难,搅拌针长度与设备刚性都吃紧,通常改为双面焊,翻面增加一道装夹与对中,工时接近翻倍。低于 3 mm 的薄板,FSW 的轴肩压力容易把板压塌,装夹与支撑要求反而更高,熔焊在薄板上更灵活。

CHEEVEN_QY的博客 323

区块链技术在碳足迹数据存证与溯源中的应用深度解析

消费者扫描产品上的二维码,即可通过区块链浏览器查询到该产品的数字碳标签,并追溯其从茶园到货架的每一步碳足迹数据,以及这些数据是如何被智能合约自动计算和认证的,从而建立起强大的品牌信任。如果说哈希链解决了数据的“存”与“证”的问题,那么智能合约则解决了数据“用”与“管”的自动化问题。综上所述,虽然针对“碳足迹数据可追溯性”这一特定应用场景的公开、标准化的性能基准案例尚不丰富,但现有研究和企业级解决方案(特别是联盟链)已经证明,通过合理的技术选型和架构设计,区块链的性能可以满足实际商业需求。

百态·数智思维 | 聚焦大数据、量化与未来AI 1106

Java转AI Agent教程(第九周)错误矩阵

本周将重试机制抽象为RetryingLlm装饰器,实现统一行为与可测性;结合RateLimiter(令牌桶)实现按用户限流,防突发与单点过载;通过幂等账本确保重复提交不产生二次扣款,键基于(userId, orderId)保障稳定性。验收以“实际调用次数”为核心指标,确保重试有界、不可重试错误不被重试、限流生效且无雪崩。最终drill w9全绿,系统具备高可用与防错能力基础,为后续资损防护铺路。

吴名氏的博客 304

QLIB使用tushare更新每日行情

0. 介绍 qlib每日数据的源是yahoo,更新速度较慢并且不稳定。tushare每日行情是免费接口,速度较快。 1. 获取行情数据,保存为csv格式。 def GetDataFromTushare(self, today, fpath): pro = ts.pro_api() df = pro.daily(trade_date=today) for index, row in df.iterrows(): code = row['ts_code']

weixin_44177216的博客 2897

算法面试准备 - 手撕系列第五期 - 单头注意力机制(包括Self_atten和Cross_atten)

算法面试准备 - 手撕系列第五期 - 单头注意力机制(包括Self_atten和Cross_atten)

m0_62030579的博客 3608

子物体的世界坐标,沿父级矩阵怎么乘

我排查层级场景时,最容易把“子物体的position”直接当成世界坐标。它其实只在父节点的局部坐标系里有意义。父节点转了,子节点即使自己的position一点没改,它在世界里的位置也会跟着变;如果父节点的矩阵还没更新,直接读,看到的甚至可能是上一轮的结果。这次我搭了一条由Group串起来的父子链,每层都向局部 X 方向平移 1,并绕 Y 轴旋转 15°。每个深度下,我把手乘出来的世界矩阵和 Three.js 的对拍;随后只改根节点的旋转,先读缓存中的旧世界矩阵,再用叶节点的得到刷新后的结果。

前端全栈大佬 154

05 - matlab m_map地学绘图工具基础函数 - 设置比例尺指北针

本篇介绍下m_map中添加指北针(m_northarrow)、比例尺(m_ruler)和进行比例缩放(m_scale)的函数及其用法 。提供了 示例以便参考,罗列了 各函数可设属性。希望对绘图的你有所帮助。

weixin_43339605的博客 1947

2026年账号矩阵协同效应怎么量化:三个指标与公式结构

于是它既无法验证,也无法否定——做得不好时,同样可以说"协同需要时间"。复用率看内容效率,重合度看受众结构,归集看线索质量,各自回答不同问题;:分子按"内容条目"算,不按"发布条数"算。:统计周期内,出现在 ≥2 个账号内容列表中的内容条目数(按内容主键去重,不是按发布次数);:一段时间内,被两个及以上账号使用过的内容条目,占同期内容条目总数的比例。"""示例数据在函数下方。:两个账号在同一统计周期内,触达人群的交集规模占并集规模的比例。:同一批线索被两个及以上账号触达的条数,占同期线索总数的比例。

2606_96834244的博客 367

ESD防护设计宝典(十):RE(辐射发射)超标问题排查与解决

RE测试是EMC认证的“头号杀手”。当屏幕上出现一根根超标频谱线时,如何快速定位元凶并有效整改?本讲将带你化身电磁侦探,完成一次完美的RE问题“缉凶”。

m0_56451176的博客 394

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

OpenCV 5.1.0正式发布:核心矩阵、图像处理、DNN推理全面升级,性能与稳定性大幅增强

与此同时,OpenCV 5.1.0 还在 AVX-512、NEON、RISC-V RVV、IPP、OpenCL、CUDA、ArmPL 等多个后端持续优化,并对大量精度、内存、越界、异常输入和跨平台问题进行了修复。DNN 模块则完成新引擎统一,强化了 CUDA、cuDNN JIT、ONNX、TFLite、注意力机制、KV 缓存和量化推理能力。另一方面在 SIMD、AVX-512、RISC-V RVV、CUDA、OpenCL、IPP、ArmPL 等后端上进行了大量性能优化。DNN 模块迎来重要架构调整。

福大大架构师每日一题 665

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

《甲虫矩阵进化史》(2)

本文以DRAM芯片“4164”为视角,讲述从PC/XT到PC/AT时代内存技术的演进:外廷甲虫(DRAM)依赖电容存电、集体刷新、分Bank交错以提升效率;内廷侍卫(SRAM)则凭借六晶体管锁存无需刷新,逐步从主板移入CPU芯片,最终成为寄存器文件中的“禁军”。两条路径——外廷的容量与并行、内廷的高速与独立——共同构筑了计算机存储体系的基石。

CgiMiFan的专栏 321

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

力扣73 矩阵置零

该解法通过标记含0的行和列来实现矩阵置零。遍历矩阵,用布尔数组记录有0的行和列;再遍历一次,若当前行或列被标记,则置为0。时间复杂度O(mn),空间复杂度O(m+n)。

Pniubi的博客 25

矩阵指数求导

FteAteAIA2!A2​3!A3​⋯FtIAt2!At2​3!At3​⋯现在对它逐项求导, 前几项分别是:dtdI​0dtdA​A˙dtdA2​A˙AAA˙这里要特别注意!1​A˙AAA˙3!1​A˙A2AA˙。

qq_44691564的博客 218

Dayhoff的PAM替换矩阵理论评介!

Margaret Dayhoff 等人在 1978 年提出的,是蛋白质序列比对与分子进化建模的奠基性工作。它第一次把“氨基酸替换”从经验直觉变成可计算、可推导、可外推的统计模型。---

m0_65595995的博客 145

LeetCode100+拓扑排序+多源BFS+矩阵置零

摘要(≤150字): 三题均考察算法优化与经典思想。矩阵置零通过利用首行首列作标记,实现O(1)空间原地操作;腐烂橘子问题用BFS模拟感染过程,结合新鲜橘子计数判断是否可全部腐烂;课程表问题通过拓扑排序检测有向图是否存在环,基于入度数组与邻接表判断课程依赖是否可行。三者分别体现标记法、广搜传播与图论拓扑的核心应用。

记录大学学习学习成长过程,欢迎各位一起交流 331

数组、特殊矩阵、稀疏矩阵

如果矩阵中非零元素数量远小于总元素数量,称为稀疏矩阵。一般约定:非零元素占比 < 5% 就可以认为是稀疏矩阵。❌ 问题:直接开二维数组存储,大量 0 白白浪费空间。三元组顺序表,只保存非 0 元素。表格存储方式适用对象优点缺点二维数组稠密矩阵随机访问 O (1)0 元素浪费大量空间特殊矩阵压缩(公式映射)对称 / 三角 / 对角矩阵空间小、可以公式寻址只适合有规律矩阵三元组顺序表静态稀疏矩阵节省空间,实现简单随机访问失效,增删慢十字链表动态稀疏矩阵(频繁修改)

Sarvartha的博客 352

【从零手写GPT(三)】:Tokenizer 和 Embedding,句子怎么变成矩阵

本文手写GPT核心模块:Tokenizer与Embedding。先将句子通过正则分词,构建词表(含<unk>、<eos>),实现编码(字符串→编号)与解码(编号→字符串)。随后,以随机初始化的嵌入表(15×7)模拟词向量映射,强调编号仅作索引,语义由可训练的向量承载。通过nn.Embedding实现高效查表,并揭示其本质为“参数化矩阵乘”,为后续Transformer训练奠定数据基础。

weixin_51122602的博客 412

OpenFAST 风机气动弹性仿真:IEC 工况矩阵批量计算与工作站选型

OpenFAST 选型主线是"核数定吞吐、主频定单案、内存按并发配、GPU 不需要"。学习与小规模认证选 16 核/64 GB;完整工况矩阵选 32—48 核/128—256 GB;优化内嵌仿真或多机型并行再翻倍。把预算优先给核数与 NVMe,而非显卡。边界声明:单案耗时与工况总数为公开研究与工程实践的量级性描述,具体取决于机型复杂度、模块开关与时间步设置。

223

《甲虫矩阵进化史》(1)

本文以“漏电甲虫”为喻,生动描绘了DRAM矩阵的演化历程。从早期1103、MK4027到4116,内存芯片在供电简化、引脚精简、地址复用与刷新机制优化中不断进化。刷新不再依赖独立电路,而是嵌入显示扫描(Apple II)、CPU总线活动(TRS-80)或显存争用(ZX Spectrum)之中,实现“集体呼吸”。而SRAM则作为高速贴身侍卫,占据关键位置。技术进步的本质,是将甲虫们绑得更紧——单颗不可独立,必须协同行动,刷新即任务本身。内存的未来,始终是让整片矩阵在电荷漏光前,集体喘一口气。

CgiMiFan的专栏 298

《甲虫矩阵进化史》(3)

本文以“甲虫”隐喻内存颗粒,生动描绘了从SDRAM到DDR5的演进历程:从被动响应到同步时钟,通过预取、BankGroup与子通道等技术提升数据吞吐;电压降低、触点增多,模组从散兵游勇变为可整体替换的单元。其间RDRAM虽快却因成本与兼容性被淘汰,而DDR凭借产业联盟走宽路胜出。显存另辟蹊径,追求极致带宽。最终,内存进化不再依赖单颗性能,而是系统级架构革新——从“多叼一口”转向“高效调度”,甚至走向堆叠式HBM,将内存搬至离CPU最近处。

CgiMiFan的专栏 223
上一篇: 速度即智能!TileRT 团队马凌霄详解:超低延迟大模型推理的计算探索与协同设计
下一篇: 在线教程丨狂揽35k Stars,港大团队开源DeepTutor,一套Agent打通知识问答/交互学习/练习生成/深度研究等
HyperAI超神经
博客等级 码龄7年 8872粉丝 1753原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值