2025-01-31 14:43:37 -08:00
|
|
|
// Copyright © 2025 Apple Inc.
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
#include "mlx/array.h"
|
|
|
|
|
|
|
|
|
|
namespace mlx::core {
|
|
|
|
|
|
|
|
|
|
template <typename T>
|
|
|
|
|
void matmul(
|
2025-03-06 19:23:38 -08:00
|
|
|
const T* a,
|
|
|
|
|
const T* b,
|
|
|
|
|
T* out,
|
2025-01-31 14:43:37 -08:00
|
|
|
bool a_transposed,
|
|
|
|
|
bool b_transposed,
|
|
|
|
|
size_t lda,
|
|
|
|
|
size_t ldb,
|
2025-03-06 19:23:38 -08:00
|
|
|
size_t ldc,
|
2025-01-31 14:43:37 -08:00
|
|
|
float alpha,
|
2025-03-06 19:23:38 -08:00
|
|
|
float beta,
|
|
|
|
|
size_t batch_size,
|
|
|
|
|
const Shape& a_shape,
|
|
|
|
|
const Strides& a_strides,
|
|
|
|
|
const Shape& b_shape,
|
|
|
|
|
const Strides& b_strides);
|
2025-01-31 14:43:37 -08:00
|
|
|
|
|
|
|
|
} // namespace mlx::core
|