Changeset 6040


Ignore:
Timestamp:
May 14, 2018, 3:36:29 PM (3 months ago)
Author:
xwa163
Message:

Init checkin for bitstream_pdep_kernel with gather intrinsics

Location:
icGREP/icgrep-devel/icgrep
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/CMakeLists.txt

    r6039 r6040  
    102102add_library(UCDlib UCD/CaseFolding.cpp utf8_encoder.cpp utf16_encoder.cpp UCD/ucd_compiler.cpp UCD/PropertyObjects.cpp UCD/resolve_properties.cpp)
    103103add_library(GrepEngine  ${GREP_CORE_SRC} grep/grep_engine.cpp kernels/cc_kernel.cpp kernels/cc_scan_kernel.cpp kernels/charclasses.cpp kernels/streams_merge.cpp kernels/until_n.cpp kernels/UCD_property_kernel.cpp kernels/grapheme_kernel.cpp)
    104 add_library(LZ4_Lib lz4FrameDecoder.cpp kernels/cc_kernel.cpp kernels/lz4/lz4_deposit_uncompressed.cpp kernels/lz4/lz4_generate_deposit_stream.cpp kernels/pdep_kernel.cpp lz4/LZ4Generator.cpp kernels/lz4/lz4_block_decoder.cpp kernels/lz4/lz4_index_builder.cpp lz4/LZ4GrepEngine.cpp kernels/lz4/lz4_swizzled_match_copy_kernel.cpp kernels/bitstream_pdep_kernel.cpp kernels/swizzled_multiple_pdep_kernel.cpp kernels/lz4/lz4_bitstream_not_kernel.cpp kernels/lz4/lz4_bitstream_match_copy_kernel.cpp)
     104add_library(LZ4_Lib lz4FrameDecoder.cpp kernels/cc_kernel.cpp kernels/lz4/lz4_deposit_uncompressed.cpp kernels/lz4/lz4_generate_deposit_stream.cpp kernels/pdep_kernel.cpp lz4/LZ4Generator.cpp kernels/lz4/lz4_block_decoder.cpp kernels/lz4/lz4_index_builder.cpp lz4/LZ4GrepEngine.cpp kernels/lz4/lz4_swizzled_match_copy_kernel.cpp kernels/bitstream_pdep_kernel.cpp kernels/bitstream_gather_pdep_kernel.cpp kernels/swizzled_multiple_pdep_kernel.cpp kernels/lz4/lz4_bitstream_not_kernel.cpp kernels/lz4/lz4_bitstream_match_copy_kernel.cpp)
    105105
    106106
  • icGREP/icgrep-devel/icgrep/lz4/LZ4GrepGenerator.cpp

    r6039 r6040  
    2323#include <kernels/lz4/lz4_bitstream_not_kernel.h>
    2424#include <kernels/bitstream_pdep_kernel.h>
     25#include <kernels/bitstream_gather_pdep_kernel.h>
    2526#include <re/re_toolchain.h>
    2627
     
    613614}
    614615
    615 void LZ4GrepGenerator::generateCountOnlyGrepPipeline(re::RE *regex) {
     616void LZ4GrepGenerator::generateCountOnlyGrepPipeline(re::RE *regex, bool enableGather) {
    616617    auto & iBuilder = mPxDriver.getBuilder();
    617618    this->generateMainFunc(iBuilder);
     
    624625
    625626    StreamSetBuffer * depositedBits = mPxDriver.addBuffer<CircularBuffer>(iBuilder, iBuilder->getStreamSetTy(8), this->getDecompressedBufferBlocks());
    626     Kernel * bitStreamPDEPk = mPxDriver.addKernelInstance<BitStreamPDEPKernel>(iBuilder, 8);
     627    Kernel * bitStreamPDEPk = enableGather ? mPxDriver.addKernelInstance<BitStreamGatherPDEPKernel>(iBuilder, 8) : mPxDriver.addKernelInstance<BitStreamPDEPKernel>(iBuilder, 8);
    627628    mPxDriver.makeKernelCall(bitStreamPDEPk, {mDepositMarker, extractedBits}, {depositedBits});
    628629
  • icGREP/icgrep-devel/icgrep/lz4/LZ4GrepGenerator.h

    r6039 r6040  
    1919    LZ4GrepGenerator(bool enableMultiplexing = false);
    2020    void generateSwizzledCountOnlyGrepPipeline(re::RE *regex);
    21     void generateCountOnlyGrepPipeline(re::RE *regex);
     21    void generateCountOnlyGrepPipeline(re::RE *regex, bool enableGather = true);
    2222
    2323    void generateScanMatchGrepPipeline(re::RE* regex);
  • icGREP/icgrep-devel/icgrep/lz4_grep.cpp

    r6039 r6040  
    5050static cl::OptionCategory lz4GrepDebugFlags("LZ4 Grep Debug Flags", "lz4d debug options");
    5151static cl::opt<bool> swizzledDecompression("swizzled-decompression", cl::desc("Use swizzle approach for decompression"), cl::init(false), cl::cat(lz4GrepDebugFlags));
     52static cl::opt<bool> enableGather("enable-gather", cl::desc("Enable gather intrinsics for bitstream PDEP"), cl::init(false), cl::cat(lz4GrepDebugFlags));
    5253
    5354
     
    7879            g.generateSwizzledCountOnlyGrepPipeline(re_ast);
    7980        } else {
    80             g.generateCountOnlyGrepPipeline(re_ast);
     81            g.generateCountOnlyGrepPipeline(re_ast, enableGather);
    8182        }
    8283
Note: See TracChangeset for help on using the changeset viewer.