Files
psblas3/docs/internals/README.md
T
Stack-1 dad4d3b894 docs: add developer guide internals layer
Introduce docs/internals/ as a two-layer complement to the user manual:
- README.md: index plus the user-manual vs developer-guide rationale
- communication.md: the psb_halo/psb_ovrl -> psi_swapdata dispatch path,
  the psb_comm_handle_type hierarchy and factory, the five MPI schemes
  (isend/irecv, neighbor alltoallv, persistent, RMA pull/push), and the
  start/wait/sync swap-status state machine
2026-06-13 15:28:23 +02:00

27 lines
1.3 KiB
Markdown

# PSBLAS Developer Guide (Internals)
This directory documents the **internal architecture** of PSBLAS: how the
classes relate to each other and how the library is implemented. It is aimed
at developers who modify or extend PSBLAS, not at end users.
The split is deliberate and two-layered:
- **User manual** (`docs/src/*.tex`, built into `psblas-3.9.pdf`) describes the
public API: what each routine does, its arguments, and the semantics a user
must know to call it correctly. For example, it documents that `psb_halo`
accepts a `mode` flag and what synchronous vs. split-phase exchange means for
the caller.
- **Developer guide** (this directory) describes *how* those features are
implemented: the dispatch path, the communication-handle class hierarchy, the
MPI mechanisms behind each scheme, and the extension points. A user never
needs to read this to use `psb_halo`.
When you add a feature, update the layer that matches its audience. A new public
flag goes in the user manual; a new internal communication scheme goes here.
## Contents
- [communication.md](communication.md) — the communication subsystem: the
`psb_halo`/`psb_ovrl` → `psi_swapdata` → communication-handle dispatch path,
the available MPI schemes, and the swap-status state machine.