Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
YurkinPhD.pdf
Скачиваний:
67
Добавлен:
28.03.2016
Размер:
4.03 Mб
Скачать

Таблица 8. Время вычислений и память, используемая четырьмя программами МДД, для двух тестовых задач.

 

 

 

Время вычислений

Требуемая

 

 

 

одной ориентации, с

память, МБ

Куб

msi

SIRRI

45

54.1

1 ориентация

 

DDSCAT

51

22.5

21 952 диполей

 

ZDD

273

21.6

 

mic

ADDA

18

15.3

 

SIRRI

19

54.1

 

 

DDSCAT

37

22.5

 

 

ZDD

85

21.6

Сфероид

msi

ADDA

9

15.3

SIRRI

137

74.8

80 ориентаций

 

DDSCAT

13

32.3

20 775 диполей

 

ZDD

a

a

 

mic

ADDA

11

21.6

 

SIRRI

41

74.8

 

 

DDSCAT

10

32.3

 

 

ZDD

13

a

 

 

ADDA

5

21.6

a Эта величина не была измерена.

МДД на практике. Результаты измерения этих двух величин для нескольких задач приведены в таблице 8. Все вычисления этого раздела проводились в Финском научном вычислительном центре на суперкомпьютере IBMSC (IBM eServer Cluster 1600), состоящем из узлов IBM p690 на основе процессоров Power4 1.1 ГГц. IBMSC предназначен для эффективных параллельных вычислений, но, если используется только один процессор, его производительность сравнима с современным ПК.

На суперкомпьютере IBMSC рассмотренная версия ADDA намного быстрее остальных. Программа SIRRI также довольно быстра при вычислении в фиксированной ориентации, но очень медленна при усреднении по ориентации. Результаты, приведённые для сфероида в таблице 8, вычислены усреднением по 80 ориентаций, при этом DDSCAT, ZDD и ADDA используют 20 разных комбинаций углов Эйлера, для которых вычисляется внутреннее поле, и четыре плоскости рассеяния для каждой из них. Важно отметить, что вычислительная производительность программ может зависеть от конкретных аппаратных и программных средств (процессор, операционная система и компилятор). Например, DDSCAT быстрее чем ZDD на IBMSC, но на ПК

(x86 Windows) ZDD, скомпилированная с Watcom C++, быстрее чем DDSCAT,

скомпилированная с Absoft Pro Fortran (данные не приведены).

2.5.4. Обсуждение

Все рассмотренные программы имеют свои преимущества и недостатки. В частности, DDSCAT и ZDD точны, ADDA быстрая, а SIRRI очень гибкая в выборе ориентаций для усреднения. Все программы могут работать в параллельном режиме, а ADDA может использовать несколько процессоров для одной задачи. DDSCAT и

125

ADDA общедоступны. С другой стороны, DDSCAT не может динамически выделять память, DDSCAT и ADDA не достаточно гибки в выборе ориентаций для усреднения, SIRRI имеет плохую точность для поляризации вблизи направления назад и т.д. «За и против» различных программ следующие:

SIRRI

+Быстра в фиксированной ориентации.

+Написана на Фортране 90 – динамически выделяет память и считывает имя файла с параметрами из командной строки, поэтому компилируется только раз.

+Гибкий формат файла с параметрами.

+Применима к анизотропным материалам.

+Пользователь может указать список ориентаций частицы для усреднения.

+Вычисляет текущее среднее, позже можно добавлять дополнительные ориентации.

Доступна только коммерчески.

Одна из двух наименее точных программ.

Поляризация при θ = 180° не равна нулю.

Медленная при усреднении по ориентации.

Наиболее требовательна к памяти.

DDSCAT

+В среднем наиболее точная программа для данного набора задач и параметров.

+Вторая по скорости при усреднении по ориентации.

+Полный исходный код и документация общедоступны.

+Применима к анизотропным материалам.

Написана в Фортране 77 – требует перекомпиляции для задач разных размеров.

Программа использует фиксированное имя файла с параметрами, поэтому при одновременной работе каждый процесс должен быть в отдельной директории.

При полном отказе системы во время вычислений всё требуется повторить сначала. Дополнительные ориентации можно добавить только вручную.

ZDD

+Точная, почти как DDSCAT.

+Относительно быстрая на процессорах x86.

+Динамическое выделение памяти и интерфейс командной строки.

+Может продолжать вычисления после полного отказа системы и добавлять новые

ориентации к старым результатам.

126

+Может работать параллельно без общения между процессами – результаты с разных компьютеров обрабатываются позже.

Самая медленная при фиксированной ориентации на суперкомпьютере.

Не доступна для широкой публики.

ADDA*

+Самая быстрая и наименее требовательная к памяти.

+Может работать параллельно, используя MPI и разделяя одну задачу на несколько процессоров, что позволяет моделировать очень большие частицы.

+Полный исходный код и документация общедоступны.

+Динамическое выделение памяти и интерфейс командной строки с богатыми возможностями. Интерфейс входных и выходных файлов приспособлен для одновременного расчёта нескольких параллельных задач.

+Система контрольных точек для восстановления после полного отказа системы или разделения длинных вычислений на части.

+Может моделировать рассеяние фокусированного гауссова пучка.

+Усреднение по ориентации может выполняться в адаптивном режиме, т.е. до достижения заданной точности. Однако платой за это является малая гибкость в выборе ориентаций для усреднения.

+Применима к анизотропным материалам.

Сложная система усреднения по ориентации может приводить к плохой точности для симметричных частиц, если пользователь не изменит вручную входные файлы для учёта симметрии частицы.

В настоящее время доступно только несколько форм частиц, однако любую конфигурацию диполей можно считать из файла, имеющего гибкий формат.

* Характеристики соответствуют версии 0.77.

127

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]