mcap/modules
Musa Mahmood dd7cf83ca6 [0.1.25] OCR on the GPU runs as many detector and recognizer runs at once as fit in its memory
The workers ran gpu_workers (4) runs at once whatever the images: the server
model, four large images at a time, took 15 GB of a 16 GB GPU and spilled into
shared system memory, and a smaller GPU would fare far worse.

modules/OCR/budget.jai: each run reserves what it is expected to need, and
waits while the runs in flight or the GPU's free memory leave too little; one
run always goes. The need is measured when the engine is made, from the arena's
peak (AllocatorGetStats MaxInUse) over runs on two input sizes, so it holds for
any model and GPU: the mobile detector 6 MB + 137 MB a megapixel, the server's
4 MB + 1015, against 511 and 522 MB measured for a 2560 x 1440 tile. The limit
is the GPU's free memory less 10% (at least 512 MB), read at the start of each
ocr_process call (cudaMemGetInfo, ort_cuda_memory); the free memory is also read
as each run starts, since finished runs' blocks stay in the arena until the
stage ends.

gpu-bench, RTX 5080 laptop: the server model 335 ms a capture (854 before),
peak 13.1 GB (15.4), passes within 4%; the mobile model unchanged (140 ms,
5.7 GB), as its runs fit.
2026-10-17 21:31:17 -04:00
..
Basic [0.0.0] Capture viewer: a grid of every .mcap's preview, and one capture at full size in a window of its own 2026-10-07 11:41:38 +01:00
Capture_File [0.1.8] Video capture phase 5: sound, from the computer and the microphone, in sync 2026-10-10 08:08:47 +01:00
Capture_Text [0.0.0] .mcap version 2: OCR stored in each capture, search, a library scan, sorting by date; turned text 2026-10-07 21:51:18 +01:00
Default_Allocator [0.1.15] Startup: a catalog cache, the catalog on the background threads, rpmalloc, and [startup] timings 2026-10-13 07:26:42 +01:00
ffmpeg [0.0.9] Import: videos and animated GIFs, in .mcap version 4 2026-10-09 23:10:55 +01:00
File_Watcher [0.1.14] The library is watched: files added or deleted outside the app come and go on their own 2026-10-13 06:36:03 +01:00
Image_Decode [0.0.9] Import: videos and animated GIFs, in .mcap version 4 2026-10-09 23:10:55 +01:00
imgui-dx11-win32 [0.0.0] Capture viewer: a grid of every .mcap's preview, and one capture at full size in a window of its own 2026-10-07 11:41:38 +01:00
imgui-sdl [0.0.0] Capture viewer: a grid of every .mcap's preview, and one capture at full size in a window of its own 2026-10-07 11:41:38 +01:00
imgui-source [0.0.0] Capture viewer: a grid of every .mcap's preview, and one capture at full size in a window of its own 2026-10-07 11:41:38 +01:00
jaison [0.0.8] Import: any folder of screenshots and photos into the library, a folder for each source 2026-10-09 08:15:12 +01:00
Labels [0.1.24] GPU memory: OCR runs largest first, gives its arenas' blocks back after each stage, and keeps its worker threads 2026-10-17 21:12:57 -04:00
OCR [0.1.25] OCR on the GPU runs as many detector and recognizer runs at once as fit in its memory 2026-10-17 21:31:17 -04:00
onnxruntime [0.1.25] OCR on the GPU runs as many detector and recognizer runs at once as fit in its memory 2026-10-17 21:31:17 -04:00
Screen_Record [0.1.10] Recording toolbar: a System sound button beside Mic 2026-10-10 08:20:13 +01:00
sdl3 [0.0.0] Capture viewer: a grid of every .mcap's preview, and one capture at full size in a window of its own 2026-10-07 11:41:38 +01:00
Secure_Memory [0.0.0] Capture viewer: a grid of every .mcap's preview, and one capture at full size in a window of its own 2026-10-07 11:41:38 +01:00
Segment [0.1.24] GPU memory: OCR runs largest first, gives its arenas' blocks back after each stage, and keeps its worker threads 2026-10-17 21:12:57 -04:00
Serialization [0.0.8] Import: any folder of screenshots and photos into the library, a folder for each source 2026-10-09 08:15:12 +01:00
Shared_Memory_Channel [0.0.0] Capture viewer: a grid of every .mcap's preview, and one capture at full size in a window of its own 2026-10-07 11:41:38 +01:00
Snagx [0.0.8] Import: any folder of screenshots and photos into the library, a folder for each source 2026-10-09 08:15:12 +01:00
Thread [0.0.0] Capture viewer: a grid of every .mcap's preview, and one capture at full size in a window of its own 2026-10-07 11:41:38 +01:00
XDG [0.0.0] Capture viewer: a grid of every .mcap's preview, and one capture at full size in a window of its own 2026-10-07 11:41:38 +01:00
Hash_Table.jai [0.0.0] Capture viewer: a grid of every .mcap's preview, and one capture at full size in a window of its own 2026-10-07 11:41:38 +01:00
Runtime_Support.jai [0.0.0] OCR: an onnxruntime module and an OCR module, PP-OCRv5 mobile and server, on the GPU through CUDA when it can 2026-10-07 20:45:05 +01:00