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

Last change on this file since 6135 was 6133, checked in by xwa163, 9 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.