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

Generated by: LCOV version 2.0-1