Использование основного макета столбца И основного макета строки для разных массивов - PullRequest
0 голосов
/ 31 января 2020

У меня довольно простой вопрос о разметке многомерного массива в памяти, который я не могу найти нигде.
Когда дело доходит до сохранения многомерных массивов, мы можем различать разметку с основной строкой и разметкой с основной колонкой.
Глядя на пример, я могу найти только алгоритмы, которые используют ОДИН из этих макетов для всех своих массивов.
С учетом наивного умножения матрицы-матрицы A * B с размерностью nxn для обеих матриц и допустим, что некоторые столбцы A и строки auf B помещаются в кэш. В зависимости от порядка, который я использую для вычисления результата (по строкам или по столбцам), я получаю более высокую производительность, когда выбираю подходящую компоновку для обеих моих матриц.

Есть ли причина не использовать макет для основной строки для A и макет основной колонки для B для улучшения пространственной локализации (за исключением случаев, когда код запутывается, если я использую разные макеты для еще большего количества матриц)?

...