-
Hi everyone, I have a float shared memory region of size 19x128, and its layout is defined as: Layout lsmem = make_layout(make_shape(Int<19>{}, Int<128>{}), I want to swizzle it using Swizzle<3, 2, 5>{}, inspired by Lei Mao's blog: However, after applying this swizzle, I run into issues — I cannot partition the layout using either make_tiled_copy or local_partition. As far as I understand, both of these use zipped_divide internally, and it seems to break due to the swizzled layout. I suspect the root cause is the 19x128 size: since 19 is not divisible by 8 (the repeat factor introduced by this swizzle), the resulting swizzled layout doesn't conform nicely. That is, the swizzle repeats every 8 rows, and 19 being not a multiple of 8 causes the pattern to become irregular or incompatible. If anyone has encountered a similar situation or has suggestions on how to handle this (either a workaround or an alternative approach), I’d really appreciate any guidance. Thanks in advance! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Beta Was this translation helpful? Give feedback.
#1397 (comment)