- •Теории параллельных вычислений
- •Часть 2
- •Теории параллельных вычислений. Часть 2. Методические указания / Сост. К.В.Кротов - Севастополь: Изд-во СевНту, 2009.- 81 с.
- •Содержание
- •1. Понятия отношений. Классы эквивалентности
- •2. Понятие зависимостей между операторами программы
- •Понятие линейной программы
- •Понятие множеств переменных, используемых в программе
- •Понятие входных переменных в программе
- •Отношениями зависимости и независимости операций
- •3.1 Непосредственная (сильная) зависимость операций
- •3.2 Слабая зависимость операций
- •3.3 Слабая независимость операций
- •3.4 Сильная независимость операций
- •Свойства отношений зависимости и независимости между операциями
- •Алгоритм распараллеливания последовательных программ путем приведения их к полной параллельной форме (ппф)
- •4.1 Условия приводимости к ппф
- •Упрощенная интерпретация условия
- •Пояснение к условию
- •Правило изменения порядка:
- •4.2 Процедура приводимости к ппф
- •Алгоритм преобразования программы к ппф
- •4.3 Метод формирования параллельных групповых операторов
- •Особенности распараллеливания программы путем приведения ее к ппф
- •5.1 Понятие двумерной модели вычислительного процесса
- •5.2 Уточнение множеств двумерной модели вычислительного процесса
- •6 Распараллеливание программ с использованием понятия модели вычислительного процесса Понятие операции и выражения
- •6.1 Постановка задачи распараллеливания
- •Правила построения таблицы для распараллеливания
- •6.2 Условия формирования множества *Aк (функция f1 - функция двумерной модели)
- •Условие бесконфликтности
- •6.3 Правила построения япф программы
- •6.4 Формализация условий вынесения операций ai на k-ый ярус япф
- •Операции с тремя входами
- •7 Распараллеливание программ на основе понятий примитивно-вычислимых и частично-вычислимых функций Понятие вычислимых и рекурсивных функций
- •7.1 Задание рекурсивных функций (Формирование процесса задания алгоритма вычислимых функций)
- •7.2 Суперпозиция вычислимых функций Задание области определения для оператора суперпозиции вычислимых функций
- •7.3 Оператор примитивной рекурсии
- •7.4 Распараллеливание алгоритмов примитивной рекурсии
- •7.5 Распараллеливание простейших аддитивных и мультипликативных функций
- •7.6 Операторы представления суперпозиции и примитивной рекурсии
- •Суперпозиция
- •Оператор рекурсии
- •7.7 Обобщенная форма операторов суперпозиции и рекурсии
- •7.8 Обобщенный вид оператора рекурсии
- •7.9 Обобщенный вид оператора суперпозиции для множественного потока данных
- •8 Распараллеливание программ с использованием моделей вычислительных процессов Модели программ
- •8.1 Граф управления
- •Информационный граф программы
- •8.2 Понятие графа зависимости между операторами
- •8.3 Граф влияния
- •8.4 Теоретико-графовый подход к распараллеливанию алгоритмов
- •8.5 Транзитивные замыкания
- •Формирование транзитивного замыкания
- •Формализация транзитивного замыкания (транзитивного образа вершины)
- •Формализация процедуры определения транзитивного прообраза вершины
- •8.6 Алгоритм формирования параллельной формы программы по графу управления на основе понятия транзитивного образа замыкания вершины
- •8.7 Алгоритм распараллеливания на основе понятия прообраза
- •8.8 Приведение стандартной схемы программы к ярусно-параллельной форме
- •Модели параллельных процессов
- •9 Сети петри
- •Алгоритм функционирования сети Петри
- •Возможности применения сетей Петри
- •10 Графовые модели. Общие понятия
- •10.1 Модель биологического графа
- •Правило функционирования моделей биологических графов
- •10.2 Модель модифицированного биологического графа
- •11.1 Алгоритм формирования а-схемы
- •11.2 Понятие спусковых и управляющих функций
- •11.3 Функционирование a-схем
- •11.4 Понятие вычислительного процесса
- •Аксиомы вычислительного процесса
- •Требования информационного обеспечения оператора а
- •11.5 Понятие конечного автомата (ка)
- •11.6 Логические рассуждения. Комментирование функционирования ка
- •12 Параллельные операторные схемы
- •Правило функционирования операторных схем
7 Распараллеливание программ на основе понятий примитивно-вычислимых и частично-вычислимых функций Понятие вычислимых и рекурсивных функций
Рекурсией называется способ задания функций, в котором значение определяемой функции для произвольных аргументов определяется значениями той же функции для меньших значений аргументов либо значениями простейших (элементарных) функций. Каждое последующее значение рекурсивной функции вычисляется на основе предыдущего. Рекурсивное определение функции может быть интерпретировано как алгоритм ее вычисления.
Функции, вычисляемые в соответствии с некоторыми алгоритмами, называются вычислимыми. Рекурсивные функции – это подкласс вычислимых функций.
7.1 Задание рекурсивных функций (Формирование процесса задания алгоритма вычислимых функций)
Определение простейших вычислимых функций (функций-констант), то есть функций вычислимых по определению.
Определение операторов над вычисляемыми функциями (оператор – это некоторая функция, формирующая результат). Рекурсивная функция является вычислимой, если ее аргументы другие рекурсивные функции.
Определение операторов, то есть некоторых функций (некоторых термов), аргументами которых являются другие вычислимые функции.
Функция, аргументами которой являются вычислимые функции, сама является вычислимой.
Формирование операторов над функциями определяет алгоритм вычислений.
Пример простейших вычислимых функций:
Функция следования: S = x+1, где х – переменная.
Функция выбора:
Inm
(x1,
x2,
x3,…,
xn
) = { xm
}, m
Функция выбора предполагает выделение из некоторого множества аргументов (x1, x2, x3,…, xn ) некоторого подмножества, входящего в указанное множество { xm },
{
xm
}
{
xi
}, m
, i
=
Функции называются вычислимыми по определению, когда не содержат в себе других вычислимых функций.
7.2 Суперпозиция вычислимых функций Задание области определения для оператора суперпозиции вычислимых функций
Имеется
n
частных функций (например, вычислимых
по определению). Каждая из функций задана
для m
переменных. Т.о.
-частичная
функция. Обозначим через
область возможных значений j-ой
переменной, входящей в i-ую
вычислимую функцию (
)
. Тогда
область
определение значений функции
(
).
Также
определена функция
(n-местным)
с областью возможных значений в виде:
Для
простоты, можно предположить, что
.
На основе введенной функции f
формируется функция
(со значением в
)
в виде:
.
Суперпозиция
функций
позволяет определить функцию
.
Таким
образом, функциональный терм
определяет функцию
.
Процесс
формирования функционального терма
и получение функции
комментирует
Рис. 6.
Рисунок
6–Процесс формирования функции
В
результате функция
вычисляется
функциональным термом
(Рисунок
6). Переменные
определяют (представляют собой)
промежуточные величины.
В
ходе рассуждений, таким образом,
определены простейшие вычислимые
функции. Вычислимость этих функций
является очевидной (в силу вычислимости
функций )
)
и
.
Алгоритм вычисления функции
имеет
вид:
Пример реализации суперпозиции функций. (Программа P).
