zyl910

优化技巧、硬件体系、图像处理、图形学、游戏编程、国际化与文本信息处理。

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

随笔分类 -  AA2 Linear_线性代数

摘要:GEMM(General Matrix Multiply,通用矩阵乘法)是科学计算与深度学习等领域的核心算法。 以前用 C# 开发的GEMM程序的性能,比MKL、OpenBLAS差得远,这是因为那时的 .NET 不支持SIMD硬件加速技术。从2014年开始, .NET 对SIMD硬件加速技术的支持越来越完善了。我潜心研究用该技术来改进 C# GEMM程序的性能,最近有了重大突破——对于1024尺寸矩阵的SGEMM,我的算法比基础算法的性能提升1080倍,与 MKL、OpenBLAS的测试结果在同一梯队。 阅读全文
posted @ 2025-08-31 17:35 zyl910 阅读(349) 评论(3) 推荐(5)

摘要:一、问题提出 已知一个n维向量A,和一个标量k,可将它们进行标量乘法运算,得到向量B——B = kA 那么,若只知两个共线的向量A、B,如何求k呢,既——k = B/A = ?二、解决办法 我们可以将上下均乘以(点积,dot product)“A”——k = B/A= (B . A)/(A . A)= (B . A)/( |A|^2 )= (b1*a1 + b2*a2 + b3*a3 + ... + bn*an) / ( a1*a1 + a2*a2 + a3*a3 + ... + an*an )三、几何解释、推广到非共线向量 先回忆一下向量点积的的几何算法——A . B = |A| *... 阅读全文
posted @ 2011-10-17 22:38 zyl910 阅读(9341) 评论(0) 推荐(0)