我正在尝试在ATI HD 6990卡(Cayman架构)上使用AMD-APP-SDK 2.4实施GEMM实施。
其中一种优化技术是使用阻塞/平铺。
在它的实现中,如果我们将子矩阵存储在共享的本地内存中,或者当我们使用纹理缓存时它是否更快,它会更快吗?如果可能的话也请说明理由。
还请建议哪个更容易实施。
感谢。
P.S。我想要它仅用于单精度,如果重要的话!
注意:子矩阵的大小不是问题,但我觉得因为它越大越好。唯一要考虑的因素是,如果内存单位是128位(4单精度),那么块大小应该是4的倍数。
答案 0 :(得分:1)
赛普拉斯芯片用于5800系列Radeon。 6900系列使用 Cayman 内核,它有几个重要的区别,最值得注意的是它是VLIW4架构,而不是早期内核中使用的VLIW5配置。
与往常一样,了解哪种方法更快的唯一明确方法是对其进行基准测试。特别是,由于您没有提供有关子矩阵大小的信息,因此很难说它们最适合的位置。