Как установить comsol multiphysics
Системные требования для COMSOL Multiphysics версии 5.3
Эти требования являются общими для всех платформ:
За более подробной документацией касательно системных требований обратитесь к нашей Базе знаний (англ.).
Требования к операционным системам
Помимо перечисленных требований к операционным системам, см. Требования к интеграционным продуктам особые требования к модулям CAD Import (Импорт САПР) и Design (Проектирование), а также пакету решений LiveLink™.
Системные требования для различных ОС
2 See FlexNet ® License Manager on Linux ® below.
Help в версии под Linux
Требуется установка следующих пакетов для доступа к Help в ПО для Linux
openSuSE: libwebkitgtk-1.0-0 или libwebkit-1_0-2 в зависимости от версии.
В случае не соответствия этим требованиям COMSOL дает сбой при доступе к Help
Диспетчер лицензий FlexNet ®
Системные требования для Менеджера лицензий такие же как и для COMSOL. На Windows ® платформах используется FLEXnet 11.13.1.4. и версия 11.13.1.3 на Linux ® и macOS. Версия lmgrd должна быть не ниже версии FLEXnet, используемой COMSOL.
Менеджер лицензий FlexNet для Linux
с учетной записью root.
Дистрибутив | Требуемые пакеты |
---|---|
Debian ® | lsb-core |
Ubuntu ® | lsb-core |
Red Hat ® | redhat-lsb |
SUSE ® | lsb |
Среда разработки приложений
Требования к параллельным системам
Все компьютеры в кластере должны использовать одинаковую версию Linux ® и иметь похожее оборудование. Рекомендуется наличие OpenFabrics Enterprise Distribution (OFED) версии 1.5.4.1 или выше. При использование сетей с RDMA тополгией требуется наличие совместимого драйвера или библиотеки с DAPL версии 1.2 или выше. Данное ПО обычно поставляется с оборудованием
* Компания COMSOL — участник программы Intel® Cluster Ready. Мы проводим сертификацию COMSOL Multiphysics при выпуске каждой новой версии. Посмотреть сертификат. Процесс сертификации гарантирует надежную работу COMSOL Multiphysics в режиме параллельных вычислений и кластерного моделирования на любых устройствах с сертификатом Intel Cluster Ready.
Поднобная информция об облачной работе COMSOL Multiphysics ® и COMSOL Server™ доступна на этой странице.
Официально поддерживаемые компиляторы
Windows ® | macOS | Linux ® | |
---|---|---|---|
Внешняя функция С | Visual Studio ® 2010 | Оффициалная поддержка Intel ® Composer XE 2013.3 (также изестный как Intel ® Compiler версии 13.0.2) с GCC 4.2.1 | Оффициалная поддержка Intel ® Composer XE 2013.3 (также изестный как Intel ® Compiler версии 13.0.2) с GCC 4.2.1 |
Java ® API | JDK 1.6, 1.7 или 1.8 | JDK 1.6, 1.7 или 1.8 | JDK 1.6, 1.7 или 1.8 |
COMSOL Multiphysics ® is built and tested with the above C/C++ compilers. Please note that later versions of those C/C++ compilers may also be compatible with the external C interfaces. When using the COMSOL API for use with Java ® API in client/server mode with the jar files listed in /bin/comsolclientpath.txt, JRE 1.6, JRE 1.7, and JRE 1.8 are supported. When using the COMSOL API for use with Java ® API in standalone mode with the jar files listed in /bin/comsolpath.txt, JRE 1.8 is supported.
Требования к графической системе
AMD ®
Видеокарта | Операционная система | Версия драйвера |
---|---|---|
Radeon™ Pro WX5100 | Windows ® 10 | 21.19.141.0 |
Radeon™ Pro WX4100 | Windows ® 7 | 21.19.141.0 |
Radeon™ Pro WX4100 | Windows ® 10 | 16.50.2001 |
Radeon™ Pro WX3100 | Windows ® 7 | 22.19.161.0 |
Radeon™ Pro WX2100 | Windows ® 7 | 22.19.161.0 |
FirePro™ W7100 | Windows ® 7 | 15.201.2401 |
FirePro™ W5100 | Windows ® 8.1 | 15.302.2001 |
FirePro™ W4100 | Windows ® 10 | 15.302.2001 |
FirePro™ W4170M | Windows ® 7 | 15.302.2001 |
FirePro™ W2100 | Ubuntu ® 16.04 LTS | AMDGPU-PRO 16.50 |
FirePro™ W7000 | Windows Server ® 2016 | 14.502.1019 |
FirePro™ W5000 | Windows ® 8.1 | 15.302.2001 |
NVIDIA ®
Видеокарта | Операционная система | Версия драйвера |
---|---|---|
NVIDIA Quadro ® M2000 | Windows ® 10 | 376.84 |
NVIDIA Quadro ® K2200 | Windows ® 7 | 376.84 |
NVIDIA Quadro ® K1200 | Windows ® 10 | 376.84 |
NVIDIA Quadro ® K620 | Windows ® 10 | 376.84 |
NVIDIA Quadro ® K620 | Debian ® 8 | 375.39 |
NVIDIA Quadro ® K5000 | Windows ® 7 | 376.84 |
NVIDIA Quadro ® K4000 | Windows ® 7 | 376.84 |
NVIDIA Quadro ® K2000 | Windows ® 7 | 376.84 |
NVIDIA Quadro ® K600 | Ubuntu ® 16.04 | 340.101 |
NVIDIA Quadro ® P600 | Windows Server ® 2008 R2 HPC Edition | 377.11 |
NVIDIA Quadro ® 600 | Debian ® 8 | 375.39 |
NVIDIA Quadro ® 600 | Red Hat ® Enterprise Linux ® 7.3 | 375.39 |
NVIDIA Quadro ® 410 | Windows ® 7 | 376.84 |
NVIDIA Quadro ® FX 1800 | Debian ® 7 | 340.76 |
NVIDIA ® NVS™ 510 | Ubuntu ® 14.04 | 375.39 |
NVIDIA ® GeForce ® GTX 950M | Windows ® 10 | 381.66 |
Для аппаратного ускорения в Linux ® используйте драйверы от производителя видеокарты, например, NVIDIA или AMD, в противном случае используйте программный рендеринг. Видеодрайвер Nouveau поддерживается только для программного рендеринга.
Как работать с кластерами через графический интерфейс COMSOL Desktop®
При использовании оборудования для высокопроизводительных вычислений можно оптимизировать многие типы анализа, выполняемого в программе COMSOL Multiphysics®. Это одна из причин существования узла Cluster Computing (Кластерные вычисления), с помощью которого программное обеспечение COMSOL® без проблем интегрируется в любую инфраструктуру высокопроизводительных вычислений с сохранением удобства графического пользовательского интерфейса. Из даннойстатьи вы узнаете о том, как рассчитывать большие модели удаленно с использованием оборудования для высокопроизводительных вычислений непосредственно из графической среды COMSOL Desktop®.
Что такое кластерные вычисления?
Наиболее распространенным типом оборудования для высокопроизводительных вычислений является кластер — множество отдельных компьютеров (часто называемых узлами — nodes), соединенных посредством сети. Даже если для моделирования доступен только один компьютер, его можно рассматривать как кластер, состоящий из одного узла.
В Справочном руководстве COMSOL (COMSOL Reference Manual) узлом также называется единичный процесс COMSOL Multiphysics. В тех редких случаях, когда это совпадение терминов может создавать двусмысленность, мы будем называть компьютер физическим узлом или хост-системой, а экземпляр программы COMSOL Multiphysics — вычислительным узлом или процессом.
Пример кластера с четырьмя вычислительными узлами.
Работа, которую требуется выполнить в кластере, измеряется неделимыми единицами — заданиями (jobs), которые направляются в кластер. В данном контексте задание — это выполняемое исследование (study) в COMSOL Multiphysics.
При отправке задания на кластер он осуществляет две операции:
Эти задачи выполняются специальными программами, которые называются планировщиками (schedulers) и диспетчерами ресурсов (resource managers). В дальнейшем мы будем для них использовать название «планировщик», поскольку большинство программ выполняют обе эти задачи одновременно.
Отметим, что задания COMSOL Multiphysics можно отправить в кластер с помощью команды comsol batch (в операционной системе Linux®) или comsolbatch.exe (в операционной системе Windows®) посредством отправляемого в кластер скрипта. Этот метод может быть предпочтительным для пользователей, уже знакомых с консольным доступом к кластеру. Дополнительная информация приведена в статье Базы знаний COMSOL «Запуск COMSOL® в параллельном режима на кластерах».
В следующих разделах описано использование узла Cluster Computing (Кластерные вычисления) для отправки и контроля заданий кластера в графическом интерфейсе COMSOL Desktop®.
Добавление узла Cluster Computing (Кластерные вычисления) в простую модель
При первичном знакомстве с кластерными расчетами для настройки узла Cluster Computing (Кластерные вычисления) лучше всего начать с простой модели электрической шины. Эта модель рассчитывается за несколько секунд и доступна с любой лицензией, что позволяет легко проверить возможности кластерных вычислений.
Чтобы рассчитать модель электрической шины на кластере, в главное исследование (study) добавляется узел Cluster Computing (Кластерные вычисления). Однако сначала, возможно, потребуется активировать Advanced Study Options (Расширенные возможности для исследований). Для этого необходимо включить данную опцию в разделе Preferences или нажать кнопку Show (Показать) на панели инструментов Построителя моделей.
Активируйте опцию Advanced Study Options (Расширенные возможности исследования), чтобы получить доступ к узлу Cluster Computing (Кластерные вычисления).
После этого в любое исследование станет возможным добавление узела Cluster Computing (Кластерные вычисления). Достаточно вызвать контекстное меню правой кнопкой мыши и выбрать пункт Cluster Computing (Кластерные вычисления).
Щелкните правой кнопкой мыши по узлу Study и выберите в контекстном меню, узел Cluster Computing (Кластерные вычисления), чтобы добавить его в модель
Настройки по умолчанию для узла Cluster Computing (Кластерные вычисления).
Если найти узел Cluster Computing (Кластерные вычисления) не удается, вероятно, ваша лицензия не предусматривает использование кластеров (например, это CPU-лицензия на один ПК или CKL-лицензия на учебный класс). В этом случае вам следует связаться с вашим торговым представителем и обсудить варианты лицензирования.
Настройки узла Cluster Computing (Кластерные вычисления)
Наиболее сложный аспект использования узла Cluster Computing (Кластерные вычисления) заключается в определении правильных настроек и его первом запуске. Как он заработает для первой модели, использовать его станет проще — для других моделей потребуется лишь немного скорректировать текущие параметры.
Чтобы сохранить параметры в качестве параметров по умолчанию, можно изменить настройки в меню Preferences в разделах Multicore and Cluster Computing (Многоядерные и кластерные вычисления) и Remote Computing (Удаленные вычисления). В качестве альтернативы можно сохранить выставленные настройки как вариант по умолчанию непосредственно в узле Cluster Computing (Кластерные вычисления), щелкнув по значку Save (Сохранить) в верхней части окна настроек. Настоятельно рекомендуется сохранять параметры в качестве параметров по умолчанию в любом случае, чтобы избежать их повторного ввода для следующей модели.
Описание всех возможных настроек для Cluster Computing выходит за рамки данной статьи, поэтому мы сфокусируется на одной из самых типичных его конфигураций. Дополнительная информация приведена в Справочном руководстве COMSOL Multiphysics. Рассмотрим следующую ситуацию:
Эти настройки показаны на скриншоте:
Сначала рассмотрим раздел Cluster computing settings (Настройки кластерных вычислений). Поскольку в качестве планировщика для нашего кластера используется программное обеспечение SLURM®, для параметра Scheduler type (Тип планировщика) выбираем значение SLURM. Следующие опции относятся исключительно к настройке SLURM®:
В этом примере на компьютере имеются две очереди (queues): cluster — для заданий, требующих не более 10 физических вычислительных узлов, имеющих по 64 ГБ оперативной памяти, и fatnode — для единичного узла с 256 ГБ оперативной памяти. Каждый кластер имеет свои очереди. Узнайте у администратора кластера, какие очереди следует использовать.
Следующее поле имеет название Directory (Каталог). Именно в ней файлы COMSOL Multiphysics с результатами расчета сохраняются на локальном компьютере по завершении задания. Также программное обеспечение COMSOL® хранит здесь все промежуточные файлы, файлы состояния и логи.
В следующих трех полях указываются определенные директории в кластере. Отметим, что Directory (Каталог) — путь в Windows® (здесь мы работаем на компьютере с ОС Windows®), а здесь мы имеем дело с путями в Linux® (поскольку в нашем кластере используется ОС Linux®). Убедитесь в том, что типы пути соответствуют операционным системам на локальном компьютере и в удаленной системе!
В разделе Server Directory (Каталог сервера) указывается путь для хранения файлов при использовании кластерных вычислений в ходе сеанса COMSOL Multiphysics в режиме клиент-сервер. При выполнении кластерных вычислени, запускаемых с локального компьютера, этот параметр не используется, так что он оставлен неактивным. Однако нам потребуется внешний batch-каталог COMSOL. В нем должны храниться файлы модели, статусы и логи при моделировании в кластере. В качестве данных путей обязательно выберите уже имеющуюся папку, для которой у вас есть права на запись данных, например, в корневом каталоге. (Более подробная информация приведена в предыдущей заметке об использовании режима «клиент-сервер».)
Параметры удаленного соединения.
В данном разделе описана работа со вкладкой Remote and Cloud Access (Удаленный и облачный доступ). Давайте детально разберем, как установить соединение между локальным компьютером и удаленным кластером.
Чтобы подключиться с рабочей станции Windows® к кластеру Linux®, потребуется сторонняя программа PuTTY, которая будет выступать в качестве SSH-клиента для программного пакета COMSOL®. Убедитесь в том, что программа PuTTY установлена и что с ее помощью можно подключиться к кластеру. Кроме того, удостоверьтесь, что задана аутентификация без пароля с парой открытых/закрытых ключей. В Интернете имеется множество инструкций с демонстрацией таких настроек. Кроме того, вам всегда сможет помочь администратор кластера. Когда это будет сделано, введите путь к каталогу установки в поле SSH directory (SSH Каталог) и к файлу личного ключа для аутентификации без пароля в поле SSH key file (Файл SSH ключа). Для параметра SSH user (SSH Пользователь) укажите ваше имя пользователя в кластере.
В то время как SSH используется для входа в кластер и выполнения команд, SCP используется для передачи файлов, например, при переносе файлов модели в кластер или из него. В PuTTY используются одинаковые настройки как SSH, так и для SCP, так что просто скопируйте их.
Наконец, введите адрес кластера в поле Remote hosts (Удаленные хост-системы). Это может быть имя хост-системы или IP-адрес. Не забудьте назначить параметр Remote OS (Удаленная ОС) в соответствии с операционной системой кластера.
Закончив, вы можете кликнуть по значку Save (Сохранить) в верхней части окна настроек, чтобы использовать эти настройки в следующий раз при удаленном выполнении задания в кластере.
Другой способ проверить работу кластера и корректность всех настроек — использовать приложение Cluster Setup Validation (Проверка параметров кластера), доступное в COMSOL Multiphysics начиная с версии 5.3a.
Выполнение исследования в кластере
К настройкам, меняющимся при выполнении каждого исследования, относится имя модели и количество используемых физических узлов. При запуске исследования кликом мыши в программном пакете COMSOL Multiphysics запускается процесс отправки задания в кластер. Первый этап проходит без участия пользователя — запускается SCP для копирования файла модели в кластер. На втором этапе запускается моделирование путем отправки задания планировщику. На этом этапе отображается окно External Process (Внешний процесс) с информацией о ходе моделирования в кластере. В ходе выполнения этого этапа программа COMSOL Desktop® заблокирована, и в ней выполняется отслеживание удаленного задания.
Отслеживание хода выполнения удаленного задания в окне External Process (Внешний процесс) с момента планирования задания (вверху) до его завершения (внизу).
Выполнение этого процесса очень похоже на работу узла Batch Sweep (Пакетное параметрическое исследование). Окно External Process (Внешний процесс) также появляется при использовании функций расчета в пакетном режиме. Точно так же, как при выполнении Batch Sweep, можно получить контроль над графическим интерфейсом пользователя, нажав на кнопку Detach Job (Отсоединить задание) внизу окна External Process (Внешний процесс), чтобы отсоединить графический интерфейс от удаленного задания. Позднее можно снова присоединить это задание, нажав на кнопку Attach job (Присоединить задание), которая появляется вместо кнопки Detach job.
Обычно для одновременной работы с COMSOL Multiphysics на двух станциях требуется лицензия на по крайней мере две активные сессии (два посадочных места), однако можно активировать опцию Use batch license (Использовать лицензию для пакетного режима), чтобы отсоединить удаленное задание и продолжить редактирование на локальном компьютере с лицензией только на одного пользователя. Собственно, можно даже отправить несколько заданий в кластер и выполнять их одновременно, если все они являются вариантами одного и того же файла модели, то есть различаются только значениями глобальных параметров. Единственное ограничение состоит в том, что локальное имя пользователя должно совпадать с именем пользователя в удаленном кластере, чтобы диспетчер лицензий распознавал одного и того же пользователя, работающего со всеми запущенными сессиями. В противном случае даже при включенном параметре Use batch license будет использоваться еще одна активная сессия (еще одно посадочное место).
По завершении моделирования появляется запрос на открытие результирующего файла:
Как только задание кластера выполнено, появляется предложение немедленно открыть файл с результатами расчета.
При выборе варианта No файл можно открыть позже, поскольку он уже загружен и скопирован в указанный в настройках каталог. Рассмотрим файлы в этом каталоге:
Файлы, созданные в локальной системе при выполнении задания в кластере.
Эти файлы создаются и обновляются в ходе моделирования. Каждый файл периодически извлекается COMSOL Multiphysics из удаленного кластера, и его статус обновляется в окне Progress. По завершении моделирования пользователь получает уведомление. Те же самые файлы также присутствуют в удаленной системе:
Файлы, созданные в удаленной системе при выполнении задания в кластере. Примечание. Цвета отличаются от стандартной цветовой схемы PuTTY, чтобы выделить файлы MPH.
Перечислим и прокомментируем назначение самых важных из этих файлов:
Использование возможностей кластерных вычислений при моделировании в COMSOL Multiphysics®
На практике моделирование такого небольшого масштаба, как в случае модели электрической шины, не выполняется в кластере. Использовав этот пример для проверки функциональности, можно открыть любой файл модели, добавить узел Cluster Computing (Кластерное вычисление), параметры которого заполняются ранее заданными параметрами по умолчанию, изменить количество узлов и имя файла, после чего нажать кнопку Compute (Вычислить). При этом не потребуется менять значения параметров Run remote (Выполнить удаленно), тип планировщика и все связанные с этим настройки.
Что происходит в программном обеспечении COMSOL® при выполнении моделирования в нескольких хост-системах? Как распределяется работа? Большинство алгоритмов в программном пакете являются параллелизованными. Это означает, что процессы COMSOL Multiphysics во всех хост-системах выполняют расчет совместно. При распределении работы между несколькими компьютерами доступно больше вычислительных ресурсов и повышается производительность для решения множества задач.
Однако следует учитывать, что необходимый обмен данными между узлами кластера может приводить к возникновению «узких мест», снижающих производительность. Скорость расчета модели во многом зависит от самой модели, от конфигурации решателей, качества сети и многих других факторов. Более подробные сведения можно найти в этой серии статей блога о гибридном моделировании.
Еще одна причина использовать мощности кластера заключается в том, что, несмотря на то, что общее количество памяти, требуемое для моделирования, является примерно постоянным, хост-системы вместе имеют больший объем памяти, поэтому требуемый объем памяти на одну хост-систему снижается. Благодаря этому можно рассчитывать очень большие модели, которые было бы невозможно рассчитать на одном компьютере. На практике общее потребление памяти на решение задачи немного повышается, поскольку процессам COMSOL Multiphysics необходимо отслеживать как собственные данные, так и данные, которые они получают друг от друга (объем таких данных, как правило, намного меньше). Кроме того, точный объем памяти, требуемый для процесса, чаще всего непредсказуем, так что при добавлении новых процессов может повышаться риск того, что в одном из физических узлов израсходуется вся память и произойдет аварийное прерывание моделирования.
Более простой вариант использования — распределенный параметрический анализ (distributed parametric sweep). Вычисления можно ускорить, используя несколько процессов COMSOL Multiphysics, каждый из которых будет работать с отдельным значением параметра. Такой тип задачи называется задачей с «массовым параллелизмом» («embarrassingly parallel»), так как во время решения узлам не требуется обмениваться информацией по сети. При этом, если количество физических узлов удваивается, время, затрачиваемое на моделирование, в идеальном случае сокращается вдвое. Фактическое ускорение обычно не так значительно, поскольку требуется некоторое время на отправку модели в каждый узел и на получение результатов.
Чтобы выполнить распределенный параметрический анализ, необходимо активировать параметр Distribute parametric sweep (Распределить параметрический анализ) внизу окна настроек параметрического анализа. В противном случае при моделировании будет один и тот же параметр рассчитываться совместно во всех узлах кластера, а параллелизм будет реализован на уровне решателя, что значительно менее эффективно.
Если требуется выполнить вспомогательный параметрический анализ (auxiliary sweep), можно, например, также воспользоваться опцией Distribute parametric solver, например, при запуске параллельного частотного анализа по множеству частот с использованием нескольких процессов на потенциально большом количестве физических узлов. Отметим, что, если используется метод продолжения по параметру (continuation method) или если отдельные сеансы моделирования зависят друг от друга, данный метод распределения параметров не будет работать.
Примечание. Не используйте функцию Distribute parametric sweep (Распределить параметрический анализ) в самом узле Cluster Computing (Кластерные вычисления). Лучше задать его непосредственно при выполнении параметрического анализа.
Активируйте функцию Distribute parametric sweep (Распределить параметрический анализ), чтобы распараллелить задачу, запуская расчет для каждого параметра (набора параметров) на отдельный узел кластера.
Чтобы выполнить параллельный параметрический анализ, можно также использовать узел Cluster Sweep, который сочетает в себе функции узла Batch Sweep с возможностями узла Cluster Computing, благодаря которым можно выполнять задания удаленно. Можно сказать, что кластерный анализ является удаленным вариантом расчета в пакетном режиме, точно так же как узел Cluster Computing (Кластерные вычисления) является удаленным вариантом узла Batch. Мы обсудим кластерный параметрический анализ более подробно в одной из будущих статей нашего корпоративного блога.
Наиболее важное различие между ними заключается в том, что узел Cluster Computing (Кластерные вычисления) отправляет одно задание для всего исследования (даже если оно содержит параметрический анализ), в то время как узлы Cluster Sweep (Кластерный анализ) и Batch Sweep (Пакетный анализ) создают по одному заданию для каждого набора значений параметров.
Кластерные вычисления в приложениях
Все возможности, описанные в данной статье, также доступны в приложениях для моделирования, которые можно запускать как в COMSOL Multiphysics, так и с помощью COMSOL Server™. Приложение просто наследует настройки кластера от модели, на основе которой оно разработано.
При запуске приложений через COMSOL Server™ пользователь получает доступ к настройкам кластера на веб-странице администрирования COMSOL Server™. Можно сделать так, чтобы в приложении использовались именно эти параметры, тем самым зафиксировав настройки кластера, специализированные для определенного приложения. При необходимости можно разрабатывать собственные приложения таким образом, чтобы они имели доступ к одной или нескольким настройкам кластера нижнего уровня. Например, в пользовательском интерфейсе приложения можно создать меню или список, в котором пользователи могут выбрать одну из упомянутых выше очередей, например, cluster или fatnode.
Заключение
При использовании кластера университета, виртуальной облачной инфраструктуры или собственного оборудования узел Cluster Computing (Кластерные вычисления) позволяет с легкостью выполнять моделирование удаленно. Обычно для этой цели не требуется дорогостоящая конфигурация оборудования. Иногда требуется лишь кластер формата Beowulf для выполнения параметрического анализа, в то время как остальные задачи выполняются локально.
Кластерные вычисления — мощное средство, благодаря которому можно ускорить моделирование, исследовать детально проработанные и реалистичные устройства и в конечном итоге облегчить достижение целей исследований и разработок.
SLURM является зарегистрированным товарным знаком SchedMD LLC.
Linux является зарегистрированным товарным знаком Линуса Торвальдса (Linus Torvalds) в США и других странах.
Microsoft и Windows являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и других странах.