You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
1.3 KiB
Markdown
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.
|