Repeating streamset template in csv2json
Branch csv2json_with_repeating_template has an initial attempt at using a repeating streamset template in the csv2json application.
I am unsure about how to use this repeating stream set facility. Please add some comments to the header file or the wiki to document.
I have made a guess that you need to provide a vector of individual element values for a single stream, so I have tried to use the bytes of the template strings in csv2json as the values for pattern_t.
If this is correct, then the next question is whether it is possible to apply a kernel such as S2P to a repeating streamset to produce another repeating streamset. Maybe not, because I currently get an error in compiling csv2json on the new branch:
csv2json: /home/cameron/parabix-devel/lib/kernel/pipeline/compiler/analysis/relationship_analysis.cpp:1006: void kernel::PipelineAnalysis::combineDuplicateKernels(kernel::BuilderRef, kernel::ProgramGraph&): Assertion `isa<StreamSet>(G[relationship].Relationship)' failed.
If was not the intention to support the latter, then should I be breaking down the individual bytes into their bits and supply 8 vectors of bits?
Please review this application and advise the path forward for making use of repeating streamsets.
Actually, the ideal method for csv2json would probably be this:
- We create a memory buffer having the concatenation of the template strings.
- We set this up as a memory source kernel
- We transpose to produce bit streams using S2P.
- We have a casting facility that can cast the result streamset to an repeating streamset.