You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Since Neo passes GPU addresses in a canonical form, it is possible that
bits [61:63] are all set to 1. Canonical form of address is constructed
in a way that bit 47. is replicated to the upper bits. So bits [48:63] may
either be all zeores or all ones - it depends on bit 47.
Value of bit 47 depends on how Neo manages memory address space. Whether
it uses higher addresses for global memory allocation or lower addresses.
It also depends on how many resources were requested by a user.
According to the above, bits [61:63] can either be all zeroes or all ones.
If they are all zeros, then setting a tag with a single OR operation is
enough, but if they are all ones, then it is necessary to clear them with
AND operation before before setting a tag with OR operation.
Since IGC doesn't have an information whether a particular address has
zeroes or ones on bits [61:63], AND operation must always get generated.
0 commit comments