Fangjun Kuang
Committed by GitHub

Fix setting rknn core mask (#2594)

We need to set the core mask after `rknn_dup_context()`.
... ... @@ -139,7 +139,7 @@ jobs:
file: sherpa-onnx-*-android-rknn.tar.bz2
# repo_name: k2-fsa/sherpa-onnx
# repo_token: ${{ secrets.UPLOAD_GH_SHERPA_ONNX_TOKEN }}
# tag: v1.11.3
# tag: v1.12.13
build-android-aar-rknn:
needs: [build-android-rknn-libs]
... ... @@ -275,7 +275,7 @@ jobs:
file: ./*.aar
# repo_name: k2-fsa/sherpa-onnx
# repo_token: ${{ secrets.UPLOAD_GH_SHERPA_ONNX_TOKEN }}
# tag: v1.11.3
# tag: v1.12.13
- name: Release android aar
if: github.repository_owner == 'k2-fsa' && github.event_name == 'push' && contains(github.ref, 'refs/tags/')
... ...
... ... @@ -250,7 +250,7 @@ jobs:
file: sherpa-onnx-*linux-aarch64*.tar.bz2
repo_name: k2-fsa/sherpa-onnx
repo_token: ${{ secrets.UPLOAD_GH_SHERPA_ONNX_TOKEN }}
tag: v1.12.0
tag: v1.12.13
- name: Test offline Moonshine
if: matrix.build_type != 'Debug'
... ...
... ... @@ -38,8 +38,6 @@ class OfflineSenseVoiceModelRknn::Impl {
auto buf = ReadFile(config_.sense_voice.model);
Init(buf.data(), buf.size());
}
SetCoreMask(ctx_, config_.num_threads);
}
template <typename Manager>
... ... @@ -48,8 +46,6 @@ class OfflineSenseVoiceModelRknn::Impl {
auto buf = ReadFile(mgr, config_.sense_voice.model);
Init(buf.data(), buf.size());
}
SetCoreMask(ctx_, config_.num_threads);
}
const OfflineSenseVoiceModelMetaData &GetModelMetadata() const {
... ... @@ -89,6 +85,8 @@ class OfflineSenseVoiceModelRknn::Impl {
auto ret = rknn_dup_context(&ctx_, &ctx);
SHERPA_ONNX_RKNN_CHECK(ret, "Failed to duplicate the ctx");
SetCoreMask(ctx, config_.num_threads);
ret = rknn_inputs_set(ctx, inputs.size(), inputs.data());
SHERPA_ONNX_RKNN_CHECK(ret, "Failed to set inputs");
... ...
... ... @@ -41,8 +41,6 @@ class OnlineZipformerCtcModelRknn::Impl {
auto buf = ReadFile(config.zipformer2_ctc.model);
Init(buf.data(), buf.size());
}
SetCoreMask(ctx_, config_.num_threads);
}
template <typename Manager>
... ... @@ -51,8 +49,6 @@ class OnlineZipformerCtcModelRknn::Impl {
auto buf = ReadFile(mgr, config.zipformer2_ctc.model);
Init(buf.data(), buf.size());
}
SetCoreMask(ctx_, config_.num_threads);
}
std::vector<std::vector<uint8_t>> GetInitStates() const {
... ... @@ -148,6 +144,8 @@ class OnlineZipformerCtcModelRknn::Impl {
auto ret = rknn_dup_context(&ctx_, &ctx);
SHERPA_ONNX_RKNN_CHECK(ret, "Failed to duplicate the ctx");
SetCoreMask(ctx, config_.num_threads);
ret = rknn_inputs_set(ctx, inputs.size(), inputs.data());
SHERPA_ONNX_RKNN_CHECK(ret, "Failed to set inputs");
... ...
... ... @@ -61,10 +61,6 @@ class OnlineZipformerTransducerModelRknn::Impl {
auto buf = ReadFile(config.transducer.joiner);
InitJoiner(buf.data(), buf.size());
}
SetCoreMask(encoder_ctx_, config_.num_threads);
SetCoreMask(decoder_ctx_, config_.num_threads);
SetCoreMask(joiner_ctx_, config_.num_threads);
}
template <typename Manager>
... ... @@ -83,10 +79,6 @@ class OnlineZipformerTransducerModelRknn::Impl {
auto buf = ReadFile(mgr, config.transducer.joiner);
InitJoiner(buf.data(), buf.size());
}
SetCoreMask(encoder_ctx_, config_.num_threads);
SetCoreMask(decoder_ctx_, config_.num_threads);
SetCoreMask(joiner_ctx_, config_.num_threads);
}
std::vector<std::vector<uint8_t>> GetEncoderInitStates() const {
... ... @@ -185,6 +177,8 @@ class OnlineZipformerTransducerModelRknn::Impl {
auto ret = rknn_dup_context(&encoder_ctx_, &encoder_ctx);
SHERPA_ONNX_RKNN_CHECK(ret, "Failed to duplicate the encoder ctx");
SetCoreMask(encoder_ctx, config_.num_threads);
ret = rknn_inputs_set(encoder_ctx, inputs.size(), inputs.data());
SHERPA_ONNX_RKNN_CHECK(ret, "Failed to set encoder inputs");
... ... @@ -240,6 +234,8 @@ class OnlineZipformerTransducerModelRknn::Impl {
auto ret = rknn_dup_context(&decoder_ctx_, &decoder_ctx);
SHERPA_ONNX_RKNN_CHECK(ret, "Failed to duplicate the decoder ctx");
SetCoreMask(decoder_ctx, config_.num_threads);
ret = rknn_inputs_set(decoder_ctx, 1, &input);
SHERPA_ONNX_RKNN_CHECK(ret, "Failed to set decoder inputs");
... ... @@ -281,6 +277,8 @@ class OnlineZipformerTransducerModelRknn::Impl {
auto ret = rknn_dup_context(&joiner_ctx_, &joiner_ctx);
SHERPA_ONNX_RKNN_CHECK(ret, "Failed to duplicate the joiner ctx");
SetCoreMask(joiner_ctx, config_.num_threads);
ret = rknn_inputs_set(joiner_ctx, inputs.size(), inputs.data());
SHERPA_ONNX_RKNN_CHECK(ret, "Failed to set joiner inputs");
... ...