| @@ -185,6 +185,7 @@ Status TransFormatFromNdToFracNz(const TransArgs &args, TransResult &result, con | |||||
| auto src_offset = (src_h_head + w1_idx * w0) * size; | auto src_offset = (src_h_head + w1_idx * w0) * size; | ||||
| auto protected_size = dst_size - dst_offset < static_cast<int64_t>(SECUREC_MEM_MAX_LEN) ? | auto protected_size = dst_size - dst_offset < static_cast<int64_t>(SECUREC_MEM_MAX_LEN) ? | ||||
| dst_size - dst_offset : static_cast<int64_t>(SECUREC_MEM_MAX_LEN); | dst_size - dst_offset : static_cast<int64_t>(SECUREC_MEM_MAX_LEN); | ||||
| GE_CHECK_GE(protected_size, 0); | |||||
| auto ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | auto ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | ||||
| static_cast<size_t>(size * w0)); | static_cast<size_t>(size * w0)); | ||||
| if (ret != EOK) { | if (ret != EOK) { | ||||
| @@ -202,6 +203,7 @@ Status TransFormatFromNdToFracNz(const TransArgs &args, TransResult &result, con | |||||
| auto src_offset = (src_h_head + src_w_idx) * size; | auto src_offset = (src_h_head + src_w_idx) * size; | ||||
| auto protected_size = dst_size - dst_offset < static_cast<int64_t>(SECUREC_MEM_MAX_LEN) ? | auto protected_size = dst_size - dst_offset < static_cast<int64_t>(SECUREC_MEM_MAX_LEN) ? | ||||
| dst_size - dst_offset : static_cast<int64_t>(SECUREC_MEM_MAX_LEN); | dst_size - dst_offset : static_cast<int64_t>(SECUREC_MEM_MAX_LEN); | ||||
| GE_CHECK_GE(protected_size, 0); | |||||
| auto ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | auto ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | ||||
| static_cast<size_t>(size)); | static_cast<size_t>(size)); | ||||
| if (ret != EOK) { | if (ret != EOK) { | ||||
| @@ -267,6 +269,7 @@ Status TransFormatFromFracNzToNd(const TransArgs &args, TransResult &result, con | |||||
| auto dst_offset = (dst_h_head + w1_idx * w0) * size; | auto dst_offset = (dst_h_head + w1_idx * w0) * size; | ||||
| auto protected_size = dst_size - dst_offset < static_cast<int64_t>(SECUREC_MEM_MAX_LEN) ? | auto protected_size = dst_size - dst_offset < static_cast<int64_t>(SECUREC_MEM_MAX_LEN) ? | ||||
| dst_size - dst_offset : static_cast<int64_t>(SECUREC_MEM_MAX_LEN); | dst_size - dst_offset : static_cast<int64_t>(SECUREC_MEM_MAX_LEN); | ||||
| GE_CHECK_GE(protected_size, 0); | |||||
| ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | ||||
| static_cast<size_t>(size * w0)); | static_cast<size_t>(size * w0)); | ||||
| if (ret != EOK) { | if (ret != EOK) { | ||||
| @@ -285,6 +288,7 @@ Status TransFormatFromFracNzToNd(const TransArgs &args, TransResult &result, con | |||||
| auto dst_offset = (dst_h_head + dst_w_idx) * size; | auto dst_offset = (dst_h_head + dst_w_idx) * size; | ||||
| auto protected_size = dst_size - dst_offset < static_cast<int64_t>(SECUREC_MEM_MAX_LEN) ? | auto protected_size = dst_size - dst_offset < static_cast<int64_t>(SECUREC_MEM_MAX_LEN) ? | ||||
| dst_size - dst_offset : static_cast<int64_t>(SECUREC_MEM_MAX_LEN); | dst_size - dst_offset : static_cast<int64_t>(SECUREC_MEM_MAX_LEN); | ||||
| GE_CHECK_GE(protected_size, 0); | |||||
| ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | ||||
| static_cast<size_t>(size)); | static_cast<size_t>(size)); | ||||
| if (ret != EOK) { | if (ret != EOK) { | ||||
| @@ -193,6 +193,7 @@ Status TransFormatFromNdToFracZz(const TransArgs &args, TransResult &result, con | |||||
| auto protected_size = dst_size - dst_offset < static_cast<int64_t>(SECUREC_MEM_MAX_LEN) | auto protected_size = dst_size - dst_offset < static_cast<int64_t>(SECUREC_MEM_MAX_LEN) | ||||
| ? dst_size - dst_offset | ? dst_size - dst_offset | ||||
| : static_cast<int64_t>(SECUREC_MEM_MAX_LEN); | : static_cast<int64_t>(SECUREC_MEM_MAX_LEN); | ||||
| GE_CHECK_GE(protected_size, 0); | |||||
| auto ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | auto ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | ||||
| static_cast<size_t>(size * w0)); | static_cast<size_t>(size * w0)); | ||||
| if (ret != EOK) { | if (ret != EOK) { | ||||
| @@ -213,6 +214,7 @@ Status TransFormatFromNdToFracZz(const TransArgs &args, TransResult &result, con | |||||
| auto protected_size = dst_size - dst_offset < static_cast<int64_t>(SECUREC_MEM_MAX_LEN) | auto protected_size = dst_size - dst_offset < static_cast<int64_t>(SECUREC_MEM_MAX_LEN) | ||||
| ? dst_size - dst_offset | ? dst_size - dst_offset | ||||
| : static_cast<int64_t>(SECUREC_MEM_MAX_LEN); | : static_cast<int64_t>(SECUREC_MEM_MAX_LEN); | ||||
| GE_CHECK_GE(protected_size, 0); | |||||
| auto ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | auto ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | ||||
| static_cast<size_t>(size)); | static_cast<size_t>(size)); | ||||
| if (ret != EOK) { | if (ret != EOK) { | ||||
| @@ -284,6 +286,7 @@ Status TransFormatFromFracZzToNd(const TransArgs &args, TransResult &result, con | |||||
| auto protected_size = dst_size - dst_offset < static_cast<int64_t>(SECUREC_MEM_MAX_LEN) | auto protected_size = dst_size - dst_offset < static_cast<int64_t>(SECUREC_MEM_MAX_LEN) | ||||
| ? dst_size - dst_offset | ? dst_size - dst_offset | ||||
| : static_cast<int64_t>(SECUREC_MEM_MAX_LEN); | : static_cast<int64_t>(SECUREC_MEM_MAX_LEN); | ||||
| GE_CHECK_GE(protected_size, 0); | |||||
| auto ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | auto ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | ||||
| static_cast<size_t>(size * w0)); | static_cast<size_t>(size * w0)); | ||||
| if (ret != EOK) { | if (ret != EOK) { | ||||
| @@ -304,6 +307,7 @@ Status TransFormatFromFracZzToNd(const TransArgs &args, TransResult &result, con | |||||
| auto protected_size = dst_size - dst_offset < static_cast<int64_t>(SECUREC_MEM_MAX_LEN) | auto protected_size = dst_size - dst_offset < static_cast<int64_t>(SECUREC_MEM_MAX_LEN) | ||||
| ? dst_size - dst_offset | ? dst_size - dst_offset | ||||
| : static_cast<int64_t>(SECUREC_MEM_MAX_LEN); | : static_cast<int64_t>(SECUREC_MEM_MAX_LEN); | ||||
| GE_CHECK_GE(protected_size, 0); | |||||
| auto ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | auto ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | ||||
| static_cast<size_t>(size)); | static_cast<size_t>(size)); | ||||
| if (ret != EOK) { | if (ret != EOK) { | ||||
| @@ -1792,7 +1792,8 @@ Status ModelManager::LaunchKernelCheckAicpuOp(std::vector<std::string> &aicpu_op | |||||
| std::vector<char> op_name; | std::vector<char> op_name; | ||||
| op_name.clear(); | op_name.clear(); | ||||
| op_name.resize(kOpNameMaxSize); | op_name.resize(kOpNameMaxSize); | ||||
| GE_CHK_RT(rtMemcpy(op_name.data(), aicpu_info.opLen, reinterpret_cast<void *>(aicpu_info.opType), | |||||
| GE_CHK_RT(rtMemcpy(op_name.data(), aicpu_info.opLen, | |||||
| reinterpret_cast<void *>(static_cast<uintptr_t>(aicpu_info.opType)), | |||||
| aicpu_info.opLen, RT_MEMCPY_DEVICE_TO_HOST)); | aicpu_info.opLen, RT_MEMCPY_DEVICE_TO_HOST)); | ||||
| std::string kernel_type = | std::string kernel_type = | ||||
| (static_cast<OpKernelType>(aicpu_info.kernelsType) == TF_KERNEL) ? "TF_KERNEL" : "CPU_KERNEL"; | (static_cast<OpKernelType>(aicpu_info.kernelsType) == TF_KERNEL) ? "TF_KERNEL" : "CPU_KERNEL"; | ||||
| @@ -329,7 +329,7 @@ void HcclTaskInfo::GetPrivateDefByTaskDef(const domi::TaskDef &task) { | |||||
| // Get privateDef and opsKernelStorePtr from taskDef and save them in taskInfo | // Get privateDef and opsKernelStorePtr from taskDef and save them in taskInfo | ||||
| GELOGI("get custom info in modelTaskDef."); | GELOGI("get custom info in modelTaskDef."); | ||||
| ops_kernel_store_ = nullptr; | ops_kernel_store_ = nullptr; | ||||
| void *ops_kernel_store_name_temp = reinterpret_cast<void *>(task.ops_kernel_store_ptr()); | |||||
| void *ops_kernel_store_name_temp = reinterpret_cast<void *>(static_cast<uintptr_t>(task.ops_kernel_store_ptr())); | |||||
| if (ops_kernel_store_name_temp != nullptr) { | if (ops_kernel_store_name_temp != nullptr) { | ||||
| ops_kernel_store_ = std::move(ops_kernel_store_name_temp); | ops_kernel_store_ = std::move(ops_kernel_store_name_temp); | ||||
| std::string private_def_temp = task.private_def(); | std::string private_def_temp = task.private_def(); | ||||
| @@ -62,7 +62,8 @@ Status ZeroCopyOffset::InitInputDataInfo(int64_t output_size, void *virtual_addr | |||||
| for (size_t index = 0; index < zero_copy_basic_offset_.size(); ++index) { | for (size_t index = 0; index < zero_copy_basic_offset_.size(); ++index) { | ||||
| if (zero_copy_basic_offset_.at(index) == virtual_addr_offset) { | if (zero_copy_basic_offset_.at(index) == virtual_addr_offset) { | ||||
| out_count++; | out_count++; | ||||
| uint64_t out_offset = reinterpret_cast<uint64_t>(virtual_addr) + zero_copy_relative_offset_.at(index); | |||||
| uint64_t out_offset = static_cast<uint64_t>(reinterpret_cast<uintptr_t>(virtual_addr)) + | |||||
| zero_copy_relative_offset_.at(index); | |||||
| data_info_.emplace_back(output_size, reinterpret_cast<void *>(static_cast<uintptr_t>(out_offset))); | data_info_.emplace_back(output_size, reinterpret_cast<void *>(static_cast<uintptr_t>(out_offset))); | ||||
| relative_offset_.emplace_back(zero_copy_relative_offset_.at(index)); | relative_offset_.emplace_back(zero_copy_relative_offset_.at(index)); | ||||
| GELOGI("[ZCPY] virtual_addr: %p has been l2-fusion to %lu, need copy data_size is %ld.", basic_addr_, | GELOGI("[ZCPY] virtual_addr: %p has been l2-fusion to %lu, need copy data_size is %ld.", basic_addr_, | ||||
| @@ -117,7 +118,8 @@ Status ZeroCopyOffset::InitOutputDataInfo(const vector<int64_t> &input_size_list | |||||
| for (size_t index = 0; index < zero_copy_basic_offset_.size(); ++index) { | for (size_t index = 0; index < zero_copy_basic_offset_.size(); ++index) { | ||||
| if (zero_copy_basic_offset_.at(index) == virtual_addr_offset) { | if (zero_copy_basic_offset_.at(index) == virtual_addr_offset) { | ||||
| in_count++; | in_count++; | ||||
| uint64_t in_offset = reinterpret_cast<uint64_t>(virtual_addr_list[idx]) + zero_copy_relative_offset_.at(index); | |||||
| uint64_t in_offset = static_cast<uint64_t>(reinterpret_cast<uintptr_t>(virtual_addr_list[idx])) + | |||||
| zero_copy_relative_offset_.at(index); | |||||
| int64_t real_data_size = ModelUtils::GetInputSize(op_desc).at(idx); | int64_t real_data_size = ModelUtils::GetInputSize(op_desc).at(idx); | ||||
| data_info_.emplace_back(real_data_size, reinterpret_cast<void *>(static_cast<uintptr_t>(in_offset))); | data_info_.emplace_back(real_data_size, reinterpret_cast<void *>(static_cast<uintptr_t>(in_offset))); | ||||
| relative_offset_.emplace_back(zero_copy_relative_offset_.at(index)); | relative_offset_.emplace_back(zero_copy_relative_offset_.at(index)); | ||||
| @@ -173,6 +173,7 @@ HybridModelPipelineExecutor::HybridModelPipelineExecutor(HybridModel *model, uin | |||||
| config_.num_stages = model_->GetRootGraphItem()->NumGroups(); | config_.num_stages = model_->GetRootGraphItem()->NumGroups(); | ||||
| config_.device_id = device_id_; | config_.device_id = device_id_; | ||||
| config_.iteration_end = 0; | config_.iteration_end = 0; | ||||
| config_.rt_context = nullptr; | |||||
| } | } | ||||
| Status StageExecutor::InitExecutionContext() { | Status StageExecutor::InitExecutionContext() { | ||||