WikiSort.ru - Программирование

ПОИСК ПО САЙТУ | о проекте

Векторизацияпараллельных вычислениях) — вид распараллеливания программы, при котором однопоточные приложения, выполняющие одну операцию в каждый момент времени, модифицируются для выполнения нескольких однотипных операций одновременно.

Скалярные операции, обрабатывающие по паре операндов заменяются на операции над массивами (векторами), обрабатывающие несколько элементов вектора в каждый момент времени.

Векторная обработка данных используется как в бытовых компьютерах так и в суперкомпьютерах.

Автоматическая векторизация это важная область исследований в информатике, заключается в поиске методов, которые бы позволили компилятору автоматически преобразовывать скалярные программы в векторные.

Пример

Показан фрагмент программы, который поэлементно перемножает два массива, состоящие из чисел:

 for (i = 0; i < 1024; i++)
    C[i] = A[i] * B[i];

Данный цикл может быть векторизован так:

  for (i = 0; i < 1024; i+=4)
     C[i:i+3] = A[i:i+3] * B[i:i+3];

Во втором фрагменте запись C[i:i+3] означает вектор из 4 элементов — от C[i] до C[i+3] включительно, а под * понимается операция поэлементного умножения векторов. Векторный процессор в данном примере сможет выполнить 4 скалярные операции при помощи одной векторной инструкции за время, близкое к выполнению скалярной операции. Таким образом, векторных операций потребуется в 4 раза меньше, и программа исполнится быстрее.

Векторные расширения

Векторные операции могут добавляться в скалярные процессоры, тогда они называются векторными расширениями команд. Примеры: MMX, SSE, SSE2, AltiVec.

Примечания

    Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

    Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

    Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




    Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

    Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

    2019-2024
    WikiSort.ru - проект по пересортировке и дополнению контента Википедии