The variant fallback in getHighPerfCpuCountByVariant() used countKeepingMin() while the primary frequency branch used countDroppingMin(). Both branches are meant to return the count of high-performance cores, so the asymmetry caused the variant branch to return the LITTLE cluster count instead. On big.LITTLE SoCs, when cpuinfo_max_freq is unreadable and the code falls back to CPU variant (verified by the reporter on Helio G85 in ggml-org/whisper.cpp#3602), whisper ends up running on the LITTLE cores and inference throughput roughly halves. Fix mirrors the suggestion in the issue: use countDroppingMin() in the variant branch, matching the frequency branch. Both the Kotlin (whisper.android) and Java (whisper.android.java) examples share the same asymmetry and are fixed together. |
||
|---|---|---|
| .. | ||
| src/main | ||
| .gitignore | ||
| build.gradle | ||