Fortran DVM
Версия 3.0
Описание языка
* Октябрь, 2009 *

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

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

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


Оглавление

1. Введение
      
1.1. Модели параллельного программирования
      1.2. DVM–подход к разработке параллельных программ

2.  Обзор языка
      2.1. Модель программирования и модель параллелизма
      2.2. Синтаксис директив FDVM

3.  Массивы виртуальных процессоров. Директива PROCESSORS

4.  Распределение данных
      4.1. Директивы DISTRIBUTE и REDISTRIBUTE
            4.1.1. Формат BLOCK
            4.1.2.
Формат GEN_BLOCK
            4.1.3. Формат WGT_BLOCK
            4.1.4. Формат MULT_BLOCK
            4.1.5. Формат *
            4.1.6. Многомерные распределения
      4.2. Распределение динамически размещаемых массивов и указателей
      4.3. Распределение через выравнивание
            4.3.1. Директивы ALIGN и REALIGN
            4.3.2. Директива TEMPLATE
            4.3.3. Выравнивание динамически размещаемых массивов и указателей
      4.4. Директивы DYNAMIC и NEW_VALUE
      4.5. Распределение по умолчанию

5.  Распределение вычислений
      5.1. Параллельные циклы
            5.1.1. Определение параллельного цикла
            5.1.2. Распределение витков цикла. Директива PARALLEL
            5.1.3. Приватные переменные. Спецификация NEW
            5.1.4. Редукционные операции и переменные. Спецификация REDUCTION
      5.2. Вычисления вне параллельного цикла

6.  Cпецификация удаленных данных
      
6.1. Определение удаленных ссылок
      6.2. Удаленные ссылки типа SHADOW
            6.2.1. Спецификация массива с теневыми гранями
            6.2.2. Синхронная спецификация независимых ссылок типа SHADOW для одного цикла
            6.2.3. Вычисление значений в теневых гранях. Спецификация SHADOW_COMPUTE
            6.2.4. Спецификация ACROSS зависимых ссылок типа SHADOW для одного цикла
            6.2.5. Асинхронная спецификация независимых ссылок типа SHADOW
      6.3. Удаленные ссылки типа REMOTE
            6.3.1. Директива REMOTE_ACCESS
            6.3.2. Синхронная спецификация удаленных ссылок типа REMOTE
            6.3.3. Асинхронная спецификация удаленных ссылок типа REMOTE
            6.3.4. Асинхронное копирование по ссылкам типа REMOTE
      6.4. Удаленные ссылки типа REDUCTION
            6.4.1. Синхронная спецификация удаленных ссылок типа REDUCTION
            6.4.2. Асинхронная спецификация удаленных ссылок типа REDUCTION

7.  Параллелизм задач
      7.1. Описание массива задач
      7.2. Отображение задач на процессоры. Директива MAP
      7.3. Распределение массивов по задачам
      7.4. Распределение вычислений. Директива TASK_REGION
      7.5. Локализация данных в задачах
      7.6. Фрагмент статической многообластной задачи
      7.7. Фрагмент динамической многообластной задачи

8. Распределенные вычисления на размноженных массивах
      8.1.  Параллельные циклы и размноженные массивы
      8.2.  Приведение размноженного массива в консистентное состояние
      8.3.  Спецификация приведения в консистентное состояние
            8.3.1.  Директива CONSISTENT
            8.3.2.  Опция CONSISTENT
            8.3.3.  Спецификация асинхронного выполнения приведения в консистентное состояние
      8.4.  Параллелизм задач и распределенные вычисления на размноженных массивах

9.  COMMON и EQUIVALENCE
10.  Процедуры
11.  Ввод-вывод
12. Совместимость с HPF
13. Отличие версии FDVM 2.0 от версии FDVM 1.0
14. Отличие версии FDVM 3.0 от версии FDVM 2.0
15. Ограничения на использование распределенных массивов в операторах Фортран 95

Литература

Приложение 1. Синтаксис

Приложение 2. Примеры программ
      Пример 1. Алгоритм метода исключения Гаусса
      Пример 2. Алгоритм Якоби
      Пример 3. Алгоритм Якоби (асинхронный вариант)
      Пример 4. Последовательная верхняя релаксация
      Пример 5. "Красно-черная" последовательная верхняя релаксация
      Пример 6. Статические задачи (параллельные секции)
      Пример 7. Динамические задачи (цикл задач)

Приложение 3. Распределение динамических массивов в программе на языке FDVM 2.0 (Фортран 77)
      П3.1. Динамические массивы в программе на языке Фортран 77
      П3.2. Динамические массивы в модели FDVM 2.0. Директива POINTER
      П3.3. Директива DISTRIBUTE и REDISTRIBUTE для динамических массивов
      П3.4. Выравнивание динамических массивов
      П3.5. Фрагмент динамической многообластной задачи

Приложение 4. Асинхронное копирование на языке FDVM 2.0

      П4.1. Директива ASYNCID
      П4.2. Директива F90
      П4.3. Директивы ASYNCHRONOUS и END ASYNCHRONOUS
      П4.4. Директива ASYNCWAIT

 

 


Fortran-DVM - оглавление Часть 1(1-4) Часть 2 (5-6) Часть 3 (7-15) Часть 4 (Приложения)