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

[DeivceASAN] Make ShadowMemory one instance per type #16687

Merged
merged 7 commits into from
Jan 22, 2025

Conversation

yingcong-wu
Copy link
Contributor

@yingcong-wu yingcong-wu commented Jan 20, 2025

@yingcong-wu yingcong-wu requested review from a team as code owners January 20, 2025 06:50
@yingcong-wu yingcong-wu marked this pull request as draft January 20, 2025 06:51
@yingcong-wu yingcong-wu changed the title update tag [DeivceASAN] Make ShadowMemory one instance per type Jan 20, 2025
@yingcong-wu yingcong-wu marked this pull request as ready for review January 20, 2025 08:30
@yingcong-wu yingcong-wu marked this pull request as draft January 20, 2025 08:55
@yingcong-wu yingcong-wu marked this pull request as ready for review January 21, 2025 05:48
Copy link
Contributor

@zhaomaosu zhaomaosu left a comment

Choose a reason for hiding this comment

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

lgtm

@yingcong-wu
Copy link
Contributor Author

Kindly ping @unified-runtime-reviewers for review.

@kbenzie
Copy link
Contributor

kbenzie commented Jan 21, 2025

@yingcong-wu please take a look at the Jenkins/Precommit. I already retried it once but haven't checked if the second run had any more info than the first.

@yingcong-wu
Copy link
Contributor Author

yingcong-wu commented Jan 22, 2025

Hi @kbenzie , this looks like infrastructure issue at first glance. I will do more investigation.
Also, this PR is not so vital as the UR part. The UR part can function as expected without this PR.

@AllanZyne
Copy link
Contributor

AllanZyne commented Jan 22, 2025

I suggest move this test to "VirtualMem" folder, because if it is failed, owners of "VirtualMem" will take responsible for it.

@yingcong-wu
Copy link
Contributor Author

yingcong-wu commented Jan 22, 2025

I suggest move this test to "VirtualMem" folder, because if it is failed, SYCL runtime team will take responsible for it.

I don't think that is ideal because I think they don't care about cross context access as that may be a violation to the spec. Ideally this test should be written using level-zero API, but that may be not so convenient. We can update this test later and add more tests to test for other assumption we made for the L0/GPU.

@AllanZyne
Copy link
Contributor

I suggest move this test to "VirtualMem" folder, because if it is failed, SYCL runtime team will take responsible for it.

I don't think that is ideal because I think they don't care about cross context access as that may be a violation to the spec.

Since this is our requirement, we need to communicate with them to support this feature.
But "VirutalMem" related issue is not our sanitizer team's responsibility.
Anyway, we need them aware this requirement.

@AllanZyne
Copy link
Contributor

We may create a "sanitizer" folder under "VirtualMem" to let them know this is specific to sanitizer.

@yingcong-wu
Copy link
Contributor Author

I suggest move this test to "VirtualMem" folder, because if it is failed, SYCL runtime team will take responsible for it.

I don't think that is ideal because I think they don't care about cross context access as that may be a violation to the spec.

Since this is our requirement, we need to communicate with them to support this feature. But "VirutalMem" related issue is not our sanitizer team's responsibility. Anyway, we need them aware this requirement.

If this becomes a requirement, then the requirement should be made to L0/GPU team instead of SYCL team.

@AllanZyne
Copy link
Contributor

I suggest move this test to "VirtualMem" folder, because if it is failed, SYCL runtime team will take responsible for it.

I don't think that is ideal because I think they don't care about cross context access as that may be a violation to the spec.

Since this is our requirement, we need to communicate with them to support this feature. But "VirutalMem" related issue is not our sanitizer team's responsibility. Anyway, we need them aware this requirement.

If this becomes a requirement, then the requirement should be made to L0/GPU team instead of SYCL team.

Yep, I updated my words, it's responsibility of owners of "VirutalMem" folder, not "AddressSaniitzer".

@yingcong-wu
Copy link
Contributor Author

Also, this is not a hard requirement for the whole DASAN, but just a requirement for the current implementation of shadow memory. If it does not support cross-context access one day, we can adjust our implementation for shadow memory. Also, it is hard to make GPU team commit to that requirement because in theory, we should not do cross-context access.

@yingcong-wu
Copy link
Contributor Author

I suggest move this test to "VirtualMem" folder, because if it is failed, SYCL runtime team will take responsible for it.

I don't think that is ideal because I think they don't care about cross context access as that may be a violation to the spec.

Since this is our requirement, we need to communicate with them to support this feature. But "VirutalMem" related issue is not our sanitizer team's responsibility. Anyway, we need them aware this requirement.

If this becomes a requirement, then the requirement should be made to L0/GPU team instead of SYCL team.

Yep, I updated my words, it's responsibility of owners of "VirutalMem" folder, not "AddressSaniitzer".

I still think we should keep this test in ASAN folder, because 1: this is not really a legitimate test for VirtualMem(cross-context), and 2: this would help us catch the problem sooner, rather than wait for the issue to be dispatched.

@AllanZyne
Copy link
Contributor

Also, this is not a hard requirement for the whole DASAN, but just a requirement for the current implementation of shadow memory. If it does not support cross-context access one day, we can adjust our implementation for shadow memory. Also, it is hard to make GPU team commit to that requirement because in theory, we should not do cross-context access.

So you mean, this test is just an indicator for our current implementation. When it is failed, we may consider make a new implementation?

@AllanZyne
Copy link
Contributor

AllanZyne commented Jan 22, 2025

I suggest move this test to "VirtualMem" folder, because if it is failed, SYCL runtime team will take responsible for it.

I don't think that is ideal because I think they don't care about cross context access as that may be a violation to the spec.

Since this is our requirement, we need to communicate with them to support this feature. But "VirutalMem" related issue is not our sanitizer team's responsibility. Anyway, we need them aware this requirement.

If this becomes a requirement, then the requirement should be made to L0/GPU team instead of SYCL team.

Yep, I updated my words, it's responsibility of owners of "VirutalMem" folder, not "AddressSaniitzer".

I still think we should keep this test in ASAN folder, because 1: this is not really a legitimate test for VirtualMem(cross-context), and 2: this would help us catch the problem sooner, rather than wait for the issue to be dispatched.

Got it. We need to know its status firstly.

@yingcong-wu
Copy link
Contributor Author

Also, this is not a hard requirement for the whole DASAN, but just a requirement for the current implementation of shadow memory. If it does not support cross-context access one day, we can adjust our implementation for shadow memory. Also, it is hard to make GPU team commit to that requirement because in theory, we should not do cross-context access.

So you mean, this test is just an indicator for our current implementation. When it is failed, we may consider make a new implementation?

Yes! That is my intention here.

@yingcong-wu
Copy link
Contributor Author

yingcong-wu commented Jan 22, 2025

Hi @kbenzie , after retrigging the CI with an empty commit, the Jenkins/Precommit check has passed. At the time of writing this comment, there are no failed checks but 1 is still queued.

@yingcong-wu
Copy link
Contributor Author

Hi @intel/llvm-gatekeepers , please help merge this PR, thanks.

@steffenlarsen steffenlarsen merged commit ce4a320 into intel:sycl Jan 22, 2025
17 checks passed
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