Description
This happened when I was trying to change the tile shape of example 08_pvc_gemm_fp8.cpp.
I modified line 363 and line 368 using the following codes:
using TileShape = Shape<_128, _128, _32>; //changed the m and n tile shape
using TiledMma =
typename TiledMMAHelper<MMA_Atom<XE_8x16x16_F32F16F16F32_TT>, Layout<TileShape>,
Layout<Shape<_8, _4, _1>, Stride<_2, _1, _0>>>::TiledMMA; // changed the stride from 4 to 2 to adapt the tileshape
Then it gave the following error message:
/include/cute/atom/copy_traits_xe.hpp:441:17: error: static assertion failed due to requirement 'size(res) > 0': Error in make_fragment_layout(), tile size might be smaller than copy atom
441 | static_assert(size(res) > 0, "Error in make_fragment_layout(), tile size might be smaller than copy atom");
The shape of the specified Gmemtile is 32x32 (XE_2D_U8x32x32_LD_V), and that is larger than the MMA_Atom size (XE_8x16x16_F32F16F16F32_TT).
What is the true meaning of this error message?
It would also be very helpful if you would shed some lights on the complex relationship between TileShape, GMemTiledCopy and TiledMMA. Right now I am not sure how to define the remainings when given a specified tileshape.