source: icGREP/icgrep-devel/icgrep/kernels/mmap_kernel.h @ 5392

Last change on this file since 5392 was 5392, checked in by cameron, 2 years ago

Kernel signatures for object cache

File size: 932 bytes
Line 
1/*
2 *  Copyright (c) 2017 International Characters.
3 *  This software is licensed to the public under the Open Software License 3.0.
4 */
5#ifndef MMAP_KERNEL_H
6#define MMAP_KERNEL_H
7
8#include "kernel.h"
9namespace IDISA { class IDISA_Builder; }
10
11namespace kernel {
12
13/* The MMapSourceKernel is a simple wrapper for an external MMap file buffer.
14   The doSegment method of this kernel feeds one segment at a time to a
15   pipeline. */
16   
17class MMapSourceKernel final: public SegmentOrientedKernel {
18public:
19    MMapSourceKernel(IDISA::IDISA_Builder * iBuilder, unsigned blocksPerSegment = 1, unsigned codeUnitWidth = 8); 
20    bool moduleIDisSignature() override {return true;}
21private:
22    void generateInitMethod() override;
23    void generateDoSegmentMethod(llvm::Value * doFinal, const std::vector<llvm::Value *> & producerPos) override;
24private:
25    const unsigned mSegmentBlocks;
26    const unsigned mCodeUnitWidth;
27};
28
29}
30
31#endif
Note: See TracBrowser for help on using the repository browser.