Browse Source

add declare used by acl

tags/v1.3.0
zhou_lili 3 years ago
parent
commit
9cda3adfb4
5 changed files with 42 additions and 3 deletions
  1. +9
    -0
      ge/generator/ge_generator.cc
  2. +9
    -1
      inc/external/ge/ge_api_types.h
  3. +3
    -2
      inc/framework/common/ge_types.h
  4. +3
    -0
      inc/framework/generator/ge_generator.h
  5. +18
    -0
      tests/ut/ge/generator/ge_generator_unittest.cc

+ 9
- 0
ge/generator/ge_generator.cc View File

@@ -844,9 +844,12 @@ Status GeGenerator::BuildSingleOpModel(OpDescPtr &op_desc, const vector<GeTensor
* @param [in] vector<GeTensor> &inputs: Operator input data description information.
* @param [in] vector<GeTensor> &outputs: Operator output data description information.
* @param [in] engine_type: specific engine.
* @param [in] compile_flag: op build flag, compile flag by acl
* @param [out] ModelBufferData &Model_buff: Model_buff: model buffer of the op.
* @return SUCCESS handle successfully / others handle failed
*/

// old process will be deleted
Status GeGenerator::BuildSingleOpModel(OpDescPtr &op_desc, const vector<GeTensor> &inputs,
const vector<GeTensor> &outputs, OpEngineType engine_type,
ModelBufferData &model_buff) {
@@ -857,6 +860,12 @@ Status GeGenerator::BuildSingleOpModel(OpDescPtr &op_desc, const vector<GeTensor
return status;
}

Status GeGenerator::BuildSingleOpModel(OpDescPtr &op_desc, const vector<GeTensor> &inputs,
const vector<GeTensor> &outputs, OpEngineType engine_type, int32_t compile_flag,
ModelBufferData &model_buff) {
return SUCCESS;
}

Status GeGenerator::BuildSingleOpGraph(OpDescPtr &op_desc, const vector<GeTensor> &inputs,
const vector<GeTensor> &outputs, std::string graph_name, Graph &graph) {
ge::ComputeGraphPtr compute_graph = MakeShared<ComputeGraph>(graph_name);


+ 9
- 1
inc/external/ge/ge_api_types.h View File

@@ -110,6 +110,7 @@ const char *const SAVE_ORIGINAL_MODEL = "ge.saveOriginalModel";
const char *const ORIGINAL_MODEL_FILE = "ge.originalModelFile";
const char *const INPUT_FP16_NODES = "ge.INPUT_NODES_SET_FP16";
const char *const OP_DEBUG_LEVEL = "ge.opDebugLevel";
const char *const PERFORMANCE_MODE = "ge.performance_mode";
} // namespace configure_option
// Configure stream num by Session constructor options param,
// its value should be int32_t type, default value is "1"
@@ -314,6 +315,11 @@ const std::string HCOM_MULTI_MODE = "ge.hcomMultiMode";
// atc and ir option
const char *const INPUT_SHAPE_RANGE = "input_shape_range";

// Configure express high compile performance or high execute performance
// normal: no need to compile, used saved .o files directly
// high: need to recompile, high execute performance mode
const std::string PERFORMANCE_MODE = "ge.performance_mode";

// Graph run mode
enum GraphRunMode { PREDICTION = 0, TRAIN };

@@ -388,6 +394,7 @@ static const char *const MDL_BANK_PATH = ge::MDL_BANK_PATH_FLAG.c_str();
static const char *const OP_BANK_PATH = ge::OP_BANK_PATH_FLAG.c_str();
static const char *const OP_BANK_UPDATE = ge::OP_BANK_UPDATE_FLAG.c_str();
static const char *const OP_DEBUG_LEVEL = ge::OP_DEBUG_LEVEL.c_str();
static const char *const PERFORMANCE_MODE = ge::PERFORMANCE_MODE.c_str();

// for interface: aclgrphBuildModel
#ifdef __GNUC__
@@ -412,7 +419,8 @@ const std::set<std::string> ir_builder_suppported_options = {INPUT_FORMAT,
OP_COMPILER_CACHE_MODE,
MDL_BANK_PATH,
OP_BANK_PATH,
OP_BANK_UPDATE};
OP_BANK_UPDATE,
PERFORMANCE_MODE};

// for interface: aclgrphParse
const std::set<std::string> ir_parser_suppported_options = {


+ 3
- 2
inc/framework/common/ge_types.h View File

@@ -67,8 +67,9 @@ struct DataBuffer {
void *data; // Data address
uint64_t length; // Data length
bool isDataSupportMemShare = false;
DataBuffer(void *dataIn, uint64_t len, bool isSupportMemShare)
: data(dataIn), length(len), isDataSupportMemShare(isSupportMemShare) {}
uint32_t placement = 0;
DataBuffer(void *dataIn, uint64_t len, bool isSupportMemShare, uint32_t placement = 0)
: data(dataIn), length(len), isDataSupportMemShare(isSupportMemShare), placement(placement) {}

DataBuffer() : data(nullptr), length(0), isDataSupportMemShare(false) {}
};


+ 3
- 0
inc/framework/generator/ge_generator.h View File

@@ -76,10 +76,13 @@ class GE_FUNC_VISIBILITY GeGenerator {
/// @param [in] inputs: input tensors.
/// @param [in] outputs: output tensors.
/// @param [in] engine_type: engine type.
/// @param [in] compile_flag: op build flag, accurate build is 0, fuzz build is 1
/// @param [out] model_buff: model buff of op.
/// @return SUCCESS or FAILED
Status BuildSingleOpModel(OpDescPtr &op_desc, const vector<GeTensor> &inputs, const vector<GeTensor> &outputs,
OpEngineType engine_type, ModelBufferData &model_buff);
Status BuildSingleOpModel(OpDescPtr &op_desc, const vector<GeTensor> &inputs, const vector<GeTensor> &outputs,
OpEngineType engine_type, int32_t compile_flag, ModelBufferData &model_buff);
///
/// @ingroup ge
/// @brief: Build single Op into model buff.


+ 18
- 0
tests/ut/ge/generator/ge_generator_unittest.cc View File

@@ -88,6 +88,24 @@ TEST_F(UtestGeGenerator, test_build_single_op_online) {
EXPECT_EQ(generator.BuildSingleOpModel(op_desc, inputs, outputs, ENGINE_AIVECTOR, model_buffer), FAILED);
}

TEST_F(UtestGeGenerator, test_singleop_fuzz_build) {
GeTensorDesc tensor_desc;
shared_ptr<OpDesc> op_desc = make_shared<OpDesc>("Add", "add");
op_desc->AddInputDesc(tensor_desc);
op_desc->AddInputDesc(tensor_desc);
op_desc->AddOutputDesc(tensor_desc);

GeTensor tensor(tensor_desc);
const vector<GeTensor> inputs = { tensor, tensor };
const vector<GeTensor> outputs = { tensor };

GeGenerator generator;
generator.Initialize({});
ModelBufferData model_buffer;
bool compile_flag = true;
EXPECT_EQ(generator.BuildSingleOpModel(op_desc, inputs, outputs, ENGINE_AIVECTOR, compile_flag, model_buffer), SUCCESS);
}

TEST_F(UtestGeGenerator, test_check_aicore) {
GeGenerator generator;
generator.Initialize({});


Loading…
Cancel
Save