Как установить mpi visual studio 2019

Обновлено: 15.05.2024

В этом документе кратко рассказывается, как внедрить все GROMACS в Windows без Cygwin или подсистемы Window для Linux (WSL) с помощью Visual Studio: «родная» среда, позволяющая использовать Вычисления на графическом процессоре (CUDA).

(Я не уверен, что Cygwin или WSL могут использовать среду CUDA Windows или драйвер графического процессора. Если вам не нужна среда CUDA или среда CUDA правильно работает в Cygwin или WSL, вы можете просто проверить «Быстрая и грязная установка», описанная на домашней странице GROMACS)

Обновление: в версии Windows 10 для разработчиков WSL 2 предоставляет среду CUDA. Если вам интересна эта тема, посетите домашнюю страницу NVidia. Однако я не проверял, может ли среда WSL выполнять вычисления GPU в GROMACS. Рано или поздно я его протестирую.

Вы очень заняты?

Я предварительно скомпилировал версию GROMACS 2021.2 для 64-разрядной версии Windows 10, VS 2019, среды CUDA 11.3 и FFTW 3.3.5.

Вы можете скачать его по этой ссылке. (~186 МБ, ZIP-файл)

Применение: разархивируйте этот файл в соответствующее место назначения и запустите gromacs.bat

*Примечание. Если ваш ЦП или ГП старше моего или использует ЦП или ГП AMD, GROMACS может работать неправильно. В этом случае вы должны скомпилировать свой собственный GROMACS на вашем локальном компьютере.

1) ЦП: Intel i7-6700K (6-го поколения)

2) Графический процессор: NVidia GeForce GTX 1080Ti

Подробная информация об этом предварительно скомпилированном GROMACS приведена по этой ссылке, которая содержит вывод gmx --version.

Необходимое условие

Для установки GROMACS в системе Windows вам потребуются следующие программы:

<р>1. Visual Studio 2008 или более поздняя версия

Важное примечание: если вы хотите использовать вычисления на графическом процессоре в среде CUDA, вам следует установить соответствующую Visual Studio Community или более позднюю версию (Professional, Enterprise). (Необходимо установить среду Visual C++. Подробности о среде CUDA см. на домашней странице NVidia)

** Примечание. Вы также можете использовать компилятор Intel C/C++ (используйте параметр -T в cmake) или другой компилятор или среду IDE для сборки GROMACS.

<р>2. Сделать

3. Библиотека FFTW или библиотека ядра Intel Math (MKL)

Выполните действия, описанные на главной странице FFTW. (рекомендую скачать предкомпилированную версию)

(Возможно, вам потребуется ввести некоторую командную строку (lib), чтобы использовать библиотеку FFTW. См. раздел «Устранение неполадок», который находится внизу этой страницы.)

Если вы хотите использовать Intel MKL, вы можете получить его на веб-сайте Intel.

Для установки GROMACS необходима либо библиотека FFTW, либо Intel MKL.

** Примечание. Когда я использую для сборки проекта компилятор Intel C++ 16.1, возникает странная ошибка при выборе библиотеки mkl. (/Qmkl:sequential не работает) Рекомендую использовать fftw3.

Необязательно:

<р>1. CUDA для графического процессора NVidia

<р>2. Любая программа QM, если вы хотите выполнить моделирование QM/MM

Теперь GROMACS поддерживает Gaussian, Mopac, Gamess и Orca

<р>3. MPI-среда

Если вы хотите выполнить моделирование с помощью MPI, вам следует установить эту программу, например MS-MPI или Intel MPI.

Процедура

<р>1. Загрузите исходный код GROMACS и разархивируйте куда-нибудь.

<р>2. Запустите графический интерфейс CMake

<р>3. Задайте каталог исходного кода в разделе "Где находится исходный код"

Если вы разархивируете GROMACS в C:\Users\\Documents\Gromacs, задайте этот каталог.

<р>4. Укажите другое место для размещения собранного GROMACS в разделе «Где собирать двоичные файлы»

Например, вы можете создать каталог с именем "build" и указать это местоположение.

<р>5. Щелкните Настроить. Это займет несколько минут (около 1~5 минут).

CMake попросит выбрать генератор. Найдите установленный вами генератор (Visual Studio или любые другие компиляторы). Если вы хотите настроить 64-битный GROMACS, вам следует выбрать 64-битный компилятор. (В большинстве случаев он автоматически выбирает компилятор по умолчанию.)

<р>6. Настройка остановится, поскольку не может найти FFTW. Не паникуйте: просто установите флажок "Дополнительно"

** Если вы хотите использовать библиотеку fftw, выполните следующую процедуру.

6-1. Узнайте о параметрах FFTWF_INCLUDE_DIR и FFTWF_LIBRARY.

6-2. Выберите FFTW_INCLUDE_DIR в качестве каталога, содержащего файл библиотеки fftw

6-3. Выберите FFTWF_LIBRARY как "libfftw3f-3.lib".

Если вы не можете найти файл libffw3f-3.lib, обратитесь к разделу "Устранение неполадок" внизу этой страницы.

** Если вы хотите использовать Intel MKL, выполните следующую процедуру.

6-1. Найдите GMX_FFT_LIBRARY и выберите mkl

6-2. Нажмите настроить. Затем он снова остановится.

6-3. Найдите переменные MKL_INCLUDE_DIR и MKL_LIBRARIES. Установите MKL_INCLUDE_DIR в качестве каталога включения mkl.

В моем случае это C:/Program Files (x86)/IntelSWTools/compilers_and_libraries/windows/mkl/include/ (Этот путь может измениться!)

6-4. Установите MKL_LIBRARIES.

В моем случае для 32-битной системы C:/Program Files (x86)/IntelSWTools/compilers_and_libraries/windows/mkl/lib/ia32_win/mkl_rt.lib

для 64-битной системы C:/Program Files (x86)/IntelSWTools/compilers_and_libraries/windows/mkl/lib/intel64_win/mkl_rt.lib

****** Это необязательная часть

7-1. Если вы хотите настроить функцию QM/MM, найдите GMX_QMMM_PROGRAM и выберите нужную программу QM.

7-2. Если вы хотите использовать вычисления GPU, найдите GMX_GPU и выберите соответствующую опцию. (CUDA или OpenCL)

7-3. Если вы хотите включить MPI, найдите GMX_MPI и установите флажок. (Необходимо установить MS MPI или другое программное обеспечение)

<р>8. Нажмите кнопку «Настроить».

<р>9. После завершения настройки нажмите кнопку «Создать».

<р>10. Откройте визуальную студию и найдите файл "gromacs.sln" в главном каталоге сборки.

<р>11. Создайте проект. Это займет несколько минут. Особенно эта процедура займет более 10 минут при использовании nvcc.

(Примечание. Параметр сборки по умолчанию в Visual Studio — «Отладка». Если вы хотите сделать сборку выпуска (для другого компьютера), выберите «Диспетчер конфигурации сборки — конфигурация активного решения» и измените «Отладка» на «Выпуск»)

※ Если вы запускаете Visual Studio от имени администратора, вам не нужно выполнять шаги с 12 по 18. GROMACS будет автоматически установлен в C:\Program Files (x86)\Gromacs.

<р>12. После сборки проекта вам может потребоваться переместить некоторые файлы в нужное место. Я установил местоположение по умолчанию как C:\Gromacs\

<р>13. Создайте каталог bin и скопируйте gmx.exe в C:\Gromacs\bin

<р>14. Скопируйте gmx.exe в build\bin\Release

<р>15. Скопируйте несколько файлов *.dll, необходимых для выполнения программы gmx.

- В случае FFTW необходимо скопировать libfftw3f-3.dll

- Для случая MKL вам необходимо скопировать эти dll-файлы: (скоро я обновлю эту часть)

<р>16. Создайте общий каталог и создайте каталог gromacs в общем каталоге: C:\Gromacs\share\gromacs\

<р>17. Скопируйте все содержимое каталога общего доступа в каталог исходного кода. т. е. шаблон, топ и т. д.

<р>18. Создайте каталог lib и скопируйте gromacs.lib в build\lib\Release

<р>19. Создайте файл *.bat, который содержит это содержимое:

@echo off
set PATH=C:\Gromacs\bin;%PATH%
set GMXDATA=C:\Gromacs\share\gromacs
CALL cmd

** Примечание:

- Если вы хотите создать собственную программу анализа, сгенерированную GROMACS (бинарные файлы, такие как *.xtc или *.trr), вам необходимо установить каталог "include" (пример: -IC:\Gromacs\include), каталог "lib" (пример: -LC:\Gromacs\lib) и файл gromacs.lib (-lgromacs).

Устранение неполадок

(Этот шаг действителен для среды x64. Для других сред см. веб-страницу FFTW.)

1) Откройте меню «Пуск», найдите «Командная строка x64 Native Tools для VS 2019 (или другой версии Visual Studio)» и запустите эту программу. Он покажет среду cmd.

2) Перейдите в папку FFTW

3) Введите следующую команду: lib /machine:x64 /def:libfftw3f-3.def

4) Убедитесь, что libfftw3f-3.lib создан.

<р>2. В последней версии GROMACS (GROMACS 2021.2, выпущенной 5 мая 2021 г.) при попытке собрать GROMACS с помощью среды CUDA libgromacs может собраться неправильно, показывая эту ошибку. Это читается как (или как)

фатальный nvcc: неизвестная опция -std:c++17

Чтобы исправить это, следуйте этому методу:

1) Откройте файл gmxManageNvccConfig.cmake в gromacs-2021.2\cmake

2) Найдите CMAKE_CXX17_STANDARD_COMPILE_OPTION (она находит 175-ю строку)

3) Замените CXX на CUDA: CMAKE_CUDA17_STANDARD_COMPILE_OPTION

4) Необязательно: другие CXX14 или CXX17 можно изменить на CUDA14 или CUDA17 соответственно.

5) Сохраните и перенастройте с помощью программы cmake GUI.

<р>3. В некоторых случаях программа CMake не может обнаружить установленный графический процессор NVidia. В этом случае выполните следующий шаг:

1) Найдите на своем компьютере программу nvidia-smi.

2) Используя панель управления, добавьте указанное выше местоположение в переменную PATH.

3) Откройте файл gromacs-(версия)\cmake\gmxDetectGpu.cmake

4) В строке 92 замените exec_progam($ ARGS -L на exec_program(nvidia-smi ARGS -L

5) Запустите настройку еще раз.

<р>4. Когда вы создаете проект (или компилируете через Visual Studio), он может отображать некоторые сообщения, подобные этому:

ошибка C4996: '***': эта функция или переменная могут быть небезопасными. Рассмотрим использование **** вместо этого. Чтобы отключить устаревание, используйте _CRT_SECURE_NO_WARNINGS.

Вы можете установить MPI на однопроцессорный (или двухпроцессорный) ПК под управлением Linux или Windows. Вы можете использовать эту машину для разработки (т.е. отладки), запустив все процессы на одном компьютере, но для реальных результатов вам потребуется использовать сеть здесь, в универе.

Могу ли я использовать MPI на своем ноутбуке?

MPI просто запускает N процессов ОС. Что ж, изучение MPI может потребовать некоторого размышления. Это и это может помочь. Следует помнить, что модель MPI немного отличается.

Где используется MPI?

Интерфейс передачи сообщений (MPI) — это протокол связи для параллельного программирования. MPI специально используется для того, чтобы приложения могли работать параллельно на нескольких отдельных компьютерах, соединенных сетью.

Что такое MPI в вычислениях?

Интерфейс передачи сообщений (MPI) – это стандартизованный переносимый стандарт передачи сообщений, предназначенный для работы в архитектурах параллельных вычислений.

Что такое MPI на одной машине?

MPI – это независимый от языка API связи, который используется для программирования параллельных компьютеров. В первую очередь это машины с распределенной памятью, хотя MPI можно использовать и для получения хорошей производительности на машинах с общей памятью. Это позволяет выполнять один и тот же код как на одном компьютере/узле, так и на тысячах.

Как воспроизвести файлы MPI в Windows?

Чтобы использовать MPI с Windows, вам необходимо установить бесплатную загрузку Microsoft MPI. Перейдите на страницу установки и загрузите MSMpiSetup.exe. После загрузки запустите исполняемый файл и следуйте инструкциям.

Как установить MPI в Linux?

1 Ответ Установите mpich из стандартных репозиториев Ubuntu. sudo apt установить mpich. Скопируйте приведенный ниже код hello world C в новый файл с именем mpi_hello_world. с и сохранить. Перейдите в каталог, содержащий mpi_hello_world. c, затем скомпилируйте и запустите код с помощью следующих команд.

Почему MPI не может использовать общую память?

Основная неэффективность, связанная с использованием MPI в общей памяти, заключается в том, что процессы фактически не могут совместно использовать данные. Это основано на концепции окон MPI_Win, но в остальном использует прямой доступ к памяти других процессов.

Использует ли MPI TCP?

Обратите внимание, что Open MPI по-прежнему будет использовать TCP для управляющих сообщений, таких как данные между mpirun и процессами MPI, информация о рандеву во время MPI_INIT и т. д. Чтобы полностью отключить TCP, вам также необходимо отключить компонент tcp из инфраструктуры OOB.

Что такое MPI для Python?

MPI для Python предоставляет привязки Python к стандарту интерфейса передачи сообщений (MPI), что позволяет приложениям Python использовать несколько процессоров на рабочих станциях, кластерах и суперкомпьютерах.

Является ли MPI открытым исходным кодом?

Проект Open MPI — это реализация интерфейса передачи сообщений с открытым исходным кодом, которая разрабатывается и поддерживается консорциумом академических, исследовательских и отраслевых партнеров. Open MPI предлагает преимущества поставщикам систем и программного обеспечения, разработчикам приложений и исследователям в области компьютерных наук.

Что такое MPI в Linux?

MPI означает интерфейс передачи сообщений. Проще говоря, целью MPI является разработка широко используемого стандарта для написания программ для передачи сообщений. Таким образом, интерфейс должен устанавливать практичный, портативный, эффективный и гибкий стандарт для передачи сообщений.

Как запустить программу MPI?

Вот один из способов компиляции и запуска программ MPI: [1] ДЛЯ КОМПИЛИРОВАНИЯ ПРОГРАММЫ MPI: A) Используйте следующую команду: qsub -I -V -l walltime=00:30:00,nodes=2:ppn= 2: изд. Б) В) Теперь вы вошли в узел запуска. [3] ВЫХОД: Примечание. С вас будет взиматься плата за время настенных часов, используемое всеми запрошенными узлами, пока вы не завершите задание.

Как запустить программу MPI в Python?

Программы Python, использующие команды MPI, должны запускаться с помощью интерпретатора MPI, который предоставляется с командой mpirun . В некоторых системах эта команда вместо этого называется mpiexec, а mpi4py, кажется, включает в себя и то, и другое. Здесь -n 4 указывает MPI использовать четыре процесса, то есть количество ядер на моем ноутбуке.

Какие функции должны быть включены в любую программу MPI?

Мы вводим MPI, описывая эти шесть функций, которые инициируют и завершают вычисления, идентифицируют процессы, а также отправляют и получают сообщения: MPI_INIT : инициирует вычисление MPI. MPI_FINALIZE : Завершить вычисление. MPI_COMM_SIZE : определить количество процессов.

Что такое барьер MPI?

• Для синхронизации всех процессов в коммуникаторе можно использовать барьер. Каждый процесс ждет, пока все процессы не достигнут этой точки, прежде чем продолжить. Барьер MPI (коммуникатор).

Поддерживает ли Visual Studio MPI?

Настройка MPI в Windows 10 и выполнение программы Hello World в Visual Studio 2019. Существует множество реализаций MPI с открытым исходным кодом, которые помогли в развитии индустрии параллельного программного обеспечения и разработке переносимых и масштабируемых крупномасштабных параллельных приложений. приложения.

Как запустить код MPI в Visual Studio?

Установите Visual Studio Code на macOS. Если в вашей системе еще нет VSCode, загрузите его с их веб-сайта. Установите расширение C/C++ для VSCode. Установите OpenMPI. Создайте свой каталог MPI. Создайте программу MPI helloworld. Настройка среды компиляции и отладки. Создание и запуск нашей программы Helloworld.

Как узнать, установлен ли MPI?

Гугление говорит мне, что команда для установки MPI sudo apt-get install libcr-dev mpich2 mpich2-doc . Введите эту команду. Если он уже установлен, он сообщит вам об этом. Если нет, он сообщит вам, сколько данных необходимо загрузить.

Как удалить MPI?

Вы можете добиться «(удалить и установить mpi)», передав имена пакетов sudo apt install –reinstall .

В чем разница между OpenMPI и Mpich?

Предполагается, что MPICH станет высококачественной эталонной реализацией последнего стандарта MPI и основой для производных реализаций для удовлетворения потребностей специального назначения. Open-MPI предназначен для общего случая, как с точки зрения использования, так и с точки зрения сетевых каналов.

Как загрузить OpenMP в Ubuntu?

Настройка OpenMP в Ubuntu/Linux Запустите sudo apt-get install libomp-dev в терминале. Создайте проект C++ и назовите его HelloOpenMP. Выберите свой проект и перейдите в диалоговое окно «Свойства». Перейдите в C/C++ Build -> Settings. Выберите Компилятор GCC C++/Разное. В поле «Другие флаги» добавьте -fopenmp .

Можно ли запускать программы MPI на машинах с общей памятью?

Поскольку MPI предоставляет средства для обеспечения связи между различными ЦП, он не зависит от архитектуры с общей памятью, как в случае многопоточных систем, таких как OpenMP.

Разделяется ли общая память MPI?

Стандарт интерфейса передачи сообщений (MPI) — это широко используемый программный интерфейс для систем с распределенной памятью. Гибридное параллельное программирование на многоядерных системах чаще всего сочетает MPI с OpenMP*.

Как запустить MPI в кластере?

Запуск кластера MPI в локальной сети. Шаг 1. Настройте файл hosts. Вам нужно будет обмениваться данными между компьютерами, и вы не хотите время от времени вводить IP-адреса. Шаг 2: Создайте нового пользователя. Шаг 3: Настройка SSH. Шаг 4: Настройка NFS. Шаг 5: Запуск программ MPI.

Чтобы использовать MPI с Windows, вам необходимо установить бесплатную загрузку Microsoft MPI. Перейдите на страницу установки и загрузите MSMpiSetup.exe. После загрузки запустите исполняемый файл и следуйте инструкциям.

Как запустить код MPI в Visual Studio?

  1. Установите Visual Studio Code на macOS. Если в вашей системе еще нет VSCode, загрузите его с их веб-сайта.
  2. Установите расширение C/C++ для VSCode.
  3. Установите OpenMPI.
  4. Создайте каталог MPI.
  5. Создайте программу MPI helloworld.
  6. Настройка среды компиляции и отладки.
  7. Создание и запуск нашей программы Helloworld.

Поддерживает ли Visual Studio MPI?

Настройка MPI в Windows 10 и выполнение программы Hello World в Visual Studio 2019. Существует множество реализаций MPI с открытым исходным кодом, которые помогли в развитии индустрии параллельного программного обеспечения и разработке переносимых и масштабируемых крупномасштабных параллельных приложений. приложения.

Как проверить, установлен MPI или нет?

Гугление говорит мне, что команда для установки MPI sudo apt-get install libcr-dev mpich2 mpich2-doc . Введите эту команду. Если он уже установлен, он сообщит вам об этом. Если нет, он сообщит вам, сколько данных необходимо загрузить.

Как узнать, установлен ли MPI?

Как узнать, какая версия MPI открыта?

в вашем терминале. С OpenMPI проще всего запустить ompi_info ; первые несколько строк дадут вам информацию, которую вы хотите. В вашем собственном коде, если вы не возражаете против чего-то специфичного для OpenMPI, вы можете посмотреть на использование OMPI_MAJOR_VERSION, OMPI_MINOR_VERSION и OMPI_RELEASE_VERSION в mpi. ч.

Что такое MPI Init?

Функции MPI_INIT и MPI_FINALIZE используются для запуска и завершения вычисления MPI соответственно. MPI_INIT должен вызываться перед любой другой функцией MPI и должен вызываться ровно один раз для каждого процесса. Никакие другие функции MPI не могут быть вызваны после MPI_FINALIZE.

Как вы тестируете MPI?

Тест MPI исследует кровоток через ваше сердце во время упражнений на беговой дорожке или велотренажере («физический стресс») и во время отдыха. Если вы не можете хорошо тренироваться, вы получите лекарство («химический/фармакологический стресс»), чтобы увеличить приток крови к сердечной мышце, как если бы вы занимались спортом.

Что такое MPI в C?

Что такое ИМБ? MPI — это библиотека подпрограмм, которые можно использовать для создания параллельных программ на C или Fortran77. Стандартные C и Fortran не содержат конструкций, поддерживающих параллелизм, поэтому поставщики разработали множество расширений, позволяющих пользователям этих языков создавать параллельные приложения.

Nektar++ в первую очередь разрабатывался для Unix-подобных операционных систем, поэтому создание и запуск программного обеспечения на этих платформах, как правило, проще и предлагает самый широкий набор функций.Поддержка Windows была включена в программное обеспечение в течение многих лет, но, как подчеркивается в разделе руководства пользователя Nektar++ о создании программного обеспечения для Windows, процесс сборки может быть запутанным, и ранее поддерживалось только последовательное выполнение.

В Windows 10 подсистема Windows для Linux предоставляет возможность запуска среды Linux в Windows, и это обеспечивает один из подходов к созданию параллельных двоичных файлов Nektar++ в Windows. Однако для пользователей, не знакомых с Linux, или для пользователей, желающих работать в среде Visual Studio или работать на нескольких узлах в кластере Windows, это непрактичный вариант.

Это руководство проведет вас через процесс завершения параллельной сборки Nektar++ в Windows с использованием набора инструментов Microsoft на основе Visual Studio 2019 и Microsoft MPI.

ПРИМЕЧАНИЕ. Параллельная сборка и запуск Nektar++ под Windows пока не поддерживается конфигурацией. Если у вас возникнут проблемы с приведенными здесь инструкциями, вы можете опубликовать сообщение в списке рассылки nektar-users, и мы сделаем все возможное, чтобы помочь. (Подробности о том, как присоединиться к списку рассылки nekar-users, можно найти здесь)

Предпосылки

В этом руководстве предполагается, что вы используете 64-разрядную версию Windows 10.

Прежде чем приступать к параллельной сборке Nektar++, убедитесь, что у вас установлены и настроены следующие компоненты:

Visual Studio 2019. Если в вашей системе еще не установлена ​​Visual Studio 2019, вы можете установить бесплатную версию Visual Studio Community.

Microsoft MPI: установите Microsoft MPI (msmpisetup.exe) и SDK (msmpisdk.msi) со страницы загрузки.

CMake: установите Windows win64-x64 версию CMake 3.16 или более позднюю со страницы загрузки CMake.

Boost: установите 64-разрядные двоичные файлы Boost 1.72, скомпилированные для Visual Studio 2019, используя файл boost_1_72_0-msvc-14.2-64.exe со страницы загрузки Boost 1.72 SourceForge.

Добавление и обновление переменных системной среды

В рамках этого руководства вам потребуется добавить новые и изменить существующие системные переменные среды. Если вы не знакомы с процессом выполнения этого в Windows 10, вы можете получить доступ к «Переменным среды», нажав кнопку Пуск и введя «env ». Вы должны увидеть опцию «Редактировать системные переменные среды». Нажмите здесь, а затем нажмите кнопку «Переменные среды», чтобы открыть диалоговое окно для редактирования переменных среды. В качестве альтернативы вы можете открыть то же диалоговое окно, выбрав «Настройки» в меню «Пуск» и перейдя в раздел Система > О системе > Сведения о системе (в разделе «Связанные настройки» на правой панели), выберите «Дополнительные системные настройки» и на вкладке «Дополнительно» нажмите кнопку «Переменные среды».

При добавлении переменных среды вы увидите два списка переменных среды: «Пользовательские переменные для» и «Системные переменные». Если вы добавите новые переменные среды в список «Переменные пользователя для», они будут доступны только в командных строках, которые вы открываете при входе в систему как текущий пользователь. Если вы добавите их в список «Системные переменные», они станут доступны всем пользователям системы.

ПРИМЕЧАНИЕ. Если вы редактируете или добавляете переменные среды, вам потребуется открыть новую командную строку, чтобы эти изменения вступили в силу.

Настройка системной среды

ПРИМЕЧАНИЕ. Вам потребуется использовать командную строку Visual Studio для запуска всех команд терминала, показанных в этом руководстве. Ссылку на командную строку можно найти в меню "Пуск" в группе Visual Studio 2019. Следует использовать «Командная строка разработчика для VS2019» или «Командная строка собственных инструментов x64 для VS2019».

CMake и Git должны были быть добавлены в ваш системный путь как часть соответствующих процессов установки. Каталог Bin Microsoft MPI также должен быть автоматически добавлен к вашему системному пути, а команда mpiexec должна быть доступна в командной строке.

Теперь вам нужно вручную добавить в конфигурацию одну переменную среды:

  • Добавьте переменную среды BOOST_HOME, указывающую на каталог вашей ускоренной установки, например C:\local\boost_1_72_0

Настройка и сборка Nektar++

Создайте каталог в своей системе, в который вы сможете клонировать репозиторий Nektar++ Git и выполнить сборку. В этом руководстве используется каталог C:\work .

Перейдите в этот каталог и клонируйте исходный код Nektar++ из GitLab:

Каталог, в котором хранится исходный код Nektar++, в данном случае C:\work\nektar, теперь будет называться %NEKTAR_HOME% .

ПРИМЕЧАНИЕ. Обновления для поддержки сборки MPI Nektar++ для Windows 10 недавно были объединены в основную ветвь репозитория Nektar++, поэтому мы будем выполнять сборку непосредственно из основной ветки.

Теперь вы можете создать каталог сборки, перейти в него и настроить сборку для MPI с помощью cmake:

cmake выдаст достаточно информации о том, какие библиотеки он искал и что нашел.

Вы должны увидеть в выводе сообщение о том, что MPI найден вместе с путем к файлу msmpi.lib из Microsoft MPI, например,

Вы также должны увидеть несколько строк, начинающихся:

Эти строки должны включать путь к файлу библиотеки, который должен находиться в каталоге, в который вы установили двоичные файлы Boost.

Предполагается, что необходимые библиотеки были найдены и этап настройки успешно завершен с сообщением о том, что файлы сборки были записаны. , теперь можно приступать к сборке и установке:

Чтобы выполнить сборку параллельно с использованием нескольких ядер, добавьте переключатель /m:, где указано количество процессов, которые вы хотите запустить для сборки.

Настройка и тестирование после установки

После завершения процесса сборки и установки вы должны найти исполняемые файлы для решателей и инструментов в папке %NEKTAR_HOME%\build\dist\bin .

Прежде чем можно будет запустить набор тестов и исполняемые файлы, необходимо добавить несколько каталогов в системный путь. В системных настройках «Переменные среды» добавьте полный путь к следующим каталогам (заменив %NEKTAR_HOME% фактическим путем к каталогу):

  • %NEKTAR_HOME%\ThirdParty
  • %NEKTAR_HOME%\build\ThirdParty\dist\bin
  • %NEKTAR_HOME%\build\dist\bin
  • C:\local\boost_1_72_0\lib64-msvc-14.2 (при необходимости измените этот путь, если вы установили boost в другое место)

После добавления этих переменных среды вам потребуется открыть новое окно терминала, чтобы они вступили в силу.

Теперь вы сможете успешно запустить набор тестов. Измените на %NEKTAR_HOME%\соберите и запустите:

Выполнение тестов займет некоторое время, но вы должны увидеть, что они пройдены, когда начнут появляться выходные данные каждого теста.

ПРИМЕЧАНИЕ. Необходимо выполнить 527 тестов, и все тесты должны быть пройдены. В случае сбоя одного или нескольких тестов вы можете запустить отдельный тест и отобразить информацию об ошибке, запустив: ctest -C Release -I , --output-on-failure

Выполнение параллельного решения

Теперь, когда у вас есть работающая параллельная MPI-сборка Nektar++ для Windows, в этом заключительном разделе руководства показано, как выполнить параллельный тестовый прогон с использованием примера 2D-сетки.

Создайте каталог для запуска теста, например C:\work\nektar-test , и перейдите в этот каталог.

В этот каталог загрузите пример 2D-сетки Cyl.xml, который позволит нам смоделировать обтекание несжимаемой жидкостью цилиндрического препятствия.

По умолчанию файл Cyl.xml сконфигурирован для моделирования длинного 300 000 временных шагов. Рекомендуется выполнить гораздо более короткий тестовый прогон, чтобы убедиться, что параллельное выполнение работает правильно. Для этого отредактируйте Cyl.xml, изменив параметр FinalTime в строке 3271 файла в пределах

заблокировать в разделе. Уменьшите FinalTime с 300 до 5, чтобы выполнить прогон на 5000 временных шагов.

Теперь вы можете использовать IncompressibleNavierStokesSolver от Nektar++ для параллельного запуска моделирования. Используйте флаг -np, чтобы сообщить mpiexec, сколько процессов нужно запустить. Например, в каталоге C:\work\nektar-test, чтобы использовать 4 процесса, запустите:

В информации, которая выводится в начале запуска, вы должны увидеть Num. Процессы: 4 (или другое число, если вы передали другое число процессов параметру -np для mpiexec .

Заключение

Теперь у вас есть работающая параллельная сборка Nektar++ в вашей системе Windows 10.

Если вы новичок в Nektar++, ознакомьтесь с учебными пособиями на веб-сайте.

Если вы уже являетесь опытным пользователем Nektar++, мы надеемся, что возможность параллельного запуска Nektar++ в Windows окажется полезной для вашей работы с этим программным обеспечением.

Читайте также: