Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
155-164.docx
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
150 Кб
Скачать
☆

163.Формы параллелизма. Векторный параллелизм.

Форма параллелизма обычно достаточно просто характеризует некоторый класс прикладных задач и предъявляет определенные требования к структуре параллельной ЭВМ, необходимой для решения этого класса задач.

Изучение ряда алгоритмов и программ показало, что можно выделить следующие основные формы параллелизма:

  • естественный или векторный параллелизм;

  • параллелизм независимых ветвей;

  • параллелизм смежных операций или скалярный параллелизм.

Векторный параллелизм

Наиболее распространенной в обработке структур данных является векторная операция (естественный параллелизм). Вектор - одномерный массив, который образуется из многомерного массива, если один из индексов не фиксирован и пробегает все значения в диапазоне его изменения. В параллельных языках этот индекс обычно обозначается знаком *.

Пусть, например, A, B, C - двумерные массивы. Тогда можно записать такую векторную операцию:

C (*, j) = A (*, j) + B (*, j).

На последовательных языках эта операция выражается с помощью цикла DO: DO 1 I = 1,N 1 C(I,J) = A(I,J) + B(I,J).

Возможны операции и большей размерности, чем векторные: над матрицами и многомерными массивами.

Однако в параллельные ЯВУ включаются только векторные операции (сложение, умножение, сравнение и т. д.), потому что они носят универсальный характер, тогда как операции более высокого уровня специфичны и возможное их число слишком велико для включения в любой язык.

Операции высоких порядков выражаются в виде некоторой процедуры вычислений через векторные операции.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]