Система поддержки выполнения параллельных программ (библиотека Lib-DVM)
Описание интерфейса
* Февраль, 2001 *

DVM-система
(на русском)

начало

Документация

- последнее обновление 28.04.01 -


Оглавление

1 Введение
2 Инициализация системы поддержки и завершение работы с ней
3 Построение представлений абстрактной машины

3.1 Опрос ссылки на текущую абстрактную машину
3.2 Создание представления абстрактной машины
3.3 Опрос ссылки на элемент представления абстрактной машины
3.4 Уничтожение представления абстрактной машины

4 Многопроцессорные системы

4.1 Опрос ссылки на многопроцессорную систему
4.2 Создание подсистемы заданной многопроцессорной системы
4.3 Реконфигурация (изменение формы) многопроцессорной системы
4.4 Уничтожение многопроцессорной системы
4.5 Веса элементов многопроцессорной системы
4.6 Задание весов координат процессоров по весам их загрузки
4.7 Виртуальные многопроцессорные системы (многопроцессорные системы программы пользователя)

5 Отображение представления абстрактной машины

5.1 Задание отображения представления абстрактн ой машины на многопроцессорную систему (распределение ресурсов)
5.2 Изменение отображения представления абстрактной машины на многопроцессорную систему (перераспределение ресурсов)
5.3 Опрос карты отображения
5.4 Задание отображения представления абстрактной машины по карте отображения
5.5 Изменение отображения представления абстрактной машины по карте отображения
5.6 Уничтожение карты отображения
5.7 Неравномерное блочное распределение

6 Создание и уничтожение распределенного массива

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

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

7.1 Задание расположения (выравнивание) распределенного массива
7.2 Суперпозиция выравниваний
7.3 Изменение расположения распределенного массива
7.4 Опрос карты отображения
7.5 Задание расположения распределенного массива по карте отображения
7.6 Изменение расположения распределенного массива по карте отображения
7.7 Уничтожение карты отображения
7.8 Опрос ссылки на представление абстрактной машины, в которое отображён заданный распределённый массив

8 Определение программного блока
9 Описание параллельного цикла

9.1 Создание параллельного цикла
9.2 Отображение параллельного цикла
9.3 Изменение порядка выполнения витков цикла
9.4 Опрос необходимости продолжения выполнения параллельного цикла
9.5 Завершение параллельного цикла
9.6 Задание информации о зависимостях по данным между витками параллельного цикла
9.7 Измерение времени выполнения витков параллельного цикла

9.7.1 Выдача задания на измерение
9.7.2 Опрос результатов измерения (опрос массива координатных весов загрузки)
9.7.3 Использование результатов измерения для динамической балансировки загрузки процессоров
9.7.4 Глобальная трассировка времен выполнения витков параллельных циклов

10 Представление программы в виде совокупности параллельно выполняющихся подзадач

10.1 Отображение абстрактной машины (создание подзадачи)
10.2 Начало выполнения (активизация, пуск) подзадачи
10.3 Завершение выполнения (останов) текущей подзадачи

11 Редукция

11.1 Создание редукционной переменной
11.2 Задание типа индексных переменных, значения которых определяют координаты локального максимума или минимума редукционной переменной
11.3 Создание редукционной группы
11.4 Включение редукционной переменной в редукционную группу
11.5 Запоминание значений редукционных переменных
11.6 Запуск редукционной группы
11.7 Ожидание завершения редукции
11.8 Уничтожение редукционной группы
11.9 Уничтожение редукционной переменной
11.10 Поддержка асинхронной редукции при выполнении параллельного цикла

12 Обмен границами распределенных массивов

12.1 Создание группы границ
12.2 Включение границы распределенного массива в группу границ
12.3 Запуск обмена границами заданной группы
12.4 Инициализация приема импортируемых элементов заданной группы границ
12.5 Инициализация передачи экспортируемых элементов заданной группы границ
12.6 Инициализация приема локальных элементов распределенных массивов заданной группы границ
12.7 Инициализация передачи граничных элементов распределенных массивов заданной группы границ
12.8 Ожидание завершения обмена границами заданной группы
12.9 Уничтожение группы границ

13 Доступ к элементам распределенных массивов

13.1 Копирование элемента распределенного массива

13.1.1 Чтение элемента распределенного массива и присвоение ему значения
13.1.2 Копирование элемента одного распределенного массива в элемент другого распределенного массива
13.1.3 Обобщенная пересылка элемента распределенного массива

13.2 Копирование распределенных массивов
13.3 Асинхронное копирование распределенных массивов
13.4 Доступ к элементам локальной части распределенного массива

13.4.1 Опрос принадлежности элемента распределенного массива его локальной части
13.4.2 Опрос начальных и конечных значений индексов локальной части распределенного массива
13.4.3 Чтение элемента локальной части распределенного массива
13.4.4 Присвоение значения элементу локальной части распределенного массива
13.4.5 Копирование элемента локальной части одного распределенного массива в элемент локальной части другого распределенного массива
13.4.6 Опрос адреса элемента локальной части распределенного массива

13.5 Макрокоманды доступа к элементам локальных частей распределенных массивов размерностей от 1 до 7
13.6 Последовательный опрос значений индексов элементов распределенного массива

14 Регулярный доступ к удаленным данным

14.1 Создание буфера удалённых элементов распределённого массива
14.2 Запуск загрузки буфера удаленных элементов распределенного массива
14.3 Ожидание завершения загрузки буфера удаленных элементов распределенного массива
14.4 Уничтожение буфера удаленных элементов распределенного массива
14.5 Доступ к размещенным в локальной части буфера удаленным элементам
14.6 Создание группы буферов удаленных элементов
14.7 Включение в группу буфера удаленных элементов
14.8 Запуск загрузки буферов удаленных элементов заданной группы
14.9 Ожидание завершения загрузки буферов удаленных элементов заданной группы
14.10 Уничтожение группы буферов удаленных элементов
14.11 Опрос типа доступа к элементам распределенного массива

15 Нерегулярный доступ к удаленным данным

15.1 Создание буфера удаленных элементов нерегулярного доступа
15.2 Запуск загрузки буфера удаленных элементов нерегулярного доступа
15.3 Ожидание завершения загрузки буфера удаленных элементов нерегулярного доступа
15.4 Уничтожение буфера удаленных элементов нерегулярного доступа
15.5 Доступ к размещенным в буфере удаленным элементам
15.6 Создание группы буферов удаленных элементов нерегулярного доступа
15.7 Включение в группу буфера удаленных элементов нерегулярного доступа
15.8 Запуск загрузки буферов удаленных элементов заданной группы
15.9 Ожидание завершения загрузки буферов удаленных элементов заданной группы
15.10 Уничтожение группы буферов удаленных элементов нерегулярного доступа

16 Ввод/вывод

16.1 Аналоги библиотеки языка C

16.1.1 Функции ввода/вывода высокого уровня
16.1.2 Функции ввода/вывода нижнего уровня
16.1.3 Операции над каталогами и файлами

16.2 Чтение файла в подмассив распределенного массива
16.3 Запись подмассива распределенного массива в файл

17 Вспомогательные функции

17.1 Опрос размерности заданного объекта
17.2 Опрос размера заданного измерения заданного объекта
17.3 Опрос признака распределенного массива
17.4 Опрос длины элемента распределенного массива
17.5 Уничтожение заданного объекта
17.6 Опрос признака процессора ввода/вывода
17.7 Рассылка областей памяти процессора ввода/вывода

18 Об использовании функций системы поддержки в Фортране
19 Примеры программ, использующих функции системы поддержки

19.1 Решение уравнения Лапласа методом Якоби
19.2 Параллельный цикл с регулярной зависимостью по данным между витками

Литература


Lib-DVM - описание интерфейса (оглавление) Часть
1(1-5)
Часть 2
(6-7)
Часть 3
(8-11)
Часть 4
(12-13)
Часть 5
(14-15)
Часть 6
(16-18)
Часть 7
(19)