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

Changed the response to a bit 'zero' in the exec mask #13

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

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