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

Last change on this file since 5390 was 5377, checked in by nmedfort, 2 years ago

Support for stdin. Needs more testing.

File size: 877 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); 
20private:
21    void generateInitMethod() override;
22    void generateDoSegmentMethod(llvm::Value * doFinal, const std::vector<llvm::Value *> & producerPos) override;
23private:
24    const unsigned mSegmentBlocks;
25    const unsigned mCodeUnitWidth;
26};
27
28}
29
30#endif
Note: See TracBrowser for help on using the repository browser.