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

[Hardware][Intel] Integrate CPU backend build procedure #2753

Closed
wants to merge 1 commit into from

Conversation

bigPYJ1151
Copy link
Contributor

@bigPYJ1151 bigPYJ1151 commented Feb 5, 2024

Hi, vLLM genius @WoosukKwon @simon-mo @zhuohan123 , we'd like to integrate our code from #2378 #1028 gradually to enable vLLM on Intel GPU/CPU devices.

In this PR, we made some changes to make the vLLM built for non-CUDA devices, using CPU as the example.

Changes to vLLM:

  • Added an environment variable VLLM_TARGET_DEVICE to specify which vLLM build procedure will be triggered. By default, cuda is specified.
  • Forward the non-CUDA extension build to isolated CMake scripts to avoid potential breaks.

Please take review and looking forward your comments.

@bigPYJ1151 bigPYJ1151 changed the title [Intel GPU/CPU] Refine setup.py for building v [Intel GPU/CPU] Refine setup.py for building vLLM to different device and add Intel GPU/CPU extension placeholder Feb 5, 2024
@bigPYJ1151
Copy link
Contributor Author

Hi @WoosukKwon , please take a look and let me know whether this change is acceptable, thanks!

@simon-mo
Copy link
Collaborator

@bigPYJ1151, we are going to migrate from setup.py to CMake. Can you take a look at #2830 and see how can Intel GPU/CPU fit in here?

@bigPYJ1151
Copy link
Contributor Author

@bigPYJ1151, we are going to migrate from setup.py to CMake. Can you take a look at #2830 and see how can Intel GPU/CPU fit in here?

Hi @simon-mo , thanks for your comment! #2830 makes setup.py clearer and more easily to maintain. For Intel GPU/CPU, I think it is not difficult to fit in. We can still use BuildExtension from torch cpp_extension, because our build procedure is not very complex. Or we can provide another CMakeLists.txt based on the one in #2830 .

Which one do you prefer? And will #2830 be merged soon? So I can rebase this PR to it.

@bigPYJ1151 bigPYJ1151 force-pushed the intel_device_build branch from 8df0758 to 869f69a Compare March 5, 2024 06:26
@bigPYJ1151 bigPYJ1151 changed the title [Intel GPU/CPU] Refine setup.py for building vLLM to different device and add Intel GPU/CPU extension placeholder [Intel GPU/CPU] Refine setup.py for building vLLM to different device Mar 5, 2024
@bigPYJ1151 bigPYJ1151 force-pushed the intel_device_build branch from 869f69a to 6366e33 Compare March 7, 2024 12:16
@bigPYJ1151 bigPYJ1151 changed the title [Intel GPU/CPU] Refine setup.py for building vLLM to different device [Hardware][Intel] Integrate CPU backend build procedure Mar 19, 2024
@bigPYJ1151
Copy link
Contributor Author

Hi @simon-mo @WoosukKwon @zhuohan123, we have updated the CPU backend build procedure with the latest vLLM CMake build system, please take a look and let me know whether this change is acceptable, thanks!

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

Successfully merging this pull request may close these issues.

3 participants