Skip to content

Conversation

@fake0fan
Copy link
Contributor

@fake0fan fake0fan commented Jul 25, 2025

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.

Support V1 PD multimodal input without wrongly reusing kv (issue 21175)
#21175

It naively concatenates the mm_hashes to form a unique key;
Can optimize this in the future if needed.

Purpose

It brings in the mm_hashes from the Request to the connector to form a proper key; that can help distinguish kv for different mm input. It fix the problems about wrongly reusing the kv mentioned in the issue.
Support multiple multimodal inputs as well.

Test Plan

By running pytest test_shared_strorage_connector.py, it run the test through the test_shared_storage_connector_hashes(); pytest -s to see full print records for a better understanding and investigation.

The generated KV folders and files will be stored in Path("storage_1/") during the test, which is located at where you execute this ut test file.

There are 11 designed input cases to test the feature. Excepted length (number of folders in the storage path), which is the number of unique hashes form, and the information about each input case, is explicit mentioned and printed in the script. There are 6 unique combinations in the 11 input cases, so there should be 6 unique hashes in the folder at the end. The code also checks whether the number of hashes is correct after each llm generate.

Note that the order in important to test it, therefore I did not make them separate test cases in pytest, but use a for loop to execute them one by one.

Test Result

 ========================= Below running input case: 0 =========================
***info: image_1 single input the first time.***
**Expected storage path length after llm generate: 1**
Adding requests: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:03<00:00,  3.99s/it]
Processed prompts:   0%|                                                                                                                    | 0/1 [00:00<?, ?it/s, est. speed input: 0.00 toks/s, output: 0.00 toks/s]WARNING 07-30 02:52:23 [shared_storage_connector.py:152] In connector.start_load_kv, but the attn_metadata is None
Processed prompts: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:01<00:00,  1.26s/it, est. speed input: 985.29 toks/s, output: 76.34 toks/s]
--------------------------------------------------
Output:
The image shows a street scene in a Chinatown area with a prominent red stop sign, traditional Chinese architecture, and a black car parked on the side. The area features various shops and signs, including a "STOP" sign, a "KUO" sign, and a "yes" sign. The street is clean and well-maintained, with a few pedestrians visible in the background. The image captures the vibrant and culturally rich atmosphere of a Chinatown neighborhood.
--------------------------------------------------
Path matched expected length: 1
Hashes under the storage path: [PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/7990e2206cff0dd2e0572996412994f1')]

 ========================= Below running input case: 1 =========================
***info: image_2 single input the first time. It is in same pixel size with image_1, yet it should be able to form a new unique hash.***
**Expected storage path length after llm generate: 2**
Adding requests: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00,  6.16it/s]
Processed prompts:   0%|                                                                                                                    | 0/1 [00:00<?, ?it/s, est. speed input: 0.00 toks/s, output: 0.00 toks/s]WARNING 07-30 02:52:24 [shared_storage_connector.py:152] In connector.start_load_kv, but the attn_metadata is None
Processed prompts: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00,  1.58it/s, est. speed input: 1959.94 toks/s, output: 99.65 toks/s]
--------------------------------------------------
Output:
The image shows a stunning view of the Tokyo Skytree framed by cherry blossoms, with a clear blue sky in the background. The cherry blossoms are in full bloom, creating a beautiful contrast with the modern skyscraper. The scene is serene and picturesque, capturing the beauty of nature and urban architecture together.
--------------------------------------------------
Path matched expected length: 2
Hashes under the storage path: [PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/22e86233b1fdcac70598249c19cf71f2'), PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/7990e2206cff0dd2e0572996412994f1')]

 ========================= Below running input case: 2 =========================
***info: image_1 single input the 2nd time. It should not form aother new hash.***
**Expected storage path length after llm generate: 2**
Adding requests: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 113.17it/s]
Processed prompts:   0%|                                                                                                                    | 0/1 [00:00<?, ?it/s, est. speed input: 0.00 toks/s, output: 0.00 toks/s]INFO 07-30 02:52:24 [shared_storage_connector.py:257] External Cache Hit!
WARNING 07-30 02:52:25 [shared_storage_connector.py:152] In connector.start_load_kv, but the attn_metadata is None
Processed prompts: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00,  1.35it/s, est. speed input: 1678.03 toks/s, output: 131.37 toks/s]
--------------------------------------------------
Output:
The image shows a street scene in a Chinatown area with a prominent red stop sign, traditional Chinese architecture, and a black car parked on the side. The area features various shops and signs, including a "STOP" sign, a "KUO" sign, and a "yes" sign. The street is clean and well-maintained, with a few pedestrians visible in the background. The special feature is the vibrant and culturally rich atmosphere of the Chinatown district.
--------------------------------------------------
Path matched expected length: 2
Hashes under the storage path: [PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/22e86233b1fdcac70598249c19cf71f2'), PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/7990e2206cff0dd2e0572996412994f1')]

 ========================= Below running input case: 3 =========================
***info: image_2 single input the 2nd time. It should not form aother new hash.***
**Expected storage path length after llm generate: 2**
Adding requests: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 93.91it/s]
Processed prompts:   0%|                                                                                                                    | 0/1 [00:00<?, ?it/s, est. speed input: 0.00 toks/s, output: 0.00 toks/s]INFO 07-30 02:52:25 [shared_storage_connector.py:257] External Cache Hit!
WARNING 07-30 02:52:25 [shared_storage_connector.py:152] In connector.start_load_kv, but the attn_metadata is None
Processed prompts: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00,  2.02it/s, est. speed input: 2503.73 toks/s, output: 131.34 toks/s]
--------------------------------------------------
Output:
The image shows a stunning view of the Tokyo Skytree tower framed by cherry blossoms, with a clear blue sky in the background. The cherry blossoms are in full bloom, creating a beautiful contrast with the tower's modern design. The scene is serene and picturesque, capturing the beauty of nature and urban architecture together.
--------------------------------------------------
Path matched expected length: 2
Hashes under the storage path: [PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/22e86233b1fdcac70598249c19cf71f2'), PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/7990e2206cff0dd2e0572996412994f1')]

 ========================= Below running input case: 4 =========================
***info: image_1 with image_2 input the first time.***
**Expected storage path length after llm generate: 3**
Adding requests: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 32.00it/s]
Processed prompts:   0%|                                                                                                                    | 0/1 [00:00<?, ?it/s, est. speed input: 0.00 toks/s, output: 0.00 toks/s]WARNING 07-30 02:52:26 [shared_storage_connector.py:152] In connector.start_load_kv, but the attn_metadata is None
Processed prompts: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00,  1.03it/s, est. speed input: 2516.98 toks/s, output: 89.85 toks/s]
--------------------------------------------------
Output:
The image shows a vibrant street scene in Chinatown with a prominent "STOP" sign, traditional Chinese architecture, and a black car parked on the side. The second image captures a stunning view of the Tokyo Skytree tower framed by cherry blossoms, with a clear blue sky in the background. The special feature is the beautiful contrast between the pink cherry blossoms and the white and gold tower, creating a picturesque and serene atmosphere.
--------------------------------------------------
Path matched expected length: 3
Hashes under the storage path: [PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/c8b59cd7016e79b1c3a481826adce6ee'), PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/22e86233b1fdcac70598249c19cf71f2'), PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/7990e2206cff0dd2e0572996412994f1')]

 ========================= Below running input case: 5 =========================
***info: The image order is swapped. Should form new hash.***
**Expected storage path length after llm generate: 4**
Adding requests: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 27.26it/s]
Processed prompts:   0%|                                                                                                                    | 0/1 [00:00<?, ?it/s, est. speed input: 0.00 toks/s, output: 0.00 toks/s]WARNING 07-30 02:52:27 [shared_storage_connector.py:152] In connector.start_load_kv, but the attn_metadata is None
Processed prompts: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:01<00:00,  1.15s/it, est. speed input: 2121.02 toks/s, output: 95.74 toks/s]
--------------------------------------------------
Output:
The image shows a vibrant scene of cherry blossoms in full bloom, with the Tokyo Skytree tower visible through the branches. The sky is a clear blue, and the flowers are a soft pink color, creating a beautiful contrast against the tower.

In the second image, there is a stop sign on the left side of the street, and a black car is parked on the right side. The street is lined with buildings, including a Chinese restaurant with a red and gold sign. There are also two stone lions on either side of the entrance.
--------------------------------------------------
Path matched expected length: 4
Hashes under the storage path: [PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/c8b59cd7016e79b1c3a481826adce6ee'), PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/22e86233b1fdcac70598249c19cf71f2'), PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/7990e2206cff0dd2e0572996412994f1'), PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/a13bd31c31c8809bd7fb39c8f7a56f82')]

 ========================= Below running input case: 6 =========================
***info: [image_1, image_2] input the 2nd time. It should not form aother new hash.***
**Expected storage path length after llm generate: 4**
Adding requests: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 28.85it/s]
Processed prompts:   0%|                                                                                                                    | 0/1 [00:00<?, ?it/s, est. speed input: 0.00 toks/s, output: 0.00 toks/s]INFO 07-30 02:52:27 [shared_storage_connector.py:257] External Cache Hit!
WARNING 07-30 02:52:28 [shared_storage_connector.py:152] In connector.start_load_kv, but the attn_metadata is None
Processed prompts: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00,  1.45it/s, est. speed input: 3545.92 toks/s, output: 128.04 toks/s]
--------------------------------------------------
Output:
The image shows a vibrant street scene in Chinatown with a prominent "STOP" sign, traditional Chinese architecture, and a black car parked on the side. The second image captures a stunning view of the Tokyo Skytree surrounded by cherry blossoms, with a clear blue sky in the background. The special feature is the beautiful contrast between the pink cherry blossoms and the white and yellow Tokyo Skytree, creating a picturesque and serene atmosphere.
--------------------------------------------------
Path matched expected length: 4
Hashes under the storage path: [PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/c8b59cd7016e79b1c3a481826adce6ee'), PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/22e86233b1fdcac70598249c19cf71f2'), PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/7990e2206cff0dd2e0572996412994f1'), PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/a13bd31c31c8809bd7fb39c8f7a56f82')]

 ========================= Below running input case: 7 =========================
***info: [image_2, image_1] input the 2nd time. It should not form aother new hash.***
**Expected storage path length after llm generate: 4**
Adding requests: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 35.05it/s]
Processed prompts:   0%|                                                                                                                    | 0/1 [00:00<?, ?it/s, est. speed input: 0.00 toks/s, output: 0.00 toks/s]INFO 07-30 02:52:28 [shared_storage_connector.py:257] External Cache Hit!
WARNING 07-30 02:52:29 [shared_storage_connector.py:152] In connector.start_load_kv, but the attn_metadata is None
Processed prompts: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00,  1.19it/s, est. speed input: 2895.05 toks/s, output: 129.48 toks/s]
--------------------------------------------------
Output:
The image shows a vibrant scene of cherry blossoms in full bloom, with the Tokyo Skytree tower visible through the branches. The sky is a clear blue, and the flowers are a soft pink color, creating a beautiful contrast against the tower.

In the second image, there is a stop sign on the left side of the street, and a black car is parked on the right side. The street is lined with buildings, including a Chinese restaurant with red and gold decorations. There are also two stone lions on either side of the entrance.
--------------------------------------------------
Path matched expected length: 4
Hashes under the storage path: [PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/c8b59cd7016e79b1c3a481826adce6ee'), PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/22e86233b1fdcac70598249c19cf71f2'), PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/7990e2206cff0dd2e0572996412994f1'), PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/a13bd31c31c8809bd7fb39c8f7a56f82')]

 ========================= Below running input case: 8 =========================
***info: Pure text input test as a case-control***
**Expected storage path length after llm generate: 5**
Adding requests: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 948.94it/s]
Processed prompts:   0%|                                                                                                                    | 0/1 [00:00<?, ?it/s, est. speed input: 0.00 toks/s, output: 0.00 toks/s]WARNING 07-30 02:52:29 [shared_storage_connector.py:152] In connector.start_load_kv, but the attn_metadata is None
Processed prompts: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00,  3.21it/s, est. speed input: 131.84 toks/s, output: 128.62 toks/s]
--------------------------------------------------
Output:
I'm sorry, but I'm unable to see any images attached to your question. Please provide the images or a link to them, and I'll be happy to help you with your question.
--------------------------------------------------
Path matched expected length: 5
Hashes under the storage path: [PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/9afe48d0ac319192b4caedbbdeba9632'), PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/c8b59cd7016e79b1c3a481826adce6ee'), PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/22e86233b1fdcac70598249c19cf71f2'), PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/7990e2206cff0dd2e0572996412994f1'), PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/a13bd31c31c8809bd7fb39c8f7a56f82')]

 ========================= Below running input case: 9 =========================
***info: Identical pure text input as a case-control***
**Expected storage path length after llm generate: 5**
Adding requests: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 1199.40it/s]
INFO 07-30 02:52:29 [shared_storage_connector.py:257] External Cache Hit!
Processed prompts:   0%|                                                                                                                    | 0/1 [00:00<?, ?it/s, est. speed input: 0.00 toks/s, output: 0.00 toks/s]WARNING 07-30 02:52:30 [shared_storage_connector.py:152] In connector.start_load_kv, but the attn_metadata is None
Processed prompts: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00,  3.33it/s, est. speed input: 136.68 toks/s, output: 133.34 toks/s]
--------------------------------------------------
Output:
I'm sorry, but I'm unable to see any images attached to your question. Please provide the images or a link to them, and I'll be happy to help you with your question.
--------------------------------------------------
Path matched expected length: 5
Hashes under the storage path: [PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/9afe48d0ac319192b4caedbbdeba9632'), PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/c8b59cd7016e79b1c3a481826adce6ee'), PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/22e86233b1fdcac70598249c19cf71f2'), PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/7990e2206cff0dd2e0572996412994f1'), PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/a13bd31c31c8809bd7fb39c8f7a56f82')]

 ========================= Below running input case: 10 =========================
***info: Another pure text input as a case-control***
**Expected storage path length after llm generate: 6**
Adding requests: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 1211.88it/s]
Processed prompts:   0%|                                                                                                                    | 0/1 [00:00<?, ?it/s, est. speed input: 0.00 toks/s, output: 0.00 toks/s]WARNING 07-30 02:52:30 [shared_storage_connector.py:152] In connector.start_load_kv, but the attn_metadata is None
Processed prompts: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00,  1.56it/s, est. speed input: 37.60 toks/s, output: 134.71 toks/s]
--------------------------------------------------
Output:
The future of AI is likely to be characterized by continued advancements in machine learning, natural language processing, computer vision, and other related technologies. AI is expected to become more integrated into our daily lives, with applications in areas such as healthcare, transportation, finance, and education. Additionally, there will likely be increased focus on developing more ethical and responsible AI systems, as well as addressing the potential risks and challenges associated with AI.
--------------------------------------------------
Path matched expected length: 6
Hashes under the storage path: [PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/9afe48d0ac319192b4caedbbdeba9632'), PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/c8b59cd7016e79b1c3a481826adce6ee'), PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/22e86233b1fdcac70598249c19cf71f2'), PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/7990e2206cff0dd2e0572996412994f1'), PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/74ea1800757c63161f9fd18342db7630'), PosixPath('/tmp/pytest-of-root/pytest-9/test_shared_storage_connector_0/a13bd31c31c8809bd7fb39c8f7a56f82')]
All tests passed successfully!
.

================================================================================================== warnings summary ==================================================================================================
tests/v1/kv_connector/unit/test_shared_storage_connector.py::test_shared_storage_connector_hashes
  /usr/lib/python3.12/multiprocessing/popen_fork.py:66: DeprecationWarning: This process (pid=69536) is multi-threaded, use of fork() may lead to deadlocks in the child.
    self.pid = os.fork()

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
====================================================================================== 1 passed, 1 warning in 61.04s (0:01:01) =======================================================================================

All tests passed successfully!

@github-actions
Copy link

👋 Hi! Thank you for contributing to the vLLM project.

💬 Join our developer Slack at https://slack.vllm.ai to discuss your PR in #pr-reviews, coordinate on features in #feat- channels, or join special interest groups in #sig- channels.

Just a reminder: PRs would not trigger full CI run by default. Instead, it would only run fastcheck CI which starts running only a small and essential subset of CI tests to quickly catch errors. You can run other CI tests on top of those by going to your fastcheck build on Buildkite UI (linked in the PR checks section) and unblock them. If you do not have permission to unblock, ping simon-mo or khluu to add you in our Buildkite org.

Once the PR is approved and ready to go, your PR reviewer(s) can run CI to test the changes comprehensively before merging.

To run CI, PR reviewers can either: Add ready label to the PR or enable auto-merge.

🚀

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

An excellent pull request that addresses an important bug in multimodal KV caching. The changes to propagate the mm_hashes are well-implemented.

My review focuses on a critical security vulnerability and a related correctness issue in the new cache key generation logic. I've provided a detailed explanation and a code suggestion to resolve these issues, ensuring the system is both secure and robust.

Once the feedback is addressed, this PR will be a great addition to the codebase.

@fake0fan fake0fan force-pushed the cgzheng_main branch 3 times, most recently from 58a52ff to bc68bef Compare July 28, 2025 03:53
@fake0fan
Copy link
Contributor Author

@DarkLight1337 @ywang96 could you please review this PR?

@DarkLight1337
Copy link
Member

Thanks for fixing, can you add a unit test to verify?

@mergify mergify bot added the v1 label Jul 29, 2025
Copy link
Member

@DarkLight1337 DarkLight1337 Jul 29, 2025

Choose a reason for hiding this comment

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

We can use the tmp_path pytest fixture which automatically handles create/delete directory

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks for your suggestions.

Fixed. pls review.

Copy link
Member

@DarkLight1337 DarkLight1337 left a comment

Choose a reason for hiding this comment

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

Thanks, LGTM given tests pass

@DarkLight1337 DarkLight1337 enabled auto-merge (squash) July 30, 2025 03:19
@herotai214
Copy link
Contributor

The pre-commit check failed, but it is triggered by the file fused_moe_modular_kernel.md that is not involved in this PR. Is this normal?

@DarkLight1337
Copy link
Member

OK let's ignore it then

@github-actions github-actions bot added the ready ONLY add when PR is ready to merge/full CI is needed label Jul 30, 2025
@herotai214
Copy link
Contributor

herotai214 commented Jul 30, 2025

Other than the gpu memory error in v1-test, the failed CI are irrelevants to the files invovled in this PR.
For the gpu memory error, does below log shows that it's also a machine error?

Like I didn't see any other test script with Qwen2.5-VL-3B-Instruct adjust the gpu_memory_utilization parameter.
@DarkLight1337

...
[2025-07-30T07:24:22Z]   File "/usr/local/lib/python3.12/dist-packages/vllm/v1/worker/gpu_worker.py", line 168, in init_device
--
  | [2025-07-30T07:24:22Z]     raise ValueError(
  | [2025-07-30T07:24:22Z] ValueError: Free memory on device (12.16/22.05 GiB) on startup is less than desired GPU memory utilization (0.9, 19.84 GiB). Decrease GPU memory utilization or reduce GPU memory used by other processes.
  | [2025-07-30T07:24:24Z] FAILED
  | [2025-07-30T07:24:24Z]
  | [2025-07-30T07:24:24Z] =================================== FAILURES ===================================
  | [2025-07-30T07:24:24Z] _____________________ test_shared_storage_connector_hashes _____________________
  | [2025-07-30T07:24:24Z]
  | [2025-07-30T07:24:24Z] tmp_path = PosixPath('/tmp/pytest-of-root/pytest-0/test_shared_storage_connector_0')
  | [2025-07-30T07:24:24Z]
  | [2025-07-30T07:24:24Z]     def test_shared_storage_connector_hashes(tmp_path):
...

auto-merge was automatically disabled July 30, 2025 09:25

Head branch was pushed to by a user without write access

@DarkLight1337 DarkLight1337 enabled auto-merge (squash) July 30, 2025 10:12
@vllm-bot vllm-bot merged commit 4904e53 into vllm-project:main Jul 30, 2025
67 of 72 checks passed
liuyumoye pushed a commit to liuyumoye/vllm that referenced this pull request Jul 31, 2025
vadiklyutiy pushed a commit to CentML/vllm that referenced this pull request Aug 5, 2025
x22x22 pushed a commit to x22x22/vllm that referenced this pull request Aug 5, 2025
…1611)

Signed-off-by: fake0fan <[email protected]>
Signed-off-by: herotai214 <[email protected]>
Co-authored-by: herotai214 <[email protected]>
Signed-off-by: x22x22 <[email protected]>
npanpaliya pushed a commit to odh-on-pz/vllm-upstream that referenced this pull request Aug 6, 2025
jinzhen-lin pushed a commit to jinzhen-lin/vllm that referenced this pull request Aug 9, 2025
…1611)

Signed-off-by: fake0fan <[email protected]>
Signed-off-by: herotai214 <[email protected]>
Co-authored-by: herotai214 <[email protected]>
Signed-off-by: Jinzhen Lin <[email protected]>
noamgat pushed a commit to noamgat/vllm that referenced this pull request Aug 9, 2025
…1611)

Signed-off-by: fake0fan <[email protected]>
Signed-off-by: herotai214 <[email protected]>
Co-authored-by: herotai214 <[email protected]>
Signed-off-by: Noam Gat <[email protected]>
paulpak58 pushed a commit to paulpak58/vllm that referenced this pull request Aug 13, 2025
…1611)

Signed-off-by: fake0fan <[email protected]>
Signed-off-by: herotai214 <[email protected]>
Co-authored-by: herotai214 <[email protected]>
Signed-off-by: Paul Pak <[email protected]>
diegocastanibm pushed a commit to diegocastanibm/vllm that referenced this pull request Aug 15, 2025
…1611)

Signed-off-by: fake0fan <[email protected]>
Signed-off-by: herotai214 <[email protected]>
Co-authored-by: herotai214 <[email protected]>
Signed-off-by: Diego-Castan <[email protected]>
epwalsh pushed a commit to epwalsh/vllm that referenced this pull request Aug 28, 2025
zhewenl pushed a commit to zhewenl/vllm that referenced this pull request Aug 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants