У меня есть следующие матрицы 4x4:извлечение подматрица из матрицы с петлевой черепицей
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
и я хочу извлечь и хранить (в некоторых новостных переменных) на четыре следующих подматрицу 2х2:
[1 2
5 6]
[3 4
7 8]
[9 10
13 14]
[11 12
15 16]
Это как функция «Rect» (http://docs.opencv.org/java/org/opencv/core/Rect.html) openCV, но я не хочу использовать OpenCV.
Я должен использовать распараллеливающий компилятор, и поэтому хотел бы сделать извлечение подматрицы с известным преобразованием цикла, представленным в литературе: «петлевая черепица» (также известная как «блокировка цикла» или «цикл разворота и застревания» "или" петлевая полоска и обмен "). - (http://en.wikipedia.org/wiki/Loop_tiling)
Возможно ли это?
Loop плиточного только полезно, когда у вас есть много повторений, так как вы можете извлечь выгоду из кэша местности к югу матрицы. Что вы планируете делать с этими плитами? См. Также - http://stackoverflow.com/questions/20367246/loop-tiling-how-to-choose-block-size/20372396#20372396 – Leeor
Я хочу распространять эти подматрицы на другие темы или устройства Cuda или другие. – user3077628
Вам не нужно * использовать * петлевую черепицу для самой извлечения, поскольку вы не повторяете процесс, это всего лишь разовая подготовка. – Leeor