echuraev opened a new pull request, #14397:
URL: https://github.com/apache/tvm/pull/14397
In some cases we must use SSA for textures loading but we didn't do
that. Example of such cases:
1. Storing texture (NCHW4c) directly (w/o temporary buffer) to the
output buffer (NCHW). In this case we have to use SSA because we
need to get only one channel from the pixel. In case of storing to
the local buffer the SSA was used because the buffer was allocated
in kernel and the logic was written that if the buffer was allocated
then we should use SSA. But if we store the same texture directly to
the output buffer then SSA wasn't used and this OpenCL code wasn't
compiled.
2. Casting texture (NCHW4c) to another data type and then storing it to
the buffer (NCHW). The SSA for textures was disabled in case of cast
operation. As a result it was necessary to take a channel from the
pixel but we got the vector data type (e.g. float4) and then we
tried to cast it to scalar data type. This code also wasn't
compiled.
In this PR SSA form was enabled for all cases when `texture2d_load` is
used. The relevant tests cases were added.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]