Ignore:
Timestamp:
Feb 2, 2018, 2:49:08 PM (15 months ago)
Author:
nmedfort
Message:

Revised pipeline structure to better control I/O rates

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/kernels/streamset.h

    r5843 r5856  
    112112    virtual llvm::Value * getLinearlyWritableItems(IDISA::IDISA_Builder * const b, llvm::Value * handle, llvm::Value * fromPosition, llvm::Value * consumed, bool reverse = false) const;
    113113   
     114    virtual void doubleCapacity(IDISA::IDISA_Builder * const b, llvm::Value * handle) const;
     115
    114116    bool supportsCopyBack() const {
    115117        return mOverflowBlocks != 0;
     
    312314   
    313315// Dynamically allocated circular buffers: TODO: add copyback, swizzle support, dynamic allocation, producer, consumer, length
    314 class DynamicBuffer: public StreamSetBuffer {
     316class DynamicBuffer final : public StreamSetBuffer {
    315317public:
    316318    static inline bool classof(const StreamSetBuffer * b) {return b->getBufferKind() == BufferKind::DynamicBuffer;}
     
    324326    void allocateBuffer(const std::unique_ptr<kernel::KernelBuilder> & b) override;
    325327
    326     void releaseBuffer(const std::unique_ptr<kernel::KernelBuilder> & kb) const override;
     328    void releaseBuffer(const std::unique_ptr<kernel::KernelBuilder> & b) const override;
    327329
    328330    llvm::Value * getRawItemPointer(IDISA::IDISA_Builder * const b, llvm::Value * handle, llvm::Value * absolutePosition) const override;
     
    330332    llvm::Value * getBufferedSize(IDISA::IDISA_Builder * const b, llvm::Value * handle) const override;
    331333   
    332     void doubleCapacity(IDISA::IDISA_Builder * const b, llvm::Value * handle);
     334    void doubleCapacity(IDISA::IDISA_Builder * const b, llvm::Value * handle)  const final;
    333335
    334336protected:
Note: See TracChangeset for help on using the changeset viewer.