Add Huawei Ascend NPU deploy through PaddleLite CANN

This commit is contained in:
yunyaoXYY
2022-11-30 07:50:24 +00:00
parent 9d78b1d414
commit a5e3c1ecb3
18 changed files with 371 additions and 6 deletions

View File

@@ -80,7 +80,17 @@ void LiteBackend::BuildOption(const LiteBackendOption& option) {
paddle::lite_api::Place{TARGET(kNNAdapter), PRECISION(kFloat)});
valid_places.push_back(
paddle::lite_api::Place{TARGET(kARM), PRECISION(kInt8)});
}else if(option_.enable_cann){
config_.set_nnadapter_device_names({"huawei_ascend_npu"});
config_.set_nnadapter_context_properties("HUAWEI_ASCEND_NPU_SELECTED_DEVICE_IDS=0");
valid_places.push_back(
paddle::lite_api::Place{TARGET(kNNAdapter), PRECISION(kInt8)});
valid_places.push_back(
paddle::lite_api::Place{TARGET(kNNAdapter), PRECISION(kFloat)});
valid_places.push_back(
paddle::lite_api::Place{TARGET(kARM), PRECISION(kInt8)});
}
valid_places.push_back(
paddle::lite_api::Place{TARGET(kARM), PRECISION(kFloat)});
config_.set_valid_places(valid_places);

View File

@@ -45,6 +45,7 @@ struct LiteBackendOption {
// Such as fp16, different device target (kARM/kXPU/kNPU/...)
std::string nnadapter_subgraph_partition_config_path = "";
bool enable_timvx = false;
bool enable_cann = false;
};
// Convert data type from paddle lite to fastdeploy