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

[DeviceASAN] Move validation layer before sanitizer layer #2251

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

zhaomaosu
Copy link
Contributor

@zhaomaosu zhaomaosu commented Oct 28, 2024

Avoid internal UR API calls from sanitizer layer being intercepted by validation layer for better performance.
For miniqmc, the runtime can be reduced by -21.46% with this change.

Avoid internal UR API calls from sanitizer layer being intercepted by
validation layer for better performance.
@zhaomaosu zhaomaosu requested a review from a team as a code owner October 28, 2024 07:03
@github-actions github-actions bot added the loader Loader related feature/bug label Oct 28, 2024
@yingcong-wu
Copy link
Contributor

Do we have some performance data here?

@zhaomaosu
Copy link
Contributor Author

Do we have some performance data here?

Updated the git messages

@yingcong-wu
Copy link
Contributor

Do we have some performance data here?

Updated the git messages

Great, a good improvement.

Copy link
Contributor

@pbalcer pbalcer left a comment

Choose a reason for hiding this comment

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

I'm not opposed, but I'm not sure I understand the concern about performance. The validation layer is disabled by default. Users can just chose to not enable it if they observe reduced performance.

@zhaomaosu
Copy link
Contributor Author

I'm not opposed, but I'm not sure I understand the concern about performance. The validation layer is disabled by default. Users can just chose to not enable it if they observe reduced performance.

Eh....Actually, it's because intel openmp offload runtime will enable validation layer by default in their ur plugin. BTW, the overhead comes mainly from 'backtrace_symbols'. Maybe we can also do same changes in validation layer as PR #2128

@pbalcer
Copy link
Contributor

pbalcer commented Oct 28, 2024

BTW, the overhead comes mainly from 'backtrace_symbols'. Maybe we can also do same changes in validation layer as PR #2128

At some point we should move the backtrace implementation into common and have only one implementation.

@pbalcer
Copy link
Contributor

pbalcer commented Oct 28, 2024

Eh....Actually, it's because intel openmp offload runtime will enable validation layer by default in their ur plugin

They should stop doing that. It hurts performance overall, not just when sanitizer is enabled. If they want to retain some lightweight validation, they should enable only parameter validation (which is reasonable to leave always enabled).

@zhaomaosu
Copy link
Contributor Author

They should stop doing that. It hurts performance overall, not just when sanitizer is enabled. If they want to retain some lightweight validation, they should enable only parameter validation (which is reasonable to leave always enabled).

Thanks. I'll suggest them not to enable full validation layer by default.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
loader Loader related feature/bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants