Skip to content

Add way to control SIMD width #15

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
axeldavy opened this issue Jul 9, 2018 · 2 comments
Closed

Add way to control SIMD width #15

axeldavy opened this issue Jul 9, 2018 · 2 comments

Comments

@axeldavy
Copy link

axeldavy commented Jul 9, 2018

For some reasons, a few changes in my kernels can lead the compiler to pick a different choice for SIMD width (8, 16 or 32).

For some reason I don't explain, some of my kernels using shared memory and barriers perform very significantly better (several times faster) when the selected SIMD width is 8.

Thus I'd like a way to enforce the choice of SIMD width of 8. (Also ideally compiler would make better choices).

Maybe make __attribute__((vec_type_hint(float8))) trigger SIMD-8 for example ?

@paigeale
Copy link
Contributor

paigeale commented Jul 9, 2018

Hello Axel,

For forcing SIMD-8 please use the following attribute....
__attribute__((intel_reqd_sub_group_size(8)))

This works on any of the three SIMD sizes.

@axeldavy
Copy link
Author

axeldavy commented Jul 9, 2018

It works indeed, thank you !

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

No branches or pull requests

2 participants