CUDA共享内存一维和二维做矩阵乘法性能差异原因?

cuda核做矩阵乘法,用共享内存做缓存,为什么一维共享内存要优于二维共享内存(实验1优于实验2)?为什么二维共享内存做内存填充,性能反而下降(实验3劣于实验2)?启动核函数时线程块划分都一样