Skip to content

Commit 4e41080

Browse files
committed
docs: add TOPOLOGY.md
1 parent 4754372 commit 4e41080

1 file changed

Lines changed: 40 additions & 0 deletions

File tree

TOPOLOGY.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
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+
4+
# TOPOLOGY.md — AcceleratorGate.jl
5+
6+
## Purpose
7+
8+
Unified accelerator abstraction layer for Julia providing consistent interface to GPU, TPU, NPU, FPGA, QPU, DSP, and other accelerators. Enables transparent hardware acceleration across hyperpolymath Julia packages via pluggable backend system with compile-time and runtime device selection.
9+
10+
## Module Map
11+
12+
```
13+
AcceleratorGate.jl/
14+
├── src/ # Julia package source
15+
│ ├── backends/ # Accelerator backend implementations
16+
│ ├── device/ # Device detection and management
17+
│ ├── dispatch/ # Kernel dispatch system
18+
│ └── memory/ # Memory management across accelerators
19+
├── test/ # Test suite and backend verification
20+
├── examples/ # Integration examples
21+
├── docs/ # API documentation
22+
└── Project.toml # Julia package manifest
23+
```
24+
25+
## Data Flow
26+
27+
```
28+
[Julia Code] ──► [AcceleratorGate Dispatch] ──► [Backend Detection] ──► [Accelerator Kernel]
29+
30+
[Device Memory] ──► [Result]
31+
```
32+
33+
## Supported Accelerators
34+
35+
- **GPU**: NVIDIA CUDA, AMD ROCm, Intel oneAPI
36+
- **TPU**: Google TPU via JAX integration
37+
- **NPU**: Qualcomm Hexagon, MediaTek APU
38+
- **FPGA**: Xilinx, Intel Altera
39+
- **QPU**: Quantum accelerators (integration with QuantumCircuit.jl)
40+
- **DSP**: Specialized signal processing units

0 commit comments

Comments
 (0)