Skip to content

Latest commit

 

History

History
137 lines (89 loc) · 3.63 KB

File metadata and controls

137 lines (89 loc) · 3.63 KB

Set Up Your Environment

Development Container (Recommended)

The easiest way to set up your development environment is using the provided .devcontainer configuration with VS Code and Docker.

Prerequisites:

Setup:

  1. Clone the repository and open it in VS Code
  2. When prompted, click "Reopen in Container" or use Command Palette: Dev Containers: Reopen in Container
  3. VS Code will automatically build the container with all dependencies pre-installed
  4. The container includes:
    • Ubuntu environment with gcc-14, CMake, MPI, OpenMP
    • Pre-configured C++ and Python development tools
    • All project dependencies ready to use

This provides a consistent development environment across all platforms without manual dependency installation.

Manual Setup

If you prefer manual setup or cannot use containers, follow the instructions below.

Build prerequisites

  • Windows: Download and install CMake from https://cmake.org/download (select the Windows installer) or install using Chocolatey:

    choco install cmake
  • Linux (Ubuntu/Debian): Install using package manager:

    sudo apt update
    sudo apt install -y cmake
  • macOS: Install using Homebrew:

    brew update
    brew install cmake

Code Style Analysis

Please follow the Google C++ Style Guide.

Code style is checked using the clang-format tool.

Optional tools (clang-tidy, gcovr)

Install these to match the CI toolchain for static analysis and coverage reports.

  • Linux (Ubuntu/Debian):

    # clang-tidy 22 (recommended)
    sudo apt update && sudo apt install -y clang-tidy-22
    # gcovr via pip (or use your distro package)
    python3 -m pip install gcovr
    # GCC 14 coverage helper (used in CI)
    which gcov-14 || echo "Install GCC 14 to use gcov-14"
  • macOS (Homebrew):

    brew install llvm gcovr
    # clang-tidy path (if not on PATH):
    echo "$(brew --prefix)/opt/llvm/bin/clang-tidy"
  • Windows:

    choco install llvm
    py -m pip install gcovr
    # Ensure clang-tidy.exe is available in PATH

Parallel Programming Technologies

MPI

  • Windows (MSVC):

    Installers link. You have to install msmpisdk.msi and msmpisetup.exe.

  • Linux (gcc and clang):

    sudo apt install -y mpich openmpi-bin libopenmpi-dev
  • MacOS (apple clang):

    brew install open-mpi

OpenMP

OpenMP is included in gcc and msvc, but some components should be installed additionally:

  • Linux (gcc and clang):

    sudo apt install -y libomp-dev
  • MacOS (llvm):

    brew install llvm
    brew install libomp
    brew link libomp --overwrite --force

TBB

  • Windows (MSVC), Linux (gcc and clang), MacOS (apple clang): Build as 3rdparty in the current project.

std::thread

std::thread is included in STL libraries.