Expand description
Core scan execution engine. Core scanning engine implementation.
Re-exports§
pub use gpu_regex_dfa::build_regex_dfa;pub use gpu_regex_dfa::RegexDfaError;
Modules§
- boundary
- Cross-chunk window-boundary secret reassembly.
- gpu_
decode_ scan - Fused GPU decode→scan: base64 and hex decode + Aho-Corasick match in a single GPU dispatch.
- gpu_
program_ fusion - GPU program fusion - collapses multiple sequential vyre
Programdispatches into a single fused program for single-GPU-dispatch execution. - gpu_
regex_ dfa - GPU
RegexDfaPipeline- regex sets compiled through DFA subset construction into O(1)/byte Aho-Corasick scanning. - segment_
attribution - Attribute coalesced scanner matches back to logical input segments.
Structs§
- AcConst
Packs - Cached per-process AC-kernel input constants - pre-packed LE byte
streams for the four DFA-shape inputs the AC bounded-ranges kernel
reads on every dispatch. Separate from
GpuConstPacksbecause the AC kernel binds different fields (dfa.transitions,dfa.output_offsets,dfa.output_records,pattern_lengths). - Compiled
Scanner - GpuConst
Packs - Cached per-process GPU input constants - pre-packed LE byte streams for the four pattern-shape inputs the GpuLiteralSet kernel reads on every dispatch. Filled on first scan, borrowed thereafter.
- Literal
Match - A byte-range match emitted by vyre scanning engines.
Enums§
- GpuInit
Policy - GpuPhase1
Output - Two-phase output of
CompiledScanner::scan_coalesced_gpu_phase1. - MlScore
Result
Constants§
- AC_
GPU_ MAX_ MATCHES_ PER_ DISPATCH - Output buffer cap for the AC GPU kernel, per shard dispatch.
- MEGASCAN_
INPUT_ LEN - Backwards-compatible alias preserved for any external consumer
that referenced the old constant by name. New code should call
megascan_input_lenso the host’s GPU VRAM scales the dispatch. - MEGASCAN_
INPUT_ LEN_ DEFAULT - Maximum input buffer length the MegaScan
RulePipelineis pre-compiled for. Chosen to match the orchestrator’sBATCH_BYTES_BUDGETso any normal coalesced batch fits the pre-built pipeline without needing recompile-per-batch. Batches larger than this fall back to the literal-set path.
Functions§
- build_
rule_ pipeline - Compile a
RulePipeline(vyre’s regex multimatch path) for the given detector regex sources, sized forinput_lenbytes. Uses vyre’sregex_compile::build_rule_pipeline_from_regexso each pattern is parsed viaregex_syntax(withunicode(false)/utf8(false)- ASCII byte automaton) and lowered to the same transition + epsilon tablesRulePipeline::scanexpects. - coalesce_
chunks - Build the contiguous GPU input buffer from
chunks. - floor_
char_ boundary - line_
number_ for_ offset - megascan_
input_ len - VRAM-adaptive megascan input length. Bigger buffers mean fewer device dispatches per multi-TB scan; each kernel launch is a fixed ~50-300 µs cost regardless of payload, so doubling the input halves dispatch overhead. Capped by host VRAM (input + transition tables + match output must fit) and by a 1 GiB upper bound so the pre-compile time stays bounded.
- next_
window_ offset - record_
window_ match - rule_
pipeline_ cached - Compile-or-load a
RulePipelinefor the given regex set. First call hits the on-disk cache; misses recompile and re-cache. ReturnsErrwhen the regex compile itself fails (state-cap overflow or unsupported regex syntax) - the caller is expected to log + fall back to the literal-set GPU dispatch in that case. - window_
chunk - window_
end_ offset