source: icGREP/icgrep-devel/icgrep/kernels/fake_stream_generating_kernel.cpp @ 6161

Last change on this file since 6161 was 6133, checked in by xwa163, 15 months ago
  1. Add sourceCC in multiplexed CC
  2. Remove workaround FakeBasisBits? from ICGrep
  3. Implement Swizzled version of LZParabix
  4. Init checkin for SwizzleByGather? Kernel
File size: 1.8 KB
Line 
1
2#include "fake_stream_generating_kernel.h"
3#include <kernels/kernel_builder.h>
4#include <llvm/Support/raw_ostream.h>
5#include <toolchain/toolchain.h>
6
7using namespace llvm;
8
9namespace kernel {
10
11    FakeStreamGeneratingKernel::FakeStreamGeneratingKernel(const std::unique_ptr<kernel::KernelBuilder> &b,
12                                                                 const unsigned numberOfInputStream,
13                                                                 const unsigned numberOfOutputStream,
14                                                                 std::string name)
15            : FakeStreamGeneratingKernel(b, numberOfInputStream, std::vector<unsigned>({numberOfOutputStream}), name) {
16
17    }
18
19    FakeStreamGeneratingKernel::FakeStreamGeneratingKernel(const std::unique_ptr<kernel::KernelBuilder> &b,
20                                                           const unsigned numberOfInputStream,
21                                                           std::vector<unsigned> numbersOfOutputStreams,
22                                                           std::string name)
23            : MultiBlockKernel(std::move(name),
24// input stream sets
25                               {Binding{b->getStreamSetTy(numberOfInputStream), "inputStream", FixedRate(), Principal()}},
26// output stream set
27                               {},
28                               {}, {}, {}) {
29        for (unsigned i = 0; i < numbersOfOutputStreams.size(); i++) {
30            mStreamSetOutputs.push_back(Binding{b->getStreamSetTy(numbersOfOutputStreams[i]), "outputStream" + std::to_string(i), RateEqualTo("inputStream")});
31        }
32    }
33
34    void FakeStreamGeneratingKernel::generateMultiBlockLogic(const std::unique_ptr<KernelBuilder> &b,
35                                                             llvm::Value *const numOfStrides) {
36    }
37
38}
Note: See TracBrowser for help on using the repository browser.