source: icGREP/icgrep-devel/icgrep/kernels/fake_stream_generating_kernel.h @ 6111

Last change on this file since 6111 was 6111, checked in by xwa163, 10 months ago
  1. Cleanup LZ4 AIO related kernels
  2. Improve LZ4ParallelByteStreamAIOKernel
  3. Implement simd_cttz
File size: 860 bytes
Line 
1
2#ifndef ICGREP_LZ4_FAKE_STREAM_GENERATING_KERNEL_H
3#define ICGREP_LZ4_FAKE_STREAM_GENERATING_KERNEL_H
4
5#include <kernels/kernel.h>
6#include <llvm/IR/Value.h>
7#include <string>
8
9namespace IDISA { class IDISA_Builder; }
10
11namespace kernel {
12
13    class FakeStreamGeneratingKernel final : public MultiBlockKernel {
14    public:
15        FakeStreamGeneratingKernel(const std::unique_ptr<kernel::KernelBuilder> & b, const unsigned numberOfInputStream = 1, const unsigned numberOfOutputStream = 1, std::string name = "LZ4FakeStreamGeneratingKernel");
16        bool isCachable() const override { return true; }
17        bool hasSignature() const override { return false; }
18
19    protected:
20        void generateMultiBlockLogic(const std::unique_ptr<KernelBuilder> & b, llvm::Value * const numOfStrides) final;
21    };
22}
23
24
25#endif //ICGREP_LZ4_FAKE_STREAM_GENERATING_KERNEL_H
Note: See TracBrowser for help on using the repository browser.