MNN: A blazing-fast, lightweight inference engine battle-tested by Alibaba, powering high-performance on-device LLMs and Edge AI.
This report presents the forensic synthetic code analysis of alibaba/MNN, a C++ project with 15,785 GitHub stars. SynthScan v2.0 examined 1,604,870 lines of code across 6013 source files, recording 5355 pattern matches distributed across 21 syntactic categories. The overall adjusted score of 3.9 places this repository in the Likely human-written band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 5355 distinct pattern matches across 21 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | test.sh | 21 | # Defaults to taobao-mnn/Qwen2.5-0.5B-Instruct-MNN. | COMMENT |
| LOW | test.sh | 1141 | # Unit-test matrix for the Android arm64 on-device driver. | COMMENT |
| LOW | test.sh | 1161 | opencl-buffer) [[ "${tag}" == "opencl-buffer" ]] ;; | COMMENT |
| LOW | .readthedocs.yaml | 21 | # builder: "dirhtml" | COMMENT |
| LOW | benchmark/benchmark.cpp | 1 | // | COMMENT |
| LOW | benchmark/benchmark.cpp | 21 | #undef min | COMMENT |
| LOW | benchmark/benchmark.h | 1 | // | COMMENT |
| LOW | benchmark/benchmarkExprModels.cpp | 1 | #include <iostream> | COMMENT |
| LOW | benchmark/exprModels/ShuffleNetExpr.hpp | 1 | // | COMMENT |
| LOW | benchmark/exprModels/ResNetExpr.cpp | 1 | // | COMMENT |
| LOW | benchmark/exprModels/SqueezeNetExpr.hpp | 1 | // | COMMENT |
| LOW | benchmark/exprModels/MobileNetExpr.cpp | 1 | // | COMMENT |
| LOW | benchmark/exprModels/GoogLeNetExpr.cpp | 1 | // | COMMENT |
| LOW | benchmark/exprModels/SqueezeNetExpr.cpp | 1 | // | COMMENT |
| LOW | benchmark/exprModels/MobileNetExpr.hpp | 1 | // | COMMENT |
| LOW | benchmark/exprModels/GoogLeNetExpr.hpp | 1 | // | COMMENT |
| LOW | benchmark/exprModels/ShuffleNetExpr.cpp | 1 | // | COMMENT |
| LOW | benchmark/exprModels/ExprModels.hpp | 1 | #ifndef ExprModels_hpp | COMMENT |
| LOW | benchmark/exprModels/ResNetExpr.hpp | 1 | // | COMMENT |
| LOW | demo/exec/transformerDemo.cpp | 1 | // | COMMENT |
| LOW | demo/exec/multiPose.cpp | 1 | // | COMMENT |
| LOW | demo/exec/multiPose.cpp | 21 | COMMENT | |
| LOW | demo/exec/multiPose.cpp | 361 | const auto rgbaPtr = reinterpret_cast<uint8_t*>(inputImage); | COMMENT |
| LOW | demo/exec/expressDemo.cpp | 1 | // | COMMENT |
| LOW | demo/exec/pictureRecognition_batch.cpp | 1 | // | COMMENT |
| LOW | demo/exec/expressMakeModel.cpp | 1 | // | COMMENT |
| LOW | demo/exec/multithread_imgrecog.cpp | 1 | // | COMMENT |
| LOW | demo/exec/pictureRecognition.cpp | 1 | // | COMMENT |
| LOW | demo/exec/pictureRecognition_module.cpp | 1 | // | COMMENT |
| LOW | demo/exec/segment.cpp | 1 | // | COMMENT |
| LOW | demo/exec/pictureRotate.cpp | 1 | // | COMMENT |
| LOW | demo/exec/nluDemo.cpp | 1 | // | COMMENT |
| LOW | 3rd_party/musa_compat/CMakeLists.txt | 1 | # MUSA Compatibility Layer CMake Configuration | COMMENT |
| LOW | 3rd_party/half/half.hpp | 1 | // half - IEEE 754-based half-precision floating point library. | COMMENT |
| LOW | 3rd_party/half/half.hpp | 21 | COMMENT | |
| LOW | 3rd_party/half/half.hpp | 41 | #if __has_feature(cxx_noexcept) && !defined(HALF_ENABLE_CPP11_NOEXCEPT) | COMMENT |
| LOW | 3rd_party/half/half.hpp | 61 | #define HALF_ENABLE_CPP11_LONG_LONG 1 | COMMENT |
| LOW | 3rd_party/half/half.hpp | 81 | #elif defined(_MSC_VER) //Visual C++ | COMMENT |
| LOW | 3rd_party/half/half.hpp | 101 | COMMENT | |
| LOW | 3rd_party/half/half.hpp | 121 | #define HALF_NOTHROW noexcept | COMMENT |
| LOW | 3rd_party/half/half.hpp | 141 | #include <functional> | COMMENT |
| LOW | 3rd_party/half/half.hpp | 161 | #ifndef HALF_ROUND_STYLE | COMMENT |
| LOW | 3rd_party/half/half.hpp | 181 | /// half-precision multiplication followed by an addition. Due to the internal single-precision implementation of all | COMMENT |
| LOW | 3rd_party/half/half.hpp | 201 | #define FP_INFINITE 3 | COMMENT |
| LOW | 3rd_party/half/half.hpp | 281 | /// Unsigned integer of (at least) 32 bits width. | COMMENT |
| LOW | 3rd_party/half/half.hpp | 341 | template<typename T,typename U> struct result : enable<expr,T,U> {}; | COMMENT |
| LOW | 3rd_party/half/half.hpp | 361 | } | COMMENT |
| LOW | 3rd_party/half/half.hpp | 381 | /// \param arg value to query | COMMENT |
| LOW | 3rd_party/half/half.hpp | 621 | return hbits; | COMMENT |
| LOW | 3rd_party/half/half.hpp | 941 | /// \param value binary representation of half-precision value | COMMENT |
| LOW | 3rd_party/half/half.hpp | 1001 | } | COMMENT |
| LOW | 3rd_party/half/half.hpp | 1061 | /// \tparam T type of concrete half expression | COMMENT |
| LOW | 3rd_party/half/half.hpp | 1081 | /// \return reference to this half | COMMENT |
| LOW | 3rd_party/half/half.hpp | 1141 | /// While this returns an actual half-precision value, half literals can unfortunately not be constant expressions due | COMMENT |
| LOW | 3rd_party/half/half.hpp | 1161 | /// \param x first operand | COMMENT |
| LOW | 3rd_party/half/half.hpp | 1281 | /// \param y second operand | COMMENT |
| LOW | 3rd_party/half/half.hpp | 1301 | #else | COMMENT |
| LOW | 3rd_party/half/half.hpp | 1361 | /// Binary logarithm implementation. | COMMENT |
| LOW | 3rd_party/half/half.hpp | 1401 | #else | COMMENT |
| 3875 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ls/mnncompress/mnncompress/tensorflow/LSQ_quantizer.py | 0 | only invoke this when you need to save the model for inference | STRING |
| HIGH | …ls/mnncompress/mnncompress/tensorflow/EMA_quantizer.py | 0 | only invoke this when you need to save the model for inference | STRING |
| HIGH | …ls/mnncompress/mnncompress/tensorflow/OAQ_quantizer.py | 0 | only invoke this when you need to save the model for inference | STRING |
| HIGH | source/backend/opencl/schema/CLCache/Shader.py | 0 | this method is deprecated. please switch to getrootas. | STRING |
| HIGH | source/backend/opencl/schema/CLCache/BackendInfo.py | 0 | this method is deprecated. please switch to getrootas. | STRING |
| HIGH | source/backend/opencl/schema/CLCache/Autotuning.py | 0 | this method is deprecated. please switch to getrootas. | STRING |
| HIGH | source/backend/opencl/schema/CLCache/Cache.py | 0 | this method is deprecated. please switch to getrootas. | STRING |
| HIGH | source/backend/opencl/schema/CLCache/OpInfo.py | 0 | this method is deprecated. please switch to getrootas. | STRING |
| HIGH | source/backend/opencl/schema/CLCache/GemmInfo.py | 0 | this method is deprecated. please switch to getrootas. | STRING |
| HIGH | source/backend/opencl/schema/CLCache/TensorInfo.py | 0 | this method is deprecated. please switch to getrootas. | STRING |
| HIGH | …mnn/sherpa-mnn/python/tests/test_offline_recognizer.py | 0 | args: wave_filename: path to a wave file. it should be single channel and each sample should be 16-bit. its sample rate | STRING |
| HIGH | …pa-mnn/sherpa-mnn/python/tests/test_keyword_spotter.py | 0 | args: wave_filename: path to a wave file. it should be single channel and each sample should be 16-bit. its sample rate | STRING |
| HIGH | …nn/sherpa-mnn/python/tests/test_speaker_recognition.py | 0 | args: wave_filename: path to a wave file. it should be single channel and each sample should be 16-bit. its sample rate | STRING |
| HIGH | …-mnn/sherpa-mnn/python/tests/test_online_recognizer.py | 0 | args: wave_filename: path to a wave file. it should be single channel and each sample should be 16-bit. its sample rate | STRING |
| HIGH | …/python-api-examples/spoken-language-identification.py | 0 | args: wave_filename: path to a wave file. it should be single channel and each sample should be 16-bit. its sample rate | STRING |
| HIGH | …ples/offline-websocket-client-decode-files-paralell.py | 0 | args: wave_filename: path to a wave file. it should be single channel and each sample should be 16-bit. its sample rate | STRING |
| HIGH | …sherpa-mnn/python-api-examples/offline-decode-files.py | 0 | args: wave_filename: path to a wave file. it should be single channel and each sample should be 16-bit. its sample rate | STRING |
| HIGH | …/sherpa-mnn/python-api-examples/online-decode-files.py | 0 | args: wave_filename: path to a wave file. it should be single channel and each sample should be 16-bit. its sample rate | STRING |
| HIGH | …orks/sherpa-mnn/python-api-examples/keyword-spotter.py | 0 | args: wave_filename: path to a wave file. it should be single channel and each sample should be 16-bit. its sample rate | STRING |
| HIGH | …n-api-examples/online-zipformer-ctc-hlg-decode-file.py | 0 | args: wave_filename: path to a wave file. it should be single channel and each sample should be 16-bit. its sample rate | STRING |
| HIGH | …es/offline-websocket-client-decode-files-sequential.py | 0 | args: wave_filename: path to a wave file. it should be single channel and each sample should be 16-bit. its sample rate | STRING |
| HIGH | …on-api-examples/vad-remove-non-speech-segments-alsa.py | 0 | the device name specifies which microphone to use in case there are several on your system. you can use arecord -l to fi | STRING |
| HIGH | …aker-identification-with-vad-non-streaming-asr-alsa.py | 0 | the device name specifies which microphone to use in case there are several on your system. you can use arecord -l to fi | STRING |
| HIGH | …nition-from-microphone-with-endpoint-detection-alsa.py | 0 | the device name specifies which microphone to use in case there are several on your system. you can use arecord -l to fi | STRING |
| HIGH | …/frameworks/sherpa-mnn/python-api-examples/vad-alsa.py | 0 | the device name specifies which microphone to use in case there are several on your system. you can use arecord -l to fi | STRING |
| HIGH | …n-api-examples/offline-sense-voice-ctc-decode-files.py | 0 | please download model files from https://github.com/k2-fsa/sherpa-onnx/releases/tag/asr-models | STRING |
| HIGH | …-api-examples/inverse-text-normalization-online-asr.py | 0 | please download model files from https://github.com/k2-fsa/sherpa-onnx/releases/tag/asr-models | STRING |
| HIGH | …n/python-api-examples/offline-nemo-ctc-decode-files.py | 0 | please download model files from https://github.com/k2-fsa/sherpa-onnx/releases/tag/asr-models | STRING |
| HIGH | …n-api-examples/offline-nemo-transducer-decode-files.py | 0 | please download model files from https://github.com/k2-fsa/sherpa-onnx/releases/tag/asr-models | STRING |
| HIGH | …nn/python-api-examples/offline-whisper-decode-files.py | 0 | please download model files from https://github.com/k2-fsa/sherpa-onnx/releases/tag/asr-models | STRING |
| HIGH | …api-examples/inverse-text-normalization-offline-asr.py | 0 | please download model files from https://github.com/k2-fsa/sherpa-onnx/releases/tag/asr-models | STRING |
| HIGH | …/python-api-examples/offline-moonshine-decode-files.py | 0 | please download model files from https://github.com/k2-fsa/sherpa-onnx/releases/tag/asr-models | STRING |
| HIGH | …on-api-examples/offline-telespeech-ctc-decode-files.py | 0 | please download model files from https://github.com/k2-fsa/sherpa-onnx/releases/tag/asr-models | STRING |
| HIGH | …thon-api-examples/offline-fire-red-asr-decode-files.py | 0 | please download model files from https://github.com/k2-fsa/sherpa-onnx/releases/tag/asr-models | STRING |
| HIGH | …nn/python-api-examples/online-nemo-ctc-decode-files.py | 0 | please download model files from https://github.com/k2-fsa/sherpa-onnx/releases/tag/asr-models | STRING |
| HIGH | …sherpa-mnn/python-api-examples/non_streaming_server.py | 0 | it specifies the spoken language in the input file. example values: en, fr, de, zh, jp. available languages for multilin | STRING |
| HIGH | …xamples/two-pass-speech-recognition-from-microphone.py | 0 | it specifies the spoken language in the input file. example values: en, fr, de, zh, jp. available languages for multilin | STRING |
| HIGH | …sherpa-mnn/python-api-examples/offline-decode-files.py | 0 | it specifies the spoken language in the input file. example values: en, fr, de, zh, jp. available languages for multilin | STRING |
| HIGH | …s/sherpa-mnn/python-api-examples/generate-subtitles.py | 0 | it specifies the spoken language in the input file. example values: en, fr, de, zh, jp. available languages for multilin | STRING |
| HIGH | …aker-identification-with-vad-non-streaming-asr-alsa.py | 0 | it specifies the spoken language in the input file. example values: en, fr, de, zh, jp. available languages for multilin | STRING |
| HIGH | …-mnn/python-api-examples/vad-with-non-streaming-asr.py | 0 | it specifies the spoken language in the input file. example values: en, fr, de, zh, jp. available languages for multilin | STRING |
| HIGH | …s/speaker-identification-with-vad-non-streaming-asr.py | 0 | it specifies the spoken language in the input file. example values: en, fr, de, zh, jp. available languages for multilin | STRING |
| HIGH | …sherpa-mnn/python-api-examples/non_streaming_server.py | 0 | for multilingual models, if you specify translate, the output will be in english. | STRING |
| HIGH | …s/sherpa-mnn/python-api-examples/generate-subtitles.py | 0 | for multilingual models, if you specify translate, the output will be in english. | STRING |
| HIGH | …aker-identification-with-vad-non-streaming-asr-alsa.py | 0 | for multilingual models, if you specify translate, the output will be in english. | STRING |
| HIGH | …xamples/two-pass-speech-recognition-from-microphone.py | 0 | for multilingual models, if you specify translate, the output will be in english. | STRING |
| HIGH | …-mnn/python-api-examples/vad-with-non-streaming-asr.py | 0 | for multilingual models, if you specify translate, the output will be in english. | STRING |
| HIGH | …sherpa-mnn/python-api-examples/offline-decode-files.py | 0 | for multilingual models, if you specify translate, the output will be in english. | STRING |
| HIGH | …s/speaker-identification-with-vad-non-streaming-asr.py | 0 | for multilingual models, if you specify translate, the output will be in english. | STRING |
| HIGH | …sherpa-mnn/python-api-examples/non_streaming_server.py | 0 | number of tail padding frames. we have removed the 30-second constraint from whisper, so you need to choose the amount o | STRING |
| HIGH | …s/sherpa-mnn/python-api-examples/generate-subtitles.py | 0 | number of tail padding frames. we have removed the 30-second constraint from whisper, so you need to choose the amount o | STRING |
| HIGH | …aker-identification-with-vad-non-streaming-asr-alsa.py | 0 | number of tail padding frames. we have removed the 30-second constraint from whisper, so you need to choose the amount o | STRING |
| HIGH | …xamples/two-pass-speech-recognition-from-microphone.py | 0 | number of tail padding frames. we have removed the 30-second constraint from whisper, so you need to choose the amount o | STRING |
| HIGH | …-mnn/python-api-examples/vad-with-non-streaming-asr.py | 0 | number of tail padding frames. we have removed the 30-second constraint from whisper, so you need to choose the amount o | STRING |
| HIGH | …sherpa-mnn/python-api-examples/offline-decode-files.py | 0 | number of tail padding frames. we have removed the 30-second constraint from whisper, so you need to choose the amount o | STRING |
| HIGH | …s/speaker-identification-with-vad-non-streaming-asr.py | 0 | number of tail padding frames. we have removed the 30-second constraint from whisper, so you need to choose the amount o | STRING |
| HIGH | …sherpa-mnn/python-api-examples/non_streaming_server.py | 0 | used only when --first-decoding-method is modified_beam_search. it specifies number of active paths to keep during decod | STRING |
| HIGH | …hon-api-examples/speech-recognition-from-microphone.py | 0 | used only when --first-decoding-method is modified_beam_search. it specifies number of active paths to keep during decod | STRING |
| HIGH | …/sherpa-mnn/python-api-examples/online-decode-files.py | 0 | used only when --first-decoding-method is modified_beam_search. it specifies number of active paths to keep during decod | STRING |
| HIGH | …rks/sherpa-mnn/python-api-examples/streaming_server.py | 0 | used only when --first-decoding-method is modified_beam_search. it specifies number of active paths to keep during decod | STRING |
| 35 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | build_lib.sh | 296 | # ============================================================================ | COMMENT |
| MEDIUM | build_lib.sh | 298 | # ============================================================================ | COMMENT |
| MEDIUM | build_lib.sh | 410 | # ============================================================================ | COMMENT |
| MEDIUM | build_lib.sh | 412 | # ============================================================================ | COMMENT |
| MEDIUM | build_lib.sh | 489 | # ============================================================================ | COMMENT |
| MEDIUM | build_lib.sh | 491 | # ============================================================================ | COMMENT |
| MEDIUM | build_lib.sh | 648 | # ============================================================================ | COMMENT |
| MEDIUM | build_lib.sh | 650 | # ============================================================================ | COMMENT |
| MEDIUM | build_lib.sh | 727 | # ============================================================================ | COMMENT |
| MEDIUM | build_lib.sh | 729 | # ============================================================================ | COMMENT |
| MEDIUM | build_lib.sh | 784 | # ============================================================================ | COMMENT |
| MEDIUM | build_lib.sh | 786 | # ============================================================================ | COMMENT |
| MEDIUM | test.sh | 43 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 45 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 136 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 138 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 155 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 157 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 199 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 201 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 275 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 277 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 331 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 333 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 366 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 368 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 478 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 480 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 536 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 543 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 614 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 616 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 632 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 634 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 748 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 751 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 791 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 793 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 827 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 829 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 962 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 964 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 996 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 999 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 1137 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 1151 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 1258 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 1260 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 1318 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | test.sh | 1320 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tools/script/generate_podspec.sh | 2 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tools/script/generate_podspec.sh | 15 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tools/script/generate_podspec.sh | 215 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tools/script/generate_podspec.sh | 217 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tools/script/generate_podspec.sh | 318 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tools/script/generate_podspec.sh | 320 | # ============================================================================= | COMMENT |
| MEDIUM | tools/script/generate_podspec.sh | 93 | # ============================================================================= | COMMENT |
| MEDIUM | tools/script/generate_podspec.sh | 95 | # ============================================================================= | COMMENT |
| MEDIUM | tools/script/generate_podspec.sh | 123 | # ============================================================================= | COMMENT |
| MEDIUM | tools/script/generate_podspec.sh | 125 | # ============================================================================= | COMMENT |
| 71 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | transformers/llm/export/llmexport.py | 122 | self.args.tie_word_embeddings = not self.args.seperate_embed and self.model.lm.lm.weight.equal(self.model.embed. | CODE |
| CRITICAL | …java/com/alibaba/mnnllm/android/utils/MmapUtilsTest.kt | 36 | every { com.alibaba.mls.api.ApplicationProvider.get() } returns application | CODE |
| CRITICAL | …/alibaba/mnnllm/android/benchmark/BenchmarkFragment.kt | 613 | return com.alibaba.mnnllm.android.modelmarket.TagMapper.getDisplayTagList(modelItem.tags).take(3) | CODE |
| CRITICAL | …main/java/com/alibaba/mnnllm/android/llm/LlmSession.kt | 447 | com.alibaba.mnnllm.android.benchmark.BenchmarkResult( | CODE |
| CRITICAL | …libaba/mnnllm/android/chat/ModelSelectionViewHolder.kt | 51 | return com.alibaba.mnnllm.android.modelmarket.TagMapper.getDisplayTagList(modelItem.tags).take(3) | CODE |
| CRITICAL | …libaba/mnnllm/android/chat/chatlist/ChatViewHolders.kt | 268 | com.alibaba.mnnllm.android.utils.ImageUtils.showImageMenu(it.context, imageUri) | CODE |
| CRITICAL | …libaba/mnnllm/android/chat/chatlist/ChatViewHolders.kt | 422 | com.alibaba.mnnllm.android.utils.ImageUtils.showImageMenu(v.context, imageUri) | CODE |
| CRITICAL | …ba/mnnllm/android/chat/input/AttachmentPickerModule.kt | 328 | val thumbnail = com.alibaba.mnnllm.android.utils.VideoThumbnailUtils.generateVideoThumbnail( | CODE |
| CRITICAL | …baba/mnnllm/android/chat/input/VoiceRecordingModule.kt | 73 | val isAudioModel = com.alibaba.mnnllm.android.model.ModelTypeUtils.isAudioModel(activity.modelId!!) | CODE |
| CRITICAL | …libaba/mnnllm/android/chat/voice/VoiceChatPresenter.kt | 212 | val userData = com.alibaba.mnnllm.android.chat.model.ChatDataItem(com.alibaba.mnnllm.android.chat.ch | CODE |
| CRITICAL | …alibaba/mnnllm/android/chat/voice/VoiceChatFragment.kt | 360 | com.alibaba.mnnllm.android.utils.ImageUtils.compressImageFile(photoFile) | CODE |
| CRITICAL | …alibaba/mnnllm/android/chat/voice/VoiceChatFragment.kt | 561 | if (com.alibaba.mnnllm.android.model.ModelTypeUtils.isVisualModel(modelId)) { | CODE |
| CRITICAL | …mnnllm/android/chat/voice/VoiceModelMarketViewModel.kt | 232 | com.alibaba.mnnllm.android.mainsettings.MainSettings.setDefaultTtsModel(context, modelId) | CODE |
| CRITICAL | …mnnllm/android/chat/voice/VoiceModelMarketViewModel.kt | 238 | com.alibaba.mnnllm.android.mainsettings.MainSettings.setDefaultAsrModel(context, modelId) | CODE |
| CRITICAL | …ba/mnnllm/android/mainsettings/MainSettingsFragment.kt | 143 | val sheet = com.alibaba.mnnllm.android.chat.voice.VoiceModelMarketBottomSheet.newInstance() | CODE |
| CRITICAL | …/alibaba/mnnllm/android/modelmarket/ModelRepository.kt | 23 | com.alibaba.mnnllm.android.MnnLlmApplication.getAppContext() | CODE |
| CRITICAL⚡ | …/alibaba/mnnllm/android/modelmarket/ModelRepository.kt | 72 | return com.alibaba.mnnllm.android.utils.PreferenceUtils.getBoolean(context, KEY_ALLOW_NETWORK_MARKET_DATA, true) | CODE |
| CRITICAL⚡ | …/alibaba/mnnllm/android/modelmarket/ModelRepository.kt | 76 | return com.alibaba.mnnllm.android.utils.PreferenceUtils.getBoolean(context, "debug_enable_network_delay", false) | CODE |
| CRITICAL⚡ | …/alibaba/mnnllm/android/modelmarket/ModelRepository.kt | 80 | val env = com.alibaba.mnnllm.android.utils.PreferenceUtils.getString(context, KEY_MARKET_ENV, "prod") | CODE |
| CRITICAL⚡ | …/alibaba/mnnllm/android/modelmarket/ModelRepository.kt | 87 | com.alibaba.mnnllm.android.utils.PreferenceUtils.setString(context, KEY_MARKET_ENV, normalized) | CODE |
| CRITICAL | …n/java/com/alibaba/mnnllm/android/main/MainActivity.kt | 554 | com.google.android.material.dialog.MaterialAlertDialogBuilder(this) | CODE |
| CRITICAL | …ava/com/alibaba/mnnllm/android/widgets/BottomTabBar.kt | 20 | ) : com.google.android.material.card.MaterialCardView(context, attrs, defStyle) { | CODE |
| CRITICAL | …ibaba/mnnllm/api/openai/network/application/Routing.kt | 71 | val context = com.alibaba.mnnllm.android.MnnLlmApplication.getAppContext() | CODE |
| CRITICAL | …aba/mnnllm/api/openai/service/ApiServiceCoordinator.kt | 84 | val serverEventManager = com.alibaba.mnnllm.api.openai.manager.ServerEventManager.getInstance() | CODE |
| CRITICAL | …aba/mnnllm/api/openai/service/ApiServiceCoordinator.kt | 159 | com.alibaba.mnnllm.api.openai.manager.ServerEventManager.getInstance().resetRuntimeState() | CODE |
| CRITICAL | …aba/mnnllm/api/openai/service/ApiServiceCoordinator.kt | 214 | com.alibaba.mnnllm.api.openai.manager.ServerEventManager.getInstance().resetRuntimeState() | CODE |
| CRITICAL | …nnllm/android/debug/DefaultBenchmarkDebugController.kt | 80 | context = com.alibaba.mnnllm.android.MnnLlmApplication.getAppContext(), | CODE |
| CRITICAL | …a/com/alibaba/mls/api/download/ms/MsModelDownloader.kt | 141 | val marketSize = com.alibaba.mls.api.download.DownloadPersistentData.getMarketSizeTotal(ApplicationP | CODE |
| CRITICAL | …a/com/alibaba/mls/api/download/ml/MLModelDownloader.kt | 156 | val marketSize = com.alibaba.mls.api.download.DownloadPersistentData.getMarketSizeTotal(ApplicationP | CODE |
| CRITICAL | …a/com/alibaba/mls/api/download/hf/HfModelDownloader.kt | 195 | val marketSize = com.alibaba.mls.api.download.DownloadPersistentData.getMarketSizeTotal(ApplicationP | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/scripts/bench_pc.py | 10 | CODE | |
| LOW | benchmark/scripts/bench_pc.py | 11 | CODE | |
| LOW | benchmark/scripts/bench_pc.py | 14 | CODE | |
| LOW | benchmark/scripts/bench_pc.py | 30 | CODE | |
| LOW | benchmark/scripts/tvm/ios_bert.py | 6 | CODE | |
| LOW | benchmark/scripts/tvm/ios_bert.py | 8 | CODE | |
| LOW | benchmark/scripts/tvm/ios_bert.py | 8 | CODE | |
| LOW | benchmark/scripts/tvm/ios_bert.py | 9 | CODE | |
| LOW | benchmark/scripts/tvm/ios_bert.py | 10 | CODE | |
| LOW | benchmark/scripts/tvm/ios_bert.py | 11 | CODE | |
| LOW | benchmark/scripts/tvm/ios_tuning.py | 4 | CODE | |
| LOW | benchmark/scripts/tvm/ios_tuning.py | 9 | CODE | |
| LOW | pymnn/test/unit_test.py | 1162 | CODE | |
| LOW | pymnn/test/playground/main.py | 7 | CODE | |
| LOW | pymnn/test/playground/cases/model_test.py | 7 | CODE | |
| LOW | pymnn/test/playground/cases/__init__.py | 1 | CODE | |
| LOW | pymnn/test/playground/cases/__init__.py | 1 | CODE | |
| LOW | pymnn/pip_package/setup.py | 4 | CODE | |
| LOW | pymnn/pip_package/build_wheel.py | 4 | CODE | |
| LOW | pymnn/pip_package/MNN/__init__.py | 4 | CODE | |
| LOW | pymnn/pip_package/MNN/__init__.py | 6 | CODE | |
| LOW | pymnn/pip_package/MNN/__init__.py | 7 | CODE | |
| LOW | pymnn/pip_package/MNN/__init__.py | 8 | CODE | |
| LOW | pymnn/pip_package/MNN/__init__.py | 9 | CODE | |
| LOW | pymnn/pip_package/MNN/__init__.py | 10 | CODE | |
| LOW | pymnn/pip_package/MNN/__init__.py | 11 | CODE | |
| LOW | pymnn/pip_package/MNN/__init__.py | 12 | CODE | |
| LOW | pymnn/pip_package/MNN/tools/mnnconvert.py | 4 | CODE | |
| LOW | pymnn/pip_package/MNN/tools/mnnconvert.py | 7 | CODE | |
| LOW | pymnn/pip_package/MNN/tools/mnnconvert.py | 9 | CODE | |
| LOW | pymnn/pip_package/MNN/tools/__init__.py | 1 | CODE | |
| LOW | pymnn/pip_package/MNN/tools/__init__.py | 1 | CODE | |
| LOW | pymnn/pip_package/MNN/tools/__init__.py | 1 | CODE | |
| LOW | pymnn/pip_package/MNN/tools/__init__.py | 2 | CODE | |
| LOW | pymnn/pip_package/MNN/tools/mnnquant.py | 4 | CODE | |
| LOW | pymnn/pip_package/MNN/tools/mnnquant.py | 6 | CODE | |
| LOW | pymnn/pip_package/MNN/tools/mnn.py | 4 | CODE | |
| LOW | pymnn/pip_package/MNN/tools/mnn.py | 5 | CODE | |
| LOW | pymnn/pip_package/MNN/tools/mnn.py | 6 | CODE | |
| LOW | pymnn/pip_package/MNN/tools/utils/log.py | 11 | CODE | |
| LOW | pymnn/pip_package/MNN/tools/utils/__init__.py | 1 | CODE | |
| LOW | pymnn/pip_package/MNN/nn/__init__.py | 2 | CODE | |
| LOW | pymnn/pip_package/MNN/optim/__init__.py | 1 | CODE | |
| LOW | pymnn/pip_package/MNN/expr/__init__.py | 6 | CODE | |
| LOW | pymnn/pip_package/MNN/numpy/__init__.py | 1372 | CODE | |
| LOW | pymnn/pip_package/MNN/numpy/__init__.py | 1373 | CODE | |
| LOW | pymnn/pip_package/MNN/audio/__init__.py | 1 | CODE | |
| LOW | pymnn/pip_package/MNN/audio/__init__.py | 3 | CODE | |
| LOW | pymnn/pip_package/MNN/audio/__init__.py | 4 | CODE | |
| LOW | pymnn/pip_package/MNN/audio/__init__.py | 5 | CODE | |
| LOW | pymnn/pip_package/MNN/cv/__init__.py | 1 | CODE | |
| LOW | pymnn/pip_package/MNN/data/__init__.py | 1 | CODE | |
| LOW | pymnn/examples/MNNExpr/mobilenet_demo.py | 4 | CODE | |
| LOW | pymnn/examples/MNNExpr/gpu_io_interface.py | 5 | CODE | |
| LOW | pymnn/examples/MNNExpr/gpu_express_demo.py | 3 | CODE | |
| LOW | pymnn/examples/MNNExpr/mnn_numpy_cv_demo.py | 4 | CODE | |
| LOW | pymnn/examples/MNNTrain/mnist/train_mnist.py | 1 | CODE | |
| LOW | pymnn/examples/MNNTrain/mnist/dataset.py | 6 | CODE | |
| LOW | …ples/MNNTrain/mobilenet_finetune/mobilenet_transfer.py | 1 | CODE | |
| LOW | pymnn/examples/MNNTrain/simple/solve_equation.py | 1 | CODE | |
| 216 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | 3rd_party/flatbuffers/tests/py_test.py | 1179 | def test_default_monster_name(self): | CODE |
| LOW⚡ | 3rd_party/flatbuffers/tests/py_test.py | 1182 | def test_default_monster_inventory_item(self): | CODE |
| LOW⚡ | 3rd_party/flatbuffers/tests/py_test.py | 1185 | def test_default_monster_inventory_length(self): | CODE |
| LOW⚡ | 3rd_party/flatbuffers/tests/py_test.py | 1188 | def test_default_monster_color(self): | CODE |
| LOW⚡ | 3rd_party/flatbuffers/tests/py_test.py | 1191 | def test_nondefault_monster_color(self): | CODE |
| LOW⚡ | 3rd_party/flatbuffers/tests/py_test.py | 1203 | def test_default_monster_testtype(self): | CODE |
| LOW⚡ | 3rd_party/flatbuffers/tests/py_test.py | 1206 | def test_default_monster_test_field(self): | CODE |
| LOW⚡ | 3rd_party/flatbuffers/tests/py_test.py | 1215 | def test_default_monster_testarrayofstring(self): | CODE |
| LOW⚡ | 3rd_party/flatbuffers/tests/py_test.py | 1218 | def test_default_monster_testarrayofstring_length(self): | CODE |
| LOW⚡ | 3rd_party/flatbuffers/tests/py_test.py | 1221 | def test_default_monster_testarrayoftables(self): | CODE |
| LOW⚡ | 3rd_party/flatbuffers/tests/py_test.py | 1224 | def test_nondefault_monster_testarrayoftables(self): | CODE |
| LOW⚡ | 3rd_party/flatbuffers/tests/py_test.py | 1271 | def test_default_monster_testnestedflatbuffer(self): | CODE |
| LOW⚡ | 3rd_party/flatbuffers/tests/py_test.py | 1274 | def test_default_monster_testnestedflatbuffer_length(self): | CODE |
| LOW⚡ | 3rd_party/flatbuffers/tests/py_test.py | 1277 | def test_nondefault_monster_testnestedflatbuffer(self): | CODE |
| LOW⚡ | 3rd_party/flatbuffers/tests/py_test.py | 1482 | def test_object_is_nested_error(self): | CODE |
| LOW⚡ | 3rd_party/flatbuffers/tests/py_test.py | 1488 | def test_object_is_not_nested_error(self): | CODE |
| LOW⚡ | 3rd_party/flatbuffers/tests/py_test.py | 1493 | def test_struct_is_not_inline_error(self): | CODE |
| LOW⚡ | 3rd_party/flatbuffers/tests/py_test.py | 1504 | def test_create_string_is_nested_error(self): | CODE |
| LOW⚡ | 3rd_party/flatbuffers/tests/py_test.py | 1511 | def test_create_byte_vector_is_nested_error(self): | CODE |
| LOW⚡ | 3rd_party/flatbuffers/tests/py_test.py | 1518 | def test_finished_bytes_error(self): | CODE |
| LOW | 3rd_party/flatbuffers/tests/py_test.py | 458 | def test_create_arbitrary_string(self): | CODE |
| LOW | 3rd_party/flatbuffers/tests/py_test.py | 662 | def test_create_numpy_vector_bool(self): | CODE |
| LOW | 3rd_party/flatbuffers/tests/py_test.py | 695 | def test_create_numpy_vector_reject_strings(self): | CODE |
| LOW | 3rd_party/flatbuffers/tests/py_test.py | 718 | def test_create_numpy_vector_reject_object(self): | CODE |
| LOW | 3rd_party/flatbuffers/tests/py_test.py | 748 | def test_vtable_with_one_true_bool(self): | CODE |
| LOW | 3rd_party/flatbuffers/tests/py_test.py | 764 | def test_vtable_with_one_default_bool(self): | CODE |
| LOW | 3rd_party/flatbuffers/tests/py_test.py | 825 | def test_vtable_with_empty_vector(self): | CODE |
| LOW | 3rd_party/flatbuffers/tests/py_test.py | 841 | def test_vtable_with_empty_vector_of_byte_and_some_scalars(self): | CODE |
| LOW | 3rd_party/flatbuffers/tests/py_test.py | 934 | def test_table_with_some_elements(self): | CODE |
| LOW | 3rd_party/flatbuffers/tests/py_test.py | 957 | def test__one_unfinished_table_and_one_finished_table(self): | CODE |
| LOW | 3rd_party/flatbuffers/tests/py_test.py | 1081 | def make_monster_from_generated_code(sizePrefix = False): | CODE |
| LOW | 3rd_party/flatbuffers/tests/py_test.py | 1165 | def test_nondefault_monster_mana(self): | CODE |
| LOW | 3rd_party/flatbuffers/tests/py_test.py | 1248 | def test_default_monster_testarrayoftables_length(self): | CODE |
| LOW | 3rd_party/flatbuffers/tests/py_test.py | 1251 | def test_nondefault_monster_enemy(self): | CODE |
| LOW | 3rd_party/flatbuffers/tests/py_test.py | 1309 | def test_nondefault_monster_testempty(self): | CODE |
| LOW | 3rd_party/flatbuffers/tests/py_test.py | 1329 | def test_default_monster_testbool(self): | CODE |
| LOW | 3rd_party/flatbuffers/tests/py_test.py | 1332 | def test_nondefault_monster_testbool(self): | CODE |
| LOW | 3rd_party/flatbuffers/tests/py_test.py | 1344 | def test_default_monster_testhashes(self): | CODE |
| LOW | 3rd_party/flatbuffers/tests/py_test.py | 1354 | def test_nondefault_monster_testhashes(self): | CODE |
| LOW | 3rd_party/flatbuffers/tests/py_test.py | 1380 | def test_getrootas_for_nonroot_table(self): | CODE |
| LOW | 3rd_party/flatbuffers/tests/py_test.py | 1401 | def test_vtable_deduplication(self): | CODE |
| LOW | 3rd_party/flatbuffers/tests/py_test.py | 1655 | def backward_compatible_run_tests(**kwargs): | CODE |
| LOW | 3rd_party/flatbuffers/tests/union_vector/Movie.php | 153 | public static function createCharactersTypeVector(FlatBufferBuilder $builder, array $data) | CODE |
| LOW | 3rd_party/flatbuffers/tests/union_vector/Movie.php | 167 | public static function startCharactersTypeVector(FlatBufferBuilder $builder, $numElems) | CODE |
| LOW | 3rd_party/flatbuffers/tests/union_vector/Attacker.php | 26 | public static function AttackerBufferHasIdentifier(ByteBuffer $buf) | CODE |
| LOW⚡ | …d_party/flatbuffers/tests/MyGame/InParentNamespace.php | 17 | public static function getRootAsInParentNamespace(ByteBuffer $bb) | CODE |
| LOW⚡ | …d_party/flatbuffers/tests/MyGame/InParentNamespace.php | 23 | public static function InParentNamespaceIdentifier() | CODE |
| LOW⚡ | …d_party/flatbuffers/tests/MyGame/InParentNamespace.php | 28 | public static function InParentNamespaceBufferHasIdentifier(ByteBuffer $buf) | CODE |
| LOW⚡ | …d_party/flatbuffers/tests/MyGame/InParentNamespace.php | 33 | public static function InParentNamespaceExtension() | CODE |
| LOW | 3rd_party/flatbuffers/tests/MyGame/Example2/Monster.php | 28 | public static function MonsterBufferHasIdentifier(ByteBuffer $buf) | CODE |
| LOW | …party/flatbuffers/tests/MyGame/Example/TypeAliases.php | 28 | public static function TypeAliasesBufferHasIdentifier(ByteBuffer $buf) | CODE |
| LOW⚡ | …ffers/tests/MyGame/Example/TestSimpleTableWithEnum.php | 17 | public static function getRootAsTestSimpleTableWithEnum(ByteBuffer $bb) | CODE |
| LOW⚡ | …ffers/tests/MyGame/Example/TestSimpleTableWithEnum.php | 23 | public static function TestSimpleTableWithEnumIdentifier() | CODE |
| LOW⚡ | …ffers/tests/MyGame/Example/TestSimpleTableWithEnum.php | 28 | public static function TestSimpleTableWithEnumBufferHasIdentifier(ByteBuffer $buf) | CODE |
| LOW⚡ | …ffers/tests/MyGame/Example/TestSimpleTableWithEnum.php | 33 | public static function TestSimpleTableWithEnumExtension() | CODE |
| LOW | …ffers/tests/MyGame/Example/TestSimpleTableWithEnum.php | 63 | public static function startTestSimpleTableWithEnum(FlatBufferBuilder $builder) | CODE |
| LOW | …ffers/tests/MyGame/Example/TestSimpleTableWithEnum.php | 72 | public static function createTestSimpleTableWithEnum(FlatBufferBuilder $builder, $color) | CODE |
| LOW | …ffers/tests/MyGame/Example/TestSimpleTableWithEnum.php | 94 | public static function endTestSimpleTableWithEnum(FlatBufferBuilder $builder) | CODE |
| LOW | …_party/flatbuffers/tests/MyGame/Example/Referrable.php | 28 | public static function ReferrableBufferHasIdentifier(ByteBuffer $buf) | CODE |
| LOW⚡ | 3rd_party/flatbuffers/tests/MyGame/Example/Monster.php | 524 | public function getVectorOfWeakReferences($j) | CODE |
| 193 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | benchmark/scripts/tvm/tvmc_cuda_test.py | 14 | model = tvmc.load("/home/mnnteam/benchmark/models/onnx/" + model_name + ".onnx") #Step 1: Load | CODE |
| LOW⚡ | benchmark/scripts/tvm/tvmc_cuda_test.py | 24 | tvmc.compile(model, target=device_name, tuning_records=log_file, package_path=compile_file) #Step 2: Compile | CODE |
| LOW⚡ | benchmark/scripts/tvm/tvmc_cuda_test.py | 31 | result = tvmc.run(new_package, device=device_name, repeat=100) #Step 3: Run | CODE |
| LOW⚡ | tools/script/generate_podspec.sh | 329 | # Step 1: Check file exists | COMMENT |
| LOW⚡ | tools/script/generate_podspec.sh | 334 | # Step 2: Validate syntax (only if file exists) | COMMENT |
| LOW⚡ | tools/script/generate_podspec.sh | 341 | # Step 3: Validate file references | COMMENT |
| LOW⚡ | tools/script/generate_podspec.sh | 346 | # Step 4: Full validation (if requested) | COMMENT |
| LOW⚡ | test/op/LinearAttentionTest.cpp | 162 | // Step 4: Scale Q | COMMENT |
| LOW⚡ | test/op/LinearAttentionTest.cpp | 168 | // Step 5: Gated Delta Rule with persistent state | COMMENT |
| LOW⚡ | test/op/LinearAttentionTest.cpp | 1161 | // Step 2: simulate the meta updates Llm performs around eraseHistory. | COMMENT |
| LOW⚡ | test/op/LinearAttentionTest.cpp | 1167 | // Step 3: prefill Y. onResize sees remove>0 -> isExplicitRollback; | COMMENT |
| LOW | test/op/LinearAttentionTest.cpp | 66 | // Step 1: Build conv_input = cat(convState, qkv) along dim L | COMMENT |
| LOW | test/op/LinearAttentionTest.cpp | 107 | // Step 2: Split Q, K, V with GQA expansion | COMMENT |
| LOW | test/op/LinearAttentionTest.cpp | 144 | // Step 3: L2 Norm | COMMENT |
| LOW | test/op/LinearAttentionTest.cpp | 1143 | // Step 1: prefill X. metaA.previous=0 here makes onResize treat this as | COMMENT |
| LOW | source/backend/metal/MetalKVCacheManager.mm | 359 | // Step 3: Move the kvcache from temporary buffers in memory to disk | COMMENT |
| LOW | source/backend/metal/MetalLinearAttentionShader.hpp | 601 | // Step 1: Decay state + compute v_pred | COMMENT |
| LOW⚡ | source/backend/metal/MetalLinearAttentionShader.hpp | 613 | // Step 2: Compute delta | COMMENT |
| LOW⚡ | source/backend/metal/MetalLinearAttentionShader.hpp | 616 | // Step 3: Update state + compute output | COMMENT |
| LOW | source/backend/cpu/CPUKVCacheManager.cpp | 197 | // Step 1: Copy the old kvcache from files to temporary buffers in memory | COMMENT |
| LOW⚡ | source/backend/cpu/CPUKVCacheManager.cpp | 220 | // Step 2: Resize the kvcache files and remap them | COMMENT |
| LOW⚡ | source/backend/cpu/CPUKVCacheManager.cpp | 224 | // Step 3: Move the kvcache from temporary buffers in memory to disk | COMMENT |
| LOW | source/backend/cpu/CPUKVCacheManager.cpp | 284 | // Step 4: Release the temporary buffers | COMMENT |
| LOW | source/backend/cpu/CPULinearAttention.cpp | 349 | // Step 1: Depthwise Conv1D + SiLU | COMMENT |
| LOW | source/backend/cpu/CPULinearAttention.cpp | 389 | // Step 2: Split Q, K, V | COMMENT |
| LOW | source/backend/cpu/CPULinearAttention.cpp | 426 | // Step 3: Optional L2 Normalization | COMMENT |
| LOW⚡ | source/backend/cpu/CPULinearAttention.cpp | 448 | // Step 4: Scale Q | COMMENT |
| LOW⚡ | source/backend/cpu/CPULinearAttention.cpp | 453 | // Step 5: Gated Delta Rule | COMMENT |
| LOW | source/backend/cpu/CPULinearAttention.cpp | 1171 | // Step 2: y = C_ * conv_out, transpose to output [B, L, 1, H] | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 84 | // Step 1: Apply sign flips | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 88 | // Step 2: Butterfly stages (log2(32) = 5 stages) | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 99 | // Step 3: Normalize | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 109 | // Step 1: Copy input | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 113 | // Step 2: Butterfly stages (WHT is self-inverse up to scaling) | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 178 | // Step 2: Normalize | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 185 | // Step 3: Apply WHT forward | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 189 | // Step 4: Find nearest codebook index for each coordinate | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 195 | // Step 5: Pack 3-bit indices (4 groups of 8 → 12 bytes) | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 203 | // Step 1: Read scale | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 208 | // Step 2: Unpack 3-bit indices and look up centroids | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 218 | // Step 3: Apply inverse WHT | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 222 | // Step 4: Scale back | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 233 | // Step 1: Read scale | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 238 | // Step 2: Unpack 3-bit indices and look up centroids | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 248 | // Step 3: Apply inverse WHT | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 252 | // Step 4: Scale and write to strided destination | COMMENT |
| LOW | source/backend/cpu/compute/TurboQuant.hpp | 124 | // Step 3: Normalize and undo sign flips | COMMENT |
| LOW | source/backend/cpu/compute/TurboQuant.hpp | 164 | // Step 1: Compute RMS scale | COMMENT |
| LOW⚡ | source/backend/cpu/arm/CommonOptFunctionNeon.cpp | 584 | // Step 1: Transpose 2x2 blocks of 2-element vectors | COMMENT |
| LOW⚡ | source/backend/cpu/arm/CommonOptFunctionNeon.cpp | 588 | // Step 2: Combine the results to get the full transpose | COMMENT |
| LOW | …rce/backend/hexagon/htp-ops-lib/include/dsp/hvx_math.h | 8 | // NOTE: This function is intended to use in safe softmax (x <= 0, overflow handing is omitted) | COMMENT |
| LOW | docs/tools/compress.md | 203 | #### Step 1: 先转为 float MNN | COMMENT |
| LOW | docs/tools/compress.md | 209 | #### Step 2: 准备数据集,编写量化json文件 | COMMENT |
| LOW | docs/tools/compress.md | 308 | #### Step 3: 使用 `quantized.out` 或 `mnnquant` 进行离线量化 | COMMENT |
| LOW | skills/general-debug/SKILL.md | 87 | #### Step 1: 复现并最小化 | COMMENT |
| LOW | skills/general-debug/SKILL.md | 92 | #### Step 2: 用地址等式定位别名(关键手法) | COMMENT |
| LOW | skills/general-debug/SKILL.md | 107 | #### Step 3: 从 `onResize` 找根因 | COMMENT |
| LOW⚡ | skills/general-debug/SKILL.md | 126 | #### Step 4: 跨 op tensor 别名(fusion / 图重排场景) | COMMENT |
| LOW⚡ | skills/general-debug/SKILL.md | 134 | #### Step 5: 越界写 / 未初始化 | COMMENT |
| LOW⚡ | skills/general-debug/SKILL.md | 142 | #### Step 6: 生命周期错位(栈上临时 buffer) | COMMENT |
| 47 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/scripts/tvm/ios_bert.py | 119 | CODE | |
| LOW | benchmark/scripts/tvm/ios_tuning.py | 72 | CODE | |
| LOW | benchmark/scripts/tvm/android_tuning.py | 50 | CODE | |
| LOW | 3rd_party/flatbuffers/tests/py_test.py | 236 | CODE | |
| LOW | pymnn/test/model_test.py | 10 | CODE | |
| LOW | pymnn/test/model_test.py | 50 | CODE | |
| LOW | pymnn/test/model_test.py | 71 | CODE | |
| LOW | pymnn/test/benchmark.py | 47 | CODE | |
| LOW | pymnn/test/unit_test.py | 384 | CODE | |
| LOW | pymnn/test/unit_test.py | 666 | CODE | |
| LOW | pymnn/pip_package/build_deps.py | 74 | CODE | |
| LOW | pymnn/pip_package/MNN/tools/mnnconvert.py | 19 | CODE | |
| LOW | pymnn/pip_package/MNN/expr/__init__.py | 81 | CODE | |
| LOW | pymnn/pip_package/MNN/numpy/linalg/__init__.py | 4 | CODE | |
| LOW | tools/converter/tools/test4TF.py | 56 | CODE | |
| LOW | tools/converter/tools/auto_quant.py | 17 | CODE | |
| LOW | tools/script/analyzeQuantErrors.py | 81 | CODE | |
| LOW | tools/script/arm_assembly.py | 11 | CODE | |
| LOW | tools/script/register.py | 3 | CODE | |
| LOW | tools/script/register.py | 93 | CODE | |
| LOW | tools/script/register.py | 155 | CODE | |
| LOW | tools/script/register.py | 9 | CODE | |
| LOW | tools/script/register.py | 100 | CODE | |
| LOW | tools/script/register.py | 163 | CODE | |
| LOW | tools/script/prue_mnn_ops.py | 34 | CODE | |
| LOW | tools/script/testMNNFromTf.py | 46 | CODE | |
| LOW | tools/script/arm2binary.py | 70 | CODE | |
| LOW | tools/script/arm2binary.py | 82 | CODE | |
| LOW | tools/script/arm2binary.py | 194 | CODE | |
| LOW | tools/script/turnMNN2Expr.py | 66 | CODE | |
| LOW | tools/script/testMNNFromOnnx.py | 129 | CODE | |
| LOW | tools/script/gen_unicode_data.py | 72 | CODE | |
| LOW | tools/script/opencl_kernel_check.py | 64 | CODE | |
| LOW | tools/script/opencl_kernel_check.py | 135 | CODE | |
| LOW | tools/mnncompress/mnncompress/common/helper.py | 4 | CODE | |
| LOW | …ompress/mnncompress/tensorflow/sensitivity_analyzer.py | 43 | CODE | |
| LOW | …ls/mnncompress/mnncompress/tensorflow/LSQ_quantizer.py | 200 | CODE | |
| LOW | …ls/mnncompress/mnncompress/tensorflow/LSQ_quantizer.py | 498 | CODE | |
| LOW | …ls/mnncompress/mnncompress/tensorflow/LSQ_quantizer.py | 634 | CODE | |
| LOW | …ls/mnncompress/mnncompress/tensorflow/EMA_quantizer.py | 200 | CODE | |
| LOW | …ls/mnncompress/mnncompress/tensorflow/EMA_quantizer.py | 499 | CODE | |
| LOW | …ls/mnncompress/mnncompress/tensorflow/EMA_quantizer.py | 633 | CODE | |
| LOW | …ress/mnncompress/tensorflow/TaylorFO_channel_pruner.py | 145 | CODE | |
| LOW | …mnncompress/mnncompress/tensorflow/weight_quantizer.py | 112 | CODE | |
| LOW | …mnncompress/mnncompress/tensorflow/weight_quantizer.py | 152 | CODE | |
| LOW | …ress/mnncompress/tensorflow/SA_prune_ratio_searcher.py | 108 | CODE | |
| LOW | …ress/mnncompress/tensorflow/SA_prune_ratio_searcher.py | 262 | CODE | |
| LOW | …ls/mnncompress/mnncompress/tensorflow/OAQ_quantizer.py | 203 | CODE | |
| LOW | …ls/mnncompress/mnncompress/tensorflow/OAQ_quantizer.py | 640 | CODE | |
| LOW | …ls/mnncompress/mnncompress/tensorflow/OAQ_quantizer.py | 746 | CODE | |
| LOW | …ls/mnncompress/mnncompress/tensorflow/OAQ_quantizer.py | 779 | CODE | |
| LOW | …s/mnncompress/mnncompress/tensorflow/SIMD_OC_pruner.py | 145 | CODE | |
| LOW | …nncompress/mnncompress/tensorflow/SNIP_level_pruner.py | 141 | CODE | |
| LOW | …ls/mnncompress/mnncompress/tensorflow/decomposition.py | 118 | CODE | |
| LOW | …ls/mnncompress/mnncompress/tensorflow/decomposition.py | 215 | CODE | |
| LOW | tools/mnncompress/mnncompress/tensorflow/admm_pruner.py | 78 | CODE | |
| LOW | tools/mnncompress/mnncompress/tensorflow/admm_pruner.py | 95 | CODE | |
| LOW | tools/mnncompress/mnncompress/tensorflow/admm_pruner.py | 161 | CODE | |
| LOW | tools/mnncompress/mnncompress/tensorflow/helpers.py | 367 | CODE | |
| LOW | tools/mnncompress/mnncompress/pytorch/LSQ_quantizer.py | 190 | CODE | |
| 125 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | 3rd_party/flatbuffers/tests/py_test.py | 51 | except Exception as e: | CODE |
| LOW | pymnn/pip_package/MNN/expr/__init__.py | 13 | except Exception: | CODE |
| LOW | tools/script/arm_assembly.py | 223 | except Exception as e: | CODE |
| LOW | tools/script/arm_assembly.py | 266 | except Exception as e: | CODE |
| LOW | tools/script/arm_assembly.py | 303 | except Exception as e: | CODE |
| MEDIUM | tools/script/testMNNFromOnnx.py | 260 | print('Error is between ', last_right_node, ' and ', first_error_node) | CODE |
| MEDIUM | tools/script/genQNNModelsFromMNN.py | 27 | print(f"Error generating for socId: {socId}, hexagonArch: {hexagonArch}") | CODE |
| MEDIUM | tools/script/genQNNModelsFromMNN.py | 30 | print(f"Error output:\n{e.stderr}") | CODE |
| LOW | source/backend/qnn/npu_convert.py | 40 | except Exception as e: | CODE |
| LOW | source/backend/qnn/npu_convert.py | 158 | except Exception as e: | CODE |
| LOW | source/backend/qnn/npu_convert.py | 212 | except Exception as e: | CODE |
| MEDIUM | source/backend/qnn/npu_convert.py | 29 | def raise_stack_limit(): | CODE |
| MEDIUM | transformers/llm/export/gguf2mnn.py | 386 | print("Error: Can't find weight for " + name) | CODE |
| MEDIUM | transformers/llm/export/gguf2mnn.py | 419 | print('Error: Bias is quant: ', tensormap[bias_name].tensor_type) | CODE |
| LOW | transformers/llm/export/llmexport.py | 706 | except Exception as e: | CODE |
| LOW | transformers/llm/export/llmexport.py | 832 | except Exception as e: | CODE |
| LOW | transformers/llm/export/npu/generate_llm_qnn.py | 305 | except Exception as e: | CODE |
| MEDIUM | transformers/llm/export/npu/generate_llm_qnn.py | 306 | print(f"Error parsing --image_sizes: {e}") | CODE |
| MEDIUM | transformers/llm/export/npu/generate_llm_qnn.py | 331 | print(f"Error: 'hidden_size' key not found in {config_file_path}") | CODE |
| MEDIUM | transformers/llm/export/utils/smooth_quantizer.py | 520 | print("Error: CPU only supports 8 bit feature map quantized") | CODE |
| LOW | transformers/llm/export/utils/model.py | 135 | except Exception: | CODE |
| LOW | transformers/llm/export/utils/tokenizer.py | 47 | except Exception: | CODE |
| LOW | transformers/llm/export/utils/tokenizer.py | 618 | except Exception: | CODE |
| LOW | transformers/llm/export/utils/tokenizer.py | 632 | except Exception: | CODE |
| LOW | transformers/llm/export/utils/tokenizer.py | 768 | except Exception as e: | CODE |
| LOW⚡ | transformers/llm/export/utils/tokenizer.py | 796 | except Exception as e: | CODE |
| LOW⚡ | transformers/llm/export/utils/tokenizer.py | 799 | except Exception as e2: | CODE |
| LOW⚡ | transformers/llm/export/utils/tokenizer.py | 805 | except Exception as e2: | CODE |
| MEDIUM | transformers/llm/export/utils/tokenizer.py | 6 | def __init__(self, tokenizer_path, model_type, **kwargs): | CODE |
| LOW | transformers/llm/export/utils/mnn_converter.py | 43 | except Exception: | CODE |
| LOW | transformers/llm/export/utils/spinner.py | 20 | except Exception as e: | CODE |
| LOW | transformers/llm/export/utils/torch_utils.py | 108 | except Exception: | CODE |
| MEDIUM | transformers/llm/engine/tools/bench_ttfa.py | 152 | print(f"Error: {path} not found", file=sys.stderr) | CODE |
| LOW | transformers/diffusion/export/convert_mnn_sd35.py | 30 | except Exception as e: | CODE |
| LOW | transformers/diffusion/export/convert_mnn_sd35.py | 73 | except Exception as e: | CODE |
| LOW | transformers/diffusion/export/convert_mnn_sd35.py | 83 | except Exception: | CODE |
| LOW | transformers/diffusion/export/convert_mnn.py | 51 | except Exception: | CODE |
| LOW | transformers/diffusion/export/convert_mnn.py | 67 | except Exception: | CODE |
| LOW | transformers/diffusion/export/convert_mnn.py | 102 | except Exception: | CODE |
| MEDIUM | transformers/diffusion/export/wan/wan_onnx_export.py | 121 | def load_diffusers_pipeline(model_path, dtype, device, errors): | CODE |
| MEDIUM | transformers/diffusion/export/wan/wan_onnx_export.py | 341 | def load_official_wan(model_path, dtype, device, errors): | CODE |
| LOW⚡ | transformers/diffusion/export/wan/wan_onnx_export.py | 346 | except Exception: | CODE |
| LOW⚡ | transformers/diffusion/export/wan/wan_onnx_export.py | 350 | except Exception as e: | CODE |
| LOW⚡ | transformers/diffusion/export/wan/wan_onnx_export.py | 357 | except Exception as e: | CODE |
| LOW⚡ | transformers/diffusion/export/wan/wan_onnx_export.py | 366 | except Exception: | CODE |
| LOW | transformers/diffusion/export/wan/wan_onnx_export.py | 124 | except Exception as e: | CODE |
| LOW | transformers/diffusion/export/wan/wan_onnx_export.py | 159 | except Exception as e: | CODE |
| LOW | transformers/diffusion/export/wan/wan_onnx_export.py | 251 | except Exception as e: | CODE |
| LOW | transformers/diffusion/export/wan/wan_onnx_export.py | 412 | except Exception as e: | CODE |
| LOW | transformers/diffusion/export/wan/wan_onnx_export.py | 459 | except Exception: | CODE |
| LOW | transformers/diffusion/export/wan/wan_onnx_export.py | 476 | except Exception as e: | CODE |
| LOW | transformers/diffusion/export/wan/wan_onnx_export.py | 512 | except Exception: | CODE |
| LOW | transformers/diffusion/export/wan/wan_onnx_export.py | 514 | except Exception: | CODE |
| LOW | transformers/diffusion/export/wan/wan_onnx_export.py | 576 | except Exception as e: | CODE |
| LOW | transformers/diffusion/export/wan/wan_onnx_export.py | 667 | except Exception as e: | CODE |
| LOW | transformers/diffusion/export/wan/wan_onnx_export.py | 721 | except Exception as e: | CODE |
| LOW | transformers/diffusion/export/wan/wan_convert_mnn.py | 177 | except Exception: | CODE |
| LOW | transformers/diffusion/export/wan/wan_convert_mnn.py | 200 | except Exception as e: | CODE |
| LOW | transformers/diffusion/export/wan/wan_alignment.py | 383 | except Exception as exc: | CODE |
| LOW | transformers/diffusion/export/wan/wan_alignment.py | 448 | except Exception as exc: | CODE |
| 55 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | benchmark/scripts/tvm/tvmc_cuda_test.py | 14 | model = tvmc.load("/home/mnnteam/benchmark/models/onnx/" + model_name + ".onnx") #Step 1: Load | CODE |
| LOW⚡ | benchmark/scripts/tvm/tvmc_cuda_test.py | 24 | tvmc.compile(model, target=device_name, tuning_records=log_file, package_path=compile_file) #Step 2: Compile | CODE |
| LOW⚡ | benchmark/scripts/tvm/tvmc_cuda_test.py | 31 | result = tvmc.run(new_package, device=device_name, repeat=100) #Step 3: Run | CODE |
| LOW⚡ | tools/script/generate_podspec.sh | 329 | # Step 1: Check file exists | COMMENT |
| LOW⚡ | tools/script/generate_podspec.sh | 334 | # Step 2: Validate syntax (only if file exists) | COMMENT |
| LOW⚡ | tools/script/generate_podspec.sh | 341 | # Step 3: Validate file references | COMMENT |
| LOW⚡ | tools/script/generate_podspec.sh | 346 | # Step 4: Full validation (if requested) | COMMENT |
| LOW⚡ | test/op/LinearAttentionTest.cpp | 162 | // Step 4: Scale Q | COMMENT |
| LOW⚡ | test/op/LinearAttentionTest.cpp | 168 | // Step 5: Gated Delta Rule with persistent state | COMMENT |
| LOW⚡ | test/op/LinearAttentionTest.cpp | 1161 | // Step 2: simulate the meta updates Llm performs around eraseHistory. | COMMENT |
| LOW⚡ | test/op/LinearAttentionTest.cpp | 1167 | // Step 3: prefill Y. onResize sees remove>0 -> isExplicitRollback; | COMMENT |
| LOW | test/op/LinearAttentionTest.cpp | 66 | // Step 1: Build conv_input = cat(convState, qkv) along dim L | COMMENT |
| LOW | test/op/LinearAttentionTest.cpp | 107 | // Step 2: Split Q, K, V with GQA expansion | COMMENT |
| LOW | test/op/LinearAttentionTest.cpp | 144 | // Step 3: L2 Norm | COMMENT |
| LOW | test/op/LinearAttentionTest.cpp | 1143 | // Step 1: prefill X. metaA.previous=0 here makes onResize treat this as | COMMENT |
| LOW | source/backend/metal/MetalKVCacheManager.mm | 359 | // Step 3: Move the kvcache from temporary buffers in memory to disk | COMMENT |
| LOW | source/backend/metal/MetalLinearAttentionShader.hpp | 601 | // Step 1: Decay state + compute v_pred | COMMENT |
| LOW⚡ | source/backend/metal/MetalLinearAttentionShader.hpp | 613 | // Step 2: Compute delta | COMMENT |
| LOW⚡ | source/backend/metal/MetalLinearAttentionShader.hpp | 616 | // Step 3: Update state + compute output | COMMENT |
| LOW | source/backend/cpu/CPUKVCacheManager.cpp | 197 | // Step 1: Copy the old kvcache from files to temporary buffers in memory | COMMENT |
| LOW⚡ | source/backend/cpu/CPUKVCacheManager.cpp | 220 | // Step 2: Resize the kvcache files and remap them | COMMENT |
| LOW⚡ | source/backend/cpu/CPUKVCacheManager.cpp | 224 | // Step 3: Move the kvcache from temporary buffers in memory to disk | COMMENT |
| LOW | source/backend/cpu/CPUKVCacheManager.cpp | 284 | // Step 4: Release the temporary buffers | COMMENT |
| LOW | source/backend/cpu/CPULinearAttention.cpp | 349 | // Step 1: Depthwise Conv1D + SiLU | COMMENT |
| LOW | source/backend/cpu/CPULinearAttention.cpp | 389 | // Step 2: Split Q, K, V | COMMENT |
| LOW | source/backend/cpu/CPULinearAttention.cpp | 426 | // Step 3: Optional L2 Normalization | COMMENT |
| LOW⚡ | source/backend/cpu/CPULinearAttention.cpp | 448 | // Step 4: Scale Q | COMMENT |
| LOW⚡ | source/backend/cpu/CPULinearAttention.cpp | 453 | // Step 5: Gated Delta Rule | COMMENT |
| LOW | source/backend/cpu/CPULinearAttention.cpp | 1171 | // Step 2: y = C_ * conv_out, transpose to output [B, L, 1, H] | COMMENT |
| LOW | source/backend/cpu/compute/ConvInt8TiledExecutor.cpp | 288 | if (calOcMain <= ocMain) { // The purpose of this function is to increase the value of ocMain. | CODE |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 84 | // Step 1: Apply sign flips | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 88 | // Step 2: Butterfly stages (log2(32) = 5 stages) | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 99 | // Step 3: Normalize | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 109 | // Step 1: Copy input | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 113 | // Step 2: Butterfly stages (WHT is self-inverse up to scaling) | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 178 | // Step 2: Normalize | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 185 | // Step 3: Apply WHT forward | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 189 | // Step 4: Find nearest codebook index for each coordinate | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 195 | // Step 5: Pack 3-bit indices (4 groups of 8 → 12 bytes) | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 203 | // Step 1: Read scale | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 208 | // Step 2: Unpack 3-bit indices and look up centroids | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 218 | // Step 3: Apply inverse WHT | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 222 | // Step 4: Scale back | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 233 | // Step 1: Read scale | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 238 | // Step 2: Unpack 3-bit indices and look up centroids | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 248 | // Step 3: Apply inverse WHT | COMMENT |
| LOW⚡ | source/backend/cpu/compute/TurboQuant.hpp | 252 | // Step 4: Scale and write to strided destination | COMMENT |
| LOW | source/backend/cpu/compute/TurboQuant.hpp | 124 | // Step 3: Normalize and undo sign flips | COMMENT |
| LOW | source/backend/cpu/compute/TurboQuant.hpp | 164 | // Step 1: Compute RMS scale | COMMENT |
| LOW⚡ | source/backend/cpu/arm/CommonOptFunctionNeon.cpp | 584 | // Step 1: Transpose 2x2 blocks of 2-element vectors | COMMENT |
| LOW⚡ | source/backend/cpu/arm/CommonOptFunctionNeon.cpp | 588 | // Step 2: Combine the results to get the full transpose | COMMENT |
| LOW | …Chat/MNNLLMiOS/InferenceEngine/SanaDiffusionSession.mm | 75 | // Step 1: Load LLM on background thread | COMMENT |
| LOW | …Chat/MNNLLMiOS/InferenceEngine/SanaDiffusionSession.mm | 87 | // Step 2: Load Diffusion on background thread | COMMENT |
| LOW | …alibaba/mnnllm/android/benchmark/LeaderboardService.kt | 203 | // Step 1: Initiate rank query | COMMENT |
| LOW | …alibaba/mnnllm/android/benchmark/LeaderboardService.kt | 262 | // Step 2: Poll for final result | COMMENT |
| LOW | …in/java/com/alibaba/mnnllm/android/utils/ImageUtils.kt | 137 | // Step 1: Decode only dimensions to calculate scaling factor without loading full bitmap into memory | COMMENT |
| LOW⚡ | …in/java/com/alibaba/mnnllm/android/utils/ImageUtils.kt | 153 | // Step 2: Decode the bitmap with calculated scale | COMMENT |
| LOW⚡ | …in/java/com/alibaba/mnnllm/android/utils/ImageUtils.kt | 158 | // Step 3: Handle orientation using EXIF data | COMMENT |
| LOW | …in/java/com/alibaba/mnnllm/android/utils/ImageUtils.kt | 177 | // Step 4: Optimization - Combine precise scaling and rotation into a single operation | COMMENT |
| LOW⚡ | …in/java/com/alibaba/mnnllm/android/utils/ImageUtils.kt | 203 | // Step 5: Save the compressed bitmap back to the original file | COMMENT |
| 27 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pymnn/pip_package/MNN/llm/__init__.py | 39 | # Set back to C++ object | COMMENT |
| LOW⚡ | tools/script/generate_podspec.sh | 10 | # ./tools/script/generate_podspec.sh -c # Check if podspec is in sync | COMMENT |
| LOW⚡ | tools/script/generate_podspec.sh | 219 | # Check if podspec file exists | COMMENT |
| LOW | tools/script/generate_podspec.sh | 268 | # Check if pattern contains glob | COMMENT |
| LOW | tools/script/generate_podspec.sh | 276 | # Check if file exists | COMMENT |
| LOW | tools/script/turnMNN2Expr.py | 165 | # Return output | COMMENT |
| LOW | transformers/llm/export/gguf/gguf_reader.py | 184 | # Check if it's a simple scalar type. | COMMENT |
| LOW | transformers/llm/export/utils/model.py | 105 | # Check if skip_weight mode is enabled (load structure only, no weights) | COMMENT |
| LOW | transformers/llm/export/utils/omni_quantizer.py | 479 | # Check if we already have prepared data | COMMENT |
| LOW | apps/Android/MnnLlmChat/scripts/test_build.sh | 32 | # Check if we're in the right directory | COMMENT |
| LOW | apps/Android/MnnLlmChat/scripts/setup_release.sh | 32 | # Check if we're in the right directory | COMMENT |
| LOW | apps/Android/MnnLlmChat/scripts/setup_release.sh | 40 | # Check if release.config already exists | COMMENT |
| LOW | apps/Android/MnnLlmChat/scripts/qnn.sh | 66 | # Check if directory exists | COMMENT |
| LOW | apps/Android/MnnLlmChat/scripts/release.sh | 139 | # Check if we're in the right directory | COMMENT |
| LOW | apps/Android/MnnLlmChat/scripts/release.sh | 152 | # Check if Gradle wrapper exists | COMMENT |
| LOW | apps/Android/MnnLlmChat/scripts/release.sh | 281 | # Check if fastlane is available | COMMENT |
| LOW⚡ | apps/Android/MnnLlmChat/scripts/push_model_test.sh | 56 | # Check if we're in the right directory | COMMENT |
| LOW⚡ | apps/Android/MnnLlmChat/scripts/push_model_test.sh | 62 | # Check if ADB is available | COMMENT |
| LOW⚡ | apps/Android/MnnLlmChat/scripts/push_model_test.sh | 68 | # Check if modelscope cache directory exists | COMMENT |
| LOW⚡ | apps/Android/MnnLlmChat/scripts/push_model_test.sh | 74 | # Check if models directory exists (either MNN subdirectory or main models directory) | COMMENT |
| LOW⚡ | apps/Android/MnnLlmChat/scripts/push_model_test.sh | 82 | # Check if build_64 directory exists | COMMENT |
| LOW | apps/Android/MnnLlmChat/scripts/push_model_test.sh | 94 | # Check if any device is connected | COMMENT |
| LOW | apps/Android/MnnLlmChat/scripts/push_model_test.sh | 104 | # Check if device is rooted (needed for /data/local/tmp access) | COMMENT |
| LOW | apps/Android/MnnLlmChat/scripts/push_model_test.sh | 275 | # Set LD_LIBRARY_PATH to include current directory for .so files | COMMENT |
| LOW | apps/Android/MnnLlmChat/scripts/push_model_test.sh | 297 | # Check if libMNN.so is present | COMMENT |
| LOW | apps/Android/MnnLlmChat/scripts/push_model_test.sh | 305 | # Check if llm_demo is executable | COMMENT |
| LOW | apps/Android/MnnLlmChat/scripts/get_repo_info.py | 55 | # Check if the model has a HuggingFace source | COMMENT |
| LOW | apps/mnncli/android_debug.sh | 92 | # Check if adb is available | COMMENT |
| LOW⚡ | apps/mnncli/android_debug.sh | 202 | # Check if video path is provided | COMMENT |
| LOW⚡ | apps/mnncli/android_debug.sh | 209 | # Check if specified video file exists on device | COMMENT |
| LOW⚡ | apps/mnncli/android_debug.sh | 219 | # Check if model path is provided | COMMENT |
| LOW | apps/mnncli/build.sh | 118 | # Check if build was successful | COMMENT |
| LOW | apps/mnncli/android_build.sh | 100 | # Check if ANDROID_NDK is set | COMMENT |
| LOW | apps/mnncli/android_build.sh | 108 | # Check if ANDROID_NDK exists | COMMENT |
| LOW | apps/mnncli/android_build.sh | 142 | # Check if download was successful | COMMENT |
| LOW | apps/mnncli/android_build.sh | 252 | # Check if build was successful | COMMENT |
| LOW | apps/mnncli/android_build.sh | 260 | # Check if libMNN.so was created | COMMENT |
| LOW | apps/mnncli/build_integrated.sh | 62 | # Check if build was successful | COMMENT |
| LOW | apps/mnncli/test.sh | 152 | # Check if executable exists | COMMENT |
| LOW | apps/mnncli/test/test_hf_download.sh | 12 | # Check if we're in the right directory | COMMENT |
| LOW | apps/mnncli/test/test_hf_download.sh | 100 | # Check if test executable exists | COMMENT |
| LOW | apps/mnncli/test/test_download_integration.sh | 160 | # Check if output contains expected pattern | COMMENT |
| LOW | apps/mnncli/test/test_download_integration.sh | 185 | # Check if output contains error message | COMMENT |
| LOW | apps/mnncli/test/test_download_integration.sh | 209 | # Check if output contains expected pattern | COMMENT |
| LOW | apps/mnncli/test/test_download_integration.sh | 233 | # Check if output contains help information | COMMENT |
| LOW | apps/mnncli/test/test_download_integration.sh | 257 | # Check if output contains version information | COMMENT |
| LOW | apps/mnncli/test/test_download_integration.sh | 276 | # Check if mnncli binary exists | COMMENT |
| LOW⚡ | apps/mnncli/test/create_test_video.sh | 10 | # Check if ffmpeg is available | COMMENT |
| LOW | apps/mnncli/test/test_model_repository.sh | 12 | # Check if we're in the right directory | COMMENT |
| LOW | apps/mnncli/test/test_model_repository.sh | 38 | # Check if test executable exists | COMMENT |
| LOW | apps/mnncli/test/test_hf_download_standalone.sh | 12 | # Check if we're in the right directory | COMMENT |
| LOW | apps/mnncli/test/test_hf_download_standalone.sh | 48 | # Check if mnncli executable exists | COMMENT |
| LOW | apps/mnncli/test/test_download_simple.sh | 151 | # Check if output contains expected pattern | COMMENT |
| LOW | apps/mnncli/test/test_download_simple.sh | 177 | # Check if output contains error message | COMMENT |
| LOW | apps/mnncli/test/test_download_simple.sh | 196 | # Check if mnncli binary exists | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pymnn/test/playground/cases/model_test.py | 27 | CODE | |
| LOW | pymnn/pip_package/MNN/numpy/__init__.py | 652 | CODE | |
| LOW | pymnn/pip_package/MNN/audio/__init__.py | 74 | CODE | |
| LOW | pymnn/pip_package/MNN/audio/__init__.py | 81 | CODE | |
| LOW | tools/script/testMNNFromTf.py | 114 | CODE | |
| LOW | tools/script/testMNNFromOnnx.py | 274 | CODE | |
| LOW | tools/script/testMNNFromTflite.py | 144 | CODE | |
| LOW | tools/script/testMNNFromTorch.py | 87 | CODE | |
| LOW | tools/mnncompress/mnncompress/common/log.py | 128 | CODE | |
| LOW | tools/mnncompress/mnncompress/tensorflow/hooks.py | 13 | CODE | |
| LOW | tools/mnncompress/mnncompress/tensorflow/hooks.py | 22 | CODE | |
| LOW | tools/mnncompress/mnncompress/tensorflow/hooks.py | 31 | CODE | |
| LOW | tools/mnncompress/mnncompress/tensorflow/hooks.py | 54 | CODE | |
| LOW | …ress/mnncompress/tensorflow/TaylorFO_channel_pruner.py | 18 | CODE | |
| LOW | …ress/mnncompress/tensorflow/SA_prune_ratio_searcher.py | 13 | CODE | |
| LOW | …ls/mnncompress/mnncompress/tensorflow/OAQ_quantizer.py | 87 | CODE | |
| LOW | …s/mnncompress/mnncompress/tensorflow/SIMD_OC_pruner.py | 18 | CODE | |
| LOW | …nncompress/mnncompress/tensorflow/SNIP_level_pruner.py | 18 | CODE | |
| LOW | …compress/mnncompress/tensorflow/overflow_custom_ops.py | 231 | CODE | |
| LOW | transformers/llm/eval/evaluate_chat_ceval.py | 121 | CODE | |
| LOW | transformers/llm/export/utils/transformers.py | 1140 | CODE | |
| LOW | transformers/llm/export/utils/transformers.py | 1155 | CODE | |
| LOW | transformers/llm/export/utils/token2wav.py | 67 | CODE | |
| LOW | transformers/llm/export/utils/token2wav.py | 297 | CODE | |
| LOW | transformers/llm/export/utils/audio.py | 482 | CODE | |
| LOW | transformers/llm/export/utils/omni_quantizer.py | 14 | CODE | |
| LOW | …-mnn/sherpa-mnn/python/sherpa_mnn/online_recognizer.py | 41 | CODE | |
| LOW | …-mnn/sherpa-mnn/python/sherpa_mnn/online_recognizer.py | 315 | CODE | |
| LOW | …-mnn/sherpa-mnn/python/sherpa_mnn/online_recognizer.py | 438 | CODE | |
| LOW | …-mnn/sherpa-mnn/python/sherpa_mnn/online_recognizer.py | 567 | CODE | |
| LOW | …-mnn/sherpa-mnn/python/sherpa_mnn/online_recognizer.py | 685 | CODE | |
| LOW | …pa-mnn/sherpa-mnn/python/sherpa_mnn/keyword_spotter.py | 30 | CODE | |
| LOW | …mnn/sherpa-mnn/python/sherpa_mnn/offline_recognizer.py | 42 | CODE | |
| LOW | …mnn/sherpa-mnn/python/sherpa_mnn/offline_recognizer.py | 182 | CODE | |
| LOW | …mnn/sherpa-mnn/python/sherpa_mnn/offline_recognizer.py | 264 | CODE | |
| LOW | …mnn/sherpa-mnn/python/sherpa_mnn/offline_recognizer.py | 337 | CODE | |
| LOW | …mnn/sherpa-mnn/python/sherpa_mnn/offline_recognizer.py | 412 | CODE | |
| LOW | …mnn/sherpa-mnn/python/sherpa_mnn/offline_recognizer.py | 486 | CODE | |
| LOW | …mnn/sherpa-mnn/python/sherpa_mnn/offline_recognizer.py | 729 | CODE | |
| LOW | …mnn/sherpa-mnn/python/sherpa_mnn/offline_recognizer.py | 802 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | 3rd_party/flatbuffers/include/flatbuffers/flatbuffers.h | 611 | // Essentially, this supports 2 std::vectors in a single buffer. | COMMENT |
| MEDIUM | 3rd_party/flatbuffers/samples/sample_binary.py | 19 | # to facilitate executing this script in the `samples` folder, and to root | COMMENT |
| MEDIUM | 3rd_party/flatbuffers/src/idl_gen_rust.cpp | 279 | // conflicts with these keywords. However, that's a fairly nuanced | COMMENT |
| MEDIUM | source/backend/metal/MetalBackend.hpp | 34 | // encode-reuse / ICB leverage ceiling. Not compiled in production builds. | COMMENT |
| MEDIUM | …/opencl/execution/buffer/ConvBufLowMemoryExecution.cpp | 847 | // Create image1d_buffer_t for input to leverage texture cache (int4 only) | COMMENT |
| MEDIUM | transformers/llm/engine/src/httplib.h | 8949 | // Cross-host/scheme redirect - create new client with robust setup | COMMENT |
| MEDIUM | transformers/llm/engine/src/httplib.h | 8954 | // New method for robust redirect client creation | COMMENT |
| MEDIUM | transformers/llm/engine/src/httplib.h | 9022 | // Setup client with robust configuration | COMMENT |
| MEDIUM | transformers/llm/engine/src/httplib.h | 9030 | // New method for robust client setup (based on basic_manual_redirect.cpp logic) | COMMENT |
| MEDIUM | …LlmChat/app/src/main/cpp/video/byte_buffer_decoder.cpp | 235 | // Non-blocking poll with limited retries to be robust around startup/drain | COMMENT |
| MEDIUM | …LlmChat/app/src/main/cpp/video/byte_buffer_decoder.cpp | 357 | // or observe OUTPUT EOS from the codec. This makes EOS handling robust. | COMMENT |
| MEDIUM | apps/frameworks/model_downloader/cpp/src/file_utils.cpp | 154 | // robust lookup with support for provider prefixes and multiple storage layouts. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | source/backend/opencl/schema/CLCache/Shader.py | 21 | """This method is deprecated. Please switch to GetRootAs.""" | STRING |
| MEDIUM | source/backend/opencl/schema/CLCache/BackendInfo.py | 21 | """This method is deprecated. Please switch to GetRootAs.""" | STRING |
| MEDIUM | source/backend/opencl/schema/CLCache/Autotuning.py | 21 | """This method is deprecated. Please switch to GetRootAs.""" | STRING |
| MEDIUM | source/backend/opencl/schema/CLCache/Cache.py | 21 | """This method is deprecated. Please switch to GetRootAs.""" | STRING |
| MEDIUM | source/backend/opencl/schema/CLCache/OpInfo.py | 21 | """This method is deprecated. Please switch to GetRootAs.""" | STRING |
| MEDIUM | source/backend/opencl/schema/CLCache/GemmInfo.py | 21 | """This method is deprecated. Please switch to GetRootAs.""" | STRING |
| MEDIUM | source/backend/opencl/schema/CLCache/TensorInfo.py | 21 | """This method is deprecated. Please switch to GetRootAs.""" | STRING |
| MEDIUM | transformers/llm/export/utils/transformers.py | 406 | """This function is intended to align with the l2norm implementation in the FLA library.""" | STRING |
| MEDIUM⚡ | apps/Android/MnnLlmChat/scripts/get_repo_info.py | 105 | # Define the keys that contain lists of models to process | COMMENT |
| MEDIUM⚡ | apps/mnncli/test/create_test_video.sh | 3 | # Create a simple test video for Android testing | COMMENT |
| MEDIUM⚡ | apps/mnncli/test/create_test_video.sh | 18 | # Create a simple test video (1 second, 320x240, black frame with text) | COMMENT |
| MEDIUM | …rks/sherpa-mnn/python-api-examples/offline-tts-play.py | 381 | """This function is called whenever max_num_sentences sentences | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pymnn/pip_package/build_manylinux2014.sh | 3 | # Usage: | COMMENT |
| LOW⚡ | tools/script/generate_podspec.sh | 8 | # Usage: | COMMENT |
| LOW | package_scripts/harmony/build.sh | 10 | # Usage: | COMMENT |
| LOW | transformers/llm/engine/ios/ios_llm_bench.sh | 6 | # Usage: | COMMENT |
| LOW | apps/Android/MnnLlmChat/tools/stetho_open.py | 7 | ## Usage: | COMMENT |
| LOW | …/MnnLlmChat/tests/smoke/scripts/16_regress_voice_ui.sh | 17 | # Usage: | COMMENT |
| LOW | …t/tests/smoke/scripts/noui/15_regress_voice_dumpapp.sh | 15 | # Usage: | COMMENT |
| LOW | apps/Android/MnnLlmChat/scripts/push_model_test.sh | 6 | # Usage: | COMMENT |
| LOW | apps/frameworks/sherpa-mnn/test_tts_batch.sh | 8 | # Usage: | COMMENT |
| LOW | apps/frameworks/sherpa-mnn/sherpa-mnn/c-api/c-api.h | 271 | /// Usage example: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/script/llm_upload.py | 127 | mkdir build && cd build | CODE |
| HIGH | tools/script/llm_upload.py | 185 | mkdir build && cd build | CODE |
| HIGH | tools/script/llm_upload.py | 239 | mkdir build && cd build | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | CONTRIBUTING.md | 59 | We welcome contributions generated by AI assistants (Cursor, Claude Code, GitHub Copilot, etc.). | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | 3rd_party/flatbuffers/include/flatbuffers/flexbuffers.h | 123 | // TODO: implement proper support for 8/16bit floats, or decide not to | COMMENT |
| LOW | 3rd_party/flatbuffers/src/reflection.cpp | 82 | s += "(struct)"; // TODO: implement this as well. | CODE |
| LOW | 3rd_party/flatbuffers/src/reflection.cpp | 110 | return "[(elements)]"; // TODO: implement this as well. | CODE |
| LOW | 3rd_party/flatbuffers/src/reflection.cpp | 111 | case reflection::Union: return "(union)"; // TODO: implement this as well. | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | transformers/llm/export/llmexport.py | 231 | # embedding model's embed | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | transformers/llm/finetune/mnn_qlora.py | 82 | def set_random_seed(seed: int) -> None: | CODE |
| LOW | transformers/llm/export/gguf/gguf_reader.py | 37 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | transformers/llm/export/utils/transformers.py | 1303 | # the current expert. We need to make sure to multiply the output hidden | COMMENT |