-
Notifications
You must be signed in to change notification settings - Fork 76
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
Does it make sense for builtins to have Physical
addresses ?
#291
Comments
Thinking out loud: assuming this is true:
Maybe we need to add restrictions that pointers to the input storage class can only be used as operands to OpLoad? This restriction could go in the OpenCL SPIR-V environment spec, assuming it cannot go in the core SPIR-V spec. Note that similar restrictions are rare but do occur in other places: for example, for the pointer returned by OpImageTexelPointer, "use of such a pointer is limited to atomic operations." |
answering out loud
That's probably an ok resolution for the OpenCL/SYCL use case as I suspect 3 elements vectors are the most complex data type that will be used for
I think the environment spec is more appropriate given its specificity. |
Given other APIs use I'm also not sure whether it's valid to pass a builtin via |
The
Physical32
andPhysical64
addressing models assert a fixed-sized, canonical representation for all pointers, meant for use in OpenCL and related environments (i.e. LevelZero), but I'm not sure is this is meant to be the case forInput
and particularly builtins.Actually using them like so seems broken, see this bug in IGC for an example of what I mean: intel/intel-graphics-compiler#347
If the
Input
storage class work the way I understand them to (compiler only accepts loads to global input variables and transforms them to an appropriate platform-specific intrinsic), then the spec should probably walk back the physical addressing wording to only include storage classes that actually describe physical memory.cc @bashbaug
The text was updated successfully, but these errors were encountered: