Новости
Обновлены результаты тестов производительности из пакета NAS NPB 3.3, которые были распараллеленны с помощью языка Fortran-DVMH и выполнены на графических ускорителях NVIDIA, 6-ти ядерном процессоре Intel и на 60-ти ядерном Intel Xeon Phi.
Последние публикации
DVM-система, созданная в ИПМ им. М.В.Келдыша РАН при активном участии аспирантов и студентов факультета ВМК МГУ им. М.В.Ломоносова, предназначена для разработки параллельных программ научно-технических расчетов на языках C-DVMH и Fortran-DVMH. Эти языки используют единую модель параллельного программирования (DVMH-модель) и являются расширением стандартных языков Си и Фортран спецификациями параллелизма, оформленными в виде директив компилятору. Поскольку директивы невидимы для стандартных компиляторов, программист может иметь одну программу и для последовательного, и для параллельного выполнения на ЭВМ разной архитектуры.
Компиляторы языков C-DVMH и Fortran-DVMH преобразуют входную программу в параллельную программу, использующую стандартные технологии программирования MPI, OpenMP и CUDA. В состав DVM-системы входят средства функциональной отладки и отладки эффективности DVMH-программ.
O системе#pragma dvm region
{
#pragma dvm parallel([i][j] on A[i][j]) reduction(max(eps))
for (i = 1; i < L-1; i++)
for (j = 1; j < M-1; j++)
{
float tmp = fabs (B[i][j] - A[i][j]);
eps = Max(tmp, eps);
A[i][j] = B[i][j];
}
#pragma dvm parallel([i][j] on A[i][j]) shadow_renew(A)
for (i = 1; i < L-1; i++)
for (j = 1; j < M-1; j++)
B[i][j] = (A[i-1][j] + A[i][j-1] +
A[i][j+1] + A[i+1][j]) / 4.0f;
}
DVMH-модель позволяет создавать эффективные параллельные программы (DVMH-программы) для гетерогенных вычислительных кластеров, в узлах которых в качестве вычислительных устройств наряду с универсальными многоядерными процессорами могут использоваться ускорители (графические процессоры или сопроцессоры Intel Xeon Phi). При этом отображенные на узел вычисления могут автоматически распределяться между вычислительными устройствами узла с учетом их производительности.
ПроизводительностьИзучите руководство пользователя
Что такое DVMH-модель, DVMH-язык и DVMH-программа?
Как начать использовать DVM-систему?
-
Описание языка
Язык C-DVMH, C-DVMH компилятор, компиляция, выполнение и отладка DVMH-программ.
-
Руководство пользователя
Язык Fortran-DVMH, Fortran-DVMH компилятор, компиляция, выполнение и отладка DVMH-программ.
Посмотрите примеры программ
Как просто и эффективно распараллелить методы решения системы линейных уравнений?
-
Распараллеливание алгоритма Якоби
Первое знакомство с DVM-системой. Обзор основных конструкций языка DVMH: распределение данных (distribute, align), распределение вычислений (parallel), выполнение редукционных операций (reduction), обмен данными (shadow_renew), использование GPU (region, actual, get_actual).
Свяжитесь с нами
Получите ответы на интересующие вас вопросы, выскажите свои замечания и внесите предложения, чтобы бы могли сделать нашу систему лучше.