CUTLASS 3.3.0 (#1167)

* Release 3.3.0

Adds support for mixed precision GEMMs On Hopper and Ampere
Adds support for < 16B aligned GEMMs on Hopper
Enhancements to EVT
Enhancements to Python interface
Enhancements to Sub-byte type handling in CuTe
Several other bug-fixes and performance improvements.

* minor doc update
This commit is contained in:
Pradeep Ramani
2023-11-02 08:09:05 -07:00
committed by GitHub
parent 922fb5108b
commit c008b4aea8
263 changed files with 16214 additions and 5008 deletions

View File

@ -32,6 +32,7 @@
#include "cutlass_unit_test.h"
#include <cutlass/trace.h>
#include <cute/pointer.hpp>
TEST(CuTe_core, Pointer)
@ -45,7 +46,7 @@ TEST(CuTe_core, Pointer)
// Test T* overloads (T can be nonconst or const)
{
using T = float;
using expected_type = cute::gmem_ptr<T>;
using expected_type = cute::gmem_ptr<T*>;
T* p = nullptr;
// explicit template argument
@ -58,7 +59,7 @@ TEST(CuTe_core, Pointer)
}
{
using T = float const;
using expected_type = cute::gmem_ptr<T>;
using expected_type = cute::gmem_ptr<T*>;
T* p = nullptr;
// explicit template argument
@ -74,7 +75,7 @@ TEST(CuTe_core, Pointer)
// (these require an explicit template argument)
{
using T = float;
using expected_type = cute::gmem_ptr<T>;
using expected_type = cute::gmem_ptr<T*>;
void* p = nullptr;
auto gmem_p0 = cute::make_gmem_ptr<T>(p);
@ -82,7 +83,7 @@ TEST(CuTe_core, Pointer)
}
{
using T = float const;
using expected_type = cute::gmem_ptr<T>;
using expected_type = cute::gmem_ptr<T*>;
void const* p = nullptr;
auto gmem_p0 = cute::make_gmem_ptr<T>(p);
@ -92,14 +93,14 @@ TEST(CuTe_core, Pointer)
// Test nullptr_t overload.
{
using T = float;
using expected_type = cute::gmem_ptr<T>;
using expected_type = cute::gmem_ptr<T*>;
auto gmem_p0 = cute::make_gmem_ptr<T>(nullptr);
static_assert(cute::is_same_v<decltype(gmem_p0), expected_type>);
}
{
using T = float const;
using expected_type = cute::gmem_ptr<T>;
using expected_type = cute::gmem_ptr<T*>;
auto gmem_p0 = cute::make_gmem_ptr<T>(nullptr);
static_assert(cute::is_same_v<decltype(gmem_p0), expected_type>);