From f19981a9c98ec73766d3862293fe03c9692254b2 Mon Sep 17 00:00:00 2001 From: Rob Cameron <cameron@cs.sfu.ca> Date: Mon, 5 Jul 2021 11:34:27 -0700 Subject: [PATCH] Attribute fixes to resolve stream-length mismatches --- lib/kernel/pipeline/compiler/config.h | 2 +- lib/kernel/scan/scanmatchgen.cpp | 4 ++-- lib/kernel/streamutils/deletion.cpp | 2 +- lib/kernel/streamutils/pdep_kernel.cpp | 4 ++-- lib/kernel/util/linebreak_kernel.cpp | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/kernel/pipeline/compiler/config.h b/lib/kernel/pipeline/compiler/config.h index 9cd2f8f2b..b138d5960 100644 --- a/lib/kernel/pipeline/compiler/config.h +++ b/lib/kernel/pipeline/compiler/config.h @@ -1,7 +1,7 @@ #ifndef PIPELINE_KERNEL_COMPILER_CONFIG_H #define PIPELINE_KERNEL_COMPILER_CONFIG_H -#define PRINT_DEBUG_MESSAGES +//#define PRINT_DEBUG_MESSAGES // #define PRINT_DEBUG_MESSAGES_FOR_KERNEL_NUM 31,32,33,34,35,36 diff --git a/lib/kernel/scan/scanmatchgen.cpp b/lib/kernel/scan/scanmatchgen.cpp index 7f7ef62c0..6bbf5277d 100755 --- a/lib/kernel/scan/scanmatchgen.cpp +++ b/lib/kernel/scan/scanmatchgen.cpp @@ -674,8 +674,8 @@ ScanBatchKernel::ScanBatchKernel(BuilderRef b, StreamSet * const Matches, Stream : MultiBlockKernel(b, "scanBatch" + std::to_string(strideBlocks), // inputs {Binding{"matchResult", Matches} -,Binding{"lineBreak", LineBreakStream} -,Binding{"InputStream", ByteStream, FixedRate(), { Deferred() }}}, +,Binding{"lineBreak", LineBreakStream, FixedRate(), ZeroExtended()} +,Binding{"InputStream", ByteStream, FixedRate(), { ZeroExtended(), Deferred() }}}, // outputs {}, // input scalars diff --git a/lib/kernel/streamutils/deletion.cpp b/lib/kernel/streamutils/deletion.cpp index b89fb6e20..3eee69e6d 100755 --- a/lib/kernel/streamutils/deletion.cpp +++ b/lib/kernel/streamutils/deletion.cpp @@ -216,7 +216,7 @@ FieldCompressKernel::FieldCompressKernel(BuilderRef b, mMaskOp.operation = maskOp.operation; mMaskOp.bindings.push_back(std::make_pair("extractionMask", maskOp.bindings[0].second)); // assert (streamutil::resultStreamCount(maskOp) == 1); - mInputStreamSets.push_back({"extractionMask", maskOp.bindings[0].first}); + mInputStreamSets.push_back({"extractionMask", maskOp.bindings[0].first, FixedRate(), Principal()}); // assert (streamutil::resultStreamCount(inputOps) == outputStreamSet->getNumElements()); std::unordered_map<StreamSet *, std::string> inputBindings; std::tie(mInputOps, inputBindings) = streamutils::mapOperationsToStreamNames(inputOps); diff --git a/lib/kernel/streamutils/pdep_kernel.cpp b/lib/kernel/streamutils/pdep_kernel.cpp index da82fa506..2f6ebf8d8 100755 --- a/lib/kernel/streamutils/pdep_kernel.cpp +++ b/lib/kernel/streamutils/pdep_kernel.cpp @@ -47,8 +47,8 @@ StreamExpandKernel::StreamExpandKernel(BuilderRef b, + "_" + std::to_string(source->getNumElements()) + ":" + std::to_string(expanded->getNumElements()), // input stream sets -{Binding{"marker", mask, FixedRate()}, -Binding{"source", source, PopcountOf("marker"), BlockSize(b->getBitBlockWidth())}}, +{Binding{"marker", mask, FixedRate(), Principal()}, + Binding{"source", source, PopcountOf("marker"), {ZeroExtended(), BlockSize(b->getBitBlockWidth())}}}, // output stream set {Binding{"output", expanded}}, // input scalar diff --git a/lib/kernel/util/linebreak_kernel.cpp b/lib/kernel/util/linebreak_kernel.cpp index acf25db63..2aa8f1cf1 100755 --- a/lib/kernel/util/linebreak_kernel.cpp +++ b/lib/kernel/util/linebreak_kernel.cpp @@ -345,7 +345,7 @@ void LineStartsKernel::generatePabloMethod() { LineSpansKernel::LineSpansKernel(BuilderRef b, StreamSet * LineStarts, StreamSet * LineEnds, StreamSet * LineSpans) : PabloKernel(b, "LineSpans", - {Binding{"LineStarts", LineStarts}, Binding{"LineEnds", LineEnds}}, + {Binding{"LineStarts", LineStarts}, Binding{"LineEnds", LineEnds, FixedRate(), Principal()}}, {Binding{"LineSpans", LineSpans}}) {} void LineSpansKernel::generatePabloMethod() { -- GitLab