[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Advice on ARMv9 resources?



On 2025-05-26 03:56, Lennart Sorensen wrote:
> Which older ARM chips are you hoping to emulate?
> 
> If you mean doing what qemu+kvm can do on x64 where you can hide CPU
> feature flags to pretend to have an older CPU

Yes, this is what I'd like to do. llama.cpp dynamically dispatches some
compute based on these feature flags, so "disabling" them would serve
its purpose.

This works well with QEMU on amd64. I have an 9950X with AVX512 and can
efficiently emulate everything down to SSE2-only.

My first experiments with arm64 QEMU guests on amd64 host also let me do
this, albeit dog-slow, so QEMU can do it. With an ARMv9 machine, I was
hoping to improve speed. I'm (naively) assuming that as long as QEMU
hides CPU feature flags, then kvm should still "just work" because the
to-be-avoided instructions are bypassed by the dynamic dispatch, rather
than QEMU needing to emulate something.

> I am not so sure you can do that with ARM.  It does appear when
> searching that most 64bit arm chips do support 32 bit still, so
> perhaps it would work.  I know at least a few of the high end server
> chips dropped 32 bit support though, but apparently it is not a
> common design choice yet.
Peter and you raise a good point, though luckily in my particular case,
the software only seems to support 64-bit anyway. I'm just looking at
various levels of support for SIMD on that.

Best,
Christian


Reply to: