***** Setup ***** This page is intended as a guide to jump start new KokkosComm users. System requirements =================== .. list-table:: :header-rows: 1 :align: left * - Name - Requirement * - CMake - 3.23+ * - C++ compiler - Conforming to ISO C++20 standard * - Kokkos - 4.0+ * - MPI - Conforming to MPI-3+ standard * - NCCL - 2.0+ KokkosComm will attempt to support the `same systems and toolchains as Kokkos `_. Installation ============ Download -------- KokkosComm's source code is available on GitHub, which you can obtain using the following command: .. code-block:: console $ git clone https://github.com/kokkos/kokkos-comm.git Or using the GitHub CLI tool: .. code-block:: console $ gh repo clone kokkos/kokkos-comm Build ----- A basic configure and build of KokkosComm: .. code-block:: console $ cmake -B -DKokkos_ROOT= $ cmake --build Test ---- .. code-block:: console $ cmake -B \ -DKokkos_ROOT= \ -DKokkosComm_ENABLE_TESTS=ON $ cmake --build $ ctest --test-dir /unit_tests For a detailed guide on testing KokkosComm, please refer to the `Testing section <../dev/testing.html>`_. Install ------- .. code-block:: console $ cmake --install --prefix Integration in user applications ================================ Similarly to Kokkos, KokkosComm is packaged with a modern CMake build system. Once installed, you can declare KokkosComm as a dependency of your project by adding the following line to your ``CMakeLists.txt``: .. code-block:: cmake find_package(KokkosComm REQUIRED) Then, for every executable or library in your project that depends on KokkosComm: .. code-block:: cmake target_link_libraries(MyTarget KokkosComm::KokkosComm) CMake configuration options =========================== This section lists the available options to customize your KokkosComm build/installation. .. note: CMake options are set when configuring the project and passed using the syntax ``-D