Skip to content

Commit bf03276

Browse files
hyperpolymathclaude
andcommitted
docs: add TOPOLOGY.md
Document purpose, module structure, and data flow for this -iser tool. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 1f158b6 commit bf03276

1 file changed

Lines changed: 46 additions & 0 deletions

File tree

TOPOLOGY.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
<!-- SPDX-License-Identifier: PMPL-1.0-or-later -->
2+
<!-- Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk> -->
3+
# TOPOLOGY.md — chapeliser
4+
5+
## Purpose
6+
7+
chapeliser is a general-purpose Chapel acceleration framework that distributes any workload across Chapel clusters without the user writing Chapel code. It reads a `chapeliser.toml` manifest describing entry points, data partition strategies, and gather strategies, then generates Chapel wrapper code, a Zig FFI bridge, and C headers. chapeliser is priority #2 in the -iser family, targeting any compute workload that benefits from data-parallel or distributed execution.
8+
9+
## Module Map
10+
11+
```
12+
chapeliser/
13+
├── src/
14+
│ ├── main.rs # CLI entry point (clap): init, validate, generate, build, run, info
15+
│ ├── lib.rs # Library API
16+
│ ├── manifest/mod.rs # chapeliser.toml parser
17+
│ ├── codegen/mod.rs # Chapel wrapper, Zig FFI bridge, C header generation
18+
│ └── ... # [WIP] partition/gather strategy modules
19+
├── examples/ # Worked examples
20+
├── verification/ # Proof harnesses
21+
├── container/ # Stapeln container ecosystem
22+
└── .machine_readable/ # A2ML metadata
23+
```
24+
25+
## Data Flow
26+
27+
```
28+
chapeliser.toml manifest
29+
30+
┌────▼────┐
31+
│ Manifest │ parse + validate entry points, partition + gather strategies
32+
│ Parser │
33+
└────┬────┘
34+
│ validated acceleration config
35+
┌────▼────┐
36+
│ Analyser │ inspect source entry points, resolve types
37+
└────┬────┘
38+
│ intermediate representation
39+
┌────▼────┐
40+
│ Codegen │ emit generated/chapeliser/ (Chapel wrappers, Zig FFI, C headers)
41+
└────┬────┘
42+
│ Chapel + FFI artifacts
43+
┌────▼────┐
44+
│ Chapel │ compile + distribute across Chapel cluster
45+
└─────────┘
46+
```

0 commit comments

Comments
 (0)