Расчёты на CPU/GPU и кластерах
Расчет в ПО тНавигатор может осуществляться на ноутбуках, рабочих станциях и кластерах. Доступны облачные вычисления с полными возможностями графического интерфейса для удалённого рабочего стола. Все модули тНавигатор используют общую внутреннюю систему хранения данных, расчётное ядро, обеспечивающее параллельный расчет на всех доступных вычислительных мощностях.
Для повышения эффективности вычислений на рабочих станциях и кластерах в тНавигатор было поддержано использование CPU+GPU. Используется ускорение расчета решения систем линейных уравнений на графических ускорителях Nvidia. Поддерживаются только GPU NVIDIA, начиная с архитектуры Pascal и более новые. Для корректной работы требуется установка последнего драйвера с поддержкой CUDA 11.2.
Базовый алгоритм распараллеливания расчета в тНавигатор, предназначенный для многоядерных рабочих станций, построен на использовании потоков исполнения, что является оптимальным при разделении задач между несколькими ядрами одного процессора. Данный алгоритм позволяет нам достигать практически линейного ускорения расчета на современных многоядерных рабочих станциях.
При росте размерности моделей эффективность расчета на рабочей станции может снижаться за счет падения скорости обращения к общей оперативной памяти. Таким образом, несмотря на использование более высокоскоростных процессоров с большим количеством ядер, скорость расчета не может продолжать увеличиваться в силу ограничения со стороны памяти.
Снять данное ограничение можно за счет применения вычислительных машин с распределенной памятью (кластеров), привлечение которых требует применения MPI-алгоритмов для обмена данными между узлами.
В тНавигатор реализован уникальный гибридный алгоритм, который позволяет использовать алгоритм на MPI для распределения задач между узлами кластера и потоки исполнения для распределения задач по ядрам внутри каждого узла (MPI+threads). Данный подход позволяет снять существующие технологические ограничения, задействовать все вычислительные ресурсы и достичь ускорения в десятки раз при использовании кластеров, основанных на многоядерных процессорах.
В Московском офисе ИРМ для расчетов гидродинамических моделей используется кластер, состоящий из более 400 узлов (более 8000 ядер) с суммарным объемом оперативной памяти более 40 терабайтов (ТБ) и объемом дискового хранилища более 1 петабайта (ПБ).