快速矩阵乘法

时间:2016-09-17 12:21:18

标签: gpu

我有一个面试测试,我必须用给定的矩阵乘法算法实现快速矩阵乘法。

我必须在任何平台上使用我想要的任何编译器来实现它。任务说:

•PC实现应该为SIMD优化做好准备。 •设计数据处理模块的合理接口。 •编写便携式ANSIC代码,它不会降低效率。不要使用汇编程序。 •考虑操作的数量,操作的复杂性。关心函数调用开销,循环开销,内存访问时间和缓存性能等问题

我应该在像raspberry pi这样的平台上实现这个吗?或者在CPU + DSP或ARM + NEON或CPU + GPU模拟器上?或者只是给出代码?

谢谢

1 个答案:

答案 0 :(得分:0)

关于指令级并行性,线程级并行性,缓存利用率以及加速矩阵乘法中没有使用的整体理论。

我可以指出,首先要了解CPU缓存的工作原理。当块被加载到缓存中时,如何将块映射到缓存索引,当块被驱逐时等。请参阅有关计算机体系结构或维基百科的书。

然后我可以指出阻塞矩阵乘法算法。

最后有BLAS规范和OpenBLAS作为CPU的最快实现。