Проектные задания для участников суперкомпьютерной школы

advertisement
Проектные задания для участников суперкомпьютерной школы 2011
Задание 1. Изучение производительности кода моделирования динамики
газа на СК Ломоносов
Предлагается пройти цикл анализа и оптимизации кода на примере
известного обучающего кода молекулярной динамики LJMD. Требуется
оценить масштабируемость для числа ядер 1, 2, 4, 8, 16, 32, 64, 128 и
моделей с числом атомов 108, 2916, 78732 для вариантов программ чистого
MPI-кода, гибридного MPI+OpenMP кода. Отчет по выполнению задания
должен содержать:
1. Результаты производительности и масштабируемости чистого MPI-кода
при использовании компиляторов gcc, intel и MPI-библиотек OpenMPI,
Intel MPI. Дать краткое резюме по полученным результатам (какие
варианты оказались лучше и насколько), исчерпывающе описать
вычислительные эксперименты (для возможности воспроизведения
результатов). Использовать реализацию кода 03_mpi_parallel/ljmd_04.c
из архива.
2. Результаты производительности и масштабируемости гибридного
MPI+OpenMP кода при использовании компиляторов gcc, intel и MPIбиблиотек OpenMPI, Intel MPI. Дать краткое резюме по полученным
результатам (какие варианты оказались лучше и насколько),
исчерпывающе
описать
вычислительные
эксперименты
(для
возможности воспроизведения результатов). Использовать реализацию
кода 06_hybrid_parallel/ljmd_03.c из архива.
3. Выполнить
профилирование
чистого
MPI-кода
с
помощью
профилировщика mpiP для запусков на базе Intel MPI, OpenMPI. Дать
резюме
по
сравнению
производительности.
Использовать
соответствующие реализации кодов из п.1 и п.2.
Исходный код для задания и лекции по оптимизации данного кода от автора
Axel
Kohlmeyer
доступны
по
ссылкам:
http://sites.google.com/site/akohlmey/software/ljmd/ljmd-20091129.tar.gz,
http://sites.google.com/site/akohlmey/software/ljmd
Дополнительная часть (для продвинутых участников, либо можно давать в
качестве отдельной опции для каждого из членов группы):
Выполнить
профилирование
чистой
MPI-реализации
с
помощью
профилировщиков Scalasca, TAU, Intel Trace Analyzer and Collector для запусков
на базе Intel MPI, OpenMPI.
- П.2 дополнительно изучить производительность гибридного кода
MPI+OpenMP при разных схемах запуска приложения (разные варианты кол-ва
MPI и OpenMP процессов на узле и их распределения по вычислительным
ядрам).
- На кластере ГрафИТ! выполнить GPU-вариант моделирования для заданных
примеров и сопоставить полученную производительность и результаты на
x86-архитектуре. Использовать реализациию 05_gpu_parallel/ljmd_07.cu
из
архива.
- Выполнить анализ и настройку производительности коллективных
коммуникационных операций в библиотеках Intel MPI, OpenMPI в чистой MPIреализации моделирования.
Задание 2. Анализ кода моделирования динамики газа на СК Blue Gene/P
Предлагается пройти цикл анализа и оптимизации кода на примере
известного обучающего кода молекулярной динамики LJMD. Требуется
оценить масштабируемость для числа ядер 1, 2, 4, 8, 16, 32, 64, 128 и моделей
с числом атомов 108, 2916, 78732 для вариантов программ чистого MPI-кода,
гибридного MPI+OpenMP кода. Отчет по выполнению задания должен
содержать:
1. Результаты производительности и масштабируемости чистого MPI-кода
при использовании компиляторов gcc, xlc и MPI-библиотеки IBM. Дать
краткое резюме по полученным результатам (какие варианты оказались
лучше
и
насколько),
исчерпывающе
описать
вычислительные
эксперименты (для возможности воспроизведения результатов).
Использовать реализацию кода 03_mpi_parallel/ljmd_04.c из архива.
2. Результаты производительности и масштабируемости гибридного
MPI+OpenMP кода при использовании компиляторов gcc, xlc и MPIбиблиотеки IBM. Дать краткое резюме по полученным результатам
(какие варианты оказались лучше и насколько), исчерпывающе описать
вычислительные эксперименты (для возможности воспроизведения
результатов).
Использовать
реализацию
кода
06_hybrid_parallel/ljmd_03.c из архива.
3. Выполнить
профилирование
чистого
MPI-кода
с
помощью
профилировщика mpiP. Дать резюме по анализу производительности,
сильной
масштабируемости.
Использовать
соответствующие
реализации кодов из п.1 и п.2.
Исходный код для задания и лекции по оптимизации данного кода от автора
Axel
Kohlmeyer
доступны
по
ссылкам:
http://sites.google.com/site/akohlmey/software/ljmd/ljmd-20091129.tar.gz,
http://sites.google.com/site/akohlmey/software/ljmd
Дополнительная часть (для продвинутых участников, либо можно давать в
качестве отдельной опции для каждого из членов группы):
Выполнить
профилирование
профилировщиков Scalasca, TAU.
чистой
MPI-реализации
с
помощью
- П.2 дополнительно изучить производительность гибридного кода
MPI+OpenMP при разных схемах запуска приложения (разные модели памяти
узла).
- На кластере ГрафИТ! выполнить GPU-вариант моделирования для заданных
примеров и сопоставить полученную производительность и результаты на
x86-архитектуре. Использовать реализацию 05_gpu_parallel/ljmd_07.cu из
архива.
- Выполнить анализ и настройку производительности коллективных
коммуникационных операций в чистой MPI-реализации моделирования.
Download