Настройка окружения
Контейнер разработки (Рекомендуется)
Самый простой способ настроить среду разработки - использовать предоставленную конфигурацию .devcontainer
с VS Code и Docker.
Требования:
Настройка:
Клонируйте репозиторий и откройте его в VS Code
При появлении запроса нажмите «Reopen in Container» или используйте палитру команд:
Dev Containers: Reopen in Container
VS Code автоматически соберет контейнер со всеми предустановленными зависимостями
Контейнер включает:
Окружение Ubuntu с gcc-14, CMake, MPI, OpenMP
Предварительно настроенные инструменты разработки C++ и Python
Все зависимости проекта готовы к использованию
Это обеспечивает единообразную среду разработки на всех платформах без ручной установки зависимостей.
Ручная настройка
Если вы предпочитаете ручную настройку или не можете использовать контейнеры, следуйте инструкциям ниже.
Требования к сборке
Windows: Загрузите и установите CMake с https://cmake.org/download (выберите установщик для Windows) или установите с помощью Chocolatey:
choco install cmake
Linux (Ubuntu/Debian): Установите с помощью менеджера пакетов:
sudo apt update sudo apt install -y cmake
macOS: Установите с помощью Homebrew:
brew update brew install cmake
Анализ стиля кодирования
Пожалуйста пройдите по ссылке для изучения стиля кодирования - Google C++ Style Guide.
Проверка стиля кода выполняется с помощью инструмента clang-format.
Технологии параллельного программирования
MPI
Windows (MSVC):
Ссылка на установку. Вы должны установить 2 файла -
msmpisdk.msi
иmsmpisetup.exe
.Linux (gcc and clang):
sudo apt install -y mpich openmpi-bin libopenmpi-dev
MacOS (apple clang):
brew install open-mpi
OpenMP
OpenMP
в большинстве случаев включен в компиляторы gcc
и msvc
, но ряд компонент все равно должны быть установлены дополнительно:
Linux (gcc and clang):
sudo apt install -y libomp-dev
MacOS (llvm):
brew install llvm brew install libomp
TBB
Windows (MSVC), Linux (gcc and clang), MacOS (apple clang): Данная библиотека строится как внешняя в составе текущего проекта и не требует дополнительных операций.
std::thread
std::thread
включена в состав STL библиотек.