ВЫЧИСЛИТЕЛЬНЫЕ МЕТОДЫ И ПРОГРАММИРОВАНИЕ
Архив статей журнала
Проведены расчеты тестовой задачи, связанной с моделированием течения в идеализированном медицинском устройстве, в программном комплексе FlowVision. Расчеты проводились для ламинарного, турбулентного и переходного режимов течения. Исследована масштабируемость задачи. На основе решения тестовой задачи сделан вывод о возможности применения программного комплекса FlowVision к решению проблем гемодинамики.
Рассматривается задача параллельной реализации алгоритма определения сейсмического источника внутри случайно-неоднородной среды. Алгоритм определения исходной позиции источника использует данные записанных сейсмограмм на свободной поверхности и информацию о статистических свойствах случайной среды. Предложенный подход требует решения большого количества задач динамической теории упругости для различных статистически эквивалентных скоростных моделей, идентифицированных по статистическим параметрам исходной среды. Это наиболее трудоемкая часть алгоритма решения. Чтобы ускорить расчеты, используется двухуровневая стратегия распараллеливания с помощью создания групп, каждая из которых решает свою задачу динамической теории упругости с декомпозицией расчетной области внутри группы. Реализация программы выполнена с использованием Fortran Coarray. Также приводится сравнение используемых конструкций расширения Fortran Coarray с функциями MPI.
Современные суперкомпьютеры востребованы в самых разных областях науки и техники. Однако их вычислительные ресурсы зачастую используются не в полной мере. Причина нередко кроется в низкой эффективности выполнения пользовательских приложений. Решить возникшую проблему весьма непросто, что связано как с чрезвычайной сложностью строения современных суперкомпьютеров, так и с недостатком теоретических знаний и практического опыта в создании высокоэффективных параллельных приложений у пользователей вычислительных систем. Более того, пользователи зачастую и не знают, что их приложения работают неэффективно. Поэтому важно, чтобы администраторы суперкомпьютеров могли постоянно контролировать и анализировать весь поток выполняющихся приложений. Для этих целей можно использовать различные существующие системы мониторинга и анализа производительности, однако подобные решения в большинстве своем либо не предоставляют достаточный функционал в части изучения производительности, либо не переносимы. В данной работе описывается прототип разрабатываемого программного комплекса, который предоставляет широкие возможности по сбору и автоматическому анализу данных о производительности приложений и при этом является переносимым.
В статье рассматривается параллельный алгоритм решения задач глобальной оптимизации и обсуждается его реализация с использованием набора инструментов Intel oneAPI. Предполагается, что целевая функция задачи задана как “черный ящик” и удовлетворяет условию Липшица. Изложенный в статье параллельный алгоритм использует схему редукции размерности на основе кривых Пеано, которые непрерывно и однозначно отображают отрезок вещественной оси на гиперкуб. В качестве средства для реализации параллельного алгоритма использован инструментарий Intel oneAPI, который позволяет писать один код как для центрального процессора, так и для графических ускорителей. Приведены результаты вычислительных экспериментов, полученные при решении серии сложных задач многоэкстремальной оптимизации.
Процесс распараллеливания программ может быть затруднён ввиду их оптимизации под последовательное выполнение. Из-за этого полученная параллельная версия может быть неэффективной, а в некоторых случаях распараллеливание оказывается невозможным. Решить указанные проблемы помогают преобразования исходного кода программ. В данной статье рассматривается реализации в системе автоматизированного распараллеливания SAPFOR (System FOR Automated Parallelization) преобразований последовательных Фортран-программ, позволяющих облегчить работу пользователя в системе и существенно снизить трудоемкость распараллеливания программ. Применение реализованных преобразований в системе SAPFOR продемонстрировано на прикладной программе, решающей систему нелинейных дифференциальных уравнений в частных производных. Также было произведено сравнение производительности полученной параллельной версией с версиями, распараллелеными вручную с использованием DVM и MPI технологий.
Одна из основных сложностей разработки параллельной программы для кластера - необходимость принятия глобальных решений по распределению данных и вычислений с учетом свойств всей программы, а затем выполнения кропотливой работы по модификации программы и ее отладки. Большой объем программного кода, а также многомодульность, многовариантность и многоязыковость, затрудняют принятие решений по согласованному распределению данных и вычислений. Опыт использования предыдущей системы САПФОР показал, что при распараллеливании на кластер больших программ и программных комплексов необходимо уметь распараллеливать их постепенно, начиная с наиболее времяемких фрагментов и постепенно добавляя новые фрагменты, пока не достигнем желаемого уровня эффективности параллельной программы. С этой целью предыдущая система была полностью переработана, и на ее основе была создана новая система SAPFOR (System FOR Automated Parallelization). В данной статье будет рассмотрен опыт применения метода частичного распараллеливания, идея которого заключается в том, что распараллеливанию подвергается не вся программа целиком, а ее части (области распараллеливания) - в них заводятся дополнительные экземпляры требуемых данных, производится распределение этих данных и соответствующих им вычислений.
Предложена нестационарная 2D-модель транспорта донных отложений в прибрежной зоне мелководных водоемов, дополненная уравнениями Навье–Стокса, неразрывности и состояния водной среды. Дискретная модель транспорта наносов получена в результате аппроксимации соответствующей линеаризованной непрерывной модели. Поскольку задачи прогнозирования транспорта наносов требуют решения в реальном или ускоренном масштабах времени, на сетках, включающих 106–109 узлов, необходима разработка параллельных алгоритмов задач гидродинамики на системах с массовым параллелизмом. Представлены результаты работы созданного эффективного программного обеспечения для выполнения гидродинамических вычислительных экспериментов, позволяющие проводить численное моделирование деформации дна в прибрежной зоне водоема. Приведены результаты численных экспериментов.
В статье рассматриваются результаты экспериментальной оценки производительности и энерго-эффективности многоядерных процессоров MALT в задачах обработки изображений на примере фильтрации изображения с помощью оператора Собеля. Измерения осуществлялись с использованием низкоуровневого эмулятора MALTemu, прототипа процессора в ПЛИС и экспериментальной СБИС модели MALT-Cv2 Rev1. Полученные результаты сравниваются с аналогичными результатами для процессоров общего назначения (последовательная реализация) и графических процессоров с поддержкой технологии CUDA.