Skip to content

[SYCL][FPGA] [WIP]Do not propagate the attributes from device functions to a kernel #3601

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

Closed
wants to merge 1 commit into from

Conversation

smanna12
Copy link
Contributor

@smanna12 smanna12 commented Apr 22, 2021

Attributes that should not be propagated from device functions to a kernel to match with new SYCL 2020 spec.

  1. scheduler_target_fmax_mhz
  2. kernel_args_restrict
  3. no_global_work_offset

This patch also updates codegen and sema tests of
scheduler-target-fmax-mhz attribute to pass sycl2020 flag
and match with new FE test formats.

I will address other attributes in a separate PR.

Signed-off-by: Soumi Manna [email protected]

… a kernel

Attributes that should not be propagated from device functions to a kernel to match with new SYCL 2020 spec.

1. scheduler_target_fmax_mhz
2. kernel_args_restrict
3. no_global_work_offset

This patch also updates codegen and sema tests of
scheduler-target-fmax-mhz attribute to pass sycl2020 flag to show the
support and match with new FE test formats.

Signed-off-by: Soumi Manna <[email protected]>
@smanna12 smanna12 changed the title [SYCL][FPGA] Do not propagate the attributes from device functions to… [SYCL][FPGA] Do not propagate the attributes from device functions to a kernel Apr 22, 2021
@smanna12 smanna12 requested a review from AaronBallman April 22, 2021 15:51
Copy link
Contributor

@AaronBallman AaronBallman left a comment

Choose a reason for hiding this comment

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

General question: what about older SYCL modes? Should these still propagate in those cases?

No, it will not propagate to older SYCL modes with the current change. I was not sure whether we will keep the functionality with old mode.

-sycl-std=2020: no propagation
-sycl-std=2017: propagation

If we want to keep old functionality, then we need to add this check based on SYCL mode inside SemaSYCL.cpp file where we are currently handling the propagation mechanism.

Any thought?

smanna12 added a commit to smanna12/llvm that referenced this pull request Apr 27, 2021
This patch
  1. updates CodeGen tests for disable_loop_pipelining and initiation_interval attributes.
  2. rewrites Sema and CodeGen tests for scheduler-target-fmax-mhz attribute according to
     FE test guidelines and also separates AST and diagnostic parts for scheduler-target-fmax-mhz
     attribute to avoid unrelated changes on intel#3601.

Signed-off-by: Soumi Manna <[email protected]>
@smanna12 smanna12 changed the title [SYCL][FPGA] Do not propagate the attributes from device functions to a kernel [SYCL][FPGA] [WIP]Do not propagate the attributes from device functions to a kernel Apr 27, 2021
bader pushed a commit that referenced this pull request Apr 28, 2021
This patch
  1. updates CodeGen tests for disable_loop_pipelining and initiation_interval attributes.
  2. rewrites Sema and CodeGen tests for scheduler-target-fmax-mhz attribute according to
     FE test guidelines and also separates AST and diagnostic parts for scheduler-target-fmax-mhz
     attribute to avoid unrelated changes on #3601.

Signed-off-by: Soumi Manna <[email protected]>
@smanna12 smanna12 closed this Apr 29, 2021
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