Skip to content

Conversation

@yingying0906
Copy link

When running FLUX2-dev on Intel GPU with oneAPI SYCL backend, I got this error:

stable-diffusion.cpp/ggml/src/ggml-sycl/ggml-sycl.cpp:2047: GGML_ASSERT(to_fp32_sycl != nullptr) failed

The issue is that ggml_get_to_fp32_sycl() and related functions were missing BF16 conversion cases. Added the missing BF16 support in ggml/src/ggml-sycl/convert.cpp (Intel oneAPI only, guarded by __INTEL_LLVM_COMPILER).

Tested with flux2-dev-Q2_K.gguf and flux2-dev-Q4_0.gguf, both fp16 and fp32 build options - all working now.

Note: The actual code changes are in the ggml submodule.
View the changes here: yingying0906/ggml@75b092ba
Or see the branch: https://github.com/yingying0906/ggml/tree/fix-sycl-bf16

   - Fixed BF16 conversion in ggml SYCL backend
   - Tested with FLUX model on Intel oneAPI
@Green-Sky
Copy link
Contributor

You should upstream them to llama.cpp.

@yingying0906
Copy link
Author

Thanks for the feedback! I'll submit this to llama.cpp as suggested.

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

Successfully merging this pull request may close these issues.

2 participants