MLX
Loading...
Searching...
No Matches
matmul.h
Go to the documentation of this file.
1// Copyright © 2023 Apple Inc.
2
4
5namespace mlx::core {
6
8 const Stream& s,
10 const array& a,
11 const array& b,
12 array& out,
13 int M,
14 int N,
15 int K,
16 int lda,
17 int ldb,
18 int ldd,
19 bool transpose_a,
20 bool transpose_b,
21 int groups,
22 std::vector<array>& copies);
23
25 const Stream& s,
27 const array& a,
28 const array& b,
29 array& out,
30 int M,
31 int N,
32 int K,
33 int batch_size_out,
34 int lda,
35 int ldb,
36 bool transpose_a,
37 bool transpose_b,
38 std::vector<array>& copies,
39 std::vector<int> batch_shape = {},
40 std::vector<size_t> A_batch_stride = {},
41 std::vector<size_t> B_batch_stride = {});
42
43} // namespace mlx::core
Definition array.h:20
Definition device.h:86
Definition allocator.h:7
void steel_matmul(const Stream &s, metal::Device &d, const array &a, const array &b, array &out, int M, int N, int K, int batch_size_out, int lda, int ldb, bool transpose_a, bool transpose_b, std::vector< array > &copies, std::vector< int > batch_shape={}, std::vector< size_t > A_batch_stride={}, std::vector< size_t > B_batch_stride={})
void steel_matmul_conv_groups(const Stream &s, metal::Device &d, const array &a, const array &b, array &out, int M, int N, int K, int lda, int ldb, int ldd, bool transpose_a, bool transpose_b, int groups, std::vector< array > &copies)
Definition stream.h:9