Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

inlining failed in call to 'always_inline' 'vfmaq_f16': target specific option mismatch #13

Closed
subDesTagesMitExtraKaese opened this issue Oct 2, 2022 · 1 comment

Comments

@subDesTagesMitExtraKaese

I am trying to compile for ARM64 and there seems to be an issue with some vector functions:

> [linux/arm64 builder 5/5] RUN gcc -pthread -O3 -march=native -c ggml.c &&     g++ -pthread -O3 -std=c++11 -c main.cpp &&     g++ -pthread -o main ggml.o main.o:
#29 3.977 ggml.c:506:14: note: called from here
#29 3.977   506 |         y1 = vfmaq_f16(y1, x1, v8);
#29 3.977       |              ^~~~~~~~~~~~~~~~~~~~~
#29 3.978 In file included from ggml.c:47:
#29 3.978 /usr/lib/gcc/aarch64-linux-gnu/10/include/arm_neon.h:33208:1: error: inlining failed in call to 'always_inline' 'vfmaq_f16': target specific option mismatch
#29 3.978 33208 | vfmaq_f16 (float16x8_t __a, float16x8_t __b, float16x8_t __c)
#29 3.978       | ^~~~~~~~~
#29 3.978 ggml.c:505:14: note: called from here
#29 3.978   505 |         y0 = vfmaq_f16(y0, x0, v8);
#29 3.978       |              ^~~~~~~~~~~~~~~~~~~~~
------
Dockerfile:11
--------------------
  10 |     ADD whisper.cpp/ /build/
  11 | >>> RUN gcc -pthread -O3 -march=native -c ggml.c && \
  12 | >>>     g++ -pthread -O3 -std=c++11 -c main.cpp && \
  13 | >>>     g++ -pthread -o main ggml.o main.o
  14 |     
--------------------
ERROR: failed to solve: process "/bin/sh -c gcc -pthread -O3 -march=native -c ggml.c &&     g++ -pthread -O3 -std=c++11 -c main.cpp &&     g++ -pthread -o main ggml.o main.o" did not complete successfully: exit code: 1

Tested on GitHub actions (logs) and on a Raspberry Pi 4.

Dockerfile:

# build image
FROM debian:bullseye-slim AS builder
WORKDIR /build/
RUN apt-get update && apt-get install --no-install-recommends -y \
    make gcc g++ wget \
 && apt-get clean \
 && rm -rf /var/lib/apt/lists/*

# Install Whisper.cpp
ADD whisper.cpp/ /build/
RUN gcc -pthread -O3 -march=native -c ggml.c && \
    g++ -pthread -O3 -std=c++11 -c main.cpp && \
    g++ -pthread -o main ggml.o main.o
@ggerganov
Copy link
Owner

Raspberry support is still work-in-progress.
In the meantime, you can try building the raspberry-pi-4 branch - this works on my RPi4 that I have at home.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants