acc.h Source File

acc.h Source File#

SDK qb Runtime Library: acc.h Source File
SDK qb Runtime Library v1.0
MCS001-
acc.h
Go to the documentation of this file.
1// Copyright ⓒ 2019- Mobilint Inc. All rights reserved.
5
6#ifndef QBRUNTIME_ACC_H_
7#define QBRUNTIME_ACC_H_
8
9#ifndef _MSC_VER
10#include <experimental/propagate_const>
11#endif
12#include <memory>
13#include <string>
14#include <vector>
15
16#include "qbruntime/export.h"
17#include "qbruntime/model.h"
19#include "qbruntime/type.h"
20
21namespace mobilint {
22
27
28class AcceleratorImpl;
29
33class QBRUNTIME_EXPORT Accelerator {
34public:
45 static std::unique_ptr<Accelerator> create(StatusCode& sc);
46
58 static std::unique_ptr<Accelerator> create(int dev_no, StatusCode& sc);
59
64 static std::unique_ptr<Accelerator> create(int dev_no, bool verbose, StatusCode& sc);
65
66 Accelerator(const Accelerator& other) = delete;
67 Accelerator(Accelerator&& other) noexcept;
68 Accelerator& operator=(const Accelerator& rhs) = delete;
69 Accelerator& operator=(Accelerator&& rhs) noexcept;
70
75
76private:
77 Accelerator();
78
79#ifndef _MSC_VER
80 std::experimental::propagate_const<std::unique_ptr<AcceleratorImpl>> mImpl;
81#else
82 std::unique_ptr<AcceleratorImpl> mImpl;
83#endif
84
85 friend class Model;
86 friend class AsyncModel;
87};
88
90
91} // namespace mobilint
92
93#endif
static std::unique_ptr< Accelerator > create(StatusCode &sc)
Creates an Accelerator object for executing models, using device number 0.
static std::unique_ptr< Accelerator > create(int dev_no, bool verbose, StatusCode &sc)
static std::unique_ptr< Accelerator > create(int dev_no, StatusCode &sc)
Creates an Accelerator object for a specific device.
~Accelerator()
Destroys the Accelerator object and releases resources.
StatusCode
Enumerates status codes for the qbruntime.
Definition status_code.h:26