MLX
Loading...
Searching...
No Matches
metal Namespace Reference

Namespaces

namespace  fast
 
namespace  precise
 

Classes

struct  _numeric_limits_impl< bfloat16_t >
 
struct  is_empty
 
struct  is_static
 
struct  make_void
 
struct  pointer_element
 
struct  pointer_element< constant T * >
 
struct  pointer_element< device T * >
 
struct  pointer_element< thread T * >
 
struct  pointer_element< threadgroup T * >
 

Typedefs

template<typename... Ts>
using void_t = typename make_void<Ts...>::type
 
template<typename T >
using pointer_element_t = typename pointer_element<remove_cv_t<T>>::type
 

Functions

METAL_FUNC bool isnan (_MLX_BFloat16 x)
 
METAL_FUNC bfloat16_t abs (bfloat16_t x)
 
METAL_FUNC bfloat16_t acos (bfloat16_t x)
 
METAL_FUNC bfloat16_t acosh (bfloat16_t x)
 
METAL_FUNC bfloat16_t asin (bfloat16_t x)
 
METAL_FUNC bfloat16_t asinh (bfloat16_t x)
 
METAL_FUNC bfloat16_t atan (bfloat16_t y_over_x)
 
METAL_FUNC bfloat16_t atan2 (bfloat16_t y, bfloat16_t x)
 
METAL_FUNC bfloat16_t atanh (bfloat16_t x)
 
METAL_FUNC bfloat16_t ceil (bfloat16_t x)
 
METAL_FUNC bfloat16_t cos (bfloat16_t x)
 
METAL_FUNC bfloat16_t cosh (bfloat16_t x)
 
METAL_FUNC bfloat16_t cospi (bfloat16_t x)
 
METAL_FUNC bfloat16_t divide (bfloat16_t x, bfloat16_t y)
 
METAL_FUNC bfloat16_t exp (bfloat16_t x)
 
METAL_FUNC bfloat16_t exp10 (bfloat16_t x)
 
METAL_FUNC bfloat16_t exp2 (bfloat16_t x)
 
METAL_FUNC bfloat16_t fabs (bfloat16_t x)
 
METAL_FUNC bfloat16_t fdim (bfloat16_t x, bfloat16_t y)
 
METAL_FUNC bfloat16_t floor (bfloat16_t x)
 
METAL_FUNC bfloat16_t fma (bfloat16_t x, bfloat16_t y, bfloat16_t z)
 
METAL_FUNC bfloat16_t fmax (bfloat16_t x, bfloat16_t y)
 
METAL_FUNC bfloat16_t fmax3 (bfloat16_t x, bfloat16_t y, bfloat16_t z)
 
METAL_FUNC bfloat16_t fmedian3 (bfloat16_t x, bfloat16_t y, bfloat16_t z)
 
METAL_FUNC bfloat16_t fmin (bfloat16_t x, bfloat16_t y)
 
METAL_FUNC bfloat16_t fmin3 (bfloat16_t x, bfloat16_t y, bfloat16_t z)
 
METAL_FUNC bfloat16_t fmod (bfloat16_t x, bfloat16_t y)
 
METAL_FUNC bfloat16_t fract (bfloat16_t x)
 
METAL_FUNC bfloat16_t frexp (bfloat16_t x, thread int &exp)
 
METAL_FUNC bfloat16_t ldexp (bfloat16_t x, int k)
 
METAL_FUNC bfloat16_t log (bfloat16_t x)
 
METAL_FUNC bfloat16_t log10 (bfloat16_t x)
 
METAL_FUNC bfloat16_t log2 (bfloat16_t x)
 
METAL_FUNC bfloat16_t max (bfloat16_t x, bfloat16_t y)
 
METAL_FUNC bfloat16_t max3 (bfloat16_t x, bfloat16_t y, bfloat16_t z)
 
METAL_FUNC bfloat16_t median3 (bfloat16_t x, bfloat16_t y, bfloat16_t z)
 
METAL_FUNC bfloat16_t min (bfloat16_t x, bfloat16_t y)
 
METAL_FUNC bfloat16_t min3 (bfloat16_t x, bfloat16_t y, bfloat16_t z)
 
METAL_FUNC bfloat16_t nextafter (bfloat16_t x, bfloat16_t y)
 
METAL_FUNC bfloat16_t pow (bfloat16_t x, bfloat16_t y)
 
METAL_FUNC bfloat16_t powr (bfloat16_t x, bfloat16_t y)
 
METAL_FUNC bfloat16_t rint (bfloat16_t x)
 
METAL_FUNC bfloat16_t round (bfloat16_t x)
 
METAL_FUNC bfloat16_t rsqrt (bfloat16_t x)
 
METAL_FUNC bfloat16_t sin (bfloat16_t x)
 
METAL_FUNC bfloat16_t sinh (bfloat16_t x)
 
METAL_FUNC bfloat16_t sinpi (bfloat16_t x)
 
METAL_FUNC bfloat16_t sqrt (bfloat16_t x)
 
METAL_FUNC bfloat16_t tan (bfloat16_t x)
 
METAL_FUNC bfloat16_t tanh (bfloat16_t x)
 
METAL_FUNC bfloat16_t tanpi (bfloat16_t x)
 
METAL_FUNC bfloat16_t trunc (bfloat16_t x)
 
METAL_FUNC bfloat16_t simd_broadcast (bfloat16_t data, ushort broadcast_lane_id)
 
METAL_FUNC bfloat16_t simd_shuffle (bfloat16_t data, ushort simd_lane_id)
 
METAL_FUNC bfloat16_t simd_shuffle_and_fill_down (bfloat16_t data, bfloat16_t filling_data, ushort delta, ushort modulo)
 
METAL_FUNC bfloat16_t simd_shuffle_and_fill_down (bfloat16_t data, bfloat16_t filling_data, ushort delta)
 
METAL_FUNC bfloat16_t simd_shuffle_and_fill_up (bfloat16_t data, bfloat16_t filling_data, ushort delta, ushort modulo)
 
METAL_FUNC bfloat16_t simd_shuffle_and_fill_up (bfloat16_t data, bfloat16_t filling_data, ushort delta)
 
METAL_FUNC bfloat16_t simd_shuffle_down (bfloat16_t data, ushort delta)
 
METAL_FUNC bfloat16_t simd_shuffle_rotate_down (bfloat16_t data, ushort delta)
 
METAL_FUNC bfloat16_t simd_shuffle_rotate_up (bfloat16_t data, ushort delta)
 
METAL_FUNC bfloat16_t simd_shuffle_up (bfloat16_t data, ushort delta)
 
METAL_FUNC bfloat16_t simd_shuffle_xor (bfloat16_t data, ushort mask)
 
METAL_FUNC bfloat16_t simd_max (bfloat16_t data)
 
METAL_FUNC bfloat16_t simd_min (bfloat16_t data)
 
METAL_FUNC bfloat16_t simd_prefix_exclusive_product (bfloat16_t data)
 
METAL_FUNC bfloat16_t simd_prefix_exclusive_sum (bfloat16_t data)
 
METAL_FUNC bfloat16_t simd_prefix_inclusive_product (bfloat16_t data)
 
METAL_FUNC bfloat16_t simd_prefix_inclusive_sum (bfloat16_t data)
 
METAL_FUNC bfloat16_t simd_product (bfloat16_t data)
 
METAL_FUNC bfloat16_t simd_sum (bfloat16_t data)
 
METAL_FUNC bfloat16_t simd_xor (bfloat16_t data)
 

Typedef Documentation

◆ pointer_element_t

template<typename T >
using metal::pointer_element_t = typename pointer_element<remove_cv_t<T>>::type

◆ void_t

template<typename... Ts>
using metal::void_t = typename make_void<Ts...>::type

Function Documentation

◆ abs()

METAL_FUNC bfloat16_t metal::abs ( bfloat16_t x)

◆ acos()

METAL_FUNC bfloat16_t metal::acos ( bfloat16_t x)

◆ acosh()

METAL_FUNC bfloat16_t metal::acosh ( bfloat16_t x)

◆ asin()

METAL_FUNC bfloat16_t metal::asin ( bfloat16_t x)

◆ asinh()

METAL_FUNC bfloat16_t metal::asinh ( bfloat16_t x)

◆ atan()

METAL_FUNC bfloat16_t metal::atan ( bfloat16_t y_over_x)

◆ atan2()

METAL_FUNC bfloat16_t metal::atan2 ( bfloat16_t y,
bfloat16_t x )

◆ atanh()

METAL_FUNC bfloat16_t metal::atanh ( bfloat16_t x)

◆ ceil()

METAL_FUNC bfloat16_t metal::ceil ( bfloat16_t x)

◆ cos()

METAL_FUNC bfloat16_t metal::cos ( bfloat16_t x)

◆ cosh()

METAL_FUNC bfloat16_t metal::cosh ( bfloat16_t x)

◆ cospi()

METAL_FUNC bfloat16_t metal::cospi ( bfloat16_t x)

◆ divide()

METAL_FUNC bfloat16_t metal::divide ( bfloat16_t x,
bfloat16_t y )

◆ exp()

METAL_FUNC bfloat16_t metal::exp ( bfloat16_t x)

◆ exp10()

METAL_FUNC bfloat16_t metal::exp10 ( bfloat16_t x)

◆ exp2()

METAL_FUNC bfloat16_t metal::exp2 ( bfloat16_t x)

◆ fabs()

METAL_FUNC bfloat16_t metal::fabs ( bfloat16_t x)

◆ fdim()

METAL_FUNC bfloat16_t metal::fdim ( bfloat16_t x,
bfloat16_t y )

◆ floor()

METAL_FUNC bfloat16_t metal::floor ( bfloat16_t x)

◆ fma()

METAL_FUNC bfloat16_t metal::fma ( bfloat16_t x,
bfloat16_t y,
bfloat16_t z )

◆ fmax()

METAL_FUNC bfloat16_t metal::fmax ( bfloat16_t x,
bfloat16_t y )

◆ fmax3()

METAL_FUNC bfloat16_t metal::fmax3 ( bfloat16_t x,
bfloat16_t y,
bfloat16_t z )

◆ fmedian3()

METAL_FUNC bfloat16_t metal::fmedian3 ( bfloat16_t x,
bfloat16_t y,
bfloat16_t z )

◆ fmin()

METAL_FUNC bfloat16_t metal::fmin ( bfloat16_t x,
bfloat16_t y )

◆ fmin3()

METAL_FUNC bfloat16_t metal::fmin3 ( bfloat16_t x,
bfloat16_t y,
bfloat16_t z )

◆ fmod()

METAL_FUNC bfloat16_t metal::fmod ( bfloat16_t x,
bfloat16_t y )

◆ fract()

METAL_FUNC bfloat16_t metal::fract ( bfloat16_t x)

◆ frexp()

METAL_FUNC bfloat16_t metal::frexp ( bfloat16_t x,
thread int & exp )

◆ isnan()

METAL_FUNC bool metal::isnan ( _MLX_BFloat16 x)

◆ ldexp()

METAL_FUNC bfloat16_t metal::ldexp ( bfloat16_t x,
int k )

◆ log()

METAL_FUNC bfloat16_t metal::log ( bfloat16_t x)

◆ log10()

METAL_FUNC bfloat16_t metal::log10 ( bfloat16_t x)

◆ log2()

METAL_FUNC bfloat16_t metal::log2 ( bfloat16_t x)

◆ max()

METAL_FUNC bfloat16_t metal::max ( bfloat16_t x,
bfloat16_t y )

◆ max3()

METAL_FUNC bfloat16_t metal::max3 ( bfloat16_t x,
bfloat16_t y,
bfloat16_t z )

◆ median3()

METAL_FUNC bfloat16_t metal::median3 ( bfloat16_t x,
bfloat16_t y,
bfloat16_t z )

◆ min()

METAL_FUNC bfloat16_t metal::min ( bfloat16_t x,
bfloat16_t y )

◆ min3()

METAL_FUNC bfloat16_t metal::min3 ( bfloat16_t x,
bfloat16_t y,
bfloat16_t z )

◆ nextafter()

METAL_FUNC bfloat16_t metal::nextafter ( bfloat16_t x,
bfloat16_t y )

◆ pow()

METAL_FUNC bfloat16_t metal::pow ( bfloat16_t x,
bfloat16_t y )

◆ powr()

METAL_FUNC bfloat16_t metal::powr ( bfloat16_t x,
bfloat16_t y )

◆ rint()

METAL_FUNC bfloat16_t metal::rint ( bfloat16_t x)

◆ round()

METAL_FUNC bfloat16_t metal::round ( bfloat16_t x)

◆ rsqrt()

METAL_FUNC bfloat16_t metal::rsqrt ( bfloat16_t x)

◆ simd_broadcast()

METAL_FUNC bfloat16_t metal::simd_broadcast ( bfloat16_t data,
ushort broadcast_lane_id )

◆ simd_max()

METAL_FUNC bfloat16_t metal::simd_max ( bfloat16_t data)

◆ simd_min()

METAL_FUNC bfloat16_t metal::simd_min ( bfloat16_t data)

◆ simd_prefix_exclusive_product()

METAL_FUNC bfloat16_t metal::simd_prefix_exclusive_product ( bfloat16_t data)

◆ simd_prefix_exclusive_sum()

METAL_FUNC bfloat16_t metal::simd_prefix_exclusive_sum ( bfloat16_t data)

◆ simd_prefix_inclusive_product()

METAL_FUNC bfloat16_t metal::simd_prefix_inclusive_product ( bfloat16_t data)

◆ simd_prefix_inclusive_sum()

METAL_FUNC bfloat16_t metal::simd_prefix_inclusive_sum ( bfloat16_t data)

◆ simd_product()

METAL_FUNC bfloat16_t metal::simd_product ( bfloat16_t data)

◆ simd_shuffle()

METAL_FUNC bfloat16_t metal::simd_shuffle ( bfloat16_t data,
ushort simd_lane_id )

◆ simd_shuffle_and_fill_down() [1/2]

METAL_FUNC bfloat16_t metal::simd_shuffle_and_fill_down ( bfloat16_t data,
bfloat16_t filling_data,
ushort delta )

◆ simd_shuffle_and_fill_down() [2/2]

METAL_FUNC bfloat16_t metal::simd_shuffle_and_fill_down ( bfloat16_t data,
bfloat16_t filling_data,
ushort delta,
ushort modulo )

◆ simd_shuffle_and_fill_up() [1/2]

METAL_FUNC bfloat16_t metal::simd_shuffle_and_fill_up ( bfloat16_t data,
bfloat16_t filling_data,
ushort delta )

◆ simd_shuffle_and_fill_up() [2/2]

METAL_FUNC bfloat16_t metal::simd_shuffle_and_fill_up ( bfloat16_t data,
bfloat16_t filling_data,
ushort delta,
ushort modulo )

◆ simd_shuffle_down()

METAL_FUNC bfloat16_t metal::simd_shuffle_down ( bfloat16_t data,
ushort delta )

◆ simd_shuffle_rotate_down()

METAL_FUNC bfloat16_t metal::simd_shuffle_rotate_down ( bfloat16_t data,
ushort delta )

◆ simd_shuffle_rotate_up()

METAL_FUNC bfloat16_t metal::simd_shuffle_rotate_up ( bfloat16_t data,
ushort delta )

◆ simd_shuffle_up()

METAL_FUNC bfloat16_t metal::simd_shuffle_up ( bfloat16_t data,
ushort delta )

◆ simd_shuffle_xor()

METAL_FUNC bfloat16_t metal::simd_shuffle_xor ( bfloat16_t data,
ushort mask )

◆ simd_sum()

METAL_FUNC bfloat16_t metal::simd_sum ( bfloat16_t data)

◆ simd_xor()

METAL_FUNC bfloat16_t metal::simd_xor ( bfloat16_t data)

◆ sin()

METAL_FUNC bfloat16_t metal::sin ( bfloat16_t x)

◆ sinh()

METAL_FUNC bfloat16_t metal::sinh ( bfloat16_t x)

◆ sinpi()

METAL_FUNC bfloat16_t metal::sinpi ( bfloat16_t x)

◆ sqrt()

METAL_FUNC bfloat16_t metal::sqrt ( bfloat16_t x)

◆ tan()

METAL_FUNC bfloat16_t metal::tan ( bfloat16_t x)

◆ tanh()

METAL_FUNC bfloat16_t metal::tanh ( bfloat16_t x)

◆ tanpi()

METAL_FUNC bfloat16_t metal::tanpi ( bfloat16_t x)

◆ trunc()

METAL_FUNC bfloat16_t metal::trunc ( bfloat16_t x)