Understanding Enhancement Levels
Deep dive into Epochly's progressive enhancement system.
Overview
| Level | Name | Mechanism | Benefit |
|---|---|---|---|
| 0 | Monitor | Profiling | Baseline metrics |
| 1 | Threading | Thread pool | I/O concurrency |
| 2 | JIT | Compilation | CPU loop speedup |
| 3 | Full | Parallelism | Multi-core utilization |
| 4 | GPU | CUDA | Massive parallelism |
Automatic Progression
Start at Level 0 (Monitor)↓Detect I/O-bound → Level 1↓Detect CPU-bound loops → Level 2↓Detect parallelizable work → Level 3↓Detect large arrays + GPU → Level 4
Performance Characteristics
| Level | Best For | Typical Speedup |
|---|---|---|
| 0 | Profiling | 1x (baseline) |
| 1 | I/O-bound tasks | ~1.0x |
| 2 | JIT Compilation | 58–193x |
| 3 | Heavy CPU parallel | 8–12x |
| 4 | GPU array operations | 7–70x |
Fallback Conditions
| Level | Fallback Condition | Falls Back To |
|---|---|---|
| 4 | No GPU available | Level 3 |
| 3 | Too few data items | Level 2 |
| 2 | JIT compilation fails | Level 1 |
| 1 | Threading overhead too high | Level 0 |