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]

Reply via email to