19 const std::optional<array>& weight,
20 const std::optional<array>& bias,
39 const std::optional<array>& mask = std::nullopt,
array layer_norm(const array &x, const std::optional< array > &weight, const std::optional< array > &bias, float eps, StreamOrDevice s={})
array affine_dequantize(const array &w, const array &scales, const array &biases, int group_size=64, int bits=4, StreamOrDevice s={})
array rope(const array &x, int dims, bool traditional, float base, float scale, int offset, StreamOrDevice s={})
array scaled_dot_product_attention(const array &queries, const array &keys, const array &values, const float scale, const std::optional< array > &mask=std::nullopt, StreamOrDevice s={})
Computes: O = softmax(Q @ K.T) @ V.
std::tuple< array, array, array > affine_quantize(const array &w, int group_size=64, int bits=4, StreamOrDevice s={})
array rms_norm(const array &x, const array &weight, float eps, StreamOrDevice s={})
std::variant< std::monostate, Stream, Device > StreamOrDevice
Definition utils.h:14