(For a detailed analysis on the code path involved, please see cjpais/Handy#91 (comment))
Currently transcribe-rs's whisper support depends on whisper-rs which includes whisper-rs-sys that contains a build.rs which configs and builds whisper.cpp as a library. However, whisper.cpp by default enables -march=native unless it's explicitly instructed to do a reproducible build or cross compilation. This chain of dependency in the end causes Handy's github action artifacts in some probability (some github action machines are avx512 enabled) will create a binary that includes avx512 instructions which isn't supported on most desktop platforms.
As I do not know an elegant solution to this problem, my current suggestion is to carry a patch to whisper-rs and whisper-rs-sys to manually set GGML_NATIVE flag to false. This can also be made into a feature if whisper-rs accepts it.
(For a detailed analysis on the code path involved, please see cjpais/Handy#91 (comment))
Currently
transcribe-rs's whisper support depends onwhisper-rswhich includeswhisper-rs-systhat contains abuild.rswhich configs and buildswhisper.cppas a library. However,whisper.cppby default enables-march=nativeunless it's explicitly instructed to do a reproducible build or cross compilation. This chain of dependency in the end causes Handy's github action artifacts in some probability (some github action machines are avx512 enabled) will create a binary that includes avx512 instructions which isn't supported on most desktop platforms.As I do not know an elegant solution to this problem, my current suggestion is to carry a patch to
whisper-rsandwhisper-rs-systo manually setGGML_NATIVEflag to false. This can also be made into a feature ifwhisper-rsaccepts it.