Skip to content

Conversation

jeejeelee
Copy link
Collaborator

@jeejeelee jeejeelee commented Aug 29, 2025

Purpose

Currently, installing DeepGEMM following install_deepgemm.sh leads to the following issue on my local H20*8 :

(EngineCore_0 pid=322284) ERROR 08-29 07:43:53 [core.py:712] EngineCore failed to start.
(EngineCore_0 pid=322284) ERROR 08-29 07:43:53 [core.py:712] Traceback (most recent call last):
(EngineCore_0 pid=322284) ERROR 08-29 07:43:53 [core.py:712]   File "/root/Code/vllm_dev2/vllm/vllm/v1/engine/core.py", line 703, in run_engine_core
(EngineCore_0 pid=322284) ERROR 08-29 07:43:53 [core.py:712]     engine_core = EngineCoreProc(*args, **kwargs)
(EngineCore_0 pid=322284) ERROR 08-29 07:43:53 [core.py:712]                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore_0 pid=322284) ERROR 08-29 07:43:53 [core.py:712]   File "/root/Code/vllm_dev2/vllm/vllm/v1/engine/core.py", line 504, in __init__
(EngineCore_0 pid=322284) ERROR 08-29 07:43:53 [core.py:712]     super().__init__(vllm_config, executor_class, log_stats,
(EngineCore_0 pid=322284) ERROR 08-29 07:43:53 [core.py:712]   File "/root/Code/vllm_dev2/vllm/vllm/v1/engine/core.py", line 90, in __init__
(EngineCore_0 pid=322284) ERROR 08-29 07:43:53 [core.py:712]     self._initialize_kv_caches(vllm_config)
(EngineCore_0 pid=322284) ERROR 08-29 07:43:53 [core.py:712]   File "/root/Code/vllm_dev2/vllm/vllm/v1/engine/core.py", line 214, in _initialize_kv_caches
(EngineCore_0 pid=322284) ERROR 08-29 07:43:53 [core.py:712]     self.model_executor.initialize_from_config(kv_cache_configs)
(EngineCore_0 pid=322284) ERROR 08-29 07:43:53 [core.py:712]   File "/root/Code/vllm_dev2/vllm/vllm/v1/executor/abstract.py", line 74, in initialize_from_config
(EngineCore_0 pid=322284) ERROR 08-29 07:43:53 [core.py:712]     self.collective_rpc("compile_or_warm_up_model")
(EngineCore_0 pid=322284) ERROR 08-29 07:43:53 [core.py:712]   File "/root/Code/vllm_dev2/vllm/vllm/v1/executor/multiproc_executor.py", line 249, in collective_rpc
(EngineCore_0 pid=322284) ERROR 08-29 07:43:53 [core.py:712]     result = get_response(w, dequeue_timeout)
(EngineCore_0 pid=322284) ERROR 08-29 07:43:53 [core.py:712]              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(EngineCore_0 pid=322284) ERROR 08-29 07:43:53 [core.py:712]   File "/root/Code/vllm_dev2/vllm/vllm/v1/executor/multiproc_executor.py", line 236, in get_response
(EngineCore_0 pid=322284) ERROR 08-29 07:43:53 [core.py:712]     raise RuntimeError(
(EngineCore_0 pid=322284) ERROR 08-29 07:43:53 [core.py:712] RuntimeError: Worker failed with error 'Assertion error (csrc/apis/../jit_kernels/impls/../../jit/kernel_runtime.hpp:63): symbol_names.size() == 1', please check the stack trace above for the root cause

This issue is fixed by deepseek-ai/DeepGEMM@9c3783b. To minimize frequent DeepGEMM updates, this PR bumps DeepGEMM to latest commit.

Test Plan

Test Result


Essential Elements of an Effective PR Description Checklist
  • The purpose of the PR, such as "Fix some issue (link existing issues this PR will resolve)".
  • The test plan, such as providing test command.
  • The test results, such as pasting the results comparison before and after, or e2e results
  • (Optional) The necessary documentation update, such as updating supported_models.md and examples for a new model.
  • (Optional) Release notes update. If your change is user facing, please update the release notes draft in the Google Doc.

Signed-off-by: Jee Jee Li <[email protected]>
@jeejeelee jeejeelee requested review from mgoin and youkaichao August 29, 2025 08:23
@mergify mergify bot added the ci/build label Aug 29, 2025
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the DeepGEMM dependency to a more recent commit to resolve a runtime error. The change is straightforward and correct. I've identified a code duplication issue where the git commit hash is defined in both the Dockerfile and a shell script. I've suggested a refactoring to make the shell script the single source of truth, which will improve maintainability and prevent potential inconsistencies between Docker builds and local script execution.

Comment on lines 435 to 438
ARG DEEPGEMM_GIT_REF="ea9c5d9270226c5dd7a577c212e9ea385f6ef048"
COPY tools/install_deepgemm.sh /tmp/install_deepgemm.sh
RUN --mount=type=cache,target=/root/.cache/uv \
VLLM_DOCKER_BUILD_CONTEXT=1 /tmp/install_deepgemm.sh --cuda-version "${CUDA_VERSION}" --ref "${DEEPGEMM_GIT_REF}" \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The DEEPGEMM_GIT_REF is defined in both docker/Dockerfile and tools/install_deepgemm.sh. This duplication can lead to inconsistencies if one is updated and the other is not. To improve maintainability and make tools/install_deepgemm.sh the single source of truth for the default git reference, I suggest removing the hardcoded value from the Dockerfile and conditionally passing the --ref argument only when DEEPGEMM_GIT_REF is provided as a build argument.

ARG DEEPGEMM_GIT_REF
COPY tools/install_deepgemm.sh /tmp/install_deepgemm.sh
RUN --mount=type=cache,target=/root/.cache/uv \
    VLLM_DOCKER_BUILD_CONTEXT=1 /tmp/install_deepgemm.sh --cuda-version "${CUDA_VERSION}" ${DEEPGEMM_GIT_REF:+--ref "$DEEPGEMM_GIT_REF"} \

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this actually works, I'd prefer it

@mgoin mgoin requested review from yewentao256 and removed request for mgoin August 29, 2025 09:34
@mgoin mgoin added the ready ONLY add when PR is ready to merge/full CI is needed label Aug 29, 2025
Signed-off-by: Jee Jee Li <[email protected]>
Signed-off-by: Jee Jee Li <[email protected]>
@jeejeelee jeejeelee requested a review from mgoin August 30, 2025 09:37
Copy link
Member

@yewentao256 yewentao256 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for the work!

@yewentao256 yewentao256 enabled auto-merge (squash) August 31, 2025 12:42
@vllm-bot vllm-bot merged commit dc1a531 into vllm-project:main Sep 1, 2025
69 of 71 checks passed
@jeejeelee jeejeelee deleted the upgrade-deepgemm branch September 1, 2025 10:21
eicherseiji pushed a commit to eicherseiji/vllm that referenced this pull request Sep 9, 2025
FeiDaLI pushed a commit to FeiDaLI/vllm that referenced this pull request Sep 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci/build ready ONLY add when PR is ready to merge/full CI is needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants