The limitations come from both the kernel side and regex-VM, because your reEngineKernel
is built upon a L1 regex-VM. The kernel side limitations are only explained here; for those derived from the primitive, refer to Regular Expression Virtual Machine (regex-VM).
As the VM approach in L1 requires a certain size of on-chip RAMs inherently, the reEngineKernel
is naturally bounded by RAMs. Thus, you cannot allocate an unlimited size of buffer for the cfg_buff
configuration buffer, msg_buff
message buffer, len_buff
length buffer, or ``out_buff``result buffer.
Choosing the size for each buffer wisely is extremely critical for the overall throughput and XCLBIN buildability. Find a recommendation in re_engine_kernel.hpp
in path L2/tests/text/reEngine/kernel
. Insufficient size for these parameters will directly cause the input regular expression pattern to not be handled by the regex-VM, and the reEngine, of course.