File size: 1,162 Bytes
71e354e | 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 30 31 32 33 34 35 36 37 | /**************************************************************************************************
*
* Copyright (c) 2019-2026 Axera Semiconductor (Ningbo) Co., Ltd. All Rights Reserved.
*
* This source file is the property of Axera Semiconductor (Ningbo) Co., Ltd. and
* may not be copied or distributed in any isomorphic form without the prior
* written consent of Axera Semiconductor (Ningbo) Co., Ltd.
*
**************************************************************************************************/
#if defined (CHIP_AX8850)
#pragma once
#include <cstdint>
#include <functional>
#include "axcl.h"
class AxclEngineGuard {
public:
using npu_func = std::function<bool(int)>;
explicit AxclEngineGuard(const char *config,
axclrtEngineVNpuKind npuKind,
int device_index,
const npu_func& func);
~AxclEngineGuard();
AxclEngineGuard(const AxclEngineGuard &) = delete;
AxclEngineGuard &operator=(const AxclEngineGuard &) = delete;
AxclEngineGuard(AxclEngineGuard &&) = delete;
AxclEngineGuard &operator=(AxclEngineGuard &&) = delete;
private:
static thread_local int32_t count_;
};
#endif |