MLX
 
Loading...
Searching...
No Matches
mlx::steel Namespace Reference

Classes

struct  AccumHelper
 
struct  AttnParams
 
struct  BaseMMAFrag
 
struct  BaseMMAFrag< T, 8, 8 >
 
struct  BlockLoader
 
struct  BlockLoaderT
 
struct  BlockMMA
 
struct  BlockSwizzle
 
struct  ChannelHelper
 
struct  ChannelHelper< 1 >
 
struct  ChannelHelper< 2 >
 
struct  ChannelHelper< 3 >
 
struct  ChannelHelper< 4 >
 
struct  Conv2DGeneralBaseInfo
 
struct  Conv2DGeneralJumpParams
 
struct  Conv2DInputBlockLoaderGeneral
 
struct  Conv2DInputBlockLoaderLargeFilter
 
struct  Conv2DInputBlockLoaderSmallChannels
 
struct  Conv2DInputBlockLoaderSmallFilter
 
struct  Conv2DWeightBlockLoader
 
struct  Conv2DWeightBlockLoaderGeneral
 
struct  Conv2DWeightBlockLoaderSmallChannels
 
struct  CShape
 
struct  GEMMAddMMParams
 
struct  GEMMKernel
 
struct  GEMMParams
 
struct  GEMMSpiltKParams
 
struct  ImplicitGemmConv2DParams
 
struct  integral_constant
 
struct  is_integral
 
struct  is_integral< integral_constant< T, v > >
 
struct  Layout2D
 
struct  LoopAlignment
 
struct  MMATile
 
struct  Shape2D
 
struct  TransformAdd
 
struct  TransformAxpby
 
struct  TransformNone
 

Typedefs

template<bool B>
using bool_constant = integral_constant<bool, B>
 
using true_type = bool_constant<true>
 
using false_type = bool_constant<false>
 
template<int val>
using Int = integral_constant<int, val>
 

Functions

template<typename T, typename U, int M, int N, int K>
METAL_FUNC void tile_matmad (thread MMATile< T, M, N > &D, thread MMATile< U, M, K > &A, thread MMATile< U, K, N > &B, thread MMATile< T, M, N > &C)
 
template<typename T, T tv, typename U, U uv>
METAL_FUNC constexpr auto operator+ (integral_constant< T, tv >, integral_constant< U, uv >)
 
template<typename T, T tv, typename U, U uv>
METAL_FUNC constexpr auto operator- (integral_constant< T, tv >, integral_constant< U, uv >)
 
template<typename T, T tv, typename U, U uv>
METAL_FUNC constexpr auto operator* (integral_constant< T, tv >, integral_constant< U, uv >)
 
template<typename T, T tv, typename U, U uv>
METAL_FUNC constexpr auto operator/ (integral_constant< T, tv >, integral_constant< U, uv >)
 
template<typename T, T tv, typename U, U uv>
METAL_FUNC constexpr auto operator== (integral_constant< T, tv >, integral_constant< U, uv >)
 
template<typename T, T tv, typename U, U uv>
METAL_FUNC constexpr auto operator!= (integral_constant< T, tv >, integral_constant< U, uv >)
 
template<typename T, T tv, typename U, U uv>
METAL_FUNC constexpr auto operator< (integral_constant< T, tv >, integral_constant< U, uv >)
 
template<typename T, T tv, typename U, U uv>
METAL_FUNC constexpr auto operator> (integral_constant< T, tv >, integral_constant< U, uv >)
 
template<typename T, T tv, typename U, U uv>
METAL_FUNC constexpr auto operator<= (integral_constant< T, tv >, integral_constant< U, uv >)
 
template<typename T, T tv, typename U, U uv>
METAL_FUNC constexpr auto operator>= (integral_constant< T, tv >, integral_constant< U, uv >)
 
template<typename T, T tv, typename U, U uv>
METAL_FUNC constexpr auto operator&& (integral_constant< T, tv >, integral_constant< U, uv >)
 
template<typename T, T tv, typename U, U uv>
METAL_FUNC constexpr auto operator|| (integral_constant< T, tv >, integral_constant< U, uv >)
 
template<typename T>
METAL_FUNC constexpr T sum (T x)
 
template<typename T, typename... Us>
METAL_FUNC constexpr auto sum (T x, Us... us)
 

Variables

template<typename T>
constexpr constant bool is_integral_v = is_integral<T>::value
 

Typedef Documentation

◆ bool_constant

template<bool B>
using mlx::steel::bool_constant = integral_constant<bool, B>

◆ false_type

◆ Int

template<int val>
using mlx::steel::Int = integral_constant<int, val>

◆ true_type

Function Documentation

◆ operator!=()

template<typename T, T tv, typename U, U uv>
METAL_FUNC constexpr auto mlx::steel::operator!= ( integral_constant< T, tv > ,
integral_constant< U, uv >  )
constexpr

◆ operator&&()

template<typename T, T tv, typename U, U uv>
METAL_FUNC constexpr auto mlx::steel::operator&& ( integral_constant< T, tv > ,
integral_constant< U, uv >  )
constexpr

◆ operator*()

template<typename T, T tv, typename U, U uv>
METAL_FUNC constexpr auto mlx::steel::operator* ( integral_constant< T, tv > ,
integral_constant< U, uv >  )
constexpr

◆ operator+()

template<typename T, T tv, typename U, U uv>
METAL_FUNC constexpr auto mlx::steel::operator+ ( integral_constant< T, tv > ,
integral_constant< U, uv >  )
constexpr

◆ operator-()

template<typename T, T tv, typename U, U uv>
METAL_FUNC constexpr auto mlx::steel::operator- ( integral_constant< T, tv > ,
integral_constant< U, uv >  )
constexpr

◆ operator/()

template<typename T, T tv, typename U, U uv>
METAL_FUNC constexpr auto mlx::steel::operator/ ( integral_constant< T, tv > ,
integral_constant< U, uv >  )
constexpr

◆ operator<()

template<typename T, T tv, typename U, U uv>
METAL_FUNC constexpr auto mlx::steel::operator< ( integral_constant< T, tv > ,
integral_constant< U, uv >  )
constexpr

◆ operator<=()

template<typename T, T tv, typename U, U uv>
METAL_FUNC constexpr auto mlx::steel::operator<= ( integral_constant< T, tv > ,
integral_constant< U, uv >  )
constexpr

◆ operator==()

template<typename T, T tv, typename U, U uv>
METAL_FUNC constexpr auto mlx::steel::operator== ( integral_constant< T, tv > ,
integral_constant< U, uv >  )
constexpr

◆ operator>()

template<typename T, T tv, typename U, U uv>
METAL_FUNC constexpr auto mlx::steel::operator> ( integral_constant< T, tv > ,
integral_constant< U, uv >  )
constexpr

◆ operator>=()

template<typename T, T tv, typename U, U uv>
METAL_FUNC constexpr auto mlx::steel::operator>= ( integral_constant< T, tv > ,
integral_constant< U, uv >  )
constexpr

◆ operator||()

template<typename T, T tv, typename U, U uv>
METAL_FUNC constexpr auto mlx::steel::operator|| ( integral_constant< T, tv > ,
integral_constant< U, uv >  )
constexpr

◆ sum() [1/2]

template<typename T>
METAL_FUNC constexpr T mlx::steel::sum ( T x)
constexpr

◆ sum() [2/2]

template<typename T, typename... Us>
METAL_FUNC constexpr auto mlx::steel::sum ( T x,
Us... us )
constexpr

◆ tile_matmad()

template<typename T, typename U, int M, int N, int K>
METAL_FUNC void mlx::steel::tile_matmad ( thread MMATile< T, M, N > & D,
thread MMATile< U, M, K > & A,
thread MMATile< U, K, N > & B,
thread MMATile< T, M, N > & C )

Variable Documentation

◆ is_integral_v

template<typename T>
constant bool mlx::steel::is_integral_v = is_integral<T>::value
constexpr