Line data Source code
1 : /*! 2 : * \file 3 : * \brief Class sched::Scheduler_from_file. 4 : */ 5 : #ifndef SCHEDULER_FROM_FILE_HPP__ 6 : #define SCHEDULER_FROM_FILE_HPP__ 7 : 8 : #include "Scheduler/Scheduler.hpp" 9 : 10 : namespace spu 11 : { 12 : namespace sched 13 : { 14 : 15 : class Scheduler_from_file : public Scheduler 16 : { 17 : protected: 18 : std::vector<std::pair<size_t, size_t>> solution_from_file; 19 : std::vector<size_t> sync_buff_sizes_from_file; 20 : std::vector<bool> sync_active_waitings_from_file; 21 : std::vector<std::vector<size_t>> puids_from_file; 22 : 23 : public: 24 : Scheduler_from_file(runtime::Sequence& sequence, const std::string filename); 25 : Scheduler_from_file(runtime::Sequence* sequence, const std::string filename); 26 0 : ~Scheduler_from_file() = default; 27 : virtual void schedule() override; 28 : 29 : std::vector<bool> get_thread_pinnings() const override; 30 : std::vector<size_t> get_sync_buff_sizes() const override; 31 : std::vector<bool> get_sync_active_waitings() const override; 32 : std::string get_threads_mapping() const override; 33 : }; 34 : } // namespace sched 35 : } // namespace spu 36 : 37 : #endif // SCHEDULER_FROM_FILE_HPP__