lcjdd opened a new issue #7514:
URL: https://github.com/apache/tvm/issues/7514


   Problem Description:
           Example:  The axis of s[conv2d_bias_stage].op is dim= [1,1,16,16] , 
But, In the process of ScheduleOps,  dim[2]=16 is optimized by GatherBound to 
dim[2] = 1(Only one of the 16 data of dim[2] is valid. I want to keep dim[2] = 
16 not optimized.  I found that there is a storage_align method in schedule. So 
I tried to do this:
       nns, mm, m16, n16= s[conv2d_bias_stage].op.axis
       **s[conv2d_bias_stage].storage_align(m16, 16,0)**
   
       But the actual effect is still optimized.
      IR:
         **// attr [conv2d_bias] storage_scope = "local.out_buffer"
         allocate conv2d_bias[float16 * 16]
         produce conv2d_bias {
           for (m16.inner, 0, 1) {
             for (n16, 0, 16) {
               xxxxxx
               }
             }
           }**
   
       IR wanted:
         **// attr [conv2d_bias] storage_scope = "local.out_buffer"
         allocate conv2d_bias[float16 * 16]
         produce conv2d_bias {
           for (m16.inner, 0, 16) {
             for (n16, 0, 16) {
               xxxxxx
               }
             }
           }**
   Question :   
   How can I use storage_align?
   Is it possible to achieve this goal?
        


----------------------------------------------------------------
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.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to