Есть массив uint8_t 1024x1024
Надо его транспонировать как можно быстрее. Хотелось бы узнать, есть ли готовые библиотеки, а так же то, как они работают.
Для этого хотелось бы пояснее разобраться, как работает кэш CPU. Как я понял, при обращении к некоторому элементу массива (a[1], например), в кэш загружаетс сразу некоторый участок памяти, содержащий этот элемент. Программы для транспонирования матриц и подобных операций делают это по маленьким блокам, чтобы весь он влез в кэш, и операции типа m[i,j] = m[j,i] не приводили к загрузки в кеш чего-либо ещё.
Вопросы такие: какой размер блока имеет смысл брать (т.е. сколько кеш обычно сможет вместить в себя)? Как именно происходит деление на блоки? Копированием в отдельный массив, чтобы информация была в нем неразрывна?
![](/photos/59897:-53814382.png)
![](/img/p.gif)
![](/photos/29212:-2040937559.jpg)
Ответ на:
комментарий
от soomrack
![](/photos/94849:-938731630.jpg)
Ответ на:
комментарий
от bk_
![](/photos/29212:-2040937559.jpg)
Ответ на:
комментарий
от Zorn
![](/photos/94849:-938731630.jpg)
Ответ на:
комментарий
от soomrack
![](/photos/94849:-938731630.jpg)
Ответ на:
комментарий
от Zorn
![](/photos/29212:-2040937559.jpg)
Ответ на:
комментарий
от bk_
![](/img/p.gif)
Ответ на:
комментарий
от soomrack
![](/photos/94849:-938731630.jpg)
![](/img/p.gif)
Ответ на:
комментарий
от Zorn
![](/photos/29212:-2040937559.jpg)
![](/img/p.gif)
Ответ на:
комментарий
от soomrack
![](/photos/59897:-53814382.png)
Ответ на:
комментарий
от Eddy_Em
![](/photos/59897:-53814382.png)
Ответ на:
комментарий
от Eddy_Em
![](/photos/18256:219452189.png)
Ответ на:
комментарий
от bk_
![](/photos/18256:219452189.png)
Ответ на:
комментарий
от AIv
![](/photos/59897:-53814382.png)
Ответ на:
комментарий
от bk_
![](/photos/54834:-2045569357.jpg)
Ответ на:
комментарий
от note173
![](/photos/59897:-53814382.png)
Ответ на:
комментарий
от AIv
![](/img/p.gif)
Ответ на:
комментарий
от bk_
![](/photos/54834:-2045569357.jpg)
Ответ на:
комментарий
от Eddy_Em
![](/photos/18256:219452189.png)
Ответ на:
комментарий
от AIv
![](/img/p.gif)
Ответ на:
комментарий
от Zorn
![](/img/p.gif)
Ответ на:
комментарий
от AIv
![](/img/p.gif)
Ответ на:
комментарий
от mv
![](/img/p.gif)
Ответ на:
комментарий
от mv
![](/photos/18256:219452189.png)
Ответ на:
комментарий
от Eddy_Em
![](/photos/18256:219452189.png)
Ответ на:
комментарий
от AIv
![](/img/p.gif)
Ответ на:
комментарий
от anonymous
![](/photos/94849:-938731630.jpg)
Ответ на:
комментарий
от mv
![](/photos/94849:-938731630.jpg)
Ответ на:
комментарий
от Zorn
![](/img/p.gif)
Ответ на:
комментарий
от Zorn
![](/img/p.gif)
Ответ на:
комментарий
от mv
![](/photos/94849:-938731630.jpg)
Ответ на:
комментарий
от mv
![](/photos/94849:-938731630.jpg)
![](/img/p.gif)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум транспонирование матрицы в C++ --> как реализовать? (2008)
- Форум Матрицы (2021)
- Форум Матрица )) (2006)
- Форум Консольная программа для транспонирования минусовок (2021)
- Форум Замена матрицы (2014)
- Форум Замена матрицы (2013)
- Форум Матрицы зачем? (2014)
- Форум Код Матрицы (2011)
- Форум Матрица близко... (2022)
- Форум Матрица вращения (2005)