Skip to content

Illegal Instruction using Q4_0_4_4 on Rockchip rk3399 SOC #9853

Answered by Djip007
EugeneParmentier asked this question in Q&A
Discussion options

You must be logged in to vote

Arm introduced the SDOT (Signed Dot Product) and UDOT (Unsigned Dot Product) instructions in
the 2017 extensions to the Arm Architecture, known as Armv8.4-A. (https://documentation-service.arm.com/static/61b85a52a2506b46a5c323aa)

This instruction (use in ggml-aarch64.c) is not available on all neon arm CPU, the RK3399 is a old ARMv8-A with no sdot support.
so if I do not make mistake you can't use "accelerate" Q4_0_4_4 model with it.

// That's not enough to use the instructions sdot.
if (ggml_cpu_has_neon()) {
}

// we need something like:
if (ggml_cpu_has_arm() >= ARM_V84_A) {
}

Replies: 2 comments 5 replies

Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
5 replies
@ggerganov
Comment options

@EugeneParmentier
Comment options

@Djip007
Comment options

Answer selected by EugeneParmentier
@ggerganov
Comment options

@Djip007
Comment options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
3 participants