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

[SYCL] Move SYCLLowerWGLocalMemoryPass to PipelineStart #16183

Conversation

wenju-he
Copy link
Contributor

The pass transforms __sycl_allocateLocalMemory call to access of global variable @WGLocalMem. Move the transform to beginning of the pipeline since the access could enable more optimization than the function call.

In addition, intel gpu compiler has a pass to transform global variable in addrspace(3) to alloca that runs after pipeline basic simplification. Therefore, we shall run SYCLLowerWGLocalMemoryPass ealier.

The pass transforms __sycl_allocateLocalMemory call to access of global
variable @WGLocalMem. Move the transform to beginning of the pipeline
since the access could enable more optimization than the function call.

In addition, intel gpu compiler has a pass to transform global variable
in addrspace(3) to alloca that runs after pipeline basic simplification.
Therefore, we shall run SYCLLowerWGLocalMemoryPass ealier.
@wenju-he wenju-he marked this pull request as ready for review November 26, 2024 00:57
@wenju-he wenju-he requested review from a team as code owners November 26, 2024 00:57
@wenju-he
Copy link
Contributor Author

sorry, SYCLLowerWGLocalMemoryPass requires AlwaysInlinerPass to run first as the test failure in CI shows. AlwaysInlinerPass runs later than PipelineStart. So SYCLLowerWGLocalMemoryPass can't run in PipelineStart. Close this pr.
alwaysinline attribute was already added as long as the memory is allocated in kernel scope.

@wenju-he wenju-he closed this Nov 27, 2024
@wenju-he wenju-he deleted the move-SYCLLowerWGLocalMemoryPass-PipelineStartEPCallback branch November 27, 2024 03:08
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.

2 participants