Search-Based Regular Expression Inference on a GPU
summary
Enumerative RE inference runs as a cost-ordered search over languages encoded as contiguous matrix of bitvectors built from the infix-closure of the example set, with C++ CPU and CUDA GPU implementations and a read-only language cache plus a hashed global uniqueness check. Precomputation turns concatenation into linear scans, enabling massive parallelism; on a 5,000-instance benchmark the GPU implementation is over 1000x faster on the hardest cases, but larger alphabets blow up cache size.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 1:03Synthesis without GPUs
- 2:29Regular expression inference as a simple synthesis task
- 3:56Regex inference challenges
- 5:00Search space representation
- 6:45Characteristic sequences
- 8:53GPU-friendly bit vectors
- 10:00Star semi rings API
- 10:43Main algorithm and cache
- 11:46Concatenation example
- 13:56Uniqueness check
- 14:16Benchmarks
- 14:59Future work
- 15:42Mathematical questions
- 16:03Comparison with large language models
- 16:27Q&A
