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

Some __kernel_name_generator usages doesn't depends from _ExecutionPolicy type #2083

Open
SergeyKopienko opened this issue Feb 26, 2025 · 2 comments · May be fixed by #2093
Open

Some __kernel_name_generator usages doesn't depends from _ExecutionPolicy type #2083

SergeyKopienko opened this issue Feb 26, 2025 · 2 comments · May be fixed by #2093
Assignees
Labels
Milestone

Comments

@SergeyKopienko
Copy link
Contributor

SergeyKopienko commented Feb 26, 2025

Describe the Bug:
Some __kernel_name_generator usages doesn't includes _ExecutionPolicy type,
but the code where it's implemented contains _ExecutionPolicy inside template params.
This situation allows to write the code with the different _ExecutionPolicy types but to have the same KernelName inside - it's will generate an error in unnamed lambdas switched off.

To Reproduce:
No reproducers.

Expected Behavior:
Probably every __kernel_name_generator should depends on _ExecutionPolicy type if it is used for code specialization.

Additional Context:
Add any other context about the problem here.

Examples where _ExecutionPolicy type is not used in __kernel_name_generator :

using _LocalScanKernel = oneapi::dpl::__par_backend_hetero::__internal::__kernel_name_generator<

using _GroupScanKernel = oneapi::dpl::__par_backend_hetero::__internal::__kernel_name_generator<

using _ReduceKernel = oneapi::dpl::__par_backend_hetero::__internal::__kernel_name_generator<

@SergeyKopienko
Copy link
Contributor Author

During implementation of #2093 with fix for this issue we found another option: to use __kernel_name_generator without _ExecutionPolicy but also changing the type of _ExecutionPolicy param in submitters (and one level up functions - in submitter callers) from _ExecutionPolicy&& to const _ExecutionPolicy&.
This approach will give us only one specialization for every execution policy.

@SergeyKopienko
Copy link
Contributor Author

@rarutyun could you please comment this issue? Is it really an error?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
1 participant