MILK & CACAO¶
CACAO - The Compute And Control for Adaptive Optics cacao-org/cacao
A high-performance, free, open-source, community-centric and R&D-oriented RTC suite for adaptive optics systems.
MILK - Modular Image Library Toolkit milk-org/milk
A core infrastructure for orchestrating real-time pipelines, between zero-copy shared memory tensors and a rich library of data processing units.
milk orchestrates many small compute units that communicate through zero-copy shared memory tensors, enabling microsecond-latency data pipelines. The three pillars — ImageStreamIO, FPS, and processinfo — live entirely in /dev/shm/.
Getting Started¶
-
Install
Clone, build, and configure the milk framework.
-
Build Tiers
Engine → Core → Full: compile only what you need.
-
CLI Overview
Interactive shell, standalone executables, and scripting basics.
-
FAQ
Common issues with builds, SHM, FPS, and CLI.
Core Concepts¶
-
Streams
Zero-copy shared memory tensors (
ImageStreamIO). -
FPS
Live parameter sync, state control, TUI dashboards.
-
Process Info
Heartbeat telemetry, loop-rate profiling, health monitoring.
-
Architecture
System overview, layered design, data flow diagrams.
Developer Guides¶
-
Tutorial
Write your first compute module step by step.
-
Coding Standards
C style, line length, includes, Kernel-Doc.
-
Adding Plugins
Build modules that compile alongside the core.
-
Template Code
Breakdown of
milk_module_example.
Operations & Reference¶
-
Performance
CPU pinning, RT scheduling, SIMD, BLAS, GPU.
-
PGO & LTO
Profile-guided optimization + static link-time optimization for 15–40 % speedup.
-
Debugging
GDB, tmux logs, procinfo diagnostics, common failures.
More Resources¶
- What's New — recent features and upgrades
- CLI Syntax Reference · Readline Keys
- Scripts Reference · Python API · Valkey Integration
- Programmer's Guide · Dependency Graph · fpsCTRL Reference
- Working with Git · Code Assist Tools
- All Markdown Files · Tag Index