Skip to content

Conversation

@d1duarte
Copy link
Contributor

Allows the exec mask to have one bit set to zero without immediately stopping the memory instruction. This way the zero bits are skipped but the instruction keeps performing until the end of the mask is reached.

Allows the exec mask to have one bit set to zero without immediately stopping the memory instruction. This way the zero bits are skipped but the instruction keeps performing until the end of the mask is reached.
@zwabbit
Copy link
Contributor

zwabbit commented May 20, 2016

I'm not actually sure that condition is possible due to the way the ISA and the microarchitecture is set up. The way I understand the execute mask, the first time you run into a zero bit, all of the bits higher then it are zero, as the compute unit only enables vector ALUs consecutively and not alternating.

@d1duarte
Copy link
Contributor Author

I'm not sure how this would work on a thread divergence scenario. I suggest we leave this change out for now. If, in the future, we find it necessary we'll simply add it then.

@zwabbit
Copy link
Contributor

zwabbit commented May 30, 2016

I actually had not thought of the thread divergence issue. And I also don't have any idea what happens in that case. So yeah, let's punt until we can dig up some actual info.

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