Главная » Просмотр файлов » ПОД конспект

ПОД конспект (1184369), страница 19

Файл №1184369 ПОД конспект (Конспект ПОД) 19 страницаПОД конспект (1184369) страница 192020-08-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 19)

Для многомерных циклов для всех пар (f,q) определяютсянаправляющие вектора, элементы которых состоят из символов (=, >, <) в позиции соответствующегоиндекса, которая определяется порядком индексов в гнезде цикла. В примере Лемпорта (исходном) для Авектор имеет вид: (<,=).Для тела цикла, состоящего из одного оператора, отношения, и соответственно, семантика выполнения,могут быть: < > = и их сочетание. Например, тело цикла: A(I) = (А(I)+A(I+1))/2 допускает векторноевыполнение; оно невозможно при наличии в операторе хотя бы одного соотношения: f>q. Для тела цикла:A(I) = A(I+C))/2 при С>0 возможно синхронное выполнение, при С=0 кроме синхронного, возможнопараллельное асинхронное; а при С<0 параллельное выполнение невозможно.Для многомерных (тесногнездовых) циклов такое исследование может проводиться для каждогопараметра, а для распараллеливания выбираться наиболее оптимальный вариант.

Для самого внутреннегоцикла определение следования можно проводить, считая его одномерным. Для любого другого цикла,исследование можно проводить по такой же схеме, если семантика цикла допускает перестановку его напозицию самого внутреннего. Перестановка допустима, если для всех новых направляющих векторовкрайне левый, отличный от = , элемент сохранил направление. Например, для двумерного цикла, наличиевектора (<,>) делает перестановку некорректной.

Так для цикла:DO 99 J=2,M45DO 99 K=2,M99 U(J,K) = (U(J+1,K)+U(J,K+1)+U(J-1,K)+U(J,K-1)) .25направляющие вектора:1 <U(J,K),U(J+1,K)> = (<,=)2 <U(J,K),U(J,K+1)> = (=,<)3 <U(J,K),U(J-1,K)> = (>,=)2 <U(J,K),U(J,K-1)> = (=,>)Отсюда:- операторы циклов по I и J можно менять местами,- часть оператора, включающая вхождения из векторов 1 и 2, можно вынести в отдельный оператор,который векторизуется как по I так и по J.Для двухоператоровтела цикла отношения следования переменных с индексами можносистематизировать и кодировать так (qi в общем случае, список - информационные поля q и f) : А независимые отношения В - (qi>qj) , C - (qi<qj) , K - (qi=qj) G - B+K,B+C,B+K+C , Н - неоднозначныеотношения.

Тогда по координатам приводимой ниже таблице можно определить типы связей и методвыполнения цикла для этих операторов. Если объединить информационные поля двух операторов , тотаблицу можно использовать для анализа третьего оператора и т.д.*Таблица решений для метода координат* Оператор 1O1 = I1Oi,Ii - список переменных с индексами* Оператор 2O2 = I2-> - порядок анализа отношений*--------------------------------------------------------------------*.O2 -> I1.*.A.B.K.C.G.H .*. HEЗАВ. . O > I . O = I . O < I . O <=>I*.* I2 -> O1.......*---------------------------------------------------------------------*.......*A HEЗАВ.

.P.R.S.M. R(K,C).T.*______________________________________________________________________*.......*B I > O .R.R. M(B). M(B). R(K,C).T.*______________________________________________________________________*.......*K I = O .S.T.S.M.T.T.*______________________________________________________________________*.......*C I < O .M.T.M.M.T.T.*______________________________________________________________________*.......*G I <=> O.

M(B).T. M(B). M(B).T.T.*______________________________________________________________________*.......*H*.T.T.T.T.T.T.*______________________________________________________________________*Кодировка отношений следования*А - независимые отношения*В - (qi>qj) , C - (qi<qj) , K - (qi=qj)*G - B+K,B+C,B+K+C*Н - неоднозначные отношения* TИПЫ CBЯЗEЙ*P - независимые операторы*M - SIMD , M(EA) - SIMD с защитой EA*R - SIMD с реверсом, R(EA) - и с защитой EA*S - PAR (асинхронная параллельность)*T - запрет векторизации* Защита ЕА - копирование массивов ЕА передВ общем случае, алгоритм векторизации методом координат с использования данной таблицыследующий.Обработка тела цикла начинается с анализа на возможность векторного выполнения каждого операторатела в отдельности.

Затем к первому оператору добавляется второй и проводится анализ на возможную ихвекторизацию. Пара получает тип, определяющий возможность векторизации ее компонент,информационные поля операторов сливаются,и наследующем шаге применения процедурывекторизации пара рассматривается как единый супероператор. Таким образом из всех операторов телацикла образуется один супероператор и, если его тип есть Т, то векторизация тела цикла невозможна. Длявсех других типов производится обратный анализ полученного графа (супероператора). Если при этомсвязки имели тип R или R(EA),M(EA), то хотя они и допускают асинхронное параллельное выполнение, нонеобходимы преобразование тела цикла.

Связки типа Т дают операторы, векторизация которыхневозможна. Интерпретация остальных типов связок очевидна. В процессе формирования супероператоров46к связкам типа Т могут применяться процедуры поиска минимальных границ области типа Т и чисткиобласти Т.Примеры векторизацииИсходные тела цикловПреобразованные тела цикловA(I) = B(I)C(I) = A(I+1)C(I) = A(I+1)A(I) = B(I)A(I) = B(I)C(I) = A(I) + A(I+1)D(I) = A(I)A(I) = B(I)C(I) = A(I) + D(I+1)A(I) = B(I) + B(I+1)B(I) = A(I+1)D(I) = B(I)B(I) = A(I+1)A(I) = D(I) + B(I+1)A(I) = B(I) + B(I-)B(I) = A(I)Векторизация невозможна65. Схема преобразования программ методом гиперплоскостей.Метод гиперплоскостей применим только к многомерным циклам. В пространстве итераций ищетсяпрямая (плоскость), на которой возможно параллельное асинхронное выполнение тела цикла, причем вотличие от метода координат, эта прямая (плоскость) может иметь наклон по отношению к осямкоординат.

Цикл вида:DO 5 I = 2,NDO 5 J = 2,M5 A(I,J) = ( A(I-1,J) + A(I,J-1) ) * 0.5методом координат не векторизуется. Действительно, при фиксированном значении переменной I (I = i)значение, вычисленное в точке (i,j) пространства итераций, зависит от результата вычислений впредыдущей точке (i,j-1) , так что параллельное выполнение тела цикла по переменной J невозможно.Аналогично нельзя проводить параллельные вычисления по переменной I.Однако можно заметить, что результат будет также правильным, если вычисления проводить вследующем порядке:на 1-м шаге - в точке (2,2),на 2-м шаге - в точках (3,2) и (2,3),на 3-м шаге - в точках (4,2), (3,3) и (2,4),на 4-м шаге - в точках (5,2), (4,3), (3,4) и (2,5)Вычисления в указанных точках для каждого шага, начиная со второго, можно проводить параллельно иасинхронно.

Перечисленные кортежи точек лежат на параллельных прямых вида I+J=K , а именно: напервом шаге - на прямой I+J=4 , на втором - I+J=5, на третьем шаге - I+J=6 и т.д., на последнем ((N2)+(M-2)+1) - ом шаге - на прямой I+J=M+N.В общем случае для n-мерного тесногнездового цикла ищется семейство параллельных гиперплоскостей вn-мерном пространстве итераций, таких что во всех точках каждой из этих гиперплоскостей возможнопараллельное выполнение тела цикла.Для приведенного примера множество точек, в которых возможно параллельное выполнение, являетсяоднопараметрическим (прямая) и определяется из решения уравнения 1I+J=K 0. Цикл (5) может бытьпреобразован к виду:DOTнTкDOIJ55K = 4,M+N= MMAX(2,K-N)= MMIN(M,K-2)5 T = Tн,Tк 1: PAR= T= K - TA(I,J) = ( A(I-1,J) + A(I,J-1) ) * 0.5Функция MMAX(X,Y) выбирает ближайшее целое, большее или равное максимуму из чисел X и Y ,а функция MMIN(X,Y) - ближайшее целое, меньшее или равное минимуму из X и Y .47Внутренний цикл по переменной T может выполняться параллельно для всех значений T .

Границыизменения переменной цикла T меняются при переходе с одной прямой (гиперплоскости) на другую,поэтому их необходимо перевычислять во внешнем цикле. Число итераций внутреннего цикла, то естьпотенциальная длина векторной операции, меняется с изменением K . Для приведенного примерадиапазон изменения T сначала возрастает, а потом убывает, причем для начального и конечного значенияK он равен единице. В некоторых случаях для отдельных значений K накладные расходы наорганизацию векторного вычисления могут превысить эффект ускорения от векторного выполнения.Вопрос оценки целесообразности проведения векторизации данным методом должен рассматриваться длякаждого конкретного случая отдельно.66.

Метод параллелепипедов.Идея методазаключаетсяввыявлении зависимых итераций цикла и объединении их впоследовательности - ветви, которые могут быть выполнены независимо друг от друга. П ри этом впространстве итераций определяются области (параллелепипеды), все точки которых принадлежат разнымветвям. Задача максимального распараллеливания заключается в поиске параллелепипеда наибольшегообъема; тогда исходный цикл выполняется наибольшим числом параллельных ветвей, каждая из которыхпредставляет собой исходный цикл, но с другим шагом изменения индекса.Для исходного цикла:DO 7 I = 1,7DO 7 J = 1,37 X(I,J) = X(I-2,J-1)параллельное представление в виде:DO 7 (K,L) = (1,1) (P1,P2)1: PARDO 7 I = K,7,P1DO 7 J = L,3,P27 X(I,J) = X(I-2,J-1)допускается для различных разбиений пространства итераций: пара (P1,P2) может иметь, например,значения (2,1), (2,3) или (7,1).

Таким образом, исходный цикл (7) преобразуется в последовательностьпараллельных ветвей, имеющих циклический вид.В общем виде задача, рассматриваемая методом параллелепипедов, для одномерных циклов состоит вопределении возможности представления цикла:DO L I = 1,rL T(I)(где T(i) - тело цикла) в виде следующей языковой конструкции:DO L K = 1,p1: PARDO L I = K,r,pL T(I)67.

Характеристики

Тип файла
PDF-файл
Размер
1,14 Mb
Материал
Тип материала
Высшее учебное заведение

Список файлов лекций

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6367
Авторов
на СтудИзбе
310
Средний доход
с одного платного файла
Обучение Подробнее