Gather-scatter (векторная адресация) - Gather-scatter (vector addressing)
Собрать-разбросать это тип адресации памяти, который часто возникает при адресации векторов в редкий линейная алгебра операции. Это векторный эквивалент косвенной адресации регистров со сборкой, включающей индексированные чтения, и точечную индексированную запись. Векторные процессоры (и немного SIMD единиц в Процессоры ) имеют аппаратную поддержку для операций сбора-разброса, предоставляя такие инструкции, какИндексированный вектор нагрузки для сбора и Проиндексированный вектор магазина для разброса.
Определения
Собирать
А малонаселенный вектор держа непустые элементы могут быть представлены двумя густонаселенными векторами длины ; содержащий непустые элементы ,и давая индекс в куда находится элемент. в , обозначенный , назначает с уже рассчитаны.[1]Реализация C
за (я=0; я<N; ++я) Икс[я] = у[idx[я]];
Разброс
Редкий разброс, обозначенный - обратная операция, копирующая значения в соответствующие положения в малонаселенном векторе , т.е. .
за (я=0; я<N; ++я) у[idx[я]] = Икс[я];