Я работаю с некоторой частью аппаратного обеспечения (само оборудование не важно), и мне нужно разделить некоторые блок-данные на отдельные части, чтобы ускорить процесс.
Итак, у меня есть, например, непрерывный блок памяти длиной X слов. Для наглядности я разбил его на 50 строк ниже:
001 002 003 004 005 006 007 ...
051 052 053 054 055 056 057 ...
101 102 103 104 105 106 107 ...
151 152 153 154 155 156 157 ...
Мне нужен быстрый способ разбить их на четыре отдельных блока:
block1
001 003 005 007 ...
101 103 105 107 ...
block2
002 004 006 ...
102 104 106 ...
Block3
051 053 055 057 ...
151 153 155 157 ...
Block4
052 054 056 ...
152 154 156 ...
Или, в основном:
Block1 Block2 Block1 Block2 ...
Block3 Block4 Block3 Block4 ...
Block1 Block2 Block1 Block2 ...
Block3 Block4 Block3 Block4 ...
Теперь сделать это так же просто, как использовать циклы for. Но что является более оптимизированным / параллельным способом сделать это? (Нет MPI, это происходит в приложении, работающем на рабочем столе).
Подводя итог, просто для ясности:
У меня есть данные, как показано выше.
Я отправляю эти данные нескольким устройствам (вне ПК). Эти данные должны быть отправлены по проводам в виде 4 отдельных блоков (на отдельные устройства).