v4.2 release. (#2587)

* Fix default cluster callback values to 1 to avoid profiler failure when these values are not set in command line.

* v4.2 release.
This commit is contained in:
Junkai-Wu
2025-08-23 06:11:24 +08:00
committed by GitHub
parent 11cad1f67b
commit a49a78ffef
351 changed files with 28182 additions and 2032 deletions

View File

@@ -469,7 +469,9 @@ CUTE_HOST_DEVICE void print(ArithmeticTupleIterator<ArithTuple> const& iter)
template <class T, int... Ns>
CUTE_HOST_DEVICE void print(ScaledBasis<T,Ns...> const& e)
{
print(e.value()); (void(printf("@%d", Ns)), ...);
print(e.value());
// Param pack trick to print in reverse
[[maybe_unused]] int dummy; (dummy = ... = (void(printf("@%d", Ns)), 0));
}
#if !defined(__CUDACC_RTC__)
@@ -482,7 +484,9 @@ CUTE_HOST std::ostream& operator<<(std::ostream& os, ArithmeticTupleIterator<Ari
template <class T, int... Ns>
CUTE_HOST std::ostream& operator<<(std::ostream& os, ScaledBasis<T,Ns...> const& e)
{
os << e.value(); (void(os << "@" << Ns), ...);
os << e.value();
// Param pack trick to print in reverse
[[maybe_unused]] int dummy; (dummy = ... = (void(os << "@" << Ns),0));
return os;
}
#endif

View File

@@ -29,9 +29,9 @@
*
**************************************************************************************************/
#pragma once
#include "cutlass/cutlass.h"
#if defined(__CUDACC_RTC__)
#include <cuda/std/cstdint>
#include CUDA_STD_HEADER(cstdint)
#else
#include <cstdint>
#endif
@@ -85,6 +85,8 @@ using CUTE_STL_NAMESPACE::uint16_t;
using CUTE_STL_NAMESPACE::uint32_t;
using CUTE_STL_NAMESPACE::uint64_t;
using cutlass::uint128_t;
using cutlass::uint256_t;
template <int N> struct uint_bit;
template <> struct uint_bit< 1> { using type = uint1_t; };
template <> struct uint_bit< 2> { using type = uint2_t; };
@@ -95,6 +97,8 @@ template <> struct uint_bit< 16> { using type = uint16_t; };
template <> struct uint_bit< 32> { using type = uint32_t; };
template <> struct uint_bit< 64> { using type = uint64_t; };
template <> struct uint_bit<128> { using type = cutlass::uint128_t; };
template <> struct uint_bit<256> { using type = cutlass::uint256_t; };
template <int N>
using uint_bit_t = typename uint_bit<N>::type;

View File

@@ -225,6 +225,27 @@ operator==(C<c>, R<a,b>) {
return {};
}
template <auto a, auto b, auto x, auto y>
CUTE_HOST_DEVICE constexpr
bool_constant<R<a,b>::num * R<x,y>::den < R<x,y>::num * R<a,b>::den>
operator<(R<a,b>, R<x,y>) {
return {};
}
template <auto a, auto b, auto c>
CUTE_HOST_DEVICE constexpr
bool_constant<R<a,b>::num < c * R<a,b>::den>
operator<(R<a,b>, C<c>) {
return {};
}
template <auto c, auto x, auto y>
CUTE_HOST_DEVICE constexpr
bool_constant<c * R<x,y>::den < R<x,y>::num>
operator<(C<c>, R<x,y>) {
return {};
}
///////////////////////
// Special functions //
///////////////////////