Ignore:
Timestamp:
Jul 31, 2017, 12:41:52 PM (22 months ago)
Author:
xuedongx
Message:

use multiplexed character classes as the input to grep kernel, restructure the icGrep pipeline: Matches = RE_compiler<regexp>(CharacterClasses?, LineBreaks?)

Location:
icGREP/icgrep-devel/icgrep/kernels
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/kernels/grep_kernel.cpp

    r5561 r5585  
    177177
    178178
    179 
    180 ICGrepKernel::ICGrepKernel(const std::unique_ptr<kernel::KernelBuilder> & iBuilder, RE * const re)
     179ICGrepKernel::ICGrepKernel(const std::unique_ptr<kernel::KernelBuilder> & iBuilder, RE * const re, bool cc, unsigned cc_size)
    181180: RegularExpressionOptimizer(re)
    182181, PabloKernel(iBuilder,
    183182              "ic" + sha1sum(mSignature),
    184               {Binding{iBuilder->getStreamSetTy(8), "basis"}, Binding{iBuilder->getStreamSetTy(1, 1), "linebreak"}, Binding{iBuilder->getStreamSetTy(4, 1), "required"}},
     183              {Binding{iBuilder->getStreamSetTy(cc ? cc_size : 8), "basis"}, Binding{iBuilder->getStreamSetTy(1, 1), "linebreak"}, Binding{iBuilder->getStreamSetTy(4, 1), "required"}},
    185184              {Binding{iBuilder->getStreamSetTy(1, 1), "matches"}}) {
    186185
  • icGREP/icgrep-devel/icgrep/kernels/grep_kernel.h

    r5561 r5585  
    4242class ICGrepKernel : public RegularExpressionOptimizer, public pablo::PabloKernel {
    4343public:
    44     ICGrepKernel(const std::unique_ptr<kernel::KernelBuilder> & iBuilder, re::RE * const re_ast);
     44    ICGrepKernel(const std::unique_ptr<kernel::KernelBuilder> & iBuilder, re::RE * const re_ast, bool cc = false, unsigned cc_size = 0);
    4545    std::string makeSignature(const std::unique_ptr<kernel::KernelBuilder> & iBuilder) override;
    4646    bool isCachable() const override { return true; }
Note: See TracChangeset for help on using the changeset viewer.