From 6a03b7740967d8bce2e38e99a7c3df685042ca99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Klinkovsk=C3=BD?= <klinkjak@fjfi.cvut.cz> Date: Wed, 7 Aug 2019 11:50:23 +0200 Subject: [PATCH] Added documentation of Communicators to the core concepts page --- Documentation/Pages/core-concepts.md | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/Documentation/Pages/core-concepts.md b/Documentation/Pages/core-concepts.md index 1450ada792..8e151191ea 100644 --- a/Documentation/Pages/core-concepts.md +++ b/Documentation/Pages/core-concepts.md @@ -11,15 +11,24 @@ TNL is based on the following core concepts: (TODO: rename to `Executor` or something like that) - Device is responsible for the execution of algorithms in a specific way. - Algorithms can be specialized by the `Device` template parameter. -3. \ref TNL::Containers::Algorithms "Algorithms" +3. \ref TNL::Communicators "Communicators" + - Communicators represent the main abstraction for distributed computations, + where multiple programs (or instances of the same program) have to + communicate with each other. + - At present, there are only two communicators: + \ref TNL::Communicators::MpiCommunicator "MpiCommunicator" + (uses [MPI](https://en.wikipedia.org/wiki/Message_Passing_Interface)) and + \ref TNL::Communicators::NoDistrCommunicator "NoDistrCommunicator" + (dummy communicator without any distribution support). +4. \ref TNL::Containers::Algorithms "Algorithms" - Basic (container-free) algorithms specialized by `Device`/`Executor`. - `ParallelFor`, `Reduction`, `MultiReduction`, `ArrayOperations`, ... -4. \ref TNL::Containers "Containers" +5. \ref TNL::Containers "Containers" - Classes for general data structures. (TODO: alternatively use "Dense" and "Sparse", because a dense matrix can be an extended alias for 2D array) - `Array`, `Vector` (also `VectorOperations`), `NDArray`, ... -5. Views +6. Views - Views wrap only a raw pointer to data and some metadata (such as the array size), they do not do allocation and deallocation of the data. Hence, views have a fixed size which cannot be changed. -- GitLab