CUTLASS 3.6.0 (#1850)

* v3.6

* update changelog

* update readme

* fix typo

* fixing typos

* hopper gemm with weight prefetch

---------

Co-authored-by: yuzhai <yuzhai@nvidia.com>
Co-authored-by: Haicheng Wu <haichengw@nvidia.com>
This commit is contained in:
Yujia Zhai
2024-10-09 15:33:27 -04:00
committed by GitHub
co-authored by yuzhai Haicheng Wu
parent 0837a2a00a
commit cc3c29a81a
354 changed files with 105937 additions and 8197 deletions
+15 -21
View File
@@ -30,9 +30,8 @@
**************************************************************************************************/
#pragma once
#include <cute/config.hpp>
#include <cute/util/type_traits.hpp>
#include <cute/config.hpp> // CUTE_HOST_DEVICE
#include <cute/util/type_traits.hpp> // cute::is_valid
//
// CUDA compatible print and printf
@@ -156,50 +155,45 @@ print(char const* format) {
// pretty printing
//
template <class T>
CUTE_HOST_DEVICE void
pretty_print(T const& v) {
printf(" "); print(v);
}
CUTE_HOST_DEVICE void
pretty_print(bool const& v) {
pretty_print(bool v) {
printf("%*d", 3, int(v));
}
CUTE_HOST_DEVICE void
pretty_print(int32_t const& v) {
pretty_print(int32_t v) {
printf("%*d", 5, v);
}
CUTE_HOST_DEVICE void
pretty_print(uint32_t const& v) {
pretty_print(uint32_t v) {
printf("%*d", 5, v);
}
CUTE_HOST_DEVICE void
pretty_print(int64_t const& v) {
pretty_print(int64_t v) {
printf("%*lld", 5, static_cast<long long>(v));
}
CUTE_HOST_DEVICE void
pretty_print(uint64_t const& v) {
pretty_print(uint64_t v) {
printf("%*llu", 5, static_cast<unsigned long long>(v));
}
CUTE_HOST_DEVICE void
pretty_print(half_t const& v) {
printf("%*.2f", 8, float(v));
}
CUTE_HOST_DEVICE void
pretty_print(float const& v) {
pretty_print(float v) {
printf("%*.2e", 10, v);
}
CUTE_HOST_DEVICE void
pretty_print(double const& v) {
pretty_print(double v) {
printf("%*.3e", 11, v);
}
template <class T>
CUTE_HOST_DEVICE void
pretty_print(T t) {
printf(" "); print(t);
}
} // end namespace cute
+6 -5
View File
@@ -44,7 +44,7 @@
#include <limits> // numeric_limits
#endif
#include <cute/config.hpp>
#include <cute/config.hpp> // CUTE_STL_NAMESPACE
namespace cute
{
@@ -79,6 +79,7 @@ using CUTE_STL_NAMESPACE::is_const_v;
using CUTE_STL_NAMESPACE::is_volatile;
using CUTE_STL_NAMESPACE::is_volatile_v;
// Defined in cute/numeric/integral_constant.hpp
// using CUTE_STL_NAMESPACE::true_type;
// using CUTE_STL_NAMESPACE::false_type;
@@ -278,14 +279,14 @@ struct conditional_template<false, True, False> {
// is_any_of
//
/// Member `value` is true if and only if T is same as (is_same_v) at least one of the types in Us
template <typename T, typename... Us>
// Member `value` is true if and only if T is same as (is_same_v) at least one of the types in Us
template <class T, class... Us>
struct is_any_of {
constexpr static bool value = (... || CUTE_STL_NAMESPACE::is_same_v<T, Us>);
};
/// Is true if and only if T is same as (is_same_v) at least one of the types in Us
template <typename T, typename... Us>
// Is true if and only if T is same as (is_same_v) at least one of the types in Us
template <class T, class... Us>
inline constexpr bool is_any_of_v = is_any_of<T, Us...>::value;
} // end namespace cute