1 // Copyright (C) 2018 Intel Corporation
3 // SPDX-License-Identifier: Apache-2.0
21 class ExecutionEngineSetupContext;
23 class BackendExecutable;
25 class ExecutionBackend
28 virtual ~ExecutionBackend() = default;
30 virtual void setupExecutionEngine(ExecutionEngineSetupContext& engine) = 0;
31 virtual std::unique_ptr<BackendExecutable> createExecutable(const Graph& graph) = 0;
34 class BackendExecutable
37 // Backward-compatibility stubs
38 virtual void run() {}; // called by run(any)
39 virtual void runAsync() {}; // called by runAsync(any)
42 virtual ~BackendExecutable() = default;
44 virtual void run(util::any &opaque); // Triggered by ADE engine
45 virtual void runAsync(util::any &opaque); // Triggered by ADE engine
47 virtual void wait() = 0;
48 virtual void cancel() = 0;