forked from openvinotoolkit/openvino
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcumulative_schedule.hpp
29 lines (24 loc) · 1012 Bytes
/
cumulative_schedule.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// Copyright (C) 2018-2023 Intel Corporation
// SPDX-License-Identifier: Apache-2.0
//
///////////////////////////////////////////////////////////////////////////////////////////////////
#pragma once
#include "schedule.hpp"
#include "async_infer_request.hpp"
namespace ov {
namespace auto_plugin {
class CumuSchedule : public Schedule {
public:
using Ptr = std::shared_ptr<CumuSchedule>;
virtual ~CumuSchedule();
std::unique_ptr<AutoCompileContext[]> m_p_ctput_loadcontext = nullptr;
size_t m_n_ctput_devicenums = 0;
private:
void init() override;
SoCompiledModel wait_first_compiled_model_ready() override;
bool schedule_to_worker_infer_request(ov::threading::Task, DeviceName preferred_device = "") override;
void try_to_compile_model(AutoCompileContext& context, const std::shared_ptr<ov::Model>& model) override;
bool select_other_device(const std::string& cur_dev_name) override;
};
} // namespace auto_plugin
} // namespace ov