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:
co-authored by
yuzhai
Haicheng Wu
parent
0837a2a00a
commit
cc3c29a81a
+15
-21
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user