Основы MPI
6 500 руб. за проект
Для пересылки сообщений с помощью MPI между процессами на одном узле и между процессами на разных узлах.
2.1.1) Определение латенси (среднее значение и распределение)
2.1.2) Определение пропускной способности (зависимость от размера сообщения и максимальное значение)
Оба пункта нужно выполнить для пересылки сообщений с помощью MPI между процессами на одном узле и между процессами на разных узлах.
Сделать выводы о применимости модели для описания пересылки сообщений.
2.1.3) Для интегрирования с вычислением числа Пи необходимо
а) получить зависимость ускорения и эффективности в зависимости от числа процессоров и числа разбиений - параметры нужно подобрать такие, чтобы зависимости получались показательные, как обсуждали на лекции,
б) аппроксимировать законом Амдала и теоретической формулой, сделать выводы о значениях коэффициентов, максимальном ускорении, оптимальном числе процессов
2.2)
Разработайте модель (теор.формулу), выполните оценку и постройте график для ускорения. Оцените максимально достижимое ускорение и оптимальное число процессоров.�Сравните теоретическое ускорение с расчётным ускорением для задачи поиска максимального и минимального значений для заданного набора числовых данных
2.3)
Для выбранной задачи (вычисления числа Пи, задача из п.2.2, stencil или другая подходящая задача) выполнить последовательную оптимизацию и на графике указать время выполнения программы после каждой оптимизации с указанием ожидаемого ускорения (обсуждение причин отличия/совпадения ожидаемого с реальным).
Минимальный список оптимизаций: векторизация, оптимизация работы с памятью, многопоточность, mpi, оптимизация опциями комиплятора.
Можно расширить список в глубину.
В качестве примера расмотрим возможное углубление в оптимизацию работы с памятью:
- оптимизировать работу с промахами мимо кеша,
- максимизация пространственной локальности, читая объекты из памяти последовательно, в том порядке, в котором они в ней расположены,
- максимизация временной локальности, используя объекты данных как можно чаще после того, как они были прочитаны из памяти.
Для оптимизаций можно использовать прагмы openmp и компилятора, опции компилятора, команды MPI и др.
2.3 выбраны из разных классов (memory-bound, compute-bound) с проверкой (визуализацией на графике roofline) класса задачи до начала оптимизации и после всех оптимизаций. Сделать выводы о направлении дальнейших оптимизаций.
2.1.1) Определение латенси (среднее значение и распределение)
2.1.2) Определение пропускной способности (зависимость от размера сообщения и максимальное значение)
Оба пункта нужно выполнить для пересылки сообщений с помощью MPI между процессами на одном узле и между процессами на разных узлах.
Сделать выводы о применимости модели для описания пересылки сообщений.
2.1.3) Для интегрирования с вычислением числа Пи необходимо
а) получить зависимость ускорения и эффективности в зависимости от числа процессоров и числа разбиений - параметры нужно подобрать такие, чтобы зависимости получались показательные, как обсуждали на лекции,
б) аппроксимировать законом Амдала и теоретической формулой, сделать выводы о значениях коэффициентов, максимальном ускорении, оптимальном числе процессов
2.2)
Разработайте модель (теор.формулу), выполните оценку и постройте график для ускорения. Оцените максимально достижимое ускорение и оптимальное число процессоров.�Сравните теоретическое ускорение с расчётным ускорением для задачи поиска максимального и минимального значений для заданного набора числовых данных
2.3)
Для выбранной задачи (вычисления числа Пи, задача из п.2.2, stencil или другая подходящая задача) выполнить последовательную оптимизацию и на графике указать время выполнения программы после каждой оптимизации с указанием ожидаемого ускорения (обсуждение причин отличия/совпадения ожидаемого с реальным).
Минимальный список оптимизаций: векторизация, оптимизация работы с памятью, многопоточность, mpi, оптимизация опциями комиплятора.
Можно расширить список в глубину.
В качестве примера расмотрим возможное углубление в оптимизацию работы с памятью:
- оптимизировать работу с промахами мимо кеша,
- максимизация пространственной локальности, читая объекты из памяти последовательно, в том порядке, в котором они в ней расположены,
- максимизация временной локальности, используя объекты данных как можно чаще после того, как они были прочитаны из памяти.
Для оптимизаций можно использовать прагмы openmp и компилятора, опции компилятора, команды MPI и др.
2.3 выбраны из разных классов (memory-bound, compute-bound) с проверкой (визуализацией на графике roofline) класса задачи до начала оптимизации и после всех оптимизаций. Сделать выводы о направлении дальнейших оптимизаций.
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.