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

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

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

Функция возвращает нулевое значение.

6.2 Уничтожение распределенного массива

long delda_(long ArrayHeader[]);

ArrayHeader – заголовок уничтожаемого массива.

Функция уничтожает созданный функцией crtda_ распределённый массив. После уничтожения распределённого массива его заголовок может использоваться по усмотрению пользовательской программы.

Распределённый массив может быть уничтожен функцией delda_ только в том случае, если он был создан в текущей подзадаче и в текущем программном блоке (или его подблоке) (см. п. 8 и п. 10). Вместе с массивом будут уничтожены все группы границ, в которые он включён (см. п. 12).

Распределённый массив может быть уничтожен также с помощью функции delobj_ (см. п.17.5).

Возвращается нулевое значение.

6.3Создание дополнительного заголовка распределенного массива

long addhdr_ (

long
long

NewArrayHeader[],
ArrayHeader[] );

NewArrayHeader

создаваемый заголовок.

ArrayHeader

один из существующих заголовков.

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

При задании расположения распределённого массива (выравнивании) с помощью функций align_ и malign_ (см.п.7) инициализируются все его заголовки. Изменение расположения массива функциями realn_, mrealn_, redis_ и mredis_ (см. п.п. 5 и 7) также влечет изменение содержимого всех его заголовков.

Возвращается нулевое значение.

6.4Уничтожение заголовка распределенного массива

long delhdr_(long ArrayHeader[]);

ArrayHeader – уничтожаемый заголовок распределённого массива.

Функция уничтожает заголовок, созданный функцией addhdr_ или заданный при обращении к функции crtda_. Нельзя уничтожить единственный заголовок распределённого массива.

Возвращается нулевое значение.

7Отображение распределенного массива

7.1Задание расположения (выравнивание) распределенного массива

long align_ (

long
PatternRef
long
long
long

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

ArrayHeader

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

*PatternRefPtr

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

AxisArray

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

CoeffArray

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

ConstArray

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

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

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

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

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

Рассмотрим отображение распределённого массива детальнее. Пусть Fмногозначная функция, определённая на индексном пространстве выравниваемого массива и принимающая значения в индексном пространстве образца:

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

F1(I1, ... ,Ii, ... ,In) 
. . . . . . . . . . . . .. .
Fj(I1, ... ,Ii, ... ,In) 
. . . . . . . . . . . . .. .

Fm(I1, ... ,Ii, ... ,In)

где:

символ декартова произведения множеств;

n

размерность распределённого массива;

m

размерность образца;

Ii

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

Fj

многозначная функция, принимающая значения во множестве значений индексной переменной j-го измерения образца.

Выравнивание распределённого массива по заданному образцу – это указание системе поддержки (посредством задания функции F) о том, что элемент выравниваемого массива, определённый индексным вектором (i1, ... ,in), должен быть размещён на тех и только тех процессорах, на которых размещён (или на которые отображён) хотя бы один из элементов образца, определённых множеством F((i1, ... ,in)) (т.е. множеством-образом, элементами которого являются векторы индексного пространства образца).

Функции F1, ... ,Fm называются координатными правилами выравнивания. Система поддержки обеспечивает следующие правила выравнивания.

  1. Fj(I1, ... ,In) = {Aj*Ik + Bj} , где:

k=f(j)

номер измерения выравниваемого массива (1 ≤ k ≤ n, f(j1) ≠ f(j2) при j1 ≠ j2);

Aj

целое число;

Bj

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

В этом случае образом элемента (i1, ... ,in) индексного пространства выравниваемого массива является множество, содержащее один элемент  Aj*Ik + Bj, принадлежащий множеству значений индексной переменной j-го измерения образца.

Aj и Bj должны удовлетворять условиям:

0 ≤ Bj ≤ MAXj и 0 ≤ Aj*MAXk + Bj ≤ MAXj , где:

MAXj

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

MAXk

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

  1. Fj(I1, ... ,In) = {q  Mj: 0 ≤ q ≤ MAXj} , где:

Mj

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

MAXj

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

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

Примеры.

  1. Выравнивание F((I1, I2)) = {I1} {I2} означает, что элемент двухмерного массива должен быть отображён на те же процессоры, что и элемент двухмерного образца, если их индексы совпадают.

  2. Выравнивание F((I1, I2)) = {*} {I1+5} {*} означает, что элемент двухмерного массива будет отображён на те же процессоры, что и элемент трёхмерного образца, если индекс по 2-му измерению образца на 5 больше индекса по 1-му измерению выравниваемого массива (вне зависимости от значения индекса выравниваемого массива по 2-му измерению и от значений индексов образца по 1-му и 3-му измерениям).

  3. Выравнивание F((I1, I2, I3)) = {*} {*} означает, что каждый элемент трёхмерного массива будет расположен на каждом процессоре, на который отображён хотя бы один элемент двухмерного образца (вне зависимости от значений индексов выравниваемого массива и образца).

  4. Выравнивание F((I1, I2)) = {0} {1} {2} означает, что каждый элемент двухмерного массива (вне зависимости от значений его индексов) будет размещён на тех процессорах, на которые отображён элемент трёхмерного образца с индексами (0,1,2).

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

Отметим, что если в качестве образца использован массив, то при его переотображении с помощью функции realn_ (см.п.7.3) массив, отображённый с помощью этого образца, сохранит прежнее расположение.

При обращении к функции align_ правило выравнивания Fj(I1,...,In) = Aj*Ik + Bj для j-го измерения образца задается следующим образом:

AxisArray[j-1]
CoeffArray[j-1]
ConstArray[j-1]

содержит значение k;
содержит значение Aj;
содержит значение Bj.

Для задания правила Fj(I1, ... ,In), значением которого для любых I1, ... ,In является множество всех значений индексной переменной j-го измерения образца, значение AxisArray[j-1] (значение k) должно быть установлено равным -1. Значения CoeffArray[j-1] и ConstArray[j-1] (значения Aj и Bj) в этом случае несущественны.

Число правил выравнивания, заданных при обращении к функции align_, должно быть равно размерности образца.

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

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

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