Skip to content

🔭 milk

High-performance real-time image processing framework for Adaptive Optics and scientific computing. Microsecond-latency pipelines through zero-copy shared memory.

GitHub stars License Build

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.

Installation

  • Build Tiers

Engine → Core → Full: compile only what you need.

Build tiers

  • CLI Overview

Interactive shell, standalone executables, and scripting basics.

CLI overview

  • FAQ

Common issues with builds, SHM, FPS, and CLI.

FAQ & Troubleshooting


🏛 Core Concepts

  • Streams

Zero-copy shared memory tensors (ImageStreamIO).

Streams

  • FPS

Live parameter sync, state control, TUI dashboards.

FPS

  • Process Info

Heartbeat telemetry, loop-rate profiling, health monitoring.

Process Info

  • Architecture

System overview, layered design, data flow diagrams.

Architecture


🛠 Developer Guides

  • Tutorial

Write your first compute module step by step.

Tutorial

  • Coding Standards

C style, line length, includes, Kernel-Doc.

Coding standards

  • Adding Plugins

Build modules that compile alongside the core.

Plugins

  • Template Code

Breakdown of milk_module_example.

Template source


📊 Operations & Reference

  • Performance

CPU pinning, RT scheduling, SIMD, BLAS, GPU.

Performance

  • PGO & LTO

Profile-guided optimization + static link-time optimization for 15–40 % speedup.

PGO & LTO

  • Debugging

GDB, tmux logs, procinfo diagnostics, common failures.

Debugging


🔗 More Resources

[FPS]: Function Processing System — shared-memory parameter management [SHM]: Shared Memory (/dev/shm) [AO]: Adaptive Optics [TUI]: Text User Interface (ANSI escape sequences) [CLI]: Command Line Interface [IMGID]: Image ID — milk's stream reference structure [LTO]: Link-Time Optimization [PGO]: Profile-Guided Optimization [RT]: Real-Time (scheduling) [DM]: Deformable Mirror [WFS]: Wavefront Sensor [FITS]: Flexible Image Transport System *[IPC]: Inter-Process Communication