Wikipedia has an extensive summary of methods for in-place matrix transposition.
这些方法看起来很难实施,在致力于实施之前,我想知道是否有任何基准测试或其他证据表明这些技术在壁挂时间方面(优于CPU / GPU /任何架构)?
与使用将数据复制到不同目标位置的异位转置相比,它们的运行速度是否都较慢?
答案 0 :(得分:0)
简而言之,我认为我从来没有见过就地交换比异地交换要快。只需考虑一下“您最后一次选择就地排序而不是不当版本的时间。”
但是就地使用的原因通常是内存方面的考虑或分配方面的考虑。在这种情况下,您一定会使用它。
对于异地交换,您还必须考虑缓存,缓存和缓存,将问题细分为更小的部分,直到目标和源都可以舒适地同时位于缓存中。