rtsIDr (1158449), страница 8

Файл №1158449 rtsIDr (Раздаточные материалы) 8 страницаrtsIDr (1158449) страница 82019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Функция возвращает ненулевое значение, если отображённый массив имеет локальную часть на текущем процессоре, и нулевое  в противном случае.

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

7.2Суперпозиция выравниваний

Пусть функция G задает расположение n-мерного массива в пространстве r-мерного образца, а функция Pr-мерного массива в пространстве m-мерного образца:

G((I1, ... ,Ii, ... ,In)) =

G1(I1, ... ,Ii, ... ,In) 
. . . . . . . . . . . . . . .
Gk(I1, ... ,Ii, ... ,In) 
. . . . . . . . . . . . . . .
Gr(I1, ... ,Ii, ... ,In)

P((J1, ... ,Jj, ... ,Jr)) =

P1(J1, ... ,Jj, ... ,Jr) 
. . . . . . . . . . . . . . .
Ps(J1, ... ,Jj, ... ,Jr) 
. . . . . . . . . . . . . . .
Pm(J1, ... ,Jj, ... ,Jr)

Тогда осуществленное с помощью функции align_ выравнивание P r-мерного массива PatternDA в m-мерном пространстве образца Pattern с последующим выравниванием G n-мерного массива DA в r-мерном пространстве массива PatternDA является выравниванием F n-мерного массива DA в m-мерном пространстве образца Pattern, представляющим собой произведение (суперпозицию) отображений P и G:

F((I1, ... ,Ii, ... ,In)) = P * G =

U{P(v)} =

V  G((I1, ... ,In))

F1(I1, ... ,Ii, ... ,In) 
. . . . . . . . . . . . . .
Fs(I1, ... ,Ii, ... ,In) 
. . . . . . . . . . . . . .
Fm(I1, ... ,Ii, ... ,In)

Координатные правила выравнивания Fs (0 ≤ s ≤ m ) отображения F являются суперпозицией координатных правил выравнивания отображений P и G и могут быть записаны следующим образом.

1. Пусть Ps((J1, ... ,Jr)) = { q  Ms: 0 ≤ q ≤ MAXs } , где:

MAXs

максимальное значение индексной переменной s-го измерения образца Pattern;

Ms

множество значений индексной переменной s-го измерения образца Pattern.

Тогда Fs((I1, ... ,In)) = Ms, т.е. полное размножение массива DA по s-му измерению образца Pattern.

2.

Пусть

Ps((J1, ... ,Jr)) = Cs*Jk + Ds и
Gk((I1, ... ,In)) = Qk*Il + Rk ,

где:

Jk

индексная переменная k-го измерения массива PatternDA;

Il

индексная переменная l-го измерения массива DA;

Cs, Qs

целые числа;

Dk, Rk

целые неотрицательные числа.

Тогда Fs((I1, ... ,In)) = As*Il + Bs , где As = Cs*Qk и Bs = Cs*Rk + Ds.

3.

Пусть

Ps((J1, ... ,Jr)) = Cs*Jk + Ds и
Gk((I1, ... ,In)) = { q Mk: 0 ≤ q ≤ MAXk } ,

где:

Jk

индексная переменная k-го измерения массива PatternDA;

Cs

целое число;

Ds

целое неотрицательное число;

MAXk

максимальное значение индексной переменной k-го измерения массива PatternDA;

Mk

множество значений индексной переменной k-го измерения массива PatternDA.

Тогда

Fs((I1, ... ,In)) =

U {Cs*Jk + Ds} ,
Jk  Mk

т.е. частичное, разреженное линейной функцией Ps, размножение массива DA по s-му измерению образца Pattern.

Описанное отображение F эквивалентно заменяет выравнивания P и G в цепочке последовательных выравниваний. В частности, если образец Pattern не является представлением абстрактной машины и, следовательно, выравнен по другому образцу некоторой функцией Q, то отображения F и Q могут быть заменены их суперпозицией Q*F. Таким образом, заменой последовательных выравниваний их суперпозицией может быть построено результирующее выравнивание массива DA по представлению абстрактной машины (что и осуществляется системой поддержки при выполнении функции align_ выравнивания массива DA по массиву PatternDA).

7.3Изменение расположения распределенного массива

long realn_(

long
PatternRef
long
long
long
long

ArrayHeader[],
*PatternRefPtr,
AxisArray[],
CoeffArray[],
ConstArray[],
*NewSignPtr );

ArrayHeader

заголовок заново выравниваемого распределённого массива.

*PatternRefPtr

ссылка на образец выравнивания.

AxisArray

массив, j-й элемент которого содержит номер индексной переменной (номер измерения) распределённого массива для линейного правила выравнивания (j+1)-го измерения образца.

CoeffArray

массив, j-й элемент которого содержит коэффициент для индексной переменной распределённого массива в линейном правиле выравнивания (j+1)-го измерения образца.

ConstArray

массив, j-й элемент которого содержит константу линейного правила выравнивания для (j+1)-го измерения образца.

*NewSignPtr

задаваемый единицей признак обновления содержимого распределённого массива.

Функция realn_ отменяет расположение, установленное ранее с помощью функции align_ (или malign_ , см.п.7.5) для распределённого массива с заголовком *ArrayHeaderPtr, и задаёт для этого массива новое расположение в соответствии с указанными при обращении к функции параметрами. Все распределённые массивы, при выравнивании которых рассматриваемый массив использовался в качестве образца, свое расположение сохранят.

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

При ненулевом значении *NewSignPtr содержимое вновь выравненного массива будет обновлено (расписано нулевым кодом), а при нулевом  сохранено. При переотображении массива содержимое его границ (см. п. 12) не сохраняется.

Перераспределение массива с помощью функции realn_ возможно лишь в том случае, если при его создании функцией crtda_ значение её параметра *ReDistrParPtr было задано равным 2 или 3 (см.п.6).

Распределённый массив, заданный при обращении к функции, может быть ранее не отображён. В этом случае функция realn_ выполняется как функция align_ , а значение параметра *NewSignPtr несущественно. Значение параметра *ReDistrParPtr, с которым был создан распределённый массив, также не имеет значения.

Функция возвращает ненулевое значение, если переотображённый массив имеет локальную часть на текущем процессоре, и нулевое  в противном случае.

7.4Опрос карты отображения

ArrayMapRef arrmap_(

long
long

ArrayHeader[],
*StaticSignPtr );

ArrayHeader

заголовок распределённого массива.

*StaticSignPtr

признак создания статической карты отображения.

Функция arrmap_ создает объект (карту отображения), описывающий текущее отображение распределённого массива на представление абстрактной машины, и возвращает ссылку на созданный объект.

Карта отображения распределённого массива содержит, в частности, следующую информацию:

  • ссылку на представление абстрактной машины, в которое отображён распределённый массив;

  • правила выравнивания для всех измерений этого представления;

  • размерности распределённого массива и представления абстрактной машины (для контроля).

Задаваемый ненулевым значением *StaticSignPtr признак статической карты отображения означает создание карты, не уничтожаемой при выходе из программного блока (см.п.8). Такая карта может быть уничтожена только явно, с помощью рассмотренной в п.7.7 функции delarm_.

7.5Задание расположения распределенного массива по карте отображения

long malign_(

long
AMViewRef
ArrayMapRef

ArrayHeader[],
*AMViewRefPtr,
*ArrayMapRefPtr );

ArrayHeader

заголовок распределённого массива.

*AMViewRefPtr

ссылка на представление абстрактной машины, являющееся образцом выравнивания.

*ArrayMapRefPtr

ссылка на карту отображения распределённого массива.

Функция malign_ задает отображение указанного распределённого массива на представление абстрактной машины по заданной карте отображения.

Размерность распределённого массива и размерность представления абстрактной машины должны быть равны соответствующим размерностям, содержащимся в карте отображения.

При равном NULL значении AMViewRefPtr или при нулевом значении *AMViewRefPtr образцом выравнивания будет представление абстрактной машины, ссылка на которое содержится в карте отображения.

Перед обращением к функции malign_ представление абстрактной машины (заданное ссылкой *AMViewRefPtr или в карте отображения) должно быть отображено в текущую процессорную систему или её подсистему.

Нельзя отобразить уже отображённый распределённый массив.

Возвращается ненулевое значение, если отображённый массив имеет локальную часть на текущем процессоре, и нулевое  в противном случае.

7.6Изменение расположения распределенного массива по карте отображения

long mrealn_(

long
AMViewRef
ArrayMapRef
long

ArrayHeader[],
*AMViewRefPtr,
*ArrayMapRefPtr,
*NewSignPtr );

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

Список файлов учебной работы

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