Skip to content
Snippets Groups Projects
Commit 6a03b774 authored by Jakub Klinkovský's avatar Jakub Klinkovský
Browse files

Added documentation of Communicators to the core concepts page

parent 6c4de0e0
No related branches found
No related tags found
1 merge request!36Fixed expression templates
......@@ -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.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment