Алгоритмы параллельных вычислений степени инвариантности кристаллических структур Сомов Н.В., Носов С.С., Чупрунов Е.В. Физический факультет, Нижегородского государственного университета им. Н.И. Лобачевского Цель работы: Применение параллельных вычислений для исследование псевдосиметрических особенностей кристаллических структур. Постановка задачи: Нам необходимо провести численное интегрирование данного функционала: T x x Tx dV V x dV 2 V где x функция электронной плотности Постановка задачи (продолжение): T x ФУНКЦИЯ • • • x x Tx dV V x dV 2 V ОБЛАДАЕТ СЛЕДУЮЩИМИ СВОЙСТВАМИ: НЕПРЕРЫВНА ВО ВСЁМ ПРОСТРАНСТВЕ ПОЛОЖИТЕЛЬНА В ПРОСТРАНСТВЕ ПРОСТРАНСТВЕННО-ПЕРИОДИЧЕСКАЯ Постановка задачи (продолжение): T x x Tx dV V x dV 2 V T - ОБОБЩЕННЫЙ ОПЕРАТОР СИММЕТРИИ V – ОБЪЕМ ЭЛЕМЕНТАРНОЙ ЯЧЕЙКИ Постановка задачи (окончание): T x x Tx dV V x dV 2 V В КАЧЕСТВЕ ФИЗИЧЕСКОГО ОБЪЕКТА ИССЛЕДОВАНИЯ БЫЛИ ВЗЯТЫ ОРГАНИЧЕСКИЕ КРИСТАЛЛИЧЕСКИЕ СТРУКТУРЫ ХАРАКТЕРИЗУЮЩИЕСЯ УПОРЯДОЧЕННЫМ АТОМНЫМ СТРОЕНИЕМ. ДАННЫЕ О СТРУКТУРАХ БЫЛИ ВЗЯТЫ В КЕМБРИДЖСКОМ БАНКЕ СТРУКТУРНЫХ ДАННЫХ. Решение задачи: МАТЕМАТИЧЕСКАЯ ФОРМА ЗАПИСИ ОПЕРАТОРА ОБОБЩЕННОЙ СИММЕТРИИ a11 a12 a21 a22 T a31 a32 0 0 a13 a23 a33 0 tx ty tz 1 Решение задачи (продолжение): ФУНКЦИЮ ЭЛЕКТРОННОЙ ПЛОТНОСТИ МОЖНО РАЗЛОЖИТЬ В РЯД ФУРЬЕ: ( x ) F ( H ) exp( 2i( Hx )) r H ГДЕ F (H ) ФУРЬЕ КОЭФФИЦИЕНТЫ ФУНКЦИИ ЭЛ. ПЛОТНОСТИ В ОБРАТНОМ ПРОСТРАНСТВЕ. Решение задачи (продолжение): ВЫЧИСЛЯЕМЫЕ СОГЛАСНО ФОРМУЛЕ: F ( H ) f j H exp( 2i( Hx j )) N j 1 ГДЕ, fj ФУНКЦИЯ АТОМНОГО РАССЕЯНИЯ ДЛЯ j -ГО АТОМА СТРУКТУРЫ, ЛИНЕЙНО ИНТЕРПОЛИРУЕМАЯ ПО ДВУМ БЛИЖАЙШИМ ТОЧКАМ. СУММИРОВАНИЕ ВЕДЁТСЯ ПО ВСЕМ НЕЗАВИСИМЫМ АТОМАМ Решение задачи (продолжение): ТОГДА, ВВЕДЁННЫЙ НАМИ ФУНКЦИОНАЛ СЛЕДУЮЩИЙ ВИД: T ( x ) ПРИМЕТ F ( H ) F (qH ) exp 2i( H ) r H F (H ) r H 2 Решение задачи (продолжение): Весь спектр задач по изучению псевдосимметрии кристаллических структур можно разбить на две группы. Первая группа задач представляет собой вычисление псевдосимметрии относительно некоторого небольшого набора операций симметрии у большого числа кристаллических структур, т.е. проведение статистического анализа группы структур. Ко второй группе задач относится детальное изучение псевдосимметрических особенностей конкретной кристаллической структуры. Для проведения такого анализа необходимо вычисление псевдосимметрии для большого числа операций симметрии. Решение задачи (первый тип задач): •На стадии инициализации нулевой процесс рассылает таблицу атомных факторов, набор операций симметрии остальным процессам. Каждый процесс также получает информацию о кристаллической структуре, расчет для которой предстоит провести. •Получив все необходимые данные, процессы начинают вычисления. •После завершения вычисления процесс сообщает об этом нулевому процессу и передаёт ему результат вычислений. •Нулевой процесс, приняв результат, вычисление передаёт информацию о следующей структуре освободившемуся процессу, предварительно сохранив полученный результат вычислений. Решение задачи (первый тип задач): Для такого алгоритма легко записать время работы в случае P процессов и n структур (n>P): tпар i aT IO (a b) где a=n div (P-1) , b=n mod (P-1), div - целочисленное деление, mod – остаток деления, T - среднее время расчёта структуры,IO - время обмена данными с нулевым процессом, i - время инициализации нулевого процесса 0 Решение задачи (первый тип задач): . Более наглядно смысл этой формулы можно проиллюстрировать на графике (см. Рис. 1.) построенном для случая с четырьмя процессами. P T 3 2 1 0 Рис. 1. t На рисунке 1 по оси ординат отложены процессы, а по оси абсцисс время работы. Отрезками показаны периоды времени занятые непосредственно вычислениями. Момент времени 0 соответствует окончанию периода инициализации, 1 - время окончания одного цикла вычислений, 0 - время обмена данными. Решение задачи (первый тип задач): Эффективность работы алгоритма можно записать выражением: nT S i aT IO (a b) где a=n div (P-1) , b=n mod (P-1), div - целочисленное деление, mod – остаток деления, T - среднее время расчёта структуры,IO - время обмена данными с нулевым процессом, i - время инициализации нулевого процесса Решение задачи (первый тип задач): Рисунок 2 демонстрирует теоретическую зависимость эффективности от числа используемых процессов. Время обмена данными между процессами для данного графика составляет 1.6% от времени работы каждого процесса Рис. 2. Решение задачи (второй тип задач): •Нулевой процесс на стадии инициализации рассылает таблицу атомных факторов, набор операций симметрии и исследуемую структуру (каждый процесс получает одну и туже структуру). •Все процессы кроме нулевого занимается вычислением собственного участка внешнего цикла. •По окончанию вычислений процессы передают результат своих расчётов нулевому процессу, который, собрав результаты со всех задействованных процессов, формирует результат вычислений. •Сохранив результат вычислений, нулевой процесс рассылает всем процессам очередную структуру. Решение задачи (второй тип задач): Время расчёта одной структуры запишется в виде: t 2 i T ( P 1)IO где T - время вычисления одной части внешнего цикла процессом, P – число процессов, i - время инициализации нулевого процесса, IO - время обмена данными. Эффективность алгоритма будет иметь вид: ( P 1)T S2 i T ( P 1) IO Решение задачи (второй тип задач): Рисунок 3 демонстрирует теоретическую зависимость эффективности от числа используемых процессов. Время обмена данными между процессами для данного графика составляет 1.6% от времени работы каждого процесса Рис. 3. Результаты численного эксперимента Практическая реализация первого алгоритма показала следующие результаты. Тестовые замеры времени для случая со 100 структурами и четырьмя процессами, представлены в таблице 1. Таблица 1 i, с IO,c T,c 0,2819 0,0177 6,3099 tпар,с tпосл,с 215.4203 631.2719 S 2,9304 где tпар- время расчёта 100 кристаллических структур в параллельном режиме, tпосл- время расчёта в последовательном режиме, т.е. вычисления, проводились на одном компьютере, S – эффективность вычислений