From f11f15ef48ecbd0d393c1580cacfd3fbffa5e535 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 14 Apr 2026 23:23:00 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=BA=86=20Ascend=20N?= =?UTF-8?q?PU=20=E4=B8=8A=E4=B8=8B=E6=96=87=E5=AF=BC=E8=87=B4=E7=9A=84?= =?UTF-8?q?=E5=B4=A9=E6=BA=83=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sherpa-onnx/csrc/ascend/offline-paraformer-model-ascend.cc | 3 +++ sherpa-onnx/csrc/ascend/offline-sense-voice-model-ascend.cc | 3 +++ sherpa-onnx/csrc/ascend/offline-whisper-model-ascend.cc | 3 +++ sherpa-onnx/csrc/ascend/offline-zipformer-ctc-model-ascend.cc | 3 +++ 4 files changed, 12 insertions(+) diff --git a/sherpa-onnx/csrc/ascend/offline-paraformer-model-ascend.cc b/sherpa-onnx/csrc/ascend/offline-paraformer-model-ascend.cc index 8acd020d72..413b05382b 100644 --- a/sherpa-onnx/csrc/ascend/offline-paraformer-model-ascend.cc +++ b/sherpa-onnx/csrc/ascend/offline-paraformer-model-ascend.cc @@ -86,6 +86,9 @@ class OfflineParaformerModelAscend::Impl { // TODO(fangjun): Support multi clients std::lock_guard lock(mutex_); + aclError ret_set_ctx = aclrtSetCurrentContext(*context_); + SHERPA_ONNX_ASCEND_CHECK(ret_set_ctx, "Failed to call aclrtSetCurrentContext"); + features = ApplyLFR(std::move(features)); if (features.empty()) { return {}; diff --git a/sherpa-onnx/csrc/ascend/offline-sense-voice-model-ascend.cc b/sherpa-onnx/csrc/ascend/offline-sense-voice-model-ascend.cc index 7143d1ce29..ab356b9c0c 100644 --- a/sherpa-onnx/csrc/ascend/offline-sense-voice-model-ascend.cc +++ b/sherpa-onnx/csrc/ascend/offline-sense-voice-model-ascend.cc @@ -56,6 +56,9 @@ class OfflineSenseVoiceModelAscend::Impl { // TODO(fangjun): Support multi clients std::lock_guard lock(mutex_); + aclError ret_set_ctx = aclrtSetCurrentContext(*context_); + SHERPA_ONNX_ASCEND_CHECK(ret_set_ctx, "Failed to call aclrtSetCurrentContext"); + features = ApplyLFR(std::move(features)); if (features.empty()) { return {}; diff --git a/sherpa-onnx/csrc/ascend/offline-whisper-model-ascend.cc b/sherpa-onnx/csrc/ascend/offline-whisper-model-ascend.cc index 38e4ab9848..be69ae1da4 100644 --- a/sherpa-onnx/csrc/ascend/offline-whisper-model-ascend.cc +++ b/sherpa-onnx/csrc/ascend/offline-whisper-model-ascend.cc @@ -88,6 +88,9 @@ class OfflineWhisperModelAscend::Impl { // TODO(fangjun): Support multi clients std::lock_guard lock(mutex_); + aclError ret_set_ctx = aclrtSetCurrentContext(*context_); + SHERPA_ONNX_ASCEND_CHECK(ret_set_ctx, "Failed to call aclrtSetCurrentContext"); + OfflineWhisperDecoderResult r; if (features.empty()) { diff --git a/sherpa-onnx/csrc/ascend/offline-zipformer-ctc-model-ascend.cc b/sherpa-onnx/csrc/ascend/offline-zipformer-ctc-model-ascend.cc index 626b634a14..cd6d34d90f 100644 --- a/sherpa-onnx/csrc/ascend/offline-zipformer-ctc-model-ascend.cc +++ b/sherpa-onnx/csrc/ascend/offline-zipformer-ctc-model-ascend.cc @@ -51,6 +51,9 @@ class OfflineZipformerCtcModelAscend::Impl { // TODO(fangjun): Support multi clients std::lock_guard lock(mutex_); + aclError ret_set_ctx = aclrtSetCurrentContext(*context_); + SHERPA_ONNX_ASCEND_CHECK(ret_set_ctx, "Failed to call aclrtSetCurrentContext"); + int32_t num_frames = features.size() / feat_dim_; if (num_frames != max_num_frames_) {