LCOV - code coverage report
Current view: top level - acl/aclrt_impl - model_ri.cpp (source / functions) Coverage Total Hit
Test: coverage.info Lines: 100.0 % 267 267
Test Date: 2026-08-13 17:07:01 Functions: 100.0 % 30 30

            Line data    Source code
       1              : /**
       2              :  * Copyright (c) 2025 Huawei Technologies Co., Ltd.
       3              :  * This program is free software, you can redistribute it and/or modify it under the terms and conditions of
       4              :  * CANN Open Software License Agreement Version 2.0 (the "License").
       5              :  * Please refer to the License for details. You may not use this file except in compliance with the License.
       6              :  * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
       7              :  * INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
       8              :  * See LICENSE in the root of the software repository for the full text of the License.
       9              :  */
      10              : 
      11              : #include "acl_rt_impl.h"
      12              : #include "runtime/rt_model.h"
      13              : #include "runtime/stream.h"
      14              : #include "runtime/rts/rts_model.h"
      15              : #include "runtime/rts/rts_stream.h"
      16              : #include "runtime/rt_inner_model.h"
      17              : #include "common/log_inner.h"
      18              : #include "common/error_codes_inner.h"
      19              : #include "common/prof_reporter.h"
      20              : #include "utils/data_type_utils.h"
      21              : 
      22              : #ifdef __cplusplus
      23              : extern "C" {
      24              : #endif
      25              : 
      26            2 : aclError aclmdlRIExecuteAsyncImpl(aclmdlRI modelRI, aclrtStream stream)
      27              : {
      28            2 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRIExecuteAsync);
      29            2 :     ACL_LOG_INFO("start to execute aclmdlRIExecuteAsync");
      30            2 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(modelRI);
      31            2 :     ACL_REQUIRES_RTS_OK_WARN_NOT_SUPPORT(
      32              :         rtModelExecute(static_cast<rtModel_t>(modelRI), static_cast<rtStream_t>(stream), 0U), rtModelExecute);
      33              : 
      34            1 :     ACL_LOG_INFO("successfully execute aclmdlRIExecuteAsync");
      35            1 :     return ACL_SUCCESS;
      36            2 : }
      37              : 
      38            2 : aclError aclmdlRIDestroyImpl(aclmdlRI modelRI)
      39              : {
      40            2 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRIDestroy);
      41            2 :     ACL_LOG_INFO("start to execute aclmdlRIDestroy");
      42            2 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(modelRI);
      43            2 :     ACL_REQUIRES_RTS_OK_WARN_NOT_SUPPORT(rtModelDestroy(static_cast<rtModel_t>(modelRI)), rtModelDestroy);
      44              : 
      45            1 :     ACL_LOG_INFO("successfully execute aclmdlRIDestroy");
      46            1 :     return ACL_SUCCESS;
      47            2 : }
      48              : 
      49            3 : aclError aclmdlRICaptureBeginImpl(aclrtStream stream, aclmdlRICaptureMode mode)
      50              : {
      51            3 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRICaptureBegin);
      52            3 :     ACL_LOG_INFO("start to execute aclmdlRICaptureBegin, mode is %s", acl::GetCaptureModeDesc(mode));
      53            3 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(stream);
      54            3 :     ACL_REQUIRES_RTS_OK_WARN_NOT_SUPPORT(
      55              :         rtStreamBeginCapture(static_cast<rtStream_t>(stream), static_cast<rtStreamCaptureMode>(mode)),
      56              :         rtStreamBeginCapture);
      57              : 
      58            1 :     ACL_LOG_INFO("successfully execute aclmdlRICaptureBegin");
      59            1 :     return ACL_SUCCESS;
      60            3 : }
      61              : 
      62            3 : aclError aclmdlRICaptureGetInfoImpl(aclrtStream stream, aclmdlRICaptureStatus* status, aclmdlRI* modelRI)
      63              : {
      64            3 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRICaptureGetInfo);
      65            3 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(stream);
      66            3 :     if (status == nullptr && modelRI == nullptr) {
      67            1 :         ACL_LOG_ERROR("status and modelRI cannot be nullptr at the same time");
      68            1 :         std::string funcName = acl::AclErrorLogManager::GetFuncNameWithoutImplSuffix(__func__);
      69            1 :         acl::AclErrorLogManager::ReportInputError(
      70            2 :             acl::INVALID_PARAM_REASON_MSG, std::vector<const char*>({"func", "value", "param", "reason"}),
      71            1 :             std::vector<const char*>(
      72            2 :                 {funcName.c_str(), "nullptr/nullptr", "status/modelRI", "both cannot be nullptr at the same time"}));
      73            1 :         return ACL_ERROR_INVALID_PARAM;
      74            1 :     }
      75            2 :     rtStreamCaptureStatus rtStatus = RT_STREAM_CAPTURE_STATUS_NONE;
      76            2 :     rtModel_t rtModel = nullptr;
      77            2 :     const rtError_t rtErr = rtStreamGetCaptureInfo(static_cast<rtStream_t>(stream), &rtStatus, &rtModel);
      78            2 :     if (rtErr != RT_ERROR_NONE) {
      79            1 :         return ACL_GET_ERRCODE_RTS(rtErr);
      80              :     }
      81              : 
      82            1 :     if (status != nullptr) {
      83            1 :         *status = static_cast<aclmdlRICaptureStatus>(static_cast<uint32_t>(rtStatus));
      84              :     }
      85              : 
      86            1 :     if (modelRI != nullptr) {
      87            1 :         *modelRI = static_cast<aclmdlRI>(rtModel);
      88              :     }
      89              : 
      90            1 :     return ACL_SUCCESS;
      91            3 : }
      92              : 
      93            3 : aclError aclmdlRICaptureEndImpl(aclrtStream stream, aclmdlRI* modelRI)
      94              : {
      95            3 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRICaptureEnd);
      96            3 :     ACL_LOG_INFO("start to execute aclmdlRICaptureEnd");
      97            3 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(stream);
      98              : 
      99            3 :     ACL_REQUIRES_RTS_OK_WARN_NOT_SUPPORT(
     100              :         rtStreamEndCapture(static_cast<rtStream_t>(stream), static_cast<rtModel_t*>(modelRI)), rtStreamEndCapture);
     101              : 
     102            1 :     ACL_LOG_INFO("successfully execute aclmdlRICaptureEnd");
     103            1 :     return ACL_SUCCESS;
     104            3 : }
     105              : 
     106            3 : aclError aclmdlRIUpdateImpl(aclmdlRI modelRI)
     107              : {
     108            3 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRIUpdate);
     109            3 :     ACL_REQUIRES_RTS_OK_WARN_NOT_SUPPORT(rtModelUpdate(static_cast<rtModel_t>(modelRI)), rtModelUpdate);
     110            1 :     ACL_LOG_INFO("successfully execute aclmdlRIUpdate");
     111            1 :     return ACL_SUCCESS;
     112            3 : }
     113              : 
     114            2 : aclError aclmdlRIDebugPrintImpl(aclmdlRI modelRI)
     115              : {
     116            2 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRIDebugPrint);
     117            2 :     ACL_LOG_INFO("start to execute aclmdlRIDebugPrint");
     118            2 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(modelRI);
     119            2 :     ACL_REQUIRES_RTS_OK(rtModelDebugDotPrint(static_cast<rtStream_t>(modelRI)));
     120            1 :     ACL_LOG_INFO("successfully execute aclmdlRIDebugPrint");
     121            1 :     return ACL_SUCCESS;
     122            2 : }
     123              : 
     124            3 : aclError aclmdlRIDebugJsonPrintImpl(aclmdlRI modelRI, const char* path, uint32_t flags)
     125              : {
     126            3 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRIDebugJsonPrint);
     127            3 :     ACL_LOG_INFO("start to execute aclmdlRIDebugJsonPrint");
     128            3 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(modelRI);
     129            3 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(path);
     130            3 :     ACL_REQUIRES_RTS_OK_WARN_NOT_SUPPORT(
     131              :         rtModelDebugJsonPrint(static_cast<rtStream_t>(modelRI), path, flags), rtModelDebugJsonPrint);
     132              : 
     133            1 :     ACL_LOG_INFO("successfully execute aclmdlRIDebugJsonPrint");
     134            1 :     return ACL_SUCCESS;
     135            3 : }
     136              : 
     137            3 : aclError aclmdlRICaptureThreadExchangeModeImpl(aclmdlRICaptureMode* mode)
     138              : {
     139            3 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRICaptureThreadExchangeMode);
     140            3 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(mode);
     141            3 :     ACL_LOG_INFO(
     142              :         "start to execute aclmdlRICaptureThreadExchangeMode, input mode is %s", acl::GetCaptureModeDesc(*mode));
     143            3 :     rtStreamCaptureMode rtMode = static_cast<rtStreamCaptureMode>(*mode);
     144            3 :     ACL_REQUIRES_RTS_OK_WARN_NOT_SUPPORT(rtThreadExchangeCaptureMode(&rtMode), rtThreadExchangeCaptureMode);
     145            1 :     *mode = static_cast<aclmdlRICaptureMode>(rtMode);
     146              : 
     147            1 :     ACL_LOG_INFO(
     148              :         "successfully execute aclmdlRICaptureThreadExchangeMode, output mode is %s", acl::GetCaptureModeDesc(*mode));
     149            1 :     return ACL_SUCCESS;
     150            3 : }
     151              : 
     152            3 : aclError aclmdlRICaptureTaskGrpBeginImpl(aclrtStream stream)
     153              : {
     154            3 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRICaptureTaskGrpBegin);
     155            3 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(stream);
     156            3 :     ACL_LOG_INFO("start to execute aclmdlRICaptureTaskGrpBegin");
     157            3 :     ACL_REQUIRES_RTS_OK_WARN_NOT_SUPPORT(rtsStreamBeginTaskGrp(static_cast<rtStream_t>(stream)), rtsStreamBeginTaskGrp);
     158            1 :     ACL_LOG_INFO("successfully execute aclmdlRICaptureTaskGrpBegin");
     159            1 :     return ACL_SUCCESS;
     160            3 : }
     161              : 
     162            3 : aclError aclmdlRICaptureTaskGrpEndImpl(aclrtStream stream, aclrtTaskGrp* handle)
     163              : {
     164            3 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRICaptureTaskGrpEnd);
     165            3 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(stream);
     166            3 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(handle);
     167            3 :     ACL_LOG_INFO("start to execute aclmdlRICaptureTaskGrpEnd");
     168            3 :     rtTaskGrp_t rtHandle = nullptr;
     169            3 :     ACL_REQUIRES_RTS_OK_WARN_NOT_SUPPORT(
     170              :         rtsStreamEndTaskGrp(static_cast<rtStream_t>(stream), &rtHandle), rtsStreamEndTaskGrp);
     171            1 :     *handle = static_cast<aclrtTaskGrp>(rtHandle);
     172              : 
     173            1 :     ACL_LOG_INFO("successfully execute aclmdlRICaptureTaskGrpEnd");
     174            1 :     return ACL_SUCCESS;
     175            3 : }
     176              : 
     177            3 : aclError aclmdlRICaptureTaskUpdateBeginImpl(aclrtStream stream, aclrtTaskGrp handle)
     178              : {
     179            3 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRICaptureTaskUpdateBegin);
     180            3 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(stream);
     181            3 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(handle);
     182            3 :     ACL_LOG_INFO("start to execute aclmdlRICaptureTaskUpdateBegin");
     183            3 :     ACL_REQUIRES_RTS_OK_WARN_NOT_SUPPORT(
     184              :         rtsStreamBeginTaskUpdate(static_cast<rtStream_t>(stream), static_cast<rtTaskGrp_t>(handle)),
     185              :         rtsStreamBeginTaskUpdate);
     186            1 :     ACL_LOG_INFO("successfully execute aclmdlRICaptureTaskUpdateBegin");
     187            1 :     return ACL_SUCCESS;
     188            3 : }
     189              : 
     190            3 : aclError aclmdlRICaptureTaskUpdateEndImpl(aclrtStream stream)
     191              : {
     192            3 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRICaptureTaskUpdateEnd);
     193            3 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(stream);
     194            3 :     ACL_LOG_INFO("start to execute aclmdlRICaptureTaskUpdateEnd");
     195            3 :     ACL_REQUIRES_RTS_OK_WARN_NOT_SUPPORT(
     196              :         rtsStreamEndTaskUpdate(static_cast<rtStream_t>(stream)), rtsStreamEndTaskUpdate);
     197            1 :     ACL_LOG_INFO("successfully execute aclmdlRICaptureTaskUpdateEnd");
     198            1 :     return ACL_SUCCESS;
     199            3 : }
     200              : 
     201            3 : aclError aclmdlRIBuildBeginImpl(aclmdlRI* modelRI, uint32_t flag)
     202              : {
     203            3 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRIBuildBegin);
     204            3 :     ACL_LOG_INFO("start to execute aclmdlRIBuildBegin, flag is [%u]", flag);
     205            3 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(modelRI);
     206              : 
     207            2 :     ACL_REQUIRES_RTS_OK(rtsModelCreate(static_cast<rtModel_t*>(modelRI), flag));
     208              : 
     209            1 :     ACL_LOG_INFO("successfully execute aclmdlRIBuildBegin");
     210            1 :     return ACL_SUCCESS;
     211            3 : }
     212              : 
     213            3 : aclError aclmdlRIBindStreamImpl(aclmdlRI modelRI, aclrtStream stream, uint32_t flag)
     214              : {
     215            3 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRIBindStream);
     216            3 :     ACL_LOG_INFO("start to execute aclmdlRIBindStream, flag is [%u].", flag);
     217            3 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(modelRI);
     218              : 
     219            2 :     ACL_REQUIRES_RTS_OK(rtsModelBindStream(static_cast<rtModel_t>(modelRI), static_cast<rtStream_t>(stream), flag));
     220              : 
     221            1 :     ACL_LOG_INFO("successfully execute aclmdlRIBindStream");
     222            1 :     return ACL_SUCCESS;
     223            3 : }
     224              : 
     225            3 : aclError aclmdlRIEndTaskImpl(aclmdlRI modelRI, aclrtStream stream)
     226              : {
     227            3 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRIEndTask);
     228            3 :     ACL_LOG_INFO("start to execute aclmdlRIEndTask");
     229            3 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(modelRI);
     230              : 
     231            2 :     ACL_REQUIRES_RTS_OK(rtsEndGraph(static_cast<rtModel_t>(modelRI), static_cast<rtStream_t>(stream)));
     232              : 
     233            1 :     ACL_LOG_INFO("successfully execute aclmdlRIEndTask");
     234            1 :     return ACL_SUCCESS;
     235            3 : }
     236              : 
     237            4 : aclError aclmdlRIBuildEndImpl(aclmdlRI modelRI, void* reserve)
     238              : {
     239            4 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRIBuildEnd);
     240            4 :     ACL_LOG_INFO("start to execute aclmdlRIBuildEnd");
     241            4 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(modelRI);
     242            3 :     ACL_CHECK_INVALID_PARAM_NO_VALUE(
     243              :         reserve == nullptr, "reserve", "reserve is a reserved parameter and must be nullptr");
     244              : 
     245            2 :     ACL_REQUIRES_RTS_OK(rtsModelLoadComplete(static_cast<rtModel_t>(modelRI), reserve));
     246              : 
     247            1 :     ACL_LOG_INFO("successfully execute aclmdlRIBuildEnd");
     248            1 :     return ACL_SUCCESS;
     249            4 : }
     250              : 
     251            3 : aclError aclmdlRIUnbindStreamImpl(aclmdlRI modelRI, aclrtStream stream)
     252              : {
     253            3 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRIUnbindStream);
     254            3 :     ACL_LOG_INFO("start to execute aclmdlRIUnbindStream");
     255            3 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(modelRI);
     256              : 
     257            2 :     ACL_REQUIRES_RTS_OK(rtsModelUnbindStream(static_cast<rtModel_t>(modelRI), static_cast<rtStream_t>(stream)));
     258              : 
     259            1 :     ACL_LOG_INFO("successfully execute aclmdlRIUnbindStream");
     260            1 :     return ACL_SUCCESS;
     261            3 : }
     262              : 
     263            3 : aclError aclmdlRIExecuteImpl(aclmdlRI modelRI, int32_t timeout)
     264              : {
     265            3 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRIExecute);
     266            3 :     ACL_LOG_INFO("start to execute aclmdlRIExecute, timeout is [%d] ms.", timeout);
     267            3 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(modelRI);
     268              : 
     269            2 :     ACL_REQUIRES_RTS_OK(rtsModelExecute(static_cast<rtModel_t>(modelRI), timeout));
     270              : 
     271            1 :     ACL_LOG_INFO("successfully execute aclmdlRIExecute");
     272            1 :     return ACL_SUCCESS;
     273            3 : }
     274              : 
     275            4 : aclError aclmdlRISetNameImpl(aclmdlRI modelRI, const char* name)
     276              : {
     277            4 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRISetName);
     278            4 :     ACL_LOG_INFO("start to execute aclmdlRISetName");
     279            4 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(modelRI);
     280            3 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(name);
     281              : 
     282            2 :     ACL_REQUIRES_RTS_OK(rtsModelSetName(static_cast<rtModel_t>(modelRI), name));
     283              : 
     284            1 :     ACL_LOG_INFO("successfully execute aclmdlRISetName");
     285            1 :     return ACL_SUCCESS;
     286            4 : }
     287              : 
     288            4 : aclError aclmdlRIGetNameImpl(aclmdlRI modelRI, uint32_t maxLen, char* name)
     289              : {
     290            4 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRIGetName);
     291            4 :     ACL_LOG_INFO("start to execute aclmdlRIGetName, maxLen is [%u]", maxLen);
     292            4 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(modelRI);
     293            3 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(name);
     294              : 
     295            2 :     ACL_REQUIRES_RTS_OK(rtsModelGetName(static_cast<rtModel_t>(modelRI), maxLen, name));
     296              : 
     297            1 :     ACL_LOG_INFO("successfully execute aclmdlRIGetName");
     298            1 :     return ACL_SUCCESS;
     299            4 : }
     300              : 
     301            4 : aclError aclmdlRIGetIdImpl(aclmdlRI modelRI, uint32_t* modelRIId)
     302              : {
     303            4 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRIGetId);
     304            4 :     ACL_LOG_INFO("start to execute aclmdlRIGetId");
     305            4 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(modelRI);
     306            3 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(modelRIId);
     307              : 
     308            2 :     ACL_REQUIRES_RTS_OK(rtModelGetId(static_cast<rtModel_t>(modelRI), modelRIId));
     309              : 
     310            1 :     ACL_LOG_INFO("successfully execute aclmdlRIGetId");
     311            1 :     return ACL_SUCCESS;
     312            4 : }
     313              : 
     314            2 : aclError aclmdlRIAbortImpl(aclmdlRI modelRI)
     315              : {
     316            2 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRIAbort);
     317            2 :     ACL_LOG_INFO("start to execute aclmdlRIAbort");
     318            2 :     ACL_REQUIRES_RTS_OK_WARN_NOT_SUPPORT(rtsModelAbort(static_cast<rtModel_t>(modelRI)), rtsModelAbort);
     319            1 :     ACL_LOG_INFO("successfully execute aclmdlRIAbort");
     320            1 :     return ACL_SUCCESS;
     321            2 : }
     322              : 
     323            2 : aclError aclmdlRIGetStreamsImpl(aclmdlRI modelRI, aclrtStream* streams, uint32_t* numStreams)
     324              : {
     325            2 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRIGetStreams);
     326            2 :     ACL_REQUIRES_RTS_OK_WARN_NOT_SUPPORT(
     327              :         rtModelGetStreams(static_cast<rtModel_t>(modelRI), static_cast<rtStream_t*>(streams), numStreams),
     328              :         rtModelGetStreams);
     329              : 
     330            1 :     return ACL_SUCCESS;
     331            2 : }
     332              : 
     333            2 : aclError aclmdlRIDestroyRegisterCallbackImpl(aclmdlRI modelRI, aclrtCallback func, void* userData)
     334              : {
     335            2 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRIDestroyRegisterCallback);
     336            2 :     ACL_REQUIRES_RTS_OK_WARN_NOT_SUPPORT(
     337              :         rtModelDestroyRegisterCallback(static_cast<rtModel_t>(modelRI), reinterpret_cast<rtCallback_t>(func), userData),
     338              :         rtModelDestroyRegisterCallback);
     339              : 
     340            1 :     return ACL_SUCCESS;
     341            2 : }
     342              : 
     343            2 : aclError aclmdlRIDestroyUnregisterCallbackImpl(aclmdlRI modelRI, aclrtCallback func)
     344              : {
     345            2 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRIDestroyUnregisterCallback);
     346            2 :     ACL_REQUIRES_RTS_OK_WARN_NOT_SUPPORT(
     347              :         rtModelDestroyUnregisterCallback(static_cast<rtModel_t>(modelRI), reinterpret_cast<rtCallback_t>(func)),
     348              :         rtModelDestroyUnregisterCallback);
     349              : 
     350            1 :     return ACL_SUCCESS;
     351            2 : }
     352              : 
     353            5 : aclError aclmdlRICondHandleCreateImpl(
     354              :     aclmdlRI modelRI, uint32_t defaultLaunchValue, aclmdlRICondHandleFlag flag, aclmdlRICondHandle* handle)
     355              : {
     356            5 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRICondHandleCreate);
     357            5 :     ACL_LOG_INFO("start to execute aclmdlRICondHandleCreate");
     358            5 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(modelRI);
     359            4 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(handle);
     360              : 
     361            3 :     rtCondHandle_t rtHandle = nullptr;
     362            3 :     ACL_REQUIRES_RTS_OK_WARN_NOT_SUPPORT(
     363              :         rtModelCondHandleCreate(
     364              :             static_cast<rtModel_t>(modelRI), defaultLaunchValue, static_cast<rtCondHandleFlag_t>(flag), &rtHandle),
     365              :         rtModelCondHandleCreate);
     366              : 
     367            1 :     if (rtHandle != nullptr) {
     368            1 :         *handle = static_cast<aclmdlRICondHandle>(rtHandle);
     369              :     }
     370              : 
     371            1 :     ACL_LOG_INFO("successfully execute aclmdlRICondHandleCreate");
     372            1 :     return ACL_SUCCESS;
     373            5 : }
     374              : 
     375            5 : aclError aclmdlRICondHandleGetCondPtrImpl(aclmdlRICondHandle handle, uint64_t** ptr)
     376              : {
     377            5 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRICondHandleGetCondPtr);
     378            5 :     ACL_LOG_INFO("start to execute aclmdlRICondHandleGetCondPtr");
     379            5 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(handle);
     380            4 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(ptr);
     381              : 
     382            3 :     ACL_REQUIRES_RTS_OK_WARN_NOT_SUPPORT(
     383              :         rtModelCondHandleGetCondPtr(static_cast<rtCondHandle_t>(handle), ptr), rtModelCondHandleGetCondPtr);
     384              : 
     385            1 :     ACL_LOG_INFO("successfully execute aclmdlRICondHandleGetCondPtr");
     386            1 :     return ACL_SUCCESS;
     387            5 : }
     388              : 
     389            4 : aclError aclmdlRIAddCondTaskImpl(aclmdlRICondTaskParams params, aclrtStream stream, uint32_t flags)
     390              : {
     391            4 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRIAddCondTask);
     392            4 :     ACL_LOG_INFO("start to execute aclmdlRIAddCondTask");
     393            4 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(stream);
     394              : 
     395            3 :     rtCondTaskParams rtParams = {};
     396            3 :     rtParams.handle = static_cast<rtCondHandle_t>(params.handle);
     397            3 :     rtParams.type = static_cast<rtCondTaskType_t>(params.type);
     398            3 :     rtParams.size = params.size;
     399            3 :     rtParams.modelRIArray = reinterpret_cast<rtModel_t*>(params.modelRIArray);
     400              : 
     401            3 :     ACL_REQUIRES_RTS_OK_WARN_NOT_SUPPORT(
     402              :         rtStreamAddCondTask(rtParams, static_cast<rtStream_t>(stream), flags), rtStreamAddCondTask);
     403            3 :     for (uint32_t i = 0; i < params.size; ++i) {
     404            2 :         params.modelRIArray[i] = static_cast<aclmdlRI>(rtParams.modelRIArray[i]);
     405              :     }
     406              : 
     407            1 :     ACL_LOG_INFO("successfully execute aclmdlRIAddCondTask");
     408            1 :     return ACL_SUCCESS;
     409            4 : }
     410              : 
     411            5 : aclError aclmdlRICaptureToModelRIBeginImpl(aclrtStream stream, aclmdlRI modelRI, aclmdlRICaptureMode mode)
     412              : {
     413            5 :     ACL_PROFILING_REG(acl::AclProfType::AclmdlRICaptureToModelRIBegin);
     414            5 :     ACL_LOG_INFO("start to execute aclmdlRICaptureToModelRIBegin");
     415            5 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(stream);
     416            4 :     ACL_REQUIRES_NOT_NULL_WITH_INPUT_REPORT(modelRI);
     417              : 
     418            3 :     ACL_REQUIRES_RTS_OK_WARN_NOT_SUPPORT(
     419              :         rtStreamBeginCaptureToModel(
     420              :             static_cast<rtStream_t>(stream), static_cast<rtModel_t>(modelRI), static_cast<rtStreamCaptureMode>(mode)),
     421              :         rtStreamBeginCaptureToModel);
     422              : 
     423            1 :     ACL_LOG_INFO("successfully execute aclmdlRICaptureToModelRIBegin");
     424            1 :     return ACL_SUCCESS;
     425            5 : }
     426              : 
     427              : #ifdef __cplusplus
     428              : }
     429              : #endif
        

Generated by: LCOV version 2.0-1