Skip to content

The latest version is not built on an arm #949

@dedseclulz

Description

@dedseclulz
I UNAME_S:  Linux
I UNAME_P:  aarch64
I UNAME_M:  aarch64
I CFLAGS:   -I.              -O3 -DNDEBUG -std=c11   -fPIC -Wall -Wextra -Wpedantic -Wcast-qual -Wdouble-promotion -Wshadow -Wstrict-prototypes -Wpointer-arith -Wno-unused-function -pthread -mcpu=native
I CXXFLAGS: -I. -I./examples -O3 -DNDEBUG -std=c++11 -fPIC -Wall -Wextra -Wpedantic -Wcast-qual -Wno-unused-function -Wno-multichar -pthread -mcpu=native
I LDFLAGS:  
I CC:       cc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
I CXX:      g++ (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0

cc  -I.              -O3 -DNDEBUG -std=c11   -fPIC -Wall -Wextra -Wpedantic -Wcast-qual -Wdouble-promotion -Wshadow -Wstrict-prototypes -Wpointer-arith -Wno-unused-function -pthread -mcpu=native   -c ggml.c -o ggml.o
ggml.c: In function ‘ggml_vec_dot_q4_1’:
ggml.c:2347:9: note: use ‘-flax-vector-conversions’ to permit conversions between vectors with differing element types or numbers of subparts
 2347 |         int32x4_t p_0 = vdotq_s32(vdupq_n_s32(0), v0_0l, v1_0l);
      |         ^~~~~~~~~
ggml.c:2347:51: error: incompatible type for argument 2 of ‘vdotq_s32’
 2347 |         int32x4_t p_0 = vdotq_s32(vdupq_n_s32(0), v0_0l, v1_0l);
      |                                                   ^~~~~
      |                                                   |
      |                                                   uint8x16_t
In file included from ggml.c:159:
/usr/lib/gcc/aarch64-linux-gnu/11/include/arm_neon.h:32134:37: note: expected ‘int8x16_t’ but argument is of type ‘uint8x16_t’
32134 | vdotq_s32 (int32x4_t __r, int8x16_t __a, int8x16_t __b)
      |                           ~~~~~~~~~~^~~
ggml.c:2347:58: error: incompatible type for argument 3 of ‘vdotq_s32’
 2347 |         int32x4_t p_0 = vdotq_s32(vdupq_n_s32(0), v0_0l, v1_0l);
      |                                                          ^~~~~
      |                                                          |
      |                                                          uint8x16_t
In file included from ggml.c:159:
/usr/lib/gcc/aarch64-linux-gnu/11/include/arm_neon.h:32134:52: note: expected ‘int8x16_t’ but argument is of type ‘uint8x16_t’
32134 | vdotq_s32 (int32x4_t __r, int8x16_t __a, int8x16_t __b)
      |                                          ~~~~~~~~~~^~~
ggml.c:2348:51: error: incompatible type for argument 2 of ‘vdotq_s32’
 2348 |         int32x4_t p_1 = vdotq_s32(vdupq_n_s32(0), v0_1l, v1_1l);
      |                                                   ^~~~~
      |                                                   |
      |                                                   uint8x16_t
In file included from ggml.c:159:
/usr/lib/gcc/aarch64-linux-gnu/11/include/arm_neon.h:32134:37: note: expected ‘int8x16_t’ but argument is of type ‘uint8x16_t’
32134 | vdotq_s32 (int32x4_t __r, int8x16_t __a, int8x16_t __b)
      |                           ~~~~~~~~~~^~~
ggml.c:2348:58: error: incompatible type for argument 3 of ‘vdotq_s32’
 2348 |         int32x4_t p_1 = vdotq_s32(vdupq_n_s32(0), v0_1l, v1_1l);
      |                                                          ^~~~~
      |                                                          |
      |                                                          uint8x16_t
In file included from ggml.c:159:
/usr/lib/gcc/aarch64-linux-gnu/11/include/arm_neon.h:32134:52: note: expected ‘int8x16_t’ but argument is of type ‘uint8x16_t’
32134 | vdotq_s32 (int32x4_t __r, int8x16_t __a, int8x16_t __b)
      |                                          ~~~~~~~~~~^~~
ggml.c:2350:30: error: incompatible type for argument 2 of ‘vdotq_s32’
 2350 |         p_0 = vdotq_s32(p_0, v0_0h, v1_0h);
      |                              ^~~~~
      |                              |
      |                              uint8x16_t
In file included from ggml.c:159:
/usr/lib/gcc/aarch64-linux-gnu/11/include/arm_neon.h:32134:37: note: expected ‘int8x16_t’ but argument is of type ‘uint8x16_t’
32134 | vdotq_s32 (int32x4_t __r, int8x16_t __a, int8x16_t __b)
      |                           ~~~~~~~~~~^~~
ggml.c:2350:37: error: incompatible type for argument 3 of ‘vdotq_s32’
 2350 |         p_0 = vdotq_s32(p_0, v0_0h, v1_0h);
      |                                     ^~~~~
      |                                     |
      |                                     uint8x16_t
In file included from ggml.c:159:
/usr/lib/gcc/aarch64-linux-gnu/11/include/arm_neon.h:32134:52: note: expected ‘int8x16_t’ but argument is of type ‘uint8x16_t’
32134 | vdotq_s32 (int32x4_t __r, int8x16_t __a, int8x16_t __b)
      |                                          ~~~~~~~~~~^~~
ggml.c:2351:30: error: incompatible type for argument 2 of ‘vdotq_s32’
 2351 |         p_1 = vdotq_s32(p_1, v0_1h, v1_1h);
      |                              ^~~~~
      |                              |
      |                              uint8x16_t
In file included from ggml.c:159:
/usr/lib/gcc/aarch64-linux-gnu/11/include/arm_neon.h:32134:37: note: expected ‘int8x16_t’ but argument is of type ‘uint8x16_t’
32134 | vdotq_s32 (int32x4_t __r, int8x16_t __a, int8x16_t __b)
      |                           ~~~~~~~~~~^~~
ggml.c:2351:37: error: incompatible type for argument 3 of ‘vdotq_s32’
 2351 |         p_1 = vdotq_s32(p_1, v0_1h, v1_1h);
      |                                     ^~~~~
      |                                     |
      |                                     uint8x16_t
In file included from ggml.c:159:
/usr/lib/gcc/aarch64-linux-gnu/11/include/arm_neon.h:32134:52: note: expected ‘int8x16_t’ but argument is of type ‘uint8x16_t’
32134 | vdotq_s32 (int32x4_t __r, int8x16_t __a, int8x16_t __b)
      |                                          ~~~~~~~~~~^~~
make: *** [Makefile:143: ggml.o] Error 1

$ lscpu

  CPU op-mode(s):       32-bit, 64-bit
  Byte Order:           Little Endian
CPU(s):                 4
  On-line CPU(s) list:  0-3
Vendor ID:              ARM
  Model name:           Neoverse-N1
    Model:              1
    Thread(s) per core: 1
    Core(s) per socket: 4
    Socket(s):          1
    Stepping:           r3p1
    BogoMIPS:           50.00
    Flags:              fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp a
                        simdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs
NUMA:
  NUMA node(s):         1
  NUMA node0 CPU(s):    0-3
Vulnerabilities:
  Itlb multihit:        Not affected
  L1tf:                 Not affected
  Mds:                  Not affected
  Meltdown:             Not affected
  Mmio stale data:      Not affected
  Retbleed:             Not affected
  Spec store bypass:    Mitigation; Speculative Store Bypass disabled via prctl
  Spectre v1:           Mitigation; __user pointer sanitization
  Spectre v2:           Mitigation; CSV2, BHB
  Srbds:                Not affected
  Tsx async abort:      Not affected
  • Operating System, e.g. for Linux:

$ uname -a
Linux 5.15.0-1021-oracle #27-Ubuntu SMP Fri Oct 14 20:04:20 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux

  • SDK version, e.g. for Linux:

$ make --version GNU Make 4.3 $ g++ --version g++ (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0

Steps to Reproduce

  1. make

environment info:

commit 0e07e6a8399fd993739a3ba3c6f95f92bfab6f58```

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions