* v3.8 update x

* fix blackwell gg

* doc change

* doc change

* doc change

---------

Co-authored-by: yuzhai <yuzhai@nvidia.com>
Co-authored-by: Haicheng Wu <haichengw@nvidia.com>
Co-authored-by: Haicheng Wu <57973641+hwu36@users.noreply.github.com>
This commit is contained in:
Yujia Zhai
2025-03-20 22:52:23 -07:00
committed by GitHub
parent 8c4d1dc47d
commit 62750a2b75
334 changed files with 91517 additions and 2656 deletions

View File

@@ -29,6 +29,10 @@
*
**************************************************************************************************/
//#define CUTLASS_DEBUG_TRACE_LEVEL 1
#include "cutlass_unit_test.h"
#include <cutlass/trace.h>
#include <cute/layout.hpp>
@@ -38,8 +42,6 @@
#include <cute/tensor.hpp>
#include <iostream>
#include "cutlass_unit_test.h"
using namespace cute;
@@ -273,14 +275,14 @@ TEST(CuTe_core, Composition)
{
auto a = make_layout(Shape<_8,_8>{});
auto b = make_layout(Shape<Shape<_2, _2,_2>, Shape<_2,_2, _2>>{},
auto b = make_layout(Shape <Shape <_2, _2,_2>, Shape <_2,_2, _2>>{},
Stride<Stride<_1,_16,_4>, Stride<_8,_2,_32>>{});
test_composition(a, b);
}
{
auto a = make_layout(Shape<_8,_8>{}, Stride<_8,_1>{});
auto b = make_layout(Shape<Shape<_2, _2,_2>, Shape<_2,_2, _2>>{},
auto b = make_layout(Shape <Shape <_2, _2,_2>, Shape <_2,_2, _2>>{},
Stride<Stride<_1,_16,_4>, Stride<_8,_2,_32>>{});
test_composition(a, b);
@@ -423,7 +425,7 @@ TEST(CuTe_core, Composition)
test_composition(a, b);
}
// Capping a Layout with 1:0 forces divisibility and extends in stride-0
// Capping a Layout with 1:0 extends in stride-0
{
auto a = make_layout(Shape<_4,_3,_1>{}, Stride<_3,_1,_0>{});
auto b = make_layout(Shape<_24>{});
@@ -431,6 +433,50 @@ TEST(CuTe_core, Composition)
test_composition(a, b);
}
{
auto a = make_layout(Shape<_4,_3,_1>{}, Stride<_3,_1,_0>{});
auto b = make_layout(Shape<_4>{});
test_composition(a, b);
}
// Pre-coalesced LHS
{
auto a = make_layout(Shape<_4,_6,_8>{}, Stride<_1,_4,_7>{});
auto b = make_layout(_6{}, _1{});
test_composition(a, b);
}
// Mid-layout truncation
{
auto a = make_layout(Shape<_4,_6,_8,_10>{}, Stride<_2,_3,_5,_7>{});
auto b = make_layout(_6{}, _12{});
test_composition(a, b);
}
{
auto a = make_layout(Shape<_8,_8>{}, Stride<_8,_1>{});
auto b = make_layout(_2{}, _3{});
test_composition(a, b);
}
{
auto a = make_layout(Shape<_8,_8>{}, Stride<_8,_1>{});
auto b = make_layout(_3{}, _3{});
test_composition(a, b);
}
// Should fail to a static divisibility condition
// {
// auto a = make_layout(Shape<_8,_8>{}, Stride<_8,_1>{});
// auto b = make_layout(_4{}, _3{});
// test_composition(a, b);
// }
{
auto a = make_layout(3, _1{});
auto b = make_layout(_4{}, _1{});