diff --git a/paddle/fluid/framework/reader.cc b/paddle/fluid/framework/reader.cc index c3fb657a3a2cb7c7792e758220913895337ce6d7..fa00c08e0d5791ee1187aed38b4d140564b7c97d 100644 --- a/paddle/fluid/framework/reader.cc +++ b/paddle/fluid/framework/reader.cc @@ -18,45 +18,9 @@ namespace paddle { namespace framework { ReaderBase::~ReaderBase() {} -std::vector> ReaderBase::SplitReader( - const platform::PlaceList &places) { - std::vector> readers; +FileReader::FileReader(const std::vector &dims) : dims_(dims) {} - auto mutex = std::make_shared(); - for (size_t i = 0; i < places.size(); ++i) { - readers.emplace_back(new ThreadSafeReader(this, mutex)); - } - - return readers; -} - -void ThreadSafeReader::ReadNext(std::vector *out) { - std::lock_guard guard(*mutex_); - reader_->ReadNext(out); -} - -void ThreadSafeReader::ReInit() { - std::lock_guard guard(*mutex_); - reader_->ReInit(); -} - -bool ThreadSafeReader::HasNext() const { - std::lock_guard guard(*mutex_); - return reader_->HasNext(); -} - -std::vector> ThreadSafeReader::SplitReader( - const platform::PlaceList &places) { - std::vector> readers; - for (size_t i = 0; i < places.size(); ++i) { - readers.emplace_back(new ThreadSafeReader(reader_, mutex_)); - } - return readers; -} - -FileReaderBase::FileReaderBase(const std::vector &dims) : dims_(dims) {} - -void FileReaderBase::ReadNext(std::vector *out) { +void FileReader::ReadNext(std::vector *out) { ReadNextImpl(out); PADDLE_ENFORCE_EQ(out->size(), dims_.size()); for (size_t i = 0; i < dims_.size(); ++i) { diff --git a/paddle/fluid/framework/reader.h b/paddle/fluid/framework/reader.h index 8989bddd10d9c6ac6de81afac363f7bc6c9caae8..3573b99becf6d657c680c5fec0bda4bdde5dd7a2 100644 --- a/paddle/fluid/framework/reader.h +++ b/paddle/fluid/framework/reader.h @@ -33,9 +33,6 @@ class ReaderBase { virtual bool HasNext() const = 0; - virtual std::vector> SplitReader( - const platform::PlaceList& places); - virtual ~ReaderBase(); }; @@ -53,27 +50,9 @@ class DecoratedReader : public ReaderBase { ReaderBase* reader_; }; -class ThreadSafeReader : public DecoratedReader { - public: - ThreadSafeReader(ReaderBase* reader, const std::shared_ptr& mutex) - : DecoratedReader(reader), mutex_(mutex) {} - - void ReadNext(std::vector* out) override; - - void ReInit() override; - - bool HasNext() const override; - - std::vector> SplitReader( - const platform::PlaceList& places) override; - - private: - std::shared_ptr mutex_; -}; - -class FileReaderBase : public ReaderBase { +class FileReader : public ReaderBase { public: - explicit FileReaderBase(const std::vector& dims); + explicit FileReader(const std::vector& dims); void ReadNext(std::vector* out) override; diff --git a/paddle/fluid/operators/reader/create_double_buffer_reader_op.cc b/paddle/fluid/operators/reader/create_double_buffer_reader_op.cc index 706f6fd592f88ceb9728ff75df955bbdd75c4c32..d0de092947eb04a1b7d06dedea919f6b1094dd06 100644 --- a/paddle/fluid/operators/reader/create_double_buffer_reader_op.cc +++ b/paddle/fluid/operators/reader/create_double_buffer_reader_op.cc @@ -39,7 +39,6 @@ class DoubleBufferReader : public framework::DecoratedReader { #ifdef PADDLE_WITH_CUDA ctxs_.emplace_back(new platform::CUDADeviceContext( boost::get(place_))); -#else #endif } } diff --git a/paddle/fluid/operators/reader/create_recordio_file_reader_op.cc b/paddle/fluid/operators/reader/create_recordio_file_reader_op.cc index 819e09a36966ad18da9dc2a0a9d4e587555da40f..c4aa29c7206dbd3fe6a99b2a6c5ac6f083621944 100644 --- a/paddle/fluid/operators/reader/create_recordio_file_reader_op.cc +++ b/paddle/fluid/operators/reader/create_recordio_file_reader_op.cc @@ -18,11 +18,11 @@ namespace paddle { namespace operators { namespace reader { -class RecordIOFileReader : public framework::FileReaderBase { +class RecordIOFileReader : public framework::FileReader { public: explicit RecordIOFileReader(const std::string& filename, const std::vector& dims) - : FileReaderBase(dims), + : FileReader(dims), scanner_(filename), dev_ctx_(*platform::DeviceContextPool::Instance().Get( platform::CPUPlace())) {}