The limitations comes from both kernel side and regex-VM, since our reEngineKernel
is built upon L1 regex-VM. We just explain the kernel side limitations here, for those derived from primitive, please kindly 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, we cannot allocate unlimited size of buffer for configuration buffer cfg_buff
, message buffer msg_buff
, length buffer len_buff
, or result buffer out_buff
.
Choose the size for each buffer wisely is extremely critical for the overall throughput and XCLBIN buildability. Please 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 cannot be handled by the regex-VM, and the reEngine of course.