v3.9 (#2185)
* 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:
@@ -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{});
|
||||
|
||||
Reference in New Issue
Block a user