Skip to content

[QST] Ambiguous error message when tuning the Tileshape #376

Open
@cfgfung

Description

@cfgfung

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions