Kompute
Loading...
Searching...
No Matches
OpSyncLocal.hpp
1// SPDX-License-Identifier: Apache-2.0
2#pragma once
3
4#include "kompute/Core.hpp"
5
6#include "kompute/Tensor.hpp"
7
8#include "kompute/operations/OpBase.hpp"
9
10namespace kp {
11
20class OpSyncLocal : public OpBase
21{
22 public:
31 OpSyncLocal(const std::vector<std::shared_ptr<Memory>>& memObjects);
32
37 OpSyncLocal(const OpSyncLocal&) = delete;
38 OpSyncLocal(const OpSyncLocal&&) = delete;
39 OpSyncLocal& operator=(const OpSyncLocal&) = delete;
40 OpSyncLocal& operator=(const OpSyncLocal&&) = delete;
41
46 ~OpSyncLocal() noexcept override;
47
54 void record(const vk::CommandBuffer& commandBuffer) override;
55
61 virtual void preEval(const vk::CommandBuffer& commandBuffer) override;
62
69 virtual void postEval(const vk::CommandBuffer& commandBuffer) override;
70
71 private:
72 // -------------- ALWAYS OWNED RESOURCES
73 std::vector<std::shared_ptr<Memory>> mMemObjects;
74};
75
76} // End namespace kp
Definition Memory.hpp:16
Definition OpBase.hpp:20
Definition OpSyncLocal.hpp:21
~OpSyncLocal() noexcept override
virtual void postEval(const vk::CommandBuffer &commandBuffer) override
OpSyncLocal(const std::vector< std::shared_ptr< Memory > > &memObjects)
void record(const vk::CommandBuffer &commandBuffer) override
OpSyncLocal(const OpSyncLocal &)=delete
Make OpSyncLocal non-copyable.
virtual void preEval(const vk::CommandBuffer &commandBuffer) override