Browse Source

!2122 fix ge_model.h

Merge pull request !2122 from yanghaoran/release
tags/v1.8.0^2
yanghaoran Gitee 2 years ago
parent
commit
96ae7c63aa
No known key found for this signature in database GPG Key ID: 173E9B9CA92EEF8F
5 changed files with 11 additions and 242 deletions
  1. +11
    -11
      ge/common/model/ge_model.h
  2. +0
    -50
      inc/aicpu/aicpu_schedule/aicpu_op_type_list.h
  3. +0
    -104
      inc/aicpu/common/aicpu_task_struct.h
  4. +0
    -48
      inc/aicpu/common/type_def.h
  5. +0
    -29
      inc/aicpu/tsd/status.h

+ 11
- 11
ge/common/model/ge_model.h View File

@@ -27,16 +27,16 @@
#include "common/cust_aicpu_kernel_store.h"
#include "framework/common/debug/log.h"
#include "framework/common/fmk_error_codes.h"
#include "framework/common/ge_types.h"
#include "graph/buffer.h"
#include "external/graph/graph.h"
#include "proto/task.pb.h"

namespace ge {
const uint32_t INVALID_MODEL_ID = 0xFFFFFFFFUL;
class GeModel : public AttrHolder {
public:
GeModel();
~GeModel() = default;
~GeModel() override = default;
GeModel(const GeModel &other) = delete;
GeModel &operator=(const GeModel &other) = delete;

@@ -57,10 +57,13 @@ class GeModel : public AttrHolder {
void SetCustAICPUKernelStore(const CustAICPUKernelStore &cust_aicpu_kernal_store);
void SetWeight(const Buffer &weights_buffer);

bool LoadTBEKernelStore(const uint8_t *const data, const size_t len);
bool loadAICPUKernelStore(const uint8_t *const data, const size_t len);

void SetName(const std::string &name);
void SetVersion(uint32_t version);
void SetVersion(const uint32_t version);
void SetPlatformVersion(const std::string &platform_version);
void SetPlatformType(uint8_t platform_type);
void SetPlatformType(const uint8_t platform_type);

void SetAttr(const ProtoAttrMap &attrs);

@@ -70,13 +73,10 @@ class GeModel : public AttrHolder {
using AttrHolder::GetAllAttrs;
using AttrHolder::GetAllAttrNames;

void SetModelId(uint32_t model_id) { model_id_ = model_id; }
void SetModelId(const uint32_t model_id) { model_id_ = model_id; }
uint32_t GetModelId() const { return model_id_; }

Status GetSessionId(uint32_t model_id, uint64_t &session_id) const;
void InsertSessionMap(uint32_t model_id, uint64_t session_id) {
model_id_to_session_id_map_.insert({model_id, session_id});
}
Status GetSessionId(const uint32_t model_id, uint64_t &session_id) const;

protected:
ConstProtoAttrMap &GetAttrMap() const override;
@@ -93,9 +93,9 @@ class GeModel : public AttrHolder {
Buffer weights_buffer_; /*lint !e148*/

std::string name_;
uint32_t version_ = {0};
uint32_t version_ = {0U};
std::string platform_version_;
uint8_t platform_type_ = {0};
uint8_t platform_type_ = {0U};
uint32_t model_id_ = INVALID_MODEL_ID;
std::map<uint32_t, uint64_t> model_id_to_session_id_map_;
};


+ 0
- 50
inc/aicpu/aicpu_schedule/aicpu_op_type_list.h View File

@@ -1,50 +0,0 @@
/**
* Copyright (c) Huawei Technologies Co., Ltd. 2019-2020. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef AICPU_OP_TYPE_LIST_H_
#define AICPU_OP_TYPE_LIST_H_
extern "C" {
enum OpKernelType { TF_KERNEL, CPU_KERNEL };
enum ReturnCode { OP_TYPE_NOT_SUPPORT, FORMAT_NOT_SUPPORT, DTYPE_NOT_SUPPORT };
#pragma pack(push, 1)
// One byte alignment
struct SysOpInfo {
uint64_t opLen;
uint64_t opType;
OpKernelType kernelsType;
};
struct SysOpCheckInfo {
uint64_t opListNum;
uint64_t offSetLen;
uint64_t sysOpInfoList;
uint64_t opParamInfoList;
};
struct SysOpCheckResp {
uint64_t opListNum;
bool isWithoutJson;
uint64_t returnCodeList;
uint64_t sysOpInfoList;
uint64_t opParamInfoList;
};
#pragma pack(pop)
}
#endif // AICPU_OP_TYPE_LIST_H_

+ 0
- 104
inc/aicpu/common/aicpu_task_struct.h View File

@@ -1,104 +0,0 @@
/**
* Copyright 2019-2020 Huawei Technologies Co., Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

#ifndef AICPU_TASK_STRUCT_H
#define AICPU_TASK_STRUCT_H

#include <cstdint>

namespace aicpu {

using char_t = char;

#pragma pack(push, 1)
struct AicpuParamHead {
uint32_t length; // Total length: include cunstom message
uint32_t ioAddrNum; // Input and output address number
uint32_t extInfoLength; // extInfo struct Length
uint64_t extInfoAddr; // extInfo address
};

enum class AicpuConfigMsgType {
AICPU_CONFIG_MSG_TYPE_BUF_FREE = 0, /* free buf */
AICPU_CONFIG_MSG_TYPE_BUF_RESET = 1, /* reset buf */
AICPU_CONFIG_MSG_TYPE_BUF_SET_ADDR = 2, /* set buf addr to aicpu */
};

enum class AicpuErrMsgType {
ERR_MSG_TYPE_NULL = 0,
ERR_MSG_TYPE_AICORE = 1,
ERR_MSG_TYPE_AICPU = 2,
};

enum class AicpuExtInfoMsgType {
EXT_MODEL_ID_MSG_TYPE = 0,
};

struct AicpuConfigMsg {
uint8_t msgType;
uint8_t reserved1;
uint16_t bufLen;
uint32_t offset;
uint64_t bufAddr;
uint32_t tsId;
uint32_t reserved2;
};

struct AicpuModelIdInfo {
uint32_t modelId;
uint32_t extendModelId;
uint32_t extendInfo[13];
};

// 64 bytes
struct AicpuExtendInfo {
uint8_t msgType;
uint8_t version;
uint8_t reserved[2];
union {
AicpuModelIdInfo modelIdMap;
};
};

struct AicoreErrMsgInfo {
uint8_t errType;
uint8_t version;
uint8_t reserved1[2]; /* reserved1, 4 byte alignment */
uint32_t errorCode;
uint32_t modelId;
uint32_t taskId;
uint32_t streamId;
uint64_t transactionId;
uint8_t reserved2[228]; /* the total byte is 256, reserved2 len = 256 - other lens */
};

struct AicpuErrMsgInfo {
uint8_t errType;
uint8_t version;
uint8_t reserved1[2]; /* reserved1, 4 byte alignment */
uint32_t errorCode;
uint32_t modelId;
uint32_t streamId;
uint64_t transactionId;
char_t opName[64]; /* op name str */
char_t errDesc[128]; /* err msg desc info */
uint8_t reserved2[40]; /* the total byte is 256, reserved2 len = 256 - other lens */
};
#pragma pack(pop)

} // namespace aicpu

#endif // AICPU_TASK_STRUCT_H

+ 0
- 48
inc/aicpu/common/type_def.h View File

@@ -1,48 +0,0 @@
/**
* Copyright (c) Huawei Technologies Co., Ltd. 2021. All rights reserved.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
* Description:interface.
* Create: 2021-12-21
*/
#ifndef AICPU_TYPE_DEF_H
#define AICPU_TYPE_DEF_H

#include <cstdint>
#include <cstddef>
#ifndef char_t
typedef char char_t;
#endif

#ifndef float32_t
typedef float float32_t;
#endif

#ifndef float64_t
typedef double float64_t;
#endif

inline uint64_t PtrToValue(const void *ptr) {
return static_cast<const uint64_t>(reinterpret_cast<const uintptr_t>(ptr));
}

inline void *ValueToPtr(const uint64_t value) {
return reinterpret_cast<void *>(static_cast<const uintptr_t>(value));
}

template <typename TI, typename TO>
inline TO *PtrToPtr(TI *ptr) {
return reinterpret_cast<TO *>(ptr);
}

template <typename T>
inline T *PtrAdd(T *const ptr, const size_t maxIdx, const size_t idx) {
if ((ptr != nullptr) && (idx < maxIdx)) {
return reinterpret_cast<T *>(ptr + idx);
}
return nullptr;
}
#endif // AICPU_TYPE_DEF_H

+ 0
- 29
inc/aicpu/tsd/status.h View File

@@ -1,29 +0,0 @@
/**
* Copyright (c) Hisilicon Technologies Co., Ltd. 2019-2021. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

#ifndef INC_TDT_STATUS_H
#define INC_TDT_STATUS_H
#include "common/type_def.h"
namespace tsd {
#ifdef __cplusplus
using TSD_StatusT = uint32_t;
#else
typedef uint32_t TSD_StatusT;
#endif
// success code
constexpr TSD_StatusT TSD_OK = 0U;
} // namespace tsd
#endif // INC_TDT_STATUS_H

Loading…
Cancel
Save