swh:1:snp:f50ab94432af916b5fb8b4ad831e8dddded77084
Raw File
Tip revision: a8e76a0261bd86abc2717bed593b592b93b53198 authored by Vadim Mazalov on 30 October 2018, 03:28:55 UTC
Enable NCCL Group start/end
Tip revision: a8e76a0
Packer.h
//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.md file in the project root for full license information.
//

#pragma once

#include "Reader.h"
#include "MemoryProvider.h"

namespace CNTK {

// A packer interface.
class Packer
{
public:
    // Sets current epoch configuration.
    virtual void SetConfiguration(const ReaderConfiguration& config, const std::vector<MemoryProviderPtr>& memoryProviders) = 0;

    // Flushes the internal state of the packer.
    virtual void Reset() {};

    virtual Minibatch ReadMinibatch() = 0;
    virtual std::vector<StreamInformation> GetStreamDescriptions() = 0;

    virtual ~Packer() {}
};

typedef std::shared_ptr<Packer> PackerPtr;

}
back to top