Ignore:
Timestamp:
Jun 12, 2018, 4:09:27 AM (12 months ago)
Author:
xwa163
Message:
  1. Add command line parameter -enable-gather and -enable-scatter in lz4 parallel grep
  2. fix some bugs for AVX512 machine
Location:
icGREP/icgrep-devel/icgrep/lz4
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/lz4/LZ4Generator.cpp

    r6070 r6081  
    465465}
    466466
    467 parabix::StreamSetBuffer * LZ4Generator::generateParallelAIODecompression(const std::unique_ptr<kernel::KernelBuilder> & iBuilder) {
     467parabix::StreamSetBuffer * LZ4Generator::generateParallelAIODecompression(const std::unique_ptr<kernel::KernelBuilder> & iBuilder, bool enableGather, bool enableScatter) {
    468468    //// Decode Block Information
    469469    StreamSetBuffer * const BlockData_IsCompressed = mPxDriver.addBuffer<StaticBuffer>(iBuilder, iBuilder->getStreamSetTy(1, 8), this->getInputBufferBlocks(iBuilder), 1);
     
    484484    StreamSetBuffer * const decompressionByteStream = mPxDriver.addBuffer<StaticBuffer>(iBuilder, iBuilder->getStreamSetTy(1, 8), this->getDecompressedBufferBlocks(iBuilder), 1);
    485485
    486     Kernel* lz4AioK = mPxDriver.addKernelInstance<LZ4ParallelByteStreamAioKernel>(iBuilder);
     486    Kernel* lz4AioK = mPxDriver.addKernelInstance<LZ4ParallelByteStreamAioKernel>(iBuilder, enableGather, enableScatter);
    487487    lz4AioK->setInitialArguments({mFileSize});
    488488    mPxDriver.makeKernelCall(
  • icGREP/icgrep-devel/icgrep/lz4/LZ4Generator.h

    r6066 r6081  
    4141    virtual void generateLoadByteStreamAndBitStream(const std::unique_ptr<kernel::KernelBuilder> & iBuilder);
    4242    virtual void generateExtractAndDepositMarkers(const std::unique_ptr<kernel::KernelBuilder> & iBuilder);
    43     virtual parabix::StreamSetBuffer * generateParallelAIODecompression(const std::unique_ptr<kernel::KernelBuilder> & iBuilder);
     43    virtual parabix::StreamSetBuffer * generateParallelAIODecompression(const std::unique_ptr<kernel::KernelBuilder> & iBuilder, bool enableGather, bool enableScatter);
    4444    virtual parabix::StreamSetBuffer * generateAIODecompression(const std::unique_ptr<kernel::KernelBuilder> & iBuilder);
    4545    virtual parabix::StreamSetBuffer * generateSwizzledAIODecompression(const std::unique_ptr<kernel::KernelBuilder> & iBuilder);
  • icGREP/icgrep-devel/icgrep/lz4/LZ4GrepGenerator.cpp

    r6080 r6081  
    606606}
    607607
    608 void LZ4GrepGenerator::generateParallelAioPipeline(re::RE* regex) {
     608void LZ4GrepGenerator::generateParallelAioPipeline(re::RE* regex, bool enableGather, bool enableScatter) {
    609609    auto & iBuilder = mPxDriver.getBuilder();
    610610    this->generateCountOnlyMainFunc(iBuilder);
    611611
    612612    this->generateLoadByteStream(iBuilder);
    613     parabix::StreamSetBuffer * decompressedByteStream = this->generateParallelAIODecompression(iBuilder);
     613    parabix::StreamSetBuffer * decompressedByteStream = this->generateParallelAIODecompression(iBuilder, enableGather, enableScatter);
    614614
    615615
  • icGREP/icgrep-devel/icgrep/lz4/LZ4GrepGenerator.h

    r6064 r6081  
    3939
    4040    void generateAioPipeline(re::RE* regex);
    41     void generateParallelAioPipeline(re::RE* regex);
     41    void generateParallelAioPipeline(re::RE* regex, bool enableGather, bool enableScatter);
    4242
    4343    ScanMatchGrepMainFunctionType getScanMatchGrepMainFunction();
Note: See TracChangeset for help on using the changeset viewer.