Skip to content

[SYCL][UR] Disable UR_LAYER_PARAMETER_VALIDATION by default #15105

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

Merged
merged 2 commits into from
Aug 27, 2024

Conversation

nrspruit
Copy link
Contributor

@nrspruit nrspruit commented Aug 15, 2024

No description provided.

@nrspruit nrspruit marked this pull request as ready for review August 20, 2024 20:41
@nrspruit nrspruit requested a review from a team as a code owner August 20, 2024 20:41
@nrspruit nrspruit requested a review from kbenzie August 20, 2024 20:41
@nrspruit nrspruit force-pushed the dis_ur_val_layer_default branch from 1103b42 to 0f5e04c Compare August 20, 2024 20:43
@nrspruit nrspruit force-pushed the dis_ur_val_layer_default branch from 0f5e04c to 4a7dad1 Compare August 22, 2024 00:26
@nrspruit nrspruit requested a review from a team as a code owner August 22, 2024 00:26
Comment on lines 204 to 205
if "level_zero:gpu" in sycl_devices:
extra_env.append("UR_ENABLE_LAYERS=UR_LAYER_PARAMETER_VALIDATION")

Copy link
Contributor

@aelovikov-intel aelovikov-intel Aug 22, 2024

Choose a reason for hiding this comment

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

Do we really need it? We had internal e2e tests running with UR verification/L0 plugin leaks detection enabled (before PI removal) and the only single issue (AFAIK) caught by UR verification level was the verification code itself.

Copy link
Contributor

Choose a reason for hiding this comment

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

The plugins used to have some level of parameter checking in the entry points themselves, that's not the case with UR where this only occurs on the validation layer. The failing tests in this PR appear to depend on parameter checking for correctness.

Copy link
Contributor

@aelovikov-intel aelovikov-intel Aug 26, 2024

Choose a reason for hiding this comment

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

  1. I'm still not convinced. I'm not going to "request changes", so if anybody from the SYCL RT feels strongly that this PR should be merged, feel free to approve.
  2. The failing tests in this PR appear to depend on parameter checking for correctness.

can you elaborate on this?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hello @aelovikov-intel ,

So, I want to understand your concern. My primary concern is to disable the validation layer by default because this is impacting performance on every call to the UR. Is your concern the fact that we would enable the validation layer during E2E testing?

Why would that be an issue? Don't we want to have more checks during the E2E testing?

Copy link
Contributor

Choose a reason for hiding this comment

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

Why would that be an issue?

because it affects timing and could possible hide issues that our customers would see without that validation. Also, how many issues that actually catches?

Comment on lines 204 to 205
if "level_zero:gpu" in sycl_devices:
extra_env.append("UR_ENABLE_LAYERS=UR_LAYER_PARAMETER_VALIDATION")

Copy link
Contributor

Choose a reason for hiding this comment

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

The plugins used to have some level of parameter checking in the entry points themselves, that's not the case with UR where this only occurs on the validation layer. The failing tests in this PR appear to depend on parameter checking for correctness.

@nrspruit
Copy link
Contributor Author

@intel/llvm-gatekeepers please merge when available.

@nrspruit
Copy link
Contributor Author

@intel/llvm-gatekeepers , please merge.

@sarnex
Copy link
Contributor

sarnex commented Aug 26, 2024

@nrspruit We still need a review from @intel/llvm-reviewers-runtime

@aelovikov-intel provided initial feedback, maybe he can check if his feedback was addressed and approve if so?

@@ -113,8 +113,6 @@ static void initializePlugins(std::vector<PluginPtr> &Plugins,
// enable full validation by default.
Copy link
Contributor

Choose a reason for hiding this comment

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

probably this comment needs to be updated too

@nrspruit nrspruit force-pushed the dis_ur_val_layer_default branch from 15b9b01 to 63fda4b Compare August 26, 2024 21:32
@nrspruit nrspruit force-pushed the dis_ur_val_layer_default branch from 63fda4b to 0d6980e Compare August 26, 2024 21:50
@nrspruit nrspruit force-pushed the dis_ur_val_layer_default branch from 0d6980e to 0cb0e5f Compare August 26, 2024 23:09
@nrspruit nrspruit marked this pull request as draft August 27, 2024 00:33
@omarahmed1111 omarahmed1111 force-pushed the dis_ur_val_layer_default branch from 0cb0e5f to 3ded0b1 Compare August 27, 2024 15:36
@omarahmed1111 omarahmed1111 marked this pull request as ready for review August 27, 2024 15:36
- Only Enable UR_LAYER_PARAMETER_VALIDATION if UR_LOG_VALIDATION is set.

Signed-off-by: Neil R. Spruit <[email protected]>
@nrspruit nrspruit force-pushed the dis_ur_val_layer_default branch from 3ded0b1 to 685c6a9 Compare August 27, 2024 15:40
@nrspruit
Copy link
Contributor Author

@intel/llvm-gatekeepers please merge.

@sarnex sarnex merged commit 6dd3892 into intel:sycl Aug 27, 2024
13 checks passed
AlexeySachkov pushed a commit to AlexeySachkov/llvm that referenced this pull request Nov 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants