手写一个简单的 Tiling 策略:演示如何通过 L1/L2 缓存优化矩阵运算的访存局部性。
矩阵乘法(GEMM)是高性能计算中最基础且最核心的操作之一。然而,简单的三层循环实现(ijk顺序)往往效率低下,主要瓶颈在于CPU L1/L2缓存的频繁失效(Cache Miss)。这是因为在默认的行主序(Row-Major)存储中,访问矩...
矩阵乘法(GEMM)是高性能计算中最基础且最核心的操作之一。然而,简单的三层循环实现(ijk顺序)往往效率低下,主要瓶颈在于CPU L1/L2缓存的频繁失效(Cache Miss)。这是因为在默认的行主序(Row-Major)存储中,访问矩...
在高性能计算(HPC)领域,理解何时工作负载受限于计算能力(Compute Bound)或内存带宽(Memory Bound)至关重要。这通常通过“屋顶线模型”(Roofline Model)来分析。 对于矩阵乘法(GEMM)任务,我们希望...
模型剪枝(Pruning)作为一种重要的模型压缩技术,其核心思想是移除神经网络中不重要的权重,从而减小模型体积并理论上降低计算量(FLOPs)。然而,在实践中,尤其是部署到通用CPU或GPU上时,我们往往发现剪枝带来的FLOPs减少并未等比...
在深度学习优化和不确定性估计中,二阶导数(曲率信息)扮演着至关重要的角色,尤其是在牛顿法或拟牛顿法(如BFGS)中。TensorFlow 2.x 的 Eager 模式提供了灵活的自动微分机制 tf.GradientTape。虽然它主要用于计...
推荐系统是许多互联网产品的核心组件,但它们也面临着被滥用的风险。协同过滤(CF)攻击,特别是Top-K攻击(或称Shilling Attack),旨在通过注入虚假的用户偏好数据来恶意影响推荐结果。作为AI基础设施的维护者,理解和模拟这些攻击...