Skip to content

[CPU] Add test case of setting model_distribution_policy to TENSOR_PARALLEL #29322

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

Open
wants to merge 14 commits into
base: master
Choose a base branch
from

Conversation

sunxiaoxia2022
Copy link
Contributor

@sunxiaoxia2022 sunxiaoxia2022 commented Mar 7, 2025

Details:

  • add test case of model_distribution_policy is TENSOR_PARALLEL
  • Enable "ov::hint::ModelDistributionPolicy::TENSOR_PARALLEL" on single socket will create duplicated sub stream for functionality validation

Tickets:

@sunxiaoxia2022 sunxiaoxia2022 requested a review from wangleis March 7, 2025 07:22
@sunxiaoxia2022 sunxiaoxia2022 requested review from a team as code owners March 7, 2025 07:22
@github-actions github-actions bot added the category: CPU OpenVINO CPU plugin label Mar 7, 2025
@sunxiaoxia2022 sunxiaoxia2022 changed the title [CPU] Add test case of model_distribution_policy is TENSOR_PARALLEL [CPU] Add test case of setting model_distribution_policy to TENSOR_PARALLEL Mar 7, 2025
@sunxiaoxia2022 sunxiaoxia2022 requested a review from a team as a code owner March 13, 2025 07:37
@github-actions github-actions bot added the category: inference OpenVINO Runtime library - Inference label Mar 13, 2025
@dmitry-gorokhov dmitry-gorokhov added this to the 2025.2 milestone Mar 24, 2025
@dmitry-gorokhov dmitry-gorokhov self-assigned this Mar 24, 2025
ASSERT_EQ(model_distribution_policy_value, setModels);
}

TEST_F(OVClassConfigTestCPU, smoke_CpuModelDistributionPolicyTensorParallelAccurcay) {
Copy link

@dmitry-gorokhov dmitry-gorokhov Mar 24, 2025

Choose a reason for hiding this comment

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

It has to be usual functional subgraph test, which already have all the infra for output comparision and inputs filling.
Besides that we have to cover cases like matmul with compressed weights.
It also worth to verify execution graph to make sure TP was actually applied

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ok, I added test case about TP to mat_mul.cpp and shared_matmul_weights_decompression.cpp. Please have a look.

@sunxiaoxia2022 sunxiaoxia2022 requested review from a team as code owners March 26, 2025 12:47
@github-actions github-actions bot added category: IE Tests OpenVINO Test: plugins and common category: GPU OpenVINO GPU plugin labels Mar 26, 2025
@sunxiaoxia2022 sunxiaoxia2022 requested a review from azhai219 March 26, 2025 13:00
@EgorDuplensky
Copy link
Contributor

Details:

  • add test case of model_distribution_policy is TENSOR_PARALLEL
  • Enable "ov::hint::ModelDistributionPolicy::TENSOR_PARALLEL" on single socket will create duplicated sub stream for functionality validation

Tickets:

@sunxiaoxia2022 Does it mean we allow setting TP on any single socket machine even for Release package? Are there any potential performance degradations because of that? I understand that is done just to enable testing of the feature but having it always available in API can have potential negative impact.

@wangleis
Copy link
Contributor

wangleis commented Apr 9, 2025

Details:

  • add test case of model_distribution_policy is TENSOR_PARALLEL
  • Enable "ov::hint::ModelDistributionPolicy::TENSOR_PARALLEL" on single socket will create duplicated sub stream for functionality validation

Tickets:

@sunxiaoxia2022 Does it mean we allow setting TP on any single socket machine even for Release package? Are there any potential performance degradations because of that? I understand that is done just to enable testing of the feature but having it always available in API can have potential negative impact.

@EgorDuplensky Yes, it allow setting TP on single socket machine even for release package. Since TP is disabled by default, this change will not impact default behavior.

If the user mistakenly sets TP for real inference on a single-slot platform, negative impact is expected.

@github-actions github-actions bot added the category: CPP API OpenVINO CPP API bindings label Apr 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category: CPP API OpenVINO CPP API bindings category: CPU OpenVINO CPU plugin category: GPU OpenVINO GPU plugin category: IE Tests OpenVINO Test: plugins and common category: inference OpenVINO Runtime library - Inference
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants