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

Adding Native Support of SYCL for Intel GPUs #4749

Closed
airMeng opened this issue Jan 3, 2024 · 2 comments
Closed

Adding Native Support of SYCL for Intel GPUs #4749

airMeng opened this issue Jan 3, 2024 · 2 comments
Labels
enhancement New feature or request

Comments

@airMeng
Copy link
Collaborator

airMeng commented Jan 3, 2024

Feature Description

Hi the community, following the discussion #3965, we plan to contribute native SYCL backend to llama.cpp.

Motivation

Intel Arc series GPU provides accountable VRAM size and bandwidth, which the current OpenCL backend can't fully utilize especially on LLM. We expect a significant performance improvement with native SYCL backend.

References:

Possible Implementation

Native Kernels

We will implement the key operators of GGML in SYCL similar to the approach of supporting Metal and Vulkan. Basically, the steps are described as below:

  1. new backend; h2d & d2h
  2. oneMKL-dpcpp based FP32 & FP16 GEMM
  3. native SYCL kernels for de-quantization
  4. native SYCL kernels for other operators

Note:

Since llama.cpp has been evolving rapidly and new features will probably be supported through CUDA first, we plan to enable SYCLomatic to help migrate the code from CUDA to SYCL.

We plan to further introduce the template-based library e.g., XeTLA as mentioned in #3965 as the next stage, while we will be focusing on native SYCL support in this proposal.

Summary

We started working on native SYCL kernels and enabling SYCL backend in llama.cpp for Intel GPUs. Please feel free to drop a note. Thanks.

@Jacoby1218
Copy link

There's already work ongoing for this in #2690

@airMeng
Copy link
Collaborator Author

airMeng commented Jan 22, 2024

hi please check f42df4d

@airMeng airMeng closed this as completed Feb 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants