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

Classes

struct  AccumHelper
 
struct  BaseMMAFrag
 
struct  BaseMMAFrag< T, 8, 8 >
 
struct  BlockLoader
 
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  GEMMAddMMParams
 
struct  GEMMKernel
 
struct  GEMMParams
 
struct  GEMMSpiltKParams
 
struct  ImplicitGemmConv2DParams
 
struct  integral_constant
 
struct  is_integral
 
struct  is_integral< integral_constant< T, v > >
 
struct  LoopAlignment
 
struct  MMATile
 
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