MLX
Loading...
Searching...
No Matches
Macros
reduce_inst.h File Reference
#include <metal_atomic>
#include <metal_simdgroup>
#include "mlx/backend/metal/kernels/defines.h"
#include "mlx/backend/metal/kernels/reduction/ops.h"

Go to the source code of this file.

Macros

#define instantiate_reduce_helper_floats(inst_f, name, op)
 
#define instantiate_reduce_helper_uints(inst_f, name, op)
 
#define instantiate_reduce_helper_ints(inst_f, name, op)
 
#define instantiate_reduce_helper_64b(inst_f, name, op)    inst_f(name, int64, int64_t, op) inst_f(name, uint64, uint64_t, op)
 
#define instantiate_reduce_helper_types(inst_f, name, op)
 
#define instantiate_reduce_ops(inst_f, type_f)
 
#define instantiate_reduce_from_types_helper(inst_f, name, tname, itype, otype, op)    inst_f(name##tname, itype, otype, op)
 
#define instantiate_reduce_from_types(inst_f, name, otype, op)
 

Macro Definition Documentation

◆ instantiate_reduce_from_types

#define instantiate_reduce_from_types ( inst_f,
name,
otype,
op )

◆ instantiate_reduce_from_types_helper

#define instantiate_reduce_from_types_helper ( inst_f,
name,
tname,
itype,
otype,
op )    inst_f(name##tname, itype, otype, op)

◆ instantiate_reduce_helper_64b

#define instantiate_reduce_helper_64b ( inst_f,
name,
op )    inst_f(name, int64, int64_t, op) inst_f(name, uint64, uint64_t, op)

◆ instantiate_reduce_helper_floats

#define instantiate_reduce_helper_floats ( inst_f,
name,
op )
Value:
inst_f(name, float16, half, op) inst_f(name, float32, float, op) \
inst_f(name, bfloat16, bfloat16_t, op)
Op op
Definition binary.h:139
Definition bf16.h:54

◆ instantiate_reduce_helper_ints

#define instantiate_reduce_helper_ints ( inst_f,
name,
op )
Value:
inst_f(name, int8, int8_t, op) inst_f(name, int16, int16_t, op) \
inst_f(name, int32, int32_t, op)

◆ instantiate_reduce_helper_types

#define instantiate_reduce_helper_types ( inst_f,
name,
op )
Value:
instantiate_reduce_helper_uints(inst_f, name, op) \
instantiate_reduce_helper_ints(inst_f, name, op)
#define instantiate_reduce_helper_floats(inst_f, name, op)
Definition reduce_inst.h:11

◆ instantiate_reduce_helper_uints

#define instantiate_reduce_helper_uints ( inst_f,
name,
op )
Value:
inst_f(name, uint8, uint8_t, op) inst_f(name, uint16, uint16_t, op) \
inst_f(name, uint32, uint32_t, op)

◆ instantiate_reduce_ops

#define instantiate_reduce_ops ( inst_f,
type_f )
Value:
type_f(inst_f, sum, Sum) type_f(inst_f, prod, Prod) \
type_f(inst_f, min_, Min) type_f(inst_f, max_, Max)
Definition ops.h:159
Definition ops.h:139
Definition ops.h:119
Definition ops.h:99