Skip to content

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