|
| 1 | +<!-- SPDX-License-Identifier: PMPL-2.0-or-later --> |
| 2 | +<!-- Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) --> |
| 3 | +<!DOCTYPE html> |
| 4 | +<html lang="en"> |
| 5 | +<head> |
| 6 | +<meta charset="utf-8"> |
| 7 | +<meta name="viewport" content="width=device-width, initial-scale=1"> |
| 8 | +<title>chapeliser — Chapel acceleration without learning Chapel</title> |
| 9 | +<style> |
| 10 | +*{margin:0;padding:0;box-sizing:border-box} |
| 11 | +body{background:#0d1117;color:#c9d1d9;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;line-height:1.6;padding:2rem} |
| 12 | +.container{max-width:720px;margin:0 auto} |
| 13 | +h1,h2,h3{font-family:"JetBrains Mono",Consolas,"Courier New",monospace;color:#58a6ff} |
| 14 | +h1{font-size:2.2rem;margin-bottom:.3rem} |
| 15 | +.tagline{color:#8b949e;font-size:1.1rem;margin-bottom:1.5rem} |
| 16 | +.badge{display:inline-block;padding:.2rem .5rem;border-radius:3px;font-size:.75rem;font-weight:600;margin-right:.4rem;text-decoration:none} |
| 17 | +.badge-license{background:#1f6feb;color:#fff} |
| 18 | +.badge-crates{background:#fc8d62;color:#fff} |
| 19 | +.badges{margin-bottom:1.8rem} |
| 20 | +pre{background:#161b22;border:1px solid #30363d;border-radius:6px;padding:1rem;overflow-x:auto;margin:1rem 0;color:#e6edf3;font-size:.9rem} |
| 21 | +code{font-family:"JetBrains Mono",Consolas,monospace} |
| 22 | +h2{font-size:1.3rem;margin-top:1.8rem;margin-bottom:.6rem;border-bottom:1px solid #21262d;padding-bottom:.3rem} |
| 23 | +ul{margin:.5rem 0 .5rem 1.5rem} |
| 24 | +li{margin:.3rem 0} |
| 25 | +a{color:#58a6ff;text-decoration:none} |
| 26 | +a:hover{text-decoration:underline} |
| 27 | +.links{margin-top:2rem;display:flex;gap:1rem;flex-wrap:wrap} |
| 28 | +.links a{border:1px solid #30363d;padding:.4rem 1rem;border-radius:6px;font-size:.9rem} |
| 29 | +.links a:hover{border-color:#58a6ff} |
| 30 | +footer{margin-top:3rem;padding-top:1rem;border-top:1px solid #21262d;color:#484f58;font-size:.8rem} |
| 31 | +</style> |
| 32 | +</head> |
| 33 | +<body> |
| 34 | +<div class="container"> |
| 35 | +<h1>chapeliser</h1> |
| 36 | +<p class="tagline">Scale single-machine apps to distributed clusters without learning Chapel.</p> |
| 37 | +<div class="badges"> |
| 38 | + <a class="badge badge-license" href="https://github.com/hyperpolymath/palimpsest-license">PMPL-2.0</a> |
| 39 | + <a class="badge badge-crates" href="https://crates.io/crates/chapeliser">crates.io</a> |
| 40 | +</div> |
| 41 | + |
| 42 | +<h2>Install</h2> |
| 43 | +<pre><code>cargo install chapeliser</code></pre> |
| 44 | + |
| 45 | +<h2>What It Does</h2> |
| 46 | +<p>Chapeliser is a general-purpose Chapel acceleration framework. Describe your workload |
| 47 | +in a <code>chapeliser.toml</code> manifest, point it at your code, and it generates the |
| 48 | +distributed scaffolding — Chapel <code>coforall</code> loops, data partitioning, result |
| 49 | +gathering, and the ABI/FFI bridge between your application and the Chapel runtime.</p> |
| 50 | + |
| 51 | +<h2>Features</h2> |
| 52 | +<ul> |
| 53 | + <li>Manifest-driven — describe what to distribute in TOML, not how</li> |
| 54 | + <li>Idris2 ABI with formal proofs of data layout and partition safety</li> |
| 55 | + <li>Zig FFI bridge to Chapel runtime with zero runtime overhead</li> |
| 56 | + <li>Works with Rust, C, and Zig applications</li> |
| 57 | + <li>Scales from 1 node (local) to 256+ nodes (cluster)</li> |
| 58 | + <li>No Chapel expertise required</li> |
| 59 | +</ul> |
| 60 | + |
| 61 | +<h2>Quick Example</h2> |
| 62 | +<pre><code>[workload] |
| 63 | +name = "my-scanner" |
| 64 | +entry = "src/batch.rs::scan_all" |
| 65 | +partition = "per-item" |
| 66 | +gather = "merge" |
| 67 | + |
| 68 | +[scaling] |
| 69 | +min-nodes = 1 |
| 70 | +max-nodes = 256 |
| 71 | +grain-size = 50</code></pre> |
| 72 | + |
| 73 | +<div class="links"> |
| 74 | + <a href="https://github.com/hyperpolymath/chapeliser">GitHub</a> |
| 75 | + <a href="https://crates.io/crates/chapeliser">crates.io</a> |
| 76 | + <a href="https://github.com/hyperpolymath/iseriser">-iser family</a> |
| 77 | +</div> |
| 78 | + |
| 79 | +<footer> |
| 80 | + Part of the <a href="https://hyperpolymath.github.io/iseriser/">-iser acceleration family</a>. |
| 81 | + Licensed under <a href="https://github.com/hyperpolymath/palimpsest-license">PMPL-2.0-or-later</a>. |
| 82 | +</footer> |
| 83 | +</div> |
| 84 | +</body> |
| 85 | +</html> |
0 commit comments