blob: ce7cf1e9080051e81a6b527e7982a43054ecd204 [file] [log] [blame]
SiCong Lif44bbc52022-08-29 18:25:51 +01001/*
2 * Copyright (c) 2022 Arm Limited.
3 *
4 * SPDX-License-Identifier: MIT
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a copy
7 * of this software and associated documentation files (the "Software"), to
8 * deal in the Software without restriction, including without limitation the
9 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10 * sell copies of the Software, and to permit persons to whom the Software is
11 * furnished to do so, subject to the following conditions:
12 *
13 * The above copyright notice and this permission notice shall be included in all
14 * copies or substantial portions of the Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 * SOFTWARE.
23 */
24#include "arm_compute/dynamic_fusion/sketch/gpu/GpuWorkloadSketch.h"
25#include "src/dynamic_fusion/sketch/gpu/GpuWorkloadSketchImpl.h"
26
27namespace arm_compute
28{
29namespace experimental
30{
31namespace dynamic_fusion
32{
33GpuWorkloadSketch::GpuWorkloadSketch(Context *context)
34 : _impl{ std::make_unique<Implementation>(context) }
35{
36}
37GpuWorkloadSketch::~GpuWorkloadSketch()
38{
39}
40
41const GpuWorkloadSketch::Context *GpuWorkloadSketch::gpu_context() const
42{
43 return _impl->context();
44}
45
46TensorInfo GpuWorkloadSketch::create_tensor_info(const ITensorInfo &tensor_info)
47{
48 TensorInfo tensor{ tensor_info };
49 tensor.set_id(allocate_new_tensor_id());
50 return tensor;
51}
52
53TensorInfo GpuWorkloadSketch::create_tensor_info()
54{
55 TensorInfo tensor{};
56 tensor.set_id(allocate_new_tensor_id());
57 return tensor;
58}
59
60ITensorInfo::Id GpuWorkloadSketch::allocate_new_tensor_id()
61{
62 return _impl->allocate_new_tensor_id();
63}
64
65GpuWorkloadSketch::Implementation &GpuWorkloadSketch::implementation()
66{
67 return *_impl;
68}
69const GpuWorkloadSketch::Implementation &GpuWorkloadSketch::implementation() const
70{
71 return *_impl;
72}
73
74} // namespace dynamic_fusion
75} // namespace experimental
76} // namespace arm_compute