diff --git a/docs/build/html/.buildinfo b/docs/build/html/.buildinfo index c20792bb3..2325e4b1c 100644 --- a/docs/build/html/.buildinfo +++ b/docs/build/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 8880bb5f0a2c9a353db73959d72b9edf +config: d832ae99342413e9277cab63924f1dd4 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/build/html/_static/documentation_options.js b/docs/build/html/_static/documentation_options.js index 75c0fd73e..da9531643 100644 --- a/docs/build/html/_static/documentation_options.js +++ b/docs/build/html/_static/documentation_options.js @@ -1,5 +1,5 @@ const DOCUMENTATION_OPTIONS = { - VERSION: '0.21.0', + VERSION: '0.21.1', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/build/html/annotated.html b/docs/build/html/annotated.html index cbd46ef82..a2c8740a8 100644 --- a/docs/build/html/annotated.html +++ b/docs/build/html/annotated.html @@ -419,103 +419,105 @@ $(function(){ initResizable(false); });  Cbool4_or_uint  CCeil  Ccomplex64_t - CConjugate - CCos - CCosh - CCumMax - CCumMin - CCumProd - CCumProd< bool > - CCumSum - CDivide - CDivMod - CDivOp - CEqual - CErf - CErfInv - CExp - CExpm1 - CExpSubOp - CFloor - CFloorDivide - CGEMVKernel - CGEMVTKernelVector matrix multiplication - CGreater - CGreaterEqual - CImag - CIndices - CKernelMergeSort - CKernelMultiBlockMergeSort - CLeftShift - CLess - CLessEqual - CLessThan - CLimits - CLimits< bfloat16_t > - CLimits< bool > - CLimits< complex64_t > - CLimits< float > - CLimits< half > - CLimits< int16_t > - CLimits< int32_t > - CLimits< int64_t > - CLimits< int8_t > - CLimits< uint16_t > - CLimits< uint32_t > - CLimits< uint64_t > - CLimits< uint8_t > - CLog - CLog10 - CLog1p - CLog2 - CLogAddExp - CLogicalAnd - CLogicalNot - CLogicalOr - CLoopedElemToLoc - CLoopedElemToLoc< 1, OffsetT, false > - CLoopedElemToLoc< 1, OffsetT, true > - CMax - CMaximum - CMaxOp - CMin - CMinimum - Cmlx_atomic - Cmlx_atomic< T, enable_if_t< is_metal_atomic< T > > > - CMLXConvParams - CMulOp - CMultiply - CNaNEqual - CNegative - CNone - CNotEqual - COr - CPower - CProd - CQuantizedBlockLoader - CReadWriter - CReal - CRemainder - CRightShift - CRound - CRsqrt - CScaleOp - CSelect - CSigmoid - CSign - CSin - CSinh - CSqrt - CSquare - CSubOp - CSubtract - CSum - CSumOp - CTan - CTanh - CThreadPool - CThreadSort - CTransformScale + CConditionalType + CConditionalType< true, T, U > + CConjugate + CCos + CCosh + CCumMax + CCumMin + CCumProd + CCumProd< bool > + CCumSum + CDivide + CDivMod + CDivOp + CEqual + CErf + CErfInv + CExp + CExpm1 + CExpSubOp + CFloor + CFloorDivide + CGEMVKernel + CGEMVTKernelVector matrix multiplication + CGreater + CGreaterEqual + CImag + CIndices + CKernelMergeSort + CKernelMultiBlockMergeSort + CLeftShift + CLess + CLessEqual + CLessThan + CLimits + CLimits< bfloat16_t > + CLimits< bool > + CLimits< complex64_t > + CLimits< float > + CLimits< half > + CLimits< int16_t > + CLimits< int32_t > + CLimits< int64_t > + CLimits< int8_t > + CLimits< uint16_t > + CLimits< uint32_t > + CLimits< uint64_t > + CLimits< uint8_t > + CLog + CLog10 + CLog1p + CLog2 + CLogAddExp + CLogicalAnd + CLogicalNot + CLogicalOr + CLoopedElemToLoc + CLoopedElemToLoc< 1, OffsetT, false > + CLoopedElemToLoc< 1, OffsetT, true > + CMax + CMaximum + CMaxOp + CMin + CMinimum + Cmlx_atomic + Cmlx_atomic< T, enable_if_t< is_metal_atomic< T > > > + CMLXConvParams + CMulOp + CMultiply + CNaNEqual + CNegative + CNone + CNotEqual + COr + CPower + CProd + CQuantizedBlockLoader + CReadWriter + CReal + CRemainder + CRightShift + CRound + CRsqrt + CScaleOp + CSelect + CSigmoid + CSign + CSin + CSinh + CSqrt + CSquare + CSubOp + CSubtract + CSum + CSumOp + CTan + CTanh + CThreadPool + CThreadSort + CTransformScale diff --git a/docs/build/html/array_8h.html b/docs/build/html/array_8h.html index 3925aeac5..d31e5609f 100644 --- a/docs/build/html/array_8h.html +++ b/docs/build/html/array_8h.html @@ -127,8 +127,12 @@ Namespaces - - + + + + + + diff --git a/docs/build/html/array_8h_source.html b/docs/build/html/array_8h_source.html index 32ff395ff..09cfd38d2 100644 --- a/docs/build/html/array_8h_source.html +++ b/docs/build/html/array_8h_source.html @@ -108,735 +108,738 @@ $(function(){ initResizable(false); });
15
16// Forward declaration
17class Primitive;
-
18using deleter_t = std::function<void(allocator::Buffer)>;
-
19
-
-
20class array {
-
21 /* An array is really a node in a graph. It contains a shared ArrayDesc
-
22 * object */
-
23
-
24 public:
-
26 template <typename T>
-
27 explicit array(T val, Dtype dtype = TypeToDtype<T>());
-
28
-
29 /* Special case since std::complex can't be implicitly converted to other
-
30 * types. */
-
31 explicit array(const std::complex<float>& val, Dtype dtype = complex64);
-
32
-
33 template <typename It>
-
34 array(
-
35 It data,
-
36 std::vector<int> shape,
-
37 Dtype dtype =
-
38 TypeToDtype<typename std::iterator_traits<It>::value_type>());
-
39
-
40 template <typename T>
-
41 array(std::initializer_list<T> data, Dtype dtype = TypeToDtype<T>());
+
18
+
19using Deleter = std::function<void(allocator::Buffer)>;
+
20using Shape = std::vector<int32_t>;
+
21using Strides = std::vector<size_t>;
+
22
+
+
23class array {
+
24 /* An array is really a node in a graph. It contains a shared ArrayDesc
+
25 * object */
+
26
+
27 public:
+
29 template <typename T>
+
30 explicit array(T val, Dtype dtype = TypeToDtype<T>());
+
31
+
32 /* Special case since std::complex can't be implicitly converted to other
+
33 * types. */
+
34 explicit array(const std::complex<float>& val, Dtype dtype = complex64);
+
35
+
36 template <typename It>
+
37 array(
+
38 It data,
+ +
40 Dtype dtype =
+
41 TypeToDtype<typename std::iterator_traits<It>::value_type>());
42
-
43 /* Special case so empty lists default to float32. */
-
44 array(std::initializer_list<float> data);
+
43 template <typename T>
+
44 array(std::initializer_list<T> data, Dtype dtype = TypeToDtype<T>());
45
-
46 /* Special case so array({}, type) is an empty array. */
-
47 array(std::initializer_list<int> data, Dtype dtype);
+
46 /* Special case so empty lists default to float32. */
+
47 array(std::initializer_list<float> data);
48
-
49 template <typename T>
-
50 array(
-
51 std::initializer_list<T> data,
-
52 std::vector<int> shape,
- -
54
-
55 /* Build an array from a buffer */
- - -
58 std::vector<int> shape,
- -
60 deleter_t deleter = allocator::free);
-
61
-
63 array& operator=(const array& other) && = delete;
-
64 array& operator=(array&& other) && = delete;
-
65
-
67 array& operator=(array&& other) & = default;
-
68 array(const array& other) = default;
-
69 array(array&& other) = default;
-
70
-
-
71 array& operator=(const array& other) & {
-
72 if (this->id() != other.id()) {
-
73 this->array_desc_ = other.array_desc_;
-
74 }
-
75 return *this;
-
76 }
+
49 /* Special case so array({}, type) is an empty array. */
+
50 array(std::initializer_list<int> data, Dtype dtype);
+
51
+
52 template <typename T>
+
53 array(
+
54 std::initializer_list<T> data,
+ + +
57
+
58 /* Build an array from a buffer */
+ + + + +
63 Deleter deleter = allocator::free);
+
64
+
66 array& operator=(const array& other) && = delete;
+
67 array& operator=(array&& other) && = delete;
+
68
+
70 array& operator=(array&& other) & = default;
+
71 array(const array& other) = default;
+
72 array(array&& other) = default;
+
73
+
+
74 array& operator=(const array& other) & {
+
75 if (this->id() != other.id()) {
+
76 this->array_desc_ = other.array_desc_;
+
77 }
+
78 return *this;
+
79 }
-
77
-
-
79 size_t itemsize() const {
-
80 return size_of(dtype());
-
81 }
+
80
+
+
82 size_t itemsize() const {
+
83 return size_of(dtype());
+
84 }
-
82
-
-
84 size_t size() const {
-
85 return array_desc_->size;
-
86 }
+
85
+
+
87 size_t size() const {
+
88 return array_desc_->size;
+
89 }
-
87
-
-
89 size_t nbytes() const {
-
90 return size() * itemsize();
-
91 }
+
90
+
+
92 size_t nbytes() const {
+
93 return size() * itemsize();
+
94 }
-
92
-
-
94 size_t ndim() const {
-
95 return array_desc_->shape.size();
-
96 }
+
95
+
+
97 size_t ndim() const {
+
98 return array_desc_->shape.size();
+
99 }
-
97
-
-
99 const std::vector<int>& shape() const {
-
100 return array_desc_->shape;
-
101 }
+
100
+
+
102 const Shape& shape() const {
+
103 return array_desc_->shape;
+
104 }
-
102
-
-
108 int shape(int dim) const {
-
109 return shape().at(dim < 0 ? dim + ndim() : dim);
-
110 }
+
105
+
+
111 auto shape(int dim) const {
+
112 return shape().at(dim < 0 ? dim + ndim() : dim);
+
113 }
-
111
-
-
113 const std::vector<size_t>& strides() const {
-
114 return array_desc_->strides;
-
115 }
+
114
+
+
116 const Strides& strides() const {
+
117 return array_desc_->strides;
+
118 }
-
116
-
-
122 size_t strides(int dim) const {
-
123 return strides().at(dim < 0 ? dim + ndim() : dim);
-
124 }
+
119
+
+
125 auto strides(int dim) const {
+
126 return strides().at(dim < 0 ? dim + ndim() : dim);
+
127 }
-
125
-
-
127 Dtype dtype() const {
-
128 return array_desc_->dtype;
-
129 }
+
128
+
+
130 Dtype dtype() const {
+
131 return array_desc_->dtype;
+
132 }
-
130
-
132 void eval();
133
-
135 template <typename T>
-
136 T item();
-
137
+
135 void eval();
+
136
138 template <typename T>
-
139 T item() const;
+
139 T item();
140
-
- -
142 using iterator_category = std::random_access_iterator_tag;
-
143 using difference_type = size_t;
-
144 using value_type = const array;
- -
146
-
147 explicit ArrayIterator(const array& arr, int idx = 0);
-
148
- -
150
-
- -
152 idx += diff;
-
153 return *this;
-
154 }
+
141 template <typename T>
+
142 T item() const;
+
143
+
+ +
145 using iterator_category = std::random_access_iterator_tag;
+
146 using difference_type = size_t;
+
147 using value_type = const array;
+ +
149
+
150 explicit ArrayIterator(const array& arr, int idx = 0);
+
151
+ +
153
+
+ +
155 idx += diff;
+
156 return *this;
+
157 }
-
155
-
- -
157 idx++;
-
158 return *this;
-
159 }
-
-
160
-
-
161 friend bool operator==(const ArrayIterator& a, const ArrayIterator& b) {
-
162 return a.arr.id() == b.arr.id() && a.idx == b.idx;
-
163 }
+
158
+
+ +
160 idx++;
+
161 return *this;
+
162 }
+
163
-
164 friend bool operator!=(const ArrayIterator& a, const ArrayIterator& b) {
-
165 return !(a == b);
+
164 friend bool operator==(const ArrayIterator& a, const ArrayIterator& b) {
+
165 return a.arr.id() == b.arr.id() && a.idx == b.idx;
166 }
-
167
-
168 private:
-
169 const array& arr;
-
170 int idx;
-
171 };
+
+
167 friend bool operator!=(const ArrayIterator& a, const ArrayIterator& b) {
+
168 return !(a == b);
+
169 }
-
172
-
- -
174 return ArrayIterator(*this);
-
175 }
+
170
+
171 private:
+
172 const array& arr;
+
173 int idx;
+
174 };
+
175
- -
177 return ArrayIterator(*this, shape(0));
+ +
177 return ArrayIterator(*this);
178 }
-
179
- -
187 std::vector<int> shape,
-
188 Dtype dtype,
-
189 std::shared_ptr<Primitive> primitive,
-
190 std::vector<array> inputs);
-
191
-
192 static std::vector<array> make_arrays(
-
193 std::vector<std::vector<int>> shapes,
-
194 const std::vector<Dtype>& dtypes,
-
195 const std::shared_ptr<Primitive>& primitive,
-
196 const std::vector<array>& inputs);
-
197
-
-
199 std::uintptr_t id() const {
-
200 return reinterpret_cast<std::uintptr_t>(array_desc_.get());
-
201 }
+
+ +
180 return ArrayIterator(*this, shape(0));
+
181 }
-
202
-
-
204 std::uintptr_t primitive_id() const {
-
205 return reinterpret_cast<std::uintptr_t>(array_desc_->primitive.get());
-
206 }
+
182
+ +
190 Shape shape,
+
191 Dtype dtype,
+
192 std::shared_ptr<Primitive> primitive,
+
193 std::vector<array> inputs);
+
194
+
195 static std::vector<array> make_arrays(
+
196 std::vector<Shape> shapes,
+
197 const std::vector<Dtype>& dtypes,
+
198 const std::shared_ptr<Primitive>& primitive,
+
199 const std::vector<array>& inputs);
+
200
+
+
202 std::uintptr_t id() const {
+
203 return reinterpret_cast<std::uintptr_t>(array_desc_.get());
+
204 }
-
207
-
-
208 struct Data {
- - -
- -
212 : buffer(buffer), d(d) {}
+
205
+
+
207 std::uintptr_t primitive_id() const {
+
208 return reinterpret_cast<std::uintptr_t>(array_desc_->primitive.get());
+
209 }
-
213 // Not copyable
-
214 Data(const Data& d) = delete;
-
215 Data& operator=(const Data& d) = delete;
-
- -
217 d(buffer);
-
218 }
+
210
+
+
211 struct Data {
+ + + -
219 };
+
216 // Not copyable
+
217 Data(const Data& d) = delete;
+
218 Data& operator=(const Data& d) = delete;
+
+ +
220 d(buffer);
+
221 }
-
220
-
-
221 struct Flags {
-
222 // True iff there are no gaps in the underlying data. Each item
-
223 // in the underlying data buffer belongs to at least one index.
-
224 //
-
225 // True iff:
-
226 // prod(shape[i] for i in range(ndim) if strides[i] > 0) == data_size()
-
227 bool contiguous : 1;
-
228
-
229 // True iff:
-
230 // strides[-1] == 1 and
-
231 // all(strides[i] == (shape[i+1]*strides[i+1]) or shape[i] == 1 for i in
-
232 // range(ndim - 1))
- -
234
-
235 // True iff:
-
236 // strides[0] == 1 and
-
237 // all(strides[i] == (shape[i-1]*strides[i-1]) or shape[i] == 1 for i in
-
238 // range(1, ndim))
- -
240 };
+
222 };
-
241
-
- -
244 return *(array_desc_->primitive);
-
245 }
+
223
+
+
224 struct Flags {
+
225 // True iff there are no gaps in the underlying data. Each item
+
226 // in the underlying data buffer belongs to at least one index.
+
227 //
+
228 // True iff:
+
229 // prod(shape[i] for i in range(ndim) if strides[i] > 0) == data_size()
+
230 bool contiguous : 1;
+
231
+
232 // True iff:
+
233 // strides[-1] == 1 and
+
234 // all(strides[i] == (shape[i+1]*strides[i+1]) or shape[i] == 1 for i in
+
235 // range(ndim - 1))
+ +
237
+
238 // True iff:
+
239 // strides[0] == 1 and
+
240 // all(strides[i] == (shape[i-1]*strides[i-1]) or shape[i] == 1 for i in
+
241 // range(1, ndim))
+ +
243 };
-
246
-
-
248 std::shared_ptr<Primitive>& primitive_ptr() const {
-
249 return array_desc_->primitive;
-
250 }
+
244
+
+ +
247 return *(array_desc_->primitive);
+
248 }
-
251
-
-
253 bool has_primitive() const {
-
254 return array_desc_->primitive != nullptr;
-
255 }
+
249
+
+
251 std::shared_ptr<Primitive>& primitive_ptr() const {
+
252 return array_desc_->primitive;
+
253 }
-
256
-
-
258 const std::vector<array>& inputs() const {
-
259 return array_desc_->inputs;
-
260 }
+
254
+
+
256 bool has_primitive() const {
+
257 return array_desc_->primitive != nullptr;
+
258 }
-
261
-
-
262 std::vector<array>& inputs() {
-
263 return array_desc_->inputs;
-
264 }
+
259
+
+
261 const std::vector<array>& inputs() const {
+
262 return array_desc_->inputs;
+
263 }
-
265
-
-
267 bool is_donatable() const {
-
268 return array_desc_.use_count() == 1 && (array_desc_->data.use_count() == 1);
-
269 }
+
264
+
+
265 std::vector<array>& inputs() {
+
266 return array_desc_->inputs;
+
267 }
-
270
-
-
272 const std::vector<array>& siblings() const {
-
273 return array_desc_->siblings;
-
274 }
+
268
+
+
270 bool is_donatable() const {
+
271 return array_desc_.use_count() == 1 && (array_desc_->data.use_count() == 1);
+
272 }
-
275
-
-
277 std::vector<array>& siblings() {
-
278 return array_desc_->siblings;
-
279 }
+
273
+
+
275 const std::vector<array>& siblings() const {
+
276 return array_desc_->siblings;
+
277 }
-
280
-
-
281 void set_siblings(std::vector<array> siblings, uint16_t position) {
-
282 array_desc_->siblings = std::move(siblings);
-
283 array_desc_->position = position;
-
284 }
+
278
+
+
280 std::vector<array>& siblings() {
+
281 return array_desc_->siblings;
+
282 }
-
285
-
-
288 std::vector<array> outputs() const {
-
289 auto idx = array_desc_->position;
-
290 std::vector<array> outputs;
-
291 outputs.reserve(siblings().size() + 1);
-
292 outputs.insert(outputs.end(), siblings().begin(), siblings().begin() + idx);
-
293 outputs.push_back(*this);
-
294 outputs.insert(outputs.end(), siblings().begin() + idx, siblings().end());
-
295 return outputs;
-
296 }
+
283
+
+
284 void set_siblings(std::vector<array> siblings, uint16_t position) {
+
285 array_desc_->siblings = std::move(siblings);
+
286 array_desc_->position = position;
+
287 }
+
+
288
+
+
291 std::vector<array> outputs() const {
+
292 auto idx = array_desc_->position;
+
293 std::vector<array> outputs;
+
294 outputs.reserve(siblings().size() + 1);
+
295 outputs.insert(outputs.end(), siblings().begin(), siblings().begin() + idx);
+
296 outputs.push_back(*this);
+
297 outputs.insert(outputs.end(), siblings().begin() + idx, siblings().end());
+
298 return outputs;
+
299 }
-
297
-
299 void detach();
300
-
-
302 const Flags& flags() const {
-
303 return array_desc_->flags;
-
304 }
+
302 void detach();
+
303
+
+
305 const Flags& flags() const {
+
306 return array_desc_->flags;
+
307 }
-
305
-
-
316 size_t data_size() const {
-
317 return array_desc_->data_size;
-
318 }
-
-
319
-
- -
321 return array_desc_->data->buffer;
-
322 }
+
308
+
+
319 size_t data_size() const {
+
320 return array_desc_->data_size;
+
321 }
+
322
-
323 const allocator::Buffer& buffer() const {
+
324 return array_desc_->data->buffer;
325 }
-
326
-
-
327 size_t buffer_size() const {
-
328 return allocator::allocator().size(buffer());
-
329 }
+
+
326 const allocator::Buffer& buffer() const {
+
327 return array_desc_->data->buffer;
+
328 }
-
330
-
331 // Return a copy of the shared pointer
-
332 // to the array::Data struct
-
-
333 std::shared_ptr<Data> data_shared_ptr() const {
-
334 return array_desc_->data;
-
335 }
+
329
+
+
330 size_t buffer_size() const {
+
331 return allocator::allocator().size(buffer());
+
332 }
-
336 // Return a raw pointer to the arrays data
-
337 template <typename T>
-
-
338 T* data() {
-
339 return static_cast<T*>(array_desc_->data_ptr);
-
340 }
+
333
+
334 // Return a copy of the shared pointer
+
335 // to the array::Data struct
+
+
336 std::shared_ptr<Data> data_shared_ptr() const {
+
337 return array_desc_->data;
+
338 }
-
341
-
342 template <typename T>
-
-
343 const T* data() const {
-
344 return static_cast<T*>(array_desc_->data_ptr);
-
345 }
+
339 // Return a raw pointer to the arrays data
+
340 template <typename T>
+
+
341 T* data() {
+
342 return static_cast<T*>(array_desc_->data_ptr);
+
343 }
-
346
-
-
347 enum Status {
-
348 // The ouptut of a computation which has not been scheduled.
-
349 // For example, the status of `x` in `auto x = a + b`.
- -
351
-
352 // The ouptut of a computation which has been scheduled but `eval_*` has
-
353 // not yet been called on the array's primitive. A possible
-
354 // status of `x` in `auto x = a + b; eval(x);`
- -
356
-
357 // The array's `eval_*` function has been run, but the computation is not
-
358 // necessarily complete. The array will have memory allocated and if it is
-
359 // not a tracer then it will be detached from the graph.
- -
361
-
362 // If the array is the output of a computation then the computation
-
363 // is complete. Constant arrays are always available (e.g. `array({1, 2,
-
364 // 3})`)
- -
366 };
+
344
+
345 template <typename T>
+
+
346 const T* data() const {
+
347 return static_cast<T*>(array_desc_->data_ptr);
+
348 }
+
+
349
+
+
350 enum Status {
+
351 // The ouptut of a computation which has not been scheduled.
+
352 // For example, the status of `x` in `auto x = a + b`.
+ +
354
+
355 // The ouptut of a computation which has been scheduled but `eval_*` has
+
356 // not yet been called on the array's primitive. A possible
+
357 // status of `x` in `auto x = a + b; eval(x);`
+ +
359
+
360 // The array's `eval_*` function has been run, but the computation is not
+
361 // necessarily complete. The array will have memory allocated and if it is
+
362 // not a tracer then it will be detached from the graph.
+ +
364
+
365 // If the array is the output of a computation then the computation
+
366 // is complete. Constant arrays are always available (e.g. `array({1, 2,
+
367 // 3})`)
+ +
369 };
-
367
-
368 // Check if the array is safe to read.
-
369 bool is_available() const;
370
-
371 // Wait on the array to be available. After this `is_available` returns
-
372 // `true`.
-
373 void wait();
-
374
-
-
375 Status status() const {
-
376 return array_desc_->status;
-
377 }
+
371 // Check if the array is safe to read.
+
372 bool is_available() const;
+
373
+
374 // Wait on the array to be available. After this `is_available` returns
+
375 // `true`.
+
376 void wait();
+
377
+
+
378 Status status() const {
+
379 return array_desc_->status;
+
380 }
-
378
-
-
379 void set_status(Status s) const {
-
380 array_desc_->status = s;
-
381 }
+
381
+
+
382 void set_status(Status s) const {
+
383 array_desc_->status = s;
+
384 }
-
382
-
383 // Get the array's shared event
-
-
384 Event& event() const {
-
385 return array_desc_->event;
-
386 }
+
385
+
386 // Get the array's shared event
+
+
387 Event& event() const {
+
388 return array_desc_->event;
+
389 }
-
387
-
388 // Attach an event to a not yet evaluated array
-
-
389 void attach_event(Event e) const {
-
390 array_desc_->event = std::move(e);
-
391 }
+
390
+
391 // Attach an event to a not yet evaluated array
+
+
392 void attach_event(Event e) const {
+
393 array_desc_->event = std::move(e);
+
394 }
-
392
-
393 // Mark the array as a tracer array (true) or not.
-
- -
395 array_desc_->is_tracer = is_tracer;
-
396 }
+
395
+
396 // Mark the array as a tracer array (true) or not.
+
+ +
398 array_desc_->is_tracer = is_tracer;
+
399 }
-
397 // Check if the array is a tracer array
-
398 bool is_tracer() const;
-
399
- -
401
- - -
404 size_t data_size,
-
405 std::vector<size_t> strides,
-
406 Flags flags,
- -
408
- -
410 const array& other,
-
411 const std::vector<size_t>& strides,
-
412 Flags flags,
-
413 size_t data_size,
-
414 size_t offset = 0);
-
415
-
416 void copy_shared_buffer(const array& other);
-
417
- -
419 array other,
-
420 const std::vector<size_t>& strides,
-
421 Flags flags,
-
422 size_t data_size,
-
423 size_t offset = 0);
-
424
- -
426
-
-
427 void overwrite_descriptor(const array& other) {
-
428 array_desc_ = other.array_desc_;
-
429 }
+
400 // Check if the array is a tracer array
+
401 bool is_tracer() const;
+
402
+ +
404
+ + +
407 size_t data_size,
+ +
409 Flags flags,
+ +
411
+ +
413 const array& other,
+
414 const Strides& strides,
+
415 Flags flags,
+
416 size_t data_size,
+
417 size_t offset = 0);
+
418
+
419 void copy_shared_buffer(const array& other);
+
420
+ +
422 array other,
+
423 const Strides& strides,
+
424 Flags flags,
+
425 size_t data_size,
+
426 size_t offset = 0);
+
427
+ +
429
+
+
430 void overwrite_descriptor(const array& other) {
+
431 array_desc_ = other.array_desc_;
+
432 }
-
430
- -
432
-
433 private:
-
434 // Initialize the arrays data
-
435 template <typename It>
-
436 void init(const It src);
-
437
-
438 struct ArrayDesc {
-
439 std::vector<int> shape;
-
440 std::vector<size_t> strides;
-
441 size_t size;
-
442 Dtype dtype;
-
443 std::shared_ptr<Primitive> primitive;
-
444
-
445 Status status;
-
446
-
447 // An event on the array used for synchronization
-
448 Event event;
+
433
+ +
435
+
436 private:
+
437 // Initialize the arrays data
+
438 template <typename It>
+
439 void init(const It src);
+
440
+
441 struct ArrayDesc {
+
442 Shape shape;
+
443 Strides strides;
+
444 size_t size;
+
445 Dtype dtype;
+
446 std::shared_ptr<Primitive> primitive;
+
447
+
448 Status status;
449
-
450 // Indicates an array is being used in a graph transform
-
451 // and should not be detached from the graph
-
452 bool is_tracer{false};
-
453
-
454 // This is a shared pointer so that *different* arrays
-
455 // can share the underlying data buffer.
-
456 std::shared_ptr<Data> data;
-
457
-
458 // Properly offset data pointer
-
459 void* data_ptr{nullptr};
+
450 // An event on the array used for synchronization
+
451 Event event;
+
452
+
453 // Indicates an array is being used in a graph transform
+
454 // and should not be detached from the graph
+
455 bool is_tracer{false};
+
456
+
457 // This is a shared pointer so that *different* arrays
+
458 // can share the underlying data buffer.
+
459 std::shared_ptr<Data> data;
460
-
461 // The size in elements of the data buffer the array accesses
-
462 size_t data_size;
+
461 // Properly offset data pointer
+
462 void* data_ptr{nullptr};
463
-
464 // Contains useful meta data about the array
-
465 Flags flags;
+
464 // The size in elements of the data buffer the array accesses
+
465 size_t data_size;
466
-
467 std::vector<array> inputs;
-
468 // An array to keep track of the siblings from a multi-output
-
469 // primitive.
-
470 std::vector<array> siblings;
-
471 // The arrays position in the output list
-
472 uint32_t position{0};
-
473
-
474 explicit ArrayDesc(std::vector<int> shape, Dtype dtype);
-
475
-
476 explicit ArrayDesc(
-
477 std::vector<int> shape,
-
478 Dtype dtype,
-
479 std::shared_ptr<Primitive> primitive,
-
480 std::vector<array> inputs);
-
481
-
482 ~ArrayDesc();
-
483
-
484 private:
-
485 // Initialize size, strides, and other metadata
-
486 void init();
-
487 };
-
488
-
489 // The ArrayDesc contains the details of the materialized array including the
-
490 // shape, strides, the data type. It also includes
-
491 // the primitive which knows how to compute the array's data from its inputs
-
492 // and the list of array's inputs for the primitive.
-
493 std::shared_ptr<ArrayDesc> array_desc_;
-
494};
+
467 // Contains useful meta data about the array
+
468 Flags flags;
+
469
+
470 std::vector<array> inputs;
+
471 // An array to keep track of the siblings from a multi-output
+
472 // primitive.
+
473 std::vector<array> siblings;
+
474 // The arrays position in the output list
+
475 uint32_t position{0};
+
476
+
477 explicit ArrayDesc(Shape shape, Dtype dtype);
+
478
+
479 explicit ArrayDesc(
+
480 Shape shape,
+
481 Dtype dtype,
+
482 std::shared_ptr<Primitive> primitive,
+
483 std::vector<array> inputs);
+
484
+
485 ~ArrayDesc();
+
486
+
487 private:
+
488 // Initialize size, strides, and other metadata
+
489 void init();
+
490 };
+
491
+
492 // The ArrayDesc contains the details of the materialized array including the
+
493 // shape, strides, the data type. It also includes
+
494 // the primitive which knows how to compute the array's data from its inputs
+
495 // and the list of array's inputs for the primitive.
+
496 std::shared_ptr<ArrayDesc> array_desc_;
+
497};
-
495
-
496template <typename T>
-
-
497array::array(T val, Dtype dtype /* = TypeToDtype<T>() */)
-
498 : array_desc_(std::make_shared<ArrayDesc>(std::vector<int>{}, dtype)) {
-
499 init(&val);
-
500}
+
498
+
499template <typename T>
+
+
500array::array(T val, Dtype dtype /* = TypeToDtype<T>() */)
+
501 : array_desc_(std::make_shared<ArrayDesc>(std::vector<int>{}, dtype)) {
+
502 init(&val);
+
503}
-
501
-
502template <typename It>
-
- -
504 It data,
-
505 std::vector<int> shape,
-
506 Dtype dtype /* = TypeToDtype<typename std::iterator_traits<It>::value_type>() */) :
-
507 array_desc_(std::make_shared<ArrayDesc>(std::move(shape), dtype)) {
-
508 init(data);
-
509}
+
504
+
505template <typename It>
+
+ +
507 It data,
+
508 Shape shape,
+
509 Dtype dtype /* = TypeToDtype<typename std::iterator_traits<It>::value_type>() */) :
+
510 array_desc_(std::make_shared<ArrayDesc>(std::move(shape), dtype)) {
+
511 init(data);
+
512}
-
510
-
511template <typename T>
-
- -
513 std::initializer_list<T> data,
-
514 Dtype dtype /* = TypeToDtype<T>() */)
-
515 : array_desc_(std::make_shared<ArrayDesc>(
-
516 std::vector<int>{static_cast<int>(data.size())},
-
517 dtype)) {
-
518 init(data.begin());
-
519}
+
513
+
514template <typename T>
+
+ +
516 std::initializer_list<T> data,
+
517 Dtype dtype /* = TypeToDtype<T>() */)
+
518 : array_desc_(std::make_shared<ArrayDesc>(
+
519 std::vector<int>{static_cast<int>(data.size())},
+
520 dtype)) {
+
521 init(data.begin());
+
522}
-
520
-
521template <typename T>
-
- -
523 std::initializer_list<T> data,
-
524 std::vector<int> shape,
-
525 Dtype dtype /* = TypeToDtype<T>() */)
-
526 : array_desc_(std::make_shared<ArrayDesc>(std::move(shape), dtype)) {
-
527 if (data.size() != size()) {
-
528 throw std::invalid_argument(
-
529 "Data size and provided shape mismatch in array construction.");
-
530 }
-
531 init(data.begin());
-
532}
+
523
+
524template <typename T>
+
+ +
526 std::initializer_list<T> data,
+
527 Shape shape,
+
528 Dtype dtype /* = TypeToDtype<T>() */)
+
529 : array_desc_(std::make_shared<ArrayDesc>(std::move(shape), dtype)) {
+
530 if (data.size() != size()) {
+
531 throw std::invalid_argument(
+
532 "Data size and provided shape mismatch in array construction.");
+
533 }
+
534 init(data.begin());
+
535}
-
533
-
534template <typename T>
-
- -
536 if (size() != 1) {
-
537 throw std::invalid_argument("item can only be called on arrays of size 1.");
-
538 }
-
539 eval();
-
540 return *data<T>();
-
541}
+
536
+
537template <typename T>
+
+ +
539 if (size() != 1) {
+
540 throw std::invalid_argument("item can only be called on arrays of size 1.");
+
541 }
+
542 eval();
+
543 return *data<T>();
+
544}
-
542
-
543template <typename T>
-
-
544T array::item() const {
-
545 if (size() != 1) {
-
546 throw std::invalid_argument("item can only be called on arrays of size 1.");
-
547 }
-
548 if (status() == Status::unscheduled) {
-
549 throw std::invalid_argument(
-
550 "item() const can only be called on evaled arrays");
-
551 }
-
552 const_cast<array*>(this)->eval();
-
553 return *data<T>();
-
554}
+
545
+
546template <typename T>
+
+
547T array::item() const {
+
548 if (size() != 1) {
+
549 throw std::invalid_argument("item can only be called on arrays of size 1.");
+
550 }
+
551 if (status() == Status::unscheduled) {
+
552 throw std::invalid_argument(
+
553 "item() const can only be called on evaled arrays");
+
554 }
+
555 const_cast<array*>(this)->eval();
+
556 return *data<T>();
+
557}
-
555
-
556template <typename It>
-
557void array::init(It src) {
- -
559 switch (dtype()) {
-
560 case bool_:
-
561 std::copy(src, src + size(), data<bool>());
-
562 break;
-
563 case uint8:
-
564 std::copy(src, src + size(), data<uint8_t>());
+
558
+
559template <typename It>
+
560void array::init(It src) {
+ +
562 switch (dtype()) {
+
563 case bool_:
+
564 std::copy(src, src + size(), data<bool>());
565 break;
-
566 case uint16:
-
567 std::copy(src, src + size(), data<uint16_t>());
+
566 case uint8:
+
567 std::copy(src, src + size(), data<uint8_t>());
568 break;
-
569 case uint32:
-
570 std::copy(src, src + size(), data<uint32_t>());
+
569 case uint16:
+
570 std::copy(src, src + size(), data<uint16_t>());
571 break;
-
572 case uint64:
-
573 std::copy(src, src + size(), data<uint64_t>());
+
572 case uint32:
+
573 std::copy(src, src + size(), data<uint32_t>());
574 break;
-
575 case int8:
-
576 std::copy(src, src + size(), data<int8_t>());
+
575 case uint64:
+
576 std::copy(src, src + size(), data<uint64_t>());
577 break;
-
578 case int16:
-
579 std::copy(src, src + size(), data<int16_t>());
+
578 case int8:
+
579 std::copy(src, src + size(), data<int8_t>());
580 break;
-
581 case int32:
-
582 std::copy(src, src + size(), data<int32_t>());
+
581 case int16:
+
582 std::copy(src, src + size(), data<int16_t>());
583 break;
-
584 case int64:
-
585 std::copy(src, src + size(), data<int64_t>());
+
584 case int32:
+
585 std::copy(src, src + size(), data<int32_t>());
586 break;
-
587 case float16:
-
588 std::copy(src, src + size(), data<float16_t>());
+
587 case int64:
+
588 std::copy(src, src + size(), data<int64_t>());
589 break;
-
590 case float32:
-
591 std::copy(src, src + size(), data<float>());
+
590 case float16:
+
591 std::copy(src, src + size(), data<float16_t>());
592 break;
-
593 case bfloat16:
-
594 std::copy(src, src + size(), data<bfloat16_t>());
+
593 case float32:
+
594 std::copy(src, src + size(), data<float>());
595 break;
-
596 case complex64:
-
597 std::copy(src, src + size(), data<complex64_t>());
+
596 case bfloat16:
+
597 std::copy(src, src + size(), data<bfloat16_t>());
598 break;
-
599 }
-
600}
-
601
-
602/* Utilities for determining whether a template parameter is array. */
-
603template <typename T>
-
604inline constexpr bool is_array_v =
-
605 std::is_same_v<std::remove_cv_t<std::remove_reference_t<T>>, array>;
-
606
-
607template <typename... T>
-
608inline constexpr bool is_arrays_v = (is_array_v<T> && ...);
+
599 case complex64:
+
600 std::copy(src, src + size(), data<complex64_t>());
+
601 break;
+
602 }
+
603}
+
604
+
605/* Utilities for determining whether a template parameter is array. */
+
606template <typename T>
+
607inline constexpr bool is_array_v =
+
608 std::is_same_v<std::remove_cv_t<std::remove_reference_t<T>>, array>;
609
610template <typename... T>
-
611using enable_for_arrays_t = typename std::enable_if_t<is_arrays_v<T...>>;
+
611inline constexpr bool is_arrays_v = (is_array_v<T> && ...);
612
-
613} // namespace mlx::core
+
613template <typename... T>
+
614using enable_for_arrays_t = typename std::enable_if_t<is_arrays_v<T...>>;
+
615
+
616} // namespace mlx::core
Definition event.h:11
Definition primitives.h:48
virtual size_t size(Buffer buffer) const =0
Definition allocator.h:12
-
Definition array.h:20
-
void attach_event(Event e) const
Definition array.h:389
-
const Flags & flags() const
Get the Flags bit-field.
Definition array.h:302
-
Event & event() const
Definition array.h:384
-
static std::vector< array > make_arrays(std::vector< std::vector< int > > shapes, const std::vector< Dtype > &dtypes, const std::shared_ptr< Primitive > &primitive, const std::vector< array > &inputs)
-
const std::vector< size_t > & strides() const
The strides of the array.
Definition array.h:113
-
Status
Definition array.h:347
-
@ available
Definition array.h:365
-
@ evaluated
Definition array.h:360
-
@ unscheduled
Definition array.h:350
-
@ scheduled
Definition array.h:355
-
void set_data(allocator::Buffer buffer, size_t data_size, std::vector< size_t > strides, Flags flags, deleter_t d=allocator::free)
+
Definition array.h:23
+
void attach_event(Event e) const
Definition array.h:392
+
const Flags & flags() const
Get the Flags bit-field.
Definition array.h:305
+
Event & event() const
Definition array.h:387
+
Status
Definition array.h:350
+
@ available
Definition array.h:368
+
@ evaluated
Definition array.h:363
+
@ unscheduled
Definition array.h:353
+
@ scheduled
Definition array.h:358
+
const Shape & shape() const
The shape of the array as a vector of integers.
Definition array.h:102
void eval()
Evaluate the array.
-
void copy_shared_buffer(const array &other, const std::vector< size_t > &strides, Flags flags, size_t data_size, size_t offset=0)
-
const std::vector< array > & inputs() const
The array's inputs.
Definition array.h:258
+
const Strides & strides() const
The strides of the array.
Definition array.h:116
+
const std::vector< array > & inputs() const
The array's inputs.
Definition array.h:261
array(const array &other)=default
-
std::vector< array > outputs() const
The outputs of the array's primitive (i.e.
Definition array.h:288
+
std::vector< array > outputs() const
The outputs of the array's primitive (i.e.
Definition array.h:291
-
size_t nbytes() const
The number of bytes in the array.
Definition array.h:89
+
size_t nbytes() const
The number of bytes in the array.
Definition array.h:92
void move_shared_buffer(array other)
+
static std::vector< array > make_arrays(std::vector< Shape > shapes, const std::vector< Dtype > &dtypes, const std::shared_ptr< Primitive > &primitive, const std::vector< array > &inputs)
array(std::initializer_list< float > data)
-
bool is_donatable() const
True indicates the arrays buffer is safe to reuse.
Definition array.h:267
-
const std::vector< int > & shape() const
The shape of the array as a vector of integers.
Definition array.h:99
-
std::shared_ptr< Primitive > & primitive_ptr() const
A shared pointer to the array's primitive.
Definition array.h:248
-
int shape(int dim) const
Get the size of the corresponding dimension.
Definition array.h:108
-
size_t ndim() const
The number of dimensions of the array.
Definition array.h:94
-
size_t size() const
The number of elements in the array.
Definition array.h:84
-
array(allocator::Buffer data, std::vector< int > shape, Dtype dtype, deleter_t deleter=allocator::free)
+
bool is_donatable() const
True indicates the arrays buffer is safe to reuse.
Definition array.h:270
+
array(allocator::Buffer data, Shape shape, Dtype dtype, Deleter deleter=allocator::free)
+
std::shared_ptr< Primitive > & primitive_ptr() const
A shared pointer to the array's primitive.
Definition array.h:251
+
size_t ndim() const
The number of dimensions of the array.
Definition array.h:97
+
size_t size() const
The number of elements in the array.
Definition array.h:87
array & operator=(array &&other) &&=delete
-
array & operator=(const array &other) &
Definition array.h:71
-
ArrayIterator end() const
Definition array.h:176
+
array & operator=(const array &other) &
Definition array.h:74
+
ArrayIterator end() const
Definition array.h:179
array(std::initializer_list< int > data, Dtype dtype)
-
void set_data(allocator::Buffer buffer, deleter_t d=allocator::free)
-
const allocator::Buffer & buffer() const
Definition array.h:323
-
void set_status(Status s) const
Definition array.h:379
+
void set_data(allocator::Buffer buffer, size_t data_size, Strides strides, Flags flags, Deleter d=allocator::free)
+
const allocator::Buffer & buffer() const
Definition array.h:326
+
void set_status(Status s) const
Definition array.h:382
array(const std::complex< float > &val, Dtype dtype=complex64)
-
Status status() const
Definition array.h:375
-
std::vector< array > & siblings()
The array's siblings.
Definition array.h:277
-
T * data()
Definition array.h:338
-
array(T val, Dtype dtype=TypeToDtype< T >())
Construct a scalar array with zero dimensions.
Definition array.h:497
-
ArrayIterator begin() const
Definition array.h:173
-
Primitive & primitive() const
The array's primitive.
Definition array.h:243
+
Status status() const
Definition array.h:378
+
std::vector< array > & siblings()
The array's siblings.
Definition array.h:280
+
T * data()
Definition array.h:341
+
array(T val, Dtype dtype=TypeToDtype< T >())
Construct a scalar array with zero dimensions.
Definition array.h:500
+
ArrayIterator begin() const
Definition array.h:176
+
Primitive & primitive() const
The array's primitive.
Definition array.h:246
void detach()
Detach the array from the graph.
array & operator=(const array &other) &&=delete
Assignment to rvalue does not compile.
-
void set_siblings(std::vector< array > siblings, uint16_t position)
Definition array.h:281
-
T item()
Get the value from a scalar array.
Definition array.h:535
-
size_t buffer_size() const
Definition array.h:327
-
size_t strides(int dim) const
Get the stride of the corresponding dimension.
Definition array.h:122
+
void set_siblings(std::vector< array > siblings, uint16_t position)
Definition array.h:284
+
T item()
Get the value from a scalar array.
Definition array.h:538
+
size_t buffer_size() const
Definition array.h:330
void copy_shared_buffer(const array &other)
-
void overwrite_descriptor(const array &other)
Definition array.h:427
-
const T * data() const
Definition array.h:343
-
bool has_primitive() const
Check if the array has an attached primitive or is a leaf node.
Definition array.h:253
-
allocator::Buffer & buffer()
Definition array.h:320
+
void overwrite_descriptor(const array &other)
Definition array.h:430
+
const T * data() const
Definition array.h:346
+
bool has_primitive() const
Check if the array has an attached primitive or is a leaf node.
Definition array.h:256
+
allocator::Buffer & buffer()
Definition array.h:323
array(array &&other)=default
-
std::shared_ptr< Data > data_shared_ptr() const
Definition array.h:333
-
void move_shared_buffer(array other, const std::vector< size_t > &strides, Flags flags, size_t data_size, size_t offset=0)
-
const std::vector< array > & siblings() const
The array's siblings.
Definition array.h:272
-
std::vector< array > & inputs()
Definition array.h:262
+
std::shared_ptr< Data > data_shared_ptr() const
Definition array.h:336
+
array(Shape shape, Dtype dtype, std::shared_ptr< Primitive > primitive, std::vector< array > inputs)
The following methods should be used with caution.
+
auto shape(int dim) const
Get the size of the corresponding dimension.
Definition array.h:111
+
auto strides(int dim) const
Get the stride of the corresponding dimension.
Definition array.h:125
+
const std::vector< array > & siblings() const
The array's siblings.
Definition array.h:275
+
std::vector< array > & inputs()
Definition array.h:265
+
void copy_shared_buffer(const array &other, const Strides &strides, Flags flags, size_t data_size, size_t offset=0)
array & operator=(array &&other) &=default
Default copy and move constructors otherwise.
-
array(std::vector< int > shape, Dtype dtype, std::shared_ptr< Primitive > primitive, std::vector< array > inputs)
The following methods should be used with caution.
-
std::uintptr_t id() const
A unique identifier for an array.
Definition array.h:199
-
Dtype dtype() const
Get the arrays data type.
Definition array.h:127
+
void move_shared_buffer(array other, const Strides &strides, Flags flags, size_t data_size, size_t offset=0)
+
std::uintptr_t id() const
A unique identifier for an array.
Definition array.h:202
+
Dtype dtype() const
Get the arrays data type.
Definition array.h:130
bool is_available() const
-
void set_tracer(bool is_tracer)
Definition array.h:394
-
size_t itemsize() const
The size of the array's datatype in bytes.
Definition array.h:79
-
std::uintptr_t primitive_id() const
A unique identifier for an arrays primitive.
Definition array.h:204
+
void set_tracer(bool is_tracer)
Definition array.h:397
+
size_t itemsize() const
The size of the array's datatype in bytes.
Definition array.h:82
+
std::uintptr_t primitive_id() const
A unique identifier for an arrays primitive.
Definition array.h:207
bool is_tracer() const
-
size_t data_size() const
The size (in elements) of the underlying buffer the array points to.
Definition array.h:316
+
void set_data(allocator::Buffer buffer, Deleter d=allocator::free)
+
size_t data_size() const
The size (in elements) of the underlying buffer the array points to.
Definition array.h:319
array std(const array &a, bool keepdims, int ddof=0, StreamOrDevice s={})
Computes the standard deviation of the elements of an array.
@@ -844,9 +847,8 @@ $(function(){ initResizable(false); });
void free(Buffer buffer)
Allocator & allocator()
Definition allocator.h:7
-
constexpr bool is_array_v
Definition array.h:604
+
constexpr bool is_array_v
Definition array.h:607
constexpr Dtype bool_
Definition dtype.h:67
-
std::function< void(allocator::Buffer)> deleter_t
Definition array.h:18
constexpr Dtype uint64
Definition dtype.h:72
constexpr Dtype uint16
Definition dtype.h:70
constexpr Dtype bfloat16
Definition dtype.h:81
@@ -855,36 +857,39 @@ $(function(){ initResizable(false); });
constexpr Dtype int16
Definition dtype.h:75
constexpr Dtype int8
Definition dtype.h:74
constexpr Dtype int64
Definition dtype.h:77
-
constexpr bool is_arrays_v
Definition array.h:608
+
constexpr bool is_arrays_v
Definition array.h:611
constexpr Dtype uint8
Definition dtype.h:69
+
std::vector< int32_t > Shape
Definition array.h:20
constexpr Dtype float16
Definition dtype.h:79
constexpr Dtype uint32
Definition dtype.h:71
+
std::vector< size_t > Strides
Definition array.h:21
uint8_t size_of(const Dtype &t)
Definition dtype.h:102
-
typename std::enable_if_t< is_arrays_v< T... > > enable_for_arrays_t
Definition array.h:611
+
std::function< void(allocator::Buffer)> Deleter
Definition array.h:19
+
typename std::enable_if_t< is_arrays_v< T... > > enable_for_arrays_t
Definition array.h:614
constexpr Dtype complex64
Definition dtype.h:82
Definition dtype.h:13
Definition dtype.h:109
-
Definition array.h:141
+
Definition array.h:144
-
friend bool operator==(const ArrayIterator &a, const ArrayIterator &b)
Definition array.h:161
-
std::random_access_iterator_tag iterator_category
Definition array.h:142
-
ArrayIterator & operator++()
Definition array.h:156
-
friend bool operator!=(const ArrayIterator &a, const ArrayIterator &b)
Definition array.h:164
+
friend bool operator==(const ArrayIterator &a, const ArrayIterator &b)
Definition array.h:164
+
std::random_access_iterator_tag iterator_category
Definition array.h:145
+
ArrayIterator & operator++()
Definition array.h:159
+
friend bool operator!=(const ArrayIterator &a, const ArrayIterator &b)
Definition array.h:167
ArrayIterator(const array &arr, int idx=0)
-
size_t difference_type
Definition array.h:143
-
const array value_type
Definition array.h:144
-
ArrayIterator & operator+(difference_type diff)
Definition array.h:151
-
Definition array.h:208
-
~Data()
Definition array.h:216
-
deleter_t d
Definition array.h:210
+
size_t difference_type
Definition array.h:146
+
const array value_type
Definition array.h:147
+
ArrayIterator & operator+(difference_type diff)
Definition array.h:154
+
Definition array.h:211
+
Deleter d
Definition array.h:213
+
Data(allocator::Buffer buffer, Deleter d=allocator::free)
Definition array.h:214
+
~Data()
Definition array.h:219
Data(const Data &d)=delete
Data & operator=(const Data &d)=delete
-
Data(allocator::Buffer buffer, deleter_t d=allocator::free)
Definition array.h:211
-
allocator::Buffer buffer
Definition array.h:209
-
Definition array.h:221
-
bool row_contiguous
Definition array.h:233
-
bool col_contiguous
Definition array.h:239
-
bool contiguous
Definition array.h:227
+
allocator::Buffer buffer
Definition array.h:212
+
Definition array.h:224
+
bool row_contiguous
Definition array.h:236
+
bool col_contiguous
Definition array.h:242
+
bool contiguous
Definition array.h:230
31
@@ -308,14 +308,14 @@ $(function(){ initResizable(false); });
189
190} // namespace mlx::core
-
Definition array.h:20
-
const Flags & flags() const
Get the Flags bit-field.
Definition array.h:302
-
const std::vector< size_t > & strides() const
The strides of the array.
Definition array.h:113
-
size_t nbytes() const
The number of bytes in the array.
Definition array.h:89
-
bool is_donatable() const
True indicates the arrays buffer is safe to reuse.
Definition array.h:267
-
const std::vector< int > & shape() const
The shape of the array as a vector of integers.
Definition array.h:99
-
size_t buffer_size() const
Definition array.h:327
-
size_t itemsize() const
The size of the array's datatype in bytes.
Definition array.h:79
+
Definition array.h:23
+
const Flags & flags() const
Get the Flags bit-field.
Definition array.h:305
+
const Shape & shape() const
The shape of the array as a vector of integers.
Definition array.h:102
+
const Strides & strides() const
The strides of the array.
Definition array.h:116
+
size_t nbytes() const
The number of bytes in the array.
Definition array.h:92
+
bool is_donatable() const
True indicates the arrays buffer is safe to reuse.
Definition array.h:270
+
size_t buffer_size() const
Definition array.h:330
+
size_t itemsize() const
The size of the array's datatype in bytes.
Definition array.h:82
Definition allocator.h:7
std::vector< StrideT > make_contiguous_strides(const std::vector< int > &shape)
Definition utils.h:33
std::tuple< std::vector< int >, std::vector< std::vector< int64_t > > > collapse_contiguous_dims(const std::vector< int > &shape, const std::vector< std::vector< int64_t > > &strides, int64_t size_cap=std::numeric_limits< int32_t >::max())
@@ -323,7 +323,7 @@ $(function(){ initResizable(false); });
StrideT elem_to_loc(int elem, const std::vector< int > &shape, const std::vector< StrideT > &strides)
Definition utils.h:12
void move_or_copy(const array &in, array &out)
bool is_donatable(const array &in, const array &out)
Definition utils.h:174
-
typename std::enable_if_t< is_arrays_v< T... > > enable_for_arrays_t
Definition array.h:611
+
typename std::enable_if_t< is_arrays_v< T... > > enable_for_arrays_t
Definition array.h:614
Definition utils.h:89
StrideT loc
Definition utils.h:142
ContiguousIterator(const std::vector< int > &shape, const std::vector< StrideT > &strides, int dims)
Definition utils.h:130
@@ -332,8 +332,8 @@ $(function(){ initResizable(false); });
ContiguousIterator()
Definition utils.h:120
ContiguousIterator(const array &a)
Definition utils.h:122
void step()
Definition utils.h:90
-
Definition array.h:221
-
bool row_contiguous
Definition array.h:233
+
Definition array.h:224
+
bool row_contiguous
Definition array.h:236
+ + + +

Typedefs

using mlx::core::deleter_t = std::function<void(allocator::Buffer)>
 
using mlx::core::Deleter = std::function<void(allocator::Buffer)>
 
using mlx::core::Shape = std::vector<int32_t>
 
using mlx::core::Strides = std::vector<size_t>
 
template<typename... T>
using mlx::core::enable_for_arrays_t = typename std::enable_if_t<is_arrays_v<T...>>
 
 
struct  LoopedElemToLoc< 1, OffsetT, false >
 
struct  ConditionalType< condition, T, U >
 
struct  ConditionalType< true, T, U >
 
diff --git a/docs/build/html/backend_2metal_2kernels_2utils_8h_source.html b/docs/build/html/backend_2metal_2kernels_2utils_8h_source.html index 66c8011c3..f5050fc46 100644 --- a/docs/build/html/backend_2metal_2kernels_2utils_8h_source.html +++ b/docs/build/html/backend_2metal_2kernels_2utils_8h_source.html @@ -588,6 +588,21 @@ $(function(){ initResizable(false); });
422 simd_shuffle(data.real, lane), simd_shuffle(data.imag, lane));
423}
+
424
+
425// std::conditional is not included with Metal
+
426template <bool condition, typename T, typename U>
+
+ +
428 using type = U;
+
429};
+
+
430
+
431template <typename T, typename U>
+
+
432struct ConditionalType<true, T, U> {
+
433 using type = T;
+
434};
+
BufferHolder * next
Definition allocator.h:38
struct _MLX_BFloat16 bfloat16_t
Definition bf16.h:251
@@ -610,6 +625,9 @@ $(function(){ initResizable(false); });
METAL_FUNC bfloat16_t simd_shuffle_down(bfloat16_t data, ushort delta)
Definition bf16_math.h:377
METAL_FUNC bfloat16_t simd_shuffle_up(bfloat16_t data, ushort delta)
Definition bf16_math.h:377
Definition bf16.h:48
+
T type
Definition utils.h:433
+
Definition utils.h:427
+
U type
Definition utils.h:428
Definition utils.h:23
static const constant U max
Definition utils.h:24
static const constant U finite_max
Definition utils.h:26
diff --git a/docs/build/html/backend_2metal_2utils_8h_source.html b/docs/build/html/backend_2metal_2utils_8h_source.html index 32b2bae63..b6e4ce92c 100644 --- a/docs/build/html/backend_2metal_2utils_8h_source.html +++ b/docs/build/html/backend_2metal_2utils_8h_source.html @@ -181,7 +181,7 @@ $(function(){ initResizable(false); });
Definition primitives.h:48
virtual void print(std::ostream &os)=0
Print the primitive.
-
Definition array.h:20
+
Definition array.h:23
Definition allocator.h:7
MTL::Size get_block_dims(int dim0, int dim1, int dim2, int pow2=10)
void debug_set_primitive_buffer_label(MTL::CommandBuffer *command_buffer, Primitive &primitive)
Definition utils.h:50
diff --git a/docs/build/html/classes.html b/docs/build/html/classes.html index 77d6a0d14..e6cd951a4 100644 --- a/docs/build/html/classes.html +++ b/docs/build/html/classes.html @@ -97,7 +97,7 @@ $(function(){ initResizable(false); });
BaseMMAFrag (mlx::steel)
BaseMMAFrag< T, 8, 8 > (mlx::steel)
_MLX_BFloat16::bits_to_bfloat_struct
BitwiseAnd
BitwiseAnd (mlx::core::detail)
BitwiseBinary (mlx::core)
BitwiseOr
BitwiseOr (mlx::core::detail)
BitwiseXor
BitwiseXor (mlx::core::detail)
BlockLoader (mlx::steel)
BlockLoaderT (mlx::steel)
BlockMaskedMM (mlx::core)
BlockMergeSort
BlockMMA (mlx::steel)
BlockSwizzle (mlx::steel)
bool4_or_uint
Broadcast (mlx::core)
Buffer (mlx::core::allocator)
C
-
Ceil
Ceil (mlx::core)
Ceil (mlx::core::detail)
cfftp (pocketfft::detail)
ChannelHelper (mlx::steel)
ChannelHelper< 1 > (mlx::steel)
ChannelHelper< 2 > (mlx::steel)
ChannelHelper< 3 > (mlx::steel)
ChannelHelper< 4 > (mlx::steel)
Cholesky (mlx::core)
cmplx (pocketfft::detail)
cndarr (pocketfft::detail)
CommandEncoder (mlx::core::metal)
CommonAllocator (mlx::core::allocator)
Compiled (mlx::core)
complex128_t (mlx::core)
complex64_t
complex64_t (mlx::core)
Concatenate (mlx::core)
concurrent_queue (pocketfft::detail::threading)
CommandEncoder::ConcurrentContext (mlx::core::metal)
Conjugate
Conjugate (mlx::core)
Conjugate (mlx::core::detail)
Contiguous (mlx::core)
ContiguousIterator (mlx::core)
Conv2DGeneralBaseInfo (mlx::steel)
Conv2DGeneralJumpParams (mlx::steel)
Conv2DInputBlockLoaderGeneral (mlx::steel)
Conv2DInputBlockLoaderLargeFilter (mlx::steel)
Conv2DInputBlockLoaderSmallChannels (mlx::steel)
Conv2DInputBlockLoaderSmallFilter (mlx::steel)
Conv2DWeightBlockLoader (mlx::steel)
Conv2DWeightBlockLoaderGeneral (mlx::steel)
Conv2DWeightBlockLoaderSmallChannels (mlx::steel)
Convolution (mlx::core)
Copy (mlx::core)
Cos
Cos (mlx::core)
Cos (mlx::core::detail)
Cosh
Cosh (mlx::core)
Cosh (mlx::core::detail)
CShape (mlx::steel)
CumMax
CumMin
CumProd
CumProd< bool >
CumSum
Custom (mlx::core::fast)
CustomKernel (mlx::core::fast)
CustomKernelShapeInfo (mlx::core::fast)
CustomTransforms (mlx::core)
+
Ceil
Ceil (mlx::core)
Ceil (mlx::core::detail)
cfftp (pocketfft::detail)
ChannelHelper (mlx::steel)
ChannelHelper< 1 > (mlx::steel)
ChannelHelper< 2 > (mlx::steel)
ChannelHelper< 3 > (mlx::steel)
ChannelHelper< 4 > (mlx::steel)
Cholesky (mlx::core)
cmplx (pocketfft::detail)
cndarr (pocketfft::detail)
CommandEncoder (mlx::core::metal)
CommonAllocator (mlx::core::allocator)
Compiled (mlx::core)
complex128_t (mlx::core)
complex64_t
complex64_t (mlx::core)
Concatenate (mlx::core)
concurrent_queue (pocketfft::detail::threading)
CommandEncoder::ConcurrentContext (mlx::core::metal)
ConditionalType
ConditionalType< true, T, U >
Conjugate
Conjugate (mlx::core)
Conjugate (mlx::core::detail)
Contiguous (mlx::core)
ContiguousIterator (mlx::core)
Conv2DGeneralBaseInfo (mlx::steel)
Conv2DGeneralJumpParams (mlx::steel)
Conv2DInputBlockLoaderGeneral (mlx::steel)
Conv2DInputBlockLoaderLargeFilter (mlx::steel)
Conv2DInputBlockLoaderSmallChannels (mlx::steel)
Conv2DInputBlockLoaderSmallFilter (mlx::steel)
Conv2DWeightBlockLoader (mlx::steel)
Conv2DWeightBlockLoaderGeneral (mlx::steel)
Conv2DWeightBlockLoaderSmallChannels (mlx::steel)
Convolution (mlx::core)
Copy (mlx::core)
Cos
Cos (mlx::core)
Cos (mlx::core::detail)
Cosh
Cosh (mlx::core)
Cosh (mlx::core::detail)
CShape (mlx::steel)
CumMax
CumMin
CumProd
CumProd< bool >
CumSum
Custom (mlx::core::fast)
CustomKernel (mlx::core::fast)
CustomKernelShapeInfo (mlx::core::fast)
CustomTransforms (mlx::core)
D
array::Data (mlx::core)
DefaultContiguousReduce (mlx::core)
DefaultStridedReduce (mlx::core)
Depends (mlx::core)
Device (mlx::core)
Device (mlx::core::metal)
DeviceStream (mlx::core::metal)
DistPrimitive (mlx::core::distributed)
Divide
Divide (mlx::core::detail)
Divide (mlx::core)
DivMod
DivMod (mlx::core)
DivOp
Dtype (mlx::core)
diff --git a/docs/build/html/classmlx_1_1core_1_1_abs-members.html b/docs/build/html/classmlx_1_1core_1_1_abs-members.html index 60ccbe2b3..f9501a713 100644 --- a/docs/build/html/classmlx_1_1core_1_1_abs-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_abs-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); });
- + diff --git a/docs/build/html/classmlx_1_1core_1_1_abs.html b/docs/build/html/classmlx_1_1core_1_1_abs.html index 175f3de37..218222ac0 100644 --- a/docs/build/html/classmlx_1_1core_1_1_abs.html +++ b/docs/build/html/classmlx_1_1core_1_1_abs.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions

Macros

operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Absinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Absinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_add-members.html b/docs/build/html/classmlx_1_1core_1_1_add-members.html index 2b045f851..ce8ca14c6 100644 --- a/docs/build/html/classmlx_1_1core_1_1_add-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_add-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_add.html b/docs/build/html/classmlx_1_1core_1_1_add.html index 81961d64d..9dd674b5b 100644 --- a/docs/build/html/classmlx_1_1core_1_1_add.html +++ b/docs/build/html/classmlx_1_1core_1_1_add.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
- + diff --git a/docs/build/html/classmlx_1_1core_1_1_arc_cos.html b/docs/build/html/classmlx_1_1core_1_1_arc_cos.html index d829fb87d..7f4d285d3 100644 --- a/docs/build/html/classmlx_1_1core_1_1_arc_cos.html +++ b/docs/build/html/classmlx_1_1core_1_1_arc_cos.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::Abs::output_shapes std::vector< Shape > mlx::core::Abs::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Addinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Addinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_add_m_m-members.html b/docs/build/html/classmlx_1_1core_1_1_add_m_m-members.html index 113fe22cc..cb669de52 100644 --- a/docs/build/html/classmlx_1_1core_1_1_add_m_m-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_add_m_m-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_add_m_m.html b/docs/build/html/classmlx_1_1core_1_1_add_m_m.html index edf52820c..2a46960cb 100644 --- a/docs/build/html/classmlx_1_1core_1_1_add_m_m.html +++ b/docs/build/html/classmlx_1_1core_1_1_add_m_m.html @@ -158,9 +158,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1_arange-members.html b/docs/build/html/classmlx_1_1core_1_1_arange-members.html index c2f24fac4..c6db8da88 100644 --- a/docs/build/html/classmlx_1_1core_1_1_arange-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_arange-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_arange.html b/docs/build/html/classmlx_1_1core_1_1_arange.html index cbea55a54..4b20784c5 100644 --- a/docs/build/html/classmlx_1_1core_1_1_arange.html +++ b/docs/build/html/classmlx_1_1core_1_1_arange.html @@ -121,6 +121,9 @@ Public Member Functions + + + @@ -158,9 +161,6 @@ Public Member Functions - - - @@ -302,6 +302,36 @@ Public Member Functions

Reimplemented from mlx::core::Primitive.

+ + + +

◆ output_shapes()

+ +
+
+
std::vector< std::vector< int > > mlx::core::Add::output_shapes std::vector< Shape > mlx::core::Add::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
virtual std::vector< arrayjvp (const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums)
 The Jacobian-vector product.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Arangevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
virtual std::pair< std::vector< array >, std::vector< int > > vmap (const std::vector< array > &inputs, const std::vector< int > &axes)
 The primitive must know how to vectorize itself across the given axes.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
+ + + + +
+ + + + + + + +
std::vector< Shape > mlx::core::Arange::output_shapes (const std::vector< array > & inputs)
+
+overridevirtual
+
+ +

Get the output shapes of the primitive.

+

This is not required to be implemented by derived classes, in which case it will throw.

+ +

Reimplemented from mlx::core::Primitive.

+
diff --git a/docs/build/html/classmlx_1_1core_1_1_arc_cos-members.html b/docs/build/html/classmlx_1_1core_1_1_arc_cos-members.html index 2c1322299..b313ef0e8 100644 --- a/docs/build/html/classmlx_1_1core_1_1_arc_cos-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_arc_cos-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); });
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::ArcCosinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::ArcCosinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_arc_cosh-members.html b/docs/build/html/classmlx_1_1core_1_1_arc_cosh-members.html index 8f438f92d..1c130de7a 100644 --- a/docs/build/html/classmlx_1_1core_1_1_arc_cosh-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_arc_cosh-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_arc_cosh.html b/docs/build/html/classmlx_1_1core_1_1_arc_cosh.html index 35b069f94..0838fbc92 100644 --- a/docs/build/html/classmlx_1_1core_1_1_arc_cosh.html +++ b/docs/build/html/classmlx_1_1core_1_1_arc_cosh.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::ArcCos::output_shapes std::vector< Shape > mlx::core::ArcCos::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::ArcCoshinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::ArcCoshinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_arc_sin-members.html b/docs/build/html/classmlx_1_1core_1_1_arc_sin-members.html index 7459baa07..e8dc0ce13 100644 --- a/docs/build/html/classmlx_1_1core_1_1_arc_sin-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_arc_sin-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_arc_sin.html b/docs/build/html/classmlx_1_1core_1_1_arc_sin.html index 5940f522b..335eefc4c 100644 --- a/docs/build/html/classmlx_1_1core_1_1_arc_sin.html +++ b/docs/build/html/classmlx_1_1core_1_1_arc_sin.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::ArcCosh::output_shapes std::vector< Shape > mlx::core::ArcCosh::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::ArcSininlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::ArcSininlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_arc_sinh-members.html b/docs/build/html/classmlx_1_1core_1_1_arc_sinh-members.html index 816670a36..42b97c8f1 100644 --- a/docs/build/html/classmlx_1_1core_1_1_arc_sinh-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_arc_sinh-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_arc_sinh.html b/docs/build/html/classmlx_1_1core_1_1_arc_sinh.html index cf5a35ea2..ad83db2b4 100644 --- a/docs/build/html/classmlx_1_1core_1_1_arc_sinh.html +++ b/docs/build/html/classmlx_1_1core_1_1_arc_sinh.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::ArcSin::output_shapes std::vector< Shape > mlx::core::ArcSin::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::ArcSinhinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::ArcSinhinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_arc_tan-members.html b/docs/build/html/classmlx_1_1core_1_1_arc_tan-members.html index c0796ec85..aa6b5150b 100644 --- a/docs/build/html/classmlx_1_1core_1_1_arc_tan-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_arc_tan-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_arc_tan.html b/docs/build/html/classmlx_1_1core_1_1_arc_tan.html index 537cbc1d5..11ffb3f01 100644 --- a/docs/build/html/classmlx_1_1core_1_1_arc_tan.html +++ b/docs/build/html/classmlx_1_1core_1_1_arc_tan.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::ArcSinh::output_shapes std::vector< Shape > mlx::core::ArcSinh::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::ArcTaninlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::ArcTaninlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_arc_tan2-members.html b/docs/build/html/classmlx_1_1core_1_1_arc_tan2-members.html index bcda7fddd..a6f32e13d 100644 --- a/docs/build/html/classmlx_1_1core_1_1_arc_tan2-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_arc_tan2-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_arc_tan2.html b/docs/build/html/classmlx_1_1core_1_1_arc_tan2.html index ca7dc2bbb..d02e0b6c4 100644 --- a/docs/build/html/classmlx_1_1core_1_1_arc_tan2.html +++ b/docs/build/html/classmlx_1_1core_1_1_arc_tan2.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::ArcTan::output_shapes std::vector< Shape > mlx::core::ArcTan::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::ArcTan2inlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::ArcTan2inlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_arc_tanh-members.html b/docs/build/html/classmlx_1_1core_1_1_arc_tanh-members.html index 08f644f5e..cff6999ed 100644 --- a/docs/build/html/classmlx_1_1core_1_1_arc_tanh-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_arc_tanh-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_arc_tanh.html b/docs/build/html/classmlx_1_1core_1_1_arc_tanh.html index 084d4457d..adc5253c2 100644 --- a/docs/build/html/classmlx_1_1core_1_1_arc_tanh.html +++ b/docs/build/html/classmlx_1_1core_1_1_arc_tanh.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::ArcTan2::output_shapes std::vector< Shape > mlx::core::ArcTan2::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::ArcTanhinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::ArcTanhinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_arg_partition-members.html b/docs/build/html/classmlx_1_1core_1_1_arg_partition-members.html index e7d6f328e..e708f7fc3 100644 --- a/docs/build/html/classmlx_1_1core_1_1_arg_partition-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_arg_partition-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_arg_partition.html b/docs/build/html/classmlx_1_1core_1_1_arg_partition.html index e1c91531d..04b2e40d4 100644 --- a/docs/build/html/classmlx_1_1core_1_1_arg_partition.html +++ b/docs/build/html/classmlx_1_1core_1_1_arg_partition.html @@ -127,9 +127,9 @@ Public Member Functions - - - + + + @@ -337,8 +337,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -347,7 +347,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::ArcTanh::output_shapes std::vector< Shape > mlx::core::ArcTanh::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::ArgPartitioninlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::ArgPartitioninlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
void print (std::ostream &os) override
 Print the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
- + @@ -363,7 +363,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_arg_reduce-members.html b/docs/build/html/classmlx_1_1core_1_1_arg_reduce-members.html index 4d1c80263..a86a23fbd 100644 --- a/docs/build/html/classmlx_1_1core_1_1_arg_reduce-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_arg_reduce-members.html @@ -108,7 +108,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_arg_reduce.html b/docs/build/html/classmlx_1_1core_1_1_arg_reduce.html index 2175da61e..d4115d622 100644 --- a/docs/build/html/classmlx_1_1core_1_1_arg_reduce.html +++ b/docs/build/html/classmlx_1_1core_1_1_arg_reduce.html @@ -138,9 +138,9 @@ Public Member Functions - - - + + + @@ -364,8 +364,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -374,7 +374,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::ArgPartition::output_shapes std::vector< Shape > mlx::core::ArgPartition::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::ArgReducevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::ArgReducevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -390,7 +390,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_arg_sort-members.html b/docs/build/html/classmlx_1_1core_1_1_arg_sort-members.html index 94f49dfe6..2eec3e178 100644 --- a/docs/build/html/classmlx_1_1core_1_1_arg_sort-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_arg_sort-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_arg_sort.html b/docs/build/html/classmlx_1_1core_1_1_arg_sort.html index e7ebb6d83..66b002033 100644 --- a/docs/build/html/classmlx_1_1core_1_1_arg_sort.html +++ b/docs/build/html/classmlx_1_1core_1_1_arg_sort.html @@ -121,9 +121,9 @@ Public Member Functions - - - + + + @@ -294,8 +294,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -304,7 +304,7 @@ Public Member Functions
- + - + diff --git a/docs/build/html/classmlx_1_1core_1_1_as_type-members.html b/docs/build/html/classmlx_1_1core_1_1_as_type-members.html index 428f204c9..037024891 100644 --- a/docs/build/html/classmlx_1_1core_1_1_as_type-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_as_type-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_as_type.html b/docs/build/html/classmlx_1_1core_1_1_as_type.html index ac1d921cb..43af8c5ac 100644 --- a/docs/build/html/classmlx_1_1core_1_1_as_type.html +++ b/docs/build/html/classmlx_1_1core_1_1_as_type.html @@ -127,9 +127,9 @@ Public Member Functions - - - + + + @@ -332,8 +332,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -342,7 +342,7 @@ Public Member Functions
diff --git a/docs/build/html/classmlx_1_1core_1_1_ceil-members.html b/docs/build/html/classmlx_1_1core_1_1_ceil-members.html index 174b5f7f0..1081c0aa0 100644 --- a/docs/build/html/classmlx_1_1core_1_1_ceil-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_ceil-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_ceil.html b/docs/build/html/classmlx_1_1core_1_1_ceil.html index dbada590b..8b5cfdb35 100644 --- a/docs/build/html/classmlx_1_1core_1_1_ceil.html +++ b/docs/build/html/classmlx_1_1core_1_1_ceil.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::ArgReduce::output_shapes std::vector< Shape > mlx::core::ArgReduce::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::ArgSortinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::ArgSortinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
void print (std::ostream &os) override
 Print the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
- + @@ -320,7 +320,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_as_strided-members.html b/docs/build/html/classmlx_1_1core_1_1_as_strided-members.html index a7908d156..71ddfc428 100644 --- a/docs/build/html/classmlx_1_1core_1_1_as_strided-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_as_strided-members.html @@ -94,7 +94,7 @@ $(function(){ initResizable(false); });

This is the complete list of members for mlx::core::AsStrided, including all inherited members.

std::vector< std::vector< int > > mlx::core::ArgSort::output_shapes std::vector< Shape > mlx::core::ArgSort::output_shapes ( const std::vector< array > & inputs)
- + @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_as_strided.html b/docs/build/html/classmlx_1_1core_1_1_as_strided.html index eafaa0fbd..d8e0f8306 100644 --- a/docs/build/html/classmlx_1_1core_1_1_as_strided.html +++ b/docs/build/html/classmlx_1_1core_1_1_as_strided.html @@ -109,8 +109,8 @@ Inheritance diagram for mlx::core::AsStrided:
AsStrided(Stream stream, std::vector< int > shape, std::vector< size_t > strides, size_t offset)mlx::core::AsStridedinlineexplicit
AsStrided(Stream stream, Shape shape, Strides strides, size_t offset)mlx::core::AsStridedinlineexplicit
device()mlx::core::Primitiveinline
eval_cpu(const std::vector< array > &inputs, array &out) overridemlx::core::AsStridedvirtual
mlx::core::UnaryPrimitive::eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) overridemlx::core::UnaryPrimitiveinlinevirtual
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
- - + + @@ -158,9 +158,9 @@ Public Member Functions - - - + + + @@ -173,8 +173,8 @@ Public Member Functions

Public Member Functions

 AsStrided (Stream stream, std::vector< int > shape, std::vector< size_t > strides, size_t offset)
 
 AsStrided (Stream stream, Shape shape, Strides strides, size_t offset)
 
void eval_cpu (const std::vector< array > &inputs, array &out) override
 
void eval_gpu (const std::vector< array > &inputs, array &out) override
virtual std::pair< std::vector< array >, std::vector< int > > vmap (const std::vector< array > &inputs, const std::vector< int > &axes)
 The primitive must know how to vectorize itself across the given axes.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
 

Constructor & Destructor Documentation

- -

◆ AsStrided()

+ +

◆ AsStrided()

@@ -190,12 +190,12 @@ Public Member Functions
std::vector< int > shape, Shape shape,
std::vector< size_t > strides, Strides strides,
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::AsTypeinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::AsTypeinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
void print (std::ostream &os) override
 Print the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
- + @@ -358,7 +358,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_bitwise_binary-members.html b/docs/build/html/classmlx_1_1core_1_1_bitwise_binary-members.html index 34ef1905f..ff5e993be 100644 --- a/docs/build/html/classmlx_1_1core_1_1_bitwise_binary-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_bitwise_binary-members.html @@ -110,7 +110,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_bitwise_binary.html b/docs/build/html/classmlx_1_1core_1_1_bitwise_binary.html index acec87e7a..829eb977b 100644 --- a/docs/build/html/classmlx_1_1core_1_1_bitwise_binary.html +++ b/docs/build/html/classmlx_1_1core_1_1_bitwise_binary.html @@ -144,9 +144,9 @@ Public Member Functions - - - + + + @@ -368,8 +368,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -378,7 +378,7 @@ Public Member Functions
- +
std::vector< std::vector< int > > mlx::core::AsType::output_shapes std::vector< Shape > mlx::core::AsType::output_shapes ( const std::vector< array > & inputs)
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
Or enum valuemlx::core::BitwiseBinary
output_shapes(const std::vector< array > &inputs) overridemlx::core::BitwiseBinaryinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::BitwiseBinaryinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
void print (std::ostream &os) override
 Print the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -394,7 +394,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_block_masked_m_m-members.html b/docs/build/html/classmlx_1_1core_1_1_block_masked_m_m-members.html index 20ede52ba..3c4e236df 100644 --- a/docs/build/html/classmlx_1_1core_1_1_block_masked_m_m-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_block_masked_m_m-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_block_masked_m_m.html b/docs/build/html/classmlx_1_1core_1_1_block_masked_m_m.html index 76732bae4..be2921ad0 100644 --- a/docs/build/html/classmlx_1_1core_1_1_block_masked_m_m.html +++ b/docs/build/html/classmlx_1_1core_1_1_block_masked_m_m.html @@ -158,9 +158,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1_broadcast-members.html b/docs/build/html/classmlx_1_1core_1_1_broadcast-members.html index 3fbf3541a..2abdd8ef9 100644 --- a/docs/build/html/classmlx_1_1core_1_1_broadcast-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_broadcast-members.html @@ -94,7 +94,7 @@ $(function(){ initResizable(false); });

This is the complete list of members for mlx::core::Broadcast, including all inherited members.

std::vector< std::vector< int > > mlx::core::BitwiseBinary::output_shapes std::vector< Shape > mlx::core::BitwiseBinary::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
virtual std::pair< std::vector< array >, std::vector< int > > vmap (const std::vector< array > &inputs, const std::vector< int > &axes)
 The primitive must know how to vectorize itself across the given axes.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
- + @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_broadcast.html b/docs/build/html/classmlx_1_1core_1_1_broadcast.html index d9756bff4..76dcf5224 100644 --- a/docs/build/html/classmlx_1_1core_1_1_broadcast.html +++ b/docs/build/html/classmlx_1_1core_1_1_broadcast.html @@ -109,8 +109,8 @@ Inheritance diagram for mlx::core::Broadcast:
Broadcast(Stream stream, const std::vector< int > &shape)mlx::core::Broadcastinlineexplicit
Broadcast(Stream stream, const Shape &shape)mlx::core::Broadcastinlineexplicit
device()mlx::core::Primitiveinline
eval_cpu(const std::vector< array > &inputs, array &out) overridemlx::core::Broadcastvirtual
mlx::core::UnaryPrimitive::eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) overridemlx::core::UnaryPrimitiveinlinevirtual
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
- - + + @@ -158,9 +158,9 @@ Public Member Functions - - - + + + @@ -173,8 +173,8 @@ Public Member Functions

Public Member Functions

 Broadcast (Stream stream, const std::vector< int > &shape)
 
 Broadcast (Stream stream, const Shape &shape)
 
void eval_cpu (const std::vector< array > &inputs, array &out) override
 
void eval_gpu (const std::vector< array > &inputs, array &out) override
const Streamstream ()
 The stream the primitive will run on.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
 

Constructor & Destructor Documentation

- -

◆ Broadcast()

+ +

◆ Broadcast()

@@ -190,7 +190,7 @@ Public Member Functions
const std::vector< int > & shape )const Shape & shape )
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Ceilinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Ceilinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_cholesky-members.html b/docs/build/html/classmlx_1_1core_1_1_cholesky-members.html index 9125afcce..21d347f76 100644 --- a/docs/build/html/classmlx_1_1core_1_1_cholesky-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_cholesky-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_cholesky.html b/docs/build/html/classmlx_1_1core_1_1_cholesky.html index 9315c92a2..aa973813e 100644 --- a/docs/build/html/classmlx_1_1core_1_1_cholesky.html +++ b/docs/build/html/classmlx_1_1core_1_1_cholesky.html @@ -158,9 +158,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1_compiled-members.html b/docs/build/html/classmlx_1_1core_1_1_compiled-members.html index 9386ad7e0..4e1d6330e 100644 --- a/docs/build/html/classmlx_1_1core_1_1_compiled-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_compiled-members.html @@ -103,7 +103,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_compiled.html b/docs/build/html/classmlx_1_1core_1_1_compiled.html index be9d80ce4..36ee259c0 100644 --- a/docs/build/html/classmlx_1_1core_1_1_compiled.html +++ b/docs/build/html/classmlx_1_1core_1_1_compiled.html @@ -124,9 +124,9 @@ Public Member Functions - - - + + + @@ -358,8 +358,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -368,7 +368,7 @@ Public Member Functions
- + diff --git a/docs/build/html/classmlx_1_1core_1_1_conjugate.html b/docs/build/html/classmlx_1_1core_1_1_conjugate.html index b4f43cb4f..2546f35eb 100644 --- a/docs/build/html/classmlx_1_1core_1_1_conjugate.html +++ b/docs/build/html/classmlx_1_1core_1_1_conjugate.html @@ -124,9 +124,9 @@ Public Member Functions - - - + + + @@ -290,8 +290,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -300,7 +300,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::Ceil::output_shapes std::vector< Shape > mlx::core::Ceil::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
virtual bool is_equivalent (const Primitive &other) const
 Equivalence check defaults to false unless overridden by the primitive.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
lib_name() constmlx::core::Compiledinline
operator=(const Primitive &other)=deletemlx::core::Primitive
operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Compiledvirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Compiledvirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
std::vector< arrayvjp (const std::vector< array > &primals, const std::vector< array > &cotangents, const std::vector< int > &argnums, const std::vector< array > &outputs) override
 The vector-Jacobian product.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
void print (std::ostream &os) override
 Print the primitive.
 
- + @@ -384,7 +384,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_concatenate-members.html b/docs/build/html/classmlx_1_1core_1_1_concatenate-members.html index 5ab1f0673..3a7e68413 100644 --- a/docs/build/html/classmlx_1_1core_1_1_concatenate-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_concatenate-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_concatenate.html b/docs/build/html/classmlx_1_1core_1_1_concatenate.html index a16807eb7..c919179f3 100644 --- a/docs/build/html/classmlx_1_1core_1_1_concatenate.html +++ b/docs/build/html/classmlx_1_1core_1_1_concatenate.html @@ -130,6 +130,9 @@ Public Member Functions + + + @@ -158,9 +161,6 @@ Public Member Functions - - - @@ -330,6 +330,36 @@ Public Member Functions

Reimplemented from mlx::core::Primitive.

+ + + +

◆ output_shapes()

+ +
+
+
std::vector< std::vector< int > > mlx::core::Compiled::output_shapes std::vector< Shape > mlx::core::Compiled::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Concatenatevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
const Streamstream ()
 The stream the primitive will run on.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
+ + + + +
+ + + + + + + +
std::vector< Shape > mlx::core::Concatenate::output_shapes (const std::vector< array > & inputs)
+
+overridevirtual
+
+ +

Get the output shapes of the primitive.

+

This is not required to be implemented by derived classes, in which case it will throw.

+ +

Reimplemented from mlx::core::Primitive.

+
diff --git a/docs/build/html/classmlx_1_1core_1_1_conjugate-members.html b/docs/build/html/classmlx_1_1core_1_1_conjugate-members.html index 577733e4f..f7924d36f 100644 --- a/docs/build/html/classmlx_1_1core_1_1_conjugate-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_conjugate-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); });
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Conjugateinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Conjugateinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -316,7 +316,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_contiguous-members.html b/docs/build/html/classmlx_1_1core_1_1_contiguous-members.html index 49a90d86e..060223ede 100644 --- a/docs/build/html/classmlx_1_1core_1_1_contiguous-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_contiguous-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_contiguous.html b/docs/build/html/classmlx_1_1core_1_1_contiguous.html index 98a3d0d20..cbbab66f1 100644 --- a/docs/build/html/classmlx_1_1core_1_1_contiguous.html +++ b/docs/build/html/classmlx_1_1core_1_1_contiguous.html @@ -127,9 +127,9 @@ Public Member Functions - - - + + + @@ -332,8 +332,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -342,7 +342,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::Conjugate::output_shapes std::vector< Shape > mlx::core::Conjugate::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Contiguousinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Contiguousinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
void print (std::ostream &os) override
 Print the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
- + @@ -358,7 +358,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_convolution-members.html b/docs/build/html/classmlx_1_1core_1_1_convolution-members.html index 8780055f3..9d7d28745 100644 --- a/docs/build/html/classmlx_1_1core_1_1_convolution-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_convolution-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_convolution.html b/docs/build/html/classmlx_1_1core_1_1_convolution.html index 81d1be71a..72fd0bdfd 100644 --- a/docs/build/html/classmlx_1_1core_1_1_convolution.html +++ b/docs/build/html/classmlx_1_1core_1_1_convolution.html @@ -158,9 +158,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1_copy-members.html b/docs/build/html/classmlx_1_1core_1_1_copy-members.html index 1606aa066..f497b5bb8 100644 --- a/docs/build/html/classmlx_1_1core_1_1_copy-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_copy-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_copy.html b/docs/build/html/classmlx_1_1core_1_1_copy.html index 4041537bb..2ae401c26 100644 --- a/docs/build/html/classmlx_1_1core_1_1_copy.html +++ b/docs/build/html/classmlx_1_1core_1_1_copy.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::Contiguous::output_shapes std::vector< Shape > mlx::core::Contiguous::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
virtual std::pair< std::vector< array >, std::vector< int > > vmap (const std::vector< array > &inputs, const std::vector< int > &axes)
 The primitive must know how to vectorize itself across the given axes.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Copyinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Copyinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_cos-members.html b/docs/build/html/classmlx_1_1core_1_1_cos-members.html index 88b752b14..b6cee517e 100644 --- a/docs/build/html/classmlx_1_1core_1_1_cos-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_cos-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_cos.html b/docs/build/html/classmlx_1_1core_1_1_cos.html index 58e722c8d..f19e939c4 100644 --- a/docs/build/html/classmlx_1_1core_1_1_cos.html +++ b/docs/build/html/classmlx_1_1core_1_1_cos.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::Copy::output_shapes std::vector< Shape > mlx::core::Copy::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Cosinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Cosinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_cosh-members.html b/docs/build/html/classmlx_1_1core_1_1_cosh-members.html index 16260ef99..42a8079a2 100644 --- a/docs/build/html/classmlx_1_1core_1_1_cosh-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_cosh-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_cosh.html b/docs/build/html/classmlx_1_1core_1_1_cosh.html index e02141c43..a7f2caccb 100644 --- a/docs/build/html/classmlx_1_1core_1_1_cosh.html +++ b/docs/build/html/classmlx_1_1core_1_1_cosh.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_equal-members.html b/docs/build/html/classmlx_1_1core_1_1_equal-members.html index 271bf1c3c..16ccc7c09 100644 --- a/docs/build/html/classmlx_1_1core_1_1_equal-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_equal-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_equal.html b/docs/build/html/classmlx_1_1core_1_1_equal.html index 3d6c7990e..ab1164fc0 100644 --- a/docs/build/html/classmlx_1_1core_1_1_equal.html +++ b/docs/build/html/classmlx_1_1core_1_1_equal.html @@ -127,9 +127,9 @@ Public Member Functions - - - + + + @@ -332,8 +332,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -342,7 +342,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::Cos::output_shapes std::vector< Shape > mlx::core::Cos::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Coshinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Coshinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_custom_transforms-members.html b/docs/build/html/classmlx_1_1core_1_1_custom_transforms-members.html index 360e1eae2..219d833d5 100644 --- a/docs/build/html/classmlx_1_1core_1_1_custom_transforms-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_custom_transforms-members.html @@ -102,7 +102,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_custom_transforms.html b/docs/build/html/classmlx_1_1core_1_1_custom_transforms.html index a1d55bd8e..34b499238 100644 --- a/docs/build/html/classmlx_1_1core_1_1_custom_transforms.html +++ b/docs/build/html/classmlx_1_1core_1_1_custom_transforms.html @@ -139,9 +139,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1_depends-members.html b/docs/build/html/classmlx_1_1core_1_1_depends-members.html index f74ee3a0d..0759ea3c4 100644 --- a/docs/build/html/classmlx_1_1core_1_1_depends-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_depends-members.html @@ -102,7 +102,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_depends.html b/docs/build/html/classmlx_1_1core_1_1_depends.html index dcd4ddd18..d509451cd 100644 --- a/docs/build/html/classmlx_1_1core_1_1_depends.html +++ b/docs/build/html/classmlx_1_1core_1_1_depends.html @@ -139,9 +139,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1_div_mod-members.html b/docs/build/html/classmlx_1_1core_1_1_div_mod-members.html index 8b8e2684d..f1df14e3d 100644 --- a/docs/build/html/classmlx_1_1core_1_1_div_mod-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_div_mod-members.html @@ -102,7 +102,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_div_mod.html b/docs/build/html/classmlx_1_1core_1_1_div_mod.html index fbe8e3427..d92944b0b 100644 --- a/docs/build/html/classmlx_1_1core_1_1_div_mod.html +++ b/docs/build/html/classmlx_1_1core_1_1_div_mod.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -312,8 +312,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -322,7 +322,7 @@ Public Member Functions
- -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -293,7 +293,7 @@ Public Member Functions
+overridevirtual
std::vector< std::vector< int > > mlx::core::Cosh::output_shapes std::vector< Shape > mlx::core::Cosh::output_shapes ( const std::vector< array > & inputs)
jvp(const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums) overridemlx::core::CustomTransformsvirtual
operator=(const Primitive &other)=deletemlx::core::Primitive
operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
virtual bool is_equivalent (const Primitive &other) const
 Equivalence check defaults to false unless overridden by the primitive.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
jvp(const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums)mlx::core::Primitivevirtual
operator=(const Primitive &other)=deletemlx::core::Primitive
operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
virtual bool is_equivalent (const Primitive &other) const
 Equivalence check defaults to false unless overridden by the primitive.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
jvp(const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums) overridemlx::core::DivModvirtual
operator=(const Primitive &other)=deletemlx::core::Primitive
operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::DivModinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::DivModinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::Primitive
 Primitive (Stream stream)
 
- + @@ -338,7 +338,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_divide-members.html b/docs/build/html/classmlx_1_1core_1_1_divide-members.html index 45d34065f..214a0cd11 100644 --- a/docs/build/html/classmlx_1_1core_1_1_divide-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_divide-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_divide.html b/docs/build/html/classmlx_1_1core_1_1_divide.html index 070127575..b7ee8ee63 100644 --- a/docs/build/html/classmlx_1_1core_1_1_divide.html +++ b/docs/build/html/classmlx_1_1core_1_1_divide.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
+overridevirtual
std::vector< std::vector< int > > mlx::core::DivMod::output_shapes std::vector< Shape > mlx::core::DivMod::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Divideinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Divideinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_eigh-members.html b/docs/build/html/classmlx_1_1core_1_1_eigh-members.html index ecad9877f..c7768d819 100644 --- a/docs/build/html/classmlx_1_1core_1_1_eigh-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_eigh-members.html @@ -98,11 +98,11 @@ $(function(){ initResizable(false); }); - + - + diff --git a/docs/build/html/classmlx_1_1core_1_1_eigh.html b/docs/build/html/classmlx_1_1core_1_1_eigh.html index 4fbbd9537..2bd389b74 100644 --- a/docs/build/html/classmlx_1_1core_1_1_eigh.html +++ b/docs/build/html/classmlx_1_1core_1_1_eigh.html @@ -121,9 +121,9 @@ Public Member Functions - - - + + + @@ -272,7 +272,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::Divide::output_shapes std::vector< Shape > mlx::core::Divide::output_shapes ( const std::vector< array > & inputs)
Eigh(Stream stream, std::string uplo, bool compute_eigenvectors)mlx::core::Eighinlineexplicit
eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) overridemlx::core::Eighvirtual
eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) overridemlx::core::Eighvirtual
is_equivalent(const Primitive &other) const overridemlx::core::Eighinlinevirtual
is_equivalent(const Primitive &other) const overridemlx::core::Eighvirtual
jvp(const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums)mlx::core::Primitivevirtual
operator=(const Primitive &other)=deletemlx::core::Primitive
operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Eighinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Eighvirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
void print (std::ostream &os) override
 Print the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
-inlineoverridevirtual
@@ -283,8 +283,8 @@ Public Member Functions
- + @@ -301,7 +301,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::Eigh::output_shapes std::vector< Shape > mlx::core::Eigh::output_shapes ( const std::vector< array > & inputs)
-inlineoverridevirtual
@@ -309,7 +309,7 @@ Public Member Functions
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Equalinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Equalinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
void print (std::ostream &os) override
 Print the primitive.
 
- + @@ -358,7 +358,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_erf-members.html b/docs/build/html/classmlx_1_1core_1_1_erf-members.html index 923e8e41d..2913b6186 100644 --- a/docs/build/html/classmlx_1_1core_1_1_erf-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_erf-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_erf.html b/docs/build/html/classmlx_1_1core_1_1_erf.html index 3c41200a9..95b797e6b 100644 --- a/docs/build/html/classmlx_1_1core_1_1_erf.html +++ b/docs/build/html/classmlx_1_1core_1_1_erf.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::Equal::output_shapes std::vector< Shape > mlx::core::Equal::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Erfinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Erfinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_erf_inv-members.html b/docs/build/html/classmlx_1_1core_1_1_erf_inv-members.html index 60913ee17..96fa3aa9b 100644 --- a/docs/build/html/classmlx_1_1core_1_1_erf_inv-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_erf_inv-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_erf_inv.html b/docs/build/html/classmlx_1_1core_1_1_erf_inv.html index b5d0b14f9..dca528218 100644 --- a/docs/build/html/classmlx_1_1core_1_1_erf_inv.html +++ b/docs/build/html/classmlx_1_1core_1_1_erf_inv.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::Erf::output_shapes std::vector< Shape > mlx::core::Erf::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::ErfInvinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::ErfInvinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_exp-members.html b/docs/build/html/classmlx_1_1core_1_1_exp-members.html index 8c0a4d8c2..de08e5ea1 100644 --- a/docs/build/html/classmlx_1_1core_1_1_exp-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_exp-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_exp.html b/docs/build/html/classmlx_1_1core_1_1_exp.html index d52e9d693..a9ea24023 100644 --- a/docs/build/html/classmlx_1_1core_1_1_exp.html +++ b/docs/build/html/classmlx_1_1core_1_1_exp.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::ErfInv::output_shapes std::vector< Shape > mlx::core::ErfInv::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Expinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Expinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_expm1-members.html b/docs/build/html/classmlx_1_1core_1_1_expm1-members.html index c1093fe36..254f446a0 100644 --- a/docs/build/html/classmlx_1_1core_1_1_expm1-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_expm1-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_expm1.html b/docs/build/html/classmlx_1_1core_1_1_expm1.html index ff23e46da..1512dbe27 100644 --- a/docs/build/html/classmlx_1_1core_1_1_expm1.html +++ b/docs/build/html/classmlx_1_1core_1_1_expm1.html @@ -127,9 +127,9 @@ Public Member Functions - - - + + + @@ -299,8 +299,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -309,7 +309,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::Exp::output_shapes std::vector< Shape > mlx::core::Exp::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Expm1inlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Expm1inlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
void print (std::ostream &os) override
 Print the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -325,7 +325,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_f_f_t-members.html b/docs/build/html/classmlx_1_1core_1_1_f_f_t-members.html index 07d53ba7b..15d37e8d7 100644 --- a/docs/build/html/classmlx_1_1core_1_1_f_f_t-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_f_f_t-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_f_f_t.html b/docs/build/html/classmlx_1_1core_1_1_f_f_t.html index 15cbb62c2..2e9f2db09 100644 --- a/docs/build/html/classmlx_1_1core_1_1_f_f_t.html +++ b/docs/build/html/classmlx_1_1core_1_1_f_f_t.html @@ -158,9 +158,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1_floor-members.html b/docs/build/html/classmlx_1_1core_1_1_floor-members.html index 1c340e0d8..597575b8b 100644 --- a/docs/build/html/classmlx_1_1core_1_1_floor-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_floor-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_floor.html b/docs/build/html/classmlx_1_1core_1_1_floor.html index 7a0f3d3e4..158b57a6e 100644 --- a/docs/build/html/classmlx_1_1core_1_1_floor.html +++ b/docs/build/html/classmlx_1_1core_1_1_floor.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
- + diff --git a/docs/build/html/classmlx_1_1core_1_1_gather_m_m.html b/docs/build/html/classmlx_1_1core_1_1_gather_m_m.html index bc46d8c13..98227cd62 100644 --- a/docs/build/html/classmlx_1_1core_1_1_gather_m_m.html +++ b/docs/build/html/classmlx_1_1core_1_1_gather_m_m.html @@ -158,9 +158,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1_gather_q_m_m-members.html b/docs/build/html/classmlx_1_1core_1_1_gather_q_m_m-members.html index 0d7fe677d..e14dadcd3 100644 --- a/docs/build/html/classmlx_1_1core_1_1_gather_q_m_m-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_gather_q_m_m-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_gather_q_m_m.html b/docs/build/html/classmlx_1_1core_1_1_gather_q_m_m.html index c278e2aa5..f4ce14c36 100644 --- a/docs/build/html/classmlx_1_1core_1_1_gather_q_m_m.html +++ b/docs/build/html/classmlx_1_1core_1_1_gather_q_m_m.html @@ -158,9 +158,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1_greater-members.html b/docs/build/html/classmlx_1_1core_1_1_greater-members.html index 7aeb96b02..393efc68c 100644 --- a/docs/build/html/classmlx_1_1core_1_1_greater-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_greater-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_greater.html b/docs/build/html/classmlx_1_1core_1_1_greater.html index 53c15ff9d..416043993 100644 --- a/docs/build/html/classmlx_1_1core_1_1_greater.html +++ b/docs/build/html/classmlx_1_1core_1_1_greater.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::Expm1::output_shapes std::vector< Shape > mlx::core::Expm1::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
const Streamstream ()
 The stream the primitive will run on.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Floorinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Floorinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_full-members.html b/docs/build/html/classmlx_1_1core_1_1_full-members.html index 2613f2546..2135a5e95 100644 --- a/docs/build/html/classmlx_1_1core_1_1_full-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_full-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_full.html b/docs/build/html/classmlx_1_1core_1_1_full.html index ca2f7d7dd..3b516acaf 100644 --- a/docs/build/html/classmlx_1_1core_1_1_full.html +++ b/docs/build/html/classmlx_1_1core_1_1_full.html @@ -158,9 +158,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1_gather-members.html b/docs/build/html/classmlx_1_1core_1_1_gather-members.html index 85513cc97..e6733eee4 100644 --- a/docs/build/html/classmlx_1_1core_1_1_gather-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_gather-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_gather.html b/docs/build/html/classmlx_1_1core_1_1_gather.html index 503359e7b..d5cb92af5 100644 --- a/docs/build/html/classmlx_1_1core_1_1_gather.html +++ b/docs/build/html/classmlx_1_1core_1_1_gather.html @@ -130,6 +130,9 @@ Public Member Functions + + + @@ -158,9 +161,6 @@ Public Member Functions - - - @@ -335,6 +335,36 @@ Public Member Functions

Reimplemented from mlx::core::Primitive.

+ + + +

◆ output_shapes()

+ +
+
+
std::vector< std::vector< int > > mlx::core::Floor::output_shapes std::vector< Shape > mlx::core::Floor::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
const Streamstream ()
 The stream the primitive will run on.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Gathervirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
const Streamstream ()
 The stream the primitive will run on.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
+ + + + +
+ + + + + + + +
std::vector< Shape > mlx::core::Gather::output_shapes (const std::vector< array > & inputs)
+
+overridevirtual
+
+ +

Get the output shapes of the primitive.

+

This is not required to be implemented by derived classes, in which case it will throw.

+ +

Reimplemented from mlx::core::Primitive.

+
diff --git a/docs/build/html/classmlx_1_1core_1_1_gather_m_m-members.html b/docs/build/html/classmlx_1_1core_1_1_gather_m_m-members.html index c33e774af..2b8f921d5 100644 --- a/docs/build/html/classmlx_1_1core_1_1_gather_m_m-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_gather_m_m-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); });
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
virtual std::pair< std::vector< array >, std::vector< int > > vmap (const std::vector< array > &inputs, const std::vector< int > &axes)
 The primitive must know how to vectorize itself across the given axes.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
const Streamstream ()
 The stream the primitive will run on.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Greaterinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Greaterinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_greater_equal-members.html b/docs/build/html/classmlx_1_1core_1_1_greater_equal-members.html index 37e2e68dc..7a53eeac2 100644 --- a/docs/build/html/classmlx_1_1core_1_1_greater_equal-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_greater_equal-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_greater_equal.html b/docs/build/html/classmlx_1_1core_1_1_greater_equal.html index 48e105066..91a285a34 100644 --- a/docs/build/html/classmlx_1_1core_1_1_greater_equal.html +++ b/docs/build/html/classmlx_1_1core_1_1_greater_equal.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::Greater::output_shapes std::vector< Shape > mlx::core::Greater::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::GreaterEqualinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::GreaterEqualinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_hadamard-members.html b/docs/build/html/classmlx_1_1core_1_1_hadamard-members.html index 9e9152c3e..7ea5ac4a9 100644 --- a/docs/build/html/classmlx_1_1core_1_1_hadamard-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_hadamard-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_hadamard.html b/docs/build/html/classmlx_1_1core_1_1_hadamard.html index c3c7d602c..862612c8d 100644 --- a/docs/build/html/classmlx_1_1core_1_1_hadamard.html +++ b/docs/build/html/classmlx_1_1core_1_1_hadamard.html @@ -127,9 +127,9 @@ Public Member Functions - - - + + + @@ -332,8 +332,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -342,7 +342,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::GreaterEqual::output_shapes std::vector< Shape > mlx::core::GreaterEqual::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Hadamardinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Hadamardinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
void print (std::ostream &os) override
 Print the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
- + @@ -358,7 +358,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_imag-members.html b/docs/build/html/classmlx_1_1core_1_1_imag-members.html index b03925f76..faa681b6b 100644 --- a/docs/build/html/classmlx_1_1core_1_1_imag-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_imag-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_imag.html b/docs/build/html/classmlx_1_1core_1_1_imag.html index 4b9c3bd78..cece5f6fa 100644 --- a/docs/build/html/classmlx_1_1core_1_1_imag.html +++ b/docs/build/html/classmlx_1_1core_1_1_imag.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::Hadamard::output_shapes std::vector< Shape > mlx::core::Hadamard::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Imaginlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Imaginlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_inverse-members.html b/docs/build/html/classmlx_1_1core_1_1_inverse-members.html index 38102ac47..95a0d738b 100644 --- a/docs/build/html/classmlx_1_1core_1_1_inverse-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_inverse-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_inverse.html b/docs/build/html/classmlx_1_1core_1_1_inverse.html index e7e514433..e1653bf32 100644 --- a/docs/build/html/classmlx_1_1core_1_1_inverse.html +++ b/docs/build/html/classmlx_1_1core_1_1_inverse.html @@ -158,9 +158,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1_less-members.html b/docs/build/html/classmlx_1_1core_1_1_less-members.html index 10222f842..04fcd75f4 100644 --- a/docs/build/html/classmlx_1_1core_1_1_less-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_less-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_less.html b/docs/build/html/classmlx_1_1core_1_1_less.html index e8dea1bca..eed868815 100644 --- a/docs/build/html/classmlx_1_1core_1_1_less.html +++ b/docs/build/html/classmlx_1_1core_1_1_less.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::Imag::output_shapes std::vector< Shape > mlx::core::Imag::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
virtual bool is_equivalent (const Primitive &other) const
 Equivalence check defaults to false unless overridden by the primitive.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Lessinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Lessinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_less_equal-members.html b/docs/build/html/classmlx_1_1core_1_1_less_equal-members.html index 166da95ed..819db5b3e 100644 --- a/docs/build/html/classmlx_1_1core_1_1_less_equal-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_less_equal-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_less_equal.html b/docs/build/html/classmlx_1_1core_1_1_less_equal.html index 4cab4e85b..4db799314 100644 --- a/docs/build/html/classmlx_1_1core_1_1_less_equal.html +++ b/docs/build/html/classmlx_1_1core_1_1_less_equal.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::Less::output_shapes std::vector< Shape > mlx::core::Less::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::LessEqualinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::LessEqualinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_load-members.html b/docs/build/html/classmlx_1_1core_1_1_load-members.html index 2c3523da0..6732a8c53 100644 --- a/docs/build/html/classmlx_1_1core_1_1_load-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_load-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_load.html b/docs/build/html/classmlx_1_1core_1_1_load.html index ba626bff2..0f7acf0f1 100644 --- a/docs/build/html/classmlx_1_1core_1_1_load.html +++ b/docs/build/html/classmlx_1_1core_1_1_load.html @@ -158,9 +158,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1_log-members.html b/docs/build/html/classmlx_1_1core_1_1_log-members.html index a33c29be1..cf2377ed5 100644 --- a/docs/build/html/classmlx_1_1core_1_1_log-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_log-members.html @@ -108,7 +108,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_log.html b/docs/build/html/classmlx_1_1core_1_1_log.html index ede6be216..8363184f5 100644 --- a/docs/build/html/classmlx_1_1core_1_1_log.html +++ b/docs/build/html/classmlx_1_1core_1_1_log.html @@ -136,9 +136,9 @@ Public Member Functions - - - + + + @@ -361,8 +361,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -371,7 +371,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::LessEqual::output_shapes std::vector< Shape > mlx::core::LessEqual::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
virtual bool is_equivalent (const Primitive &other) const
 Equivalence check defaults to false unless overridden by the primitive.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Loginlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Loginlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
void print (std::ostream &os) override
 Print the primitive.
 
- + @@ -387,7 +387,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_log1p-members.html b/docs/build/html/classmlx_1_1core_1_1_log1p-members.html index 01f0ee214..a24e6f8f9 100644 --- a/docs/build/html/classmlx_1_1core_1_1_log1p-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_log1p-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_log1p.html b/docs/build/html/classmlx_1_1core_1_1_log1p.html index d9933c906..5421330ff 100644 --- a/docs/build/html/classmlx_1_1core_1_1_log1p.html +++ b/docs/build/html/classmlx_1_1core_1_1_log1p.html @@ -127,9 +127,9 @@ Public Member Functions - - - + + + @@ -299,8 +299,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -309,7 +309,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::Log::output_shapes std::vector< Shape > mlx::core::Log::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Log1pinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Log1pinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
void print (std::ostream &os) override
 Print the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -325,7 +325,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_log_add_exp-members.html b/docs/build/html/classmlx_1_1core_1_1_log_add_exp-members.html index 78c33876a..33e2637bc 100644 --- a/docs/build/html/classmlx_1_1core_1_1_log_add_exp-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_log_add_exp-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_log_add_exp.html b/docs/build/html/classmlx_1_1core_1_1_log_add_exp.html index 383af1b6d..b1e92fbf4 100644 --- a/docs/build/html/classmlx_1_1core_1_1_log_add_exp.html +++ b/docs/build/html/classmlx_1_1core_1_1_log_add_exp.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::Log1p::output_shapes std::vector< Shape > mlx::core::Log1p::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::LogAddExpinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::LogAddExpinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_logical_and-members.html b/docs/build/html/classmlx_1_1core_1_1_logical_and-members.html index 777a2db7d..dece0f0b4 100644 --- a/docs/build/html/classmlx_1_1core_1_1_logical_and-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_logical_and-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_logical_and.html b/docs/build/html/classmlx_1_1core_1_1_logical_and.html index 4023bef47..b7878e49c 100644 --- a/docs/build/html/classmlx_1_1core_1_1_logical_and.html +++ b/docs/build/html/classmlx_1_1core_1_1_logical_and.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::LogAddExp::output_shapes std::vector< Shape > mlx::core::LogAddExp::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::LogicalAndinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::LogicalAndinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_logical_not-members.html b/docs/build/html/classmlx_1_1core_1_1_logical_not-members.html index 87c9c7c15..88a5f9b08 100644 --- a/docs/build/html/classmlx_1_1core_1_1_logical_not-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_logical_not-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_logical_not.html b/docs/build/html/classmlx_1_1core_1_1_logical_not.html index 5c2465743..2390bf350 100644 --- a/docs/build/html/classmlx_1_1core_1_1_logical_not.html +++ b/docs/build/html/classmlx_1_1core_1_1_logical_not.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::LogicalAnd::output_shapes std::vector< Shape > mlx::core::LogicalAnd::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::LogicalNotinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::LogicalNotinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_logical_or-members.html b/docs/build/html/classmlx_1_1core_1_1_logical_or-members.html index f5042d369..6d808d6e3 100644 --- a/docs/build/html/classmlx_1_1core_1_1_logical_or-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_logical_or-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_logical_or.html b/docs/build/html/classmlx_1_1core_1_1_logical_or.html index 760504e4a..c931a5265 100644 --- a/docs/build/html/classmlx_1_1core_1_1_logical_or.html +++ b/docs/build/html/classmlx_1_1core_1_1_logical_or.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
- + diff --git a/docs/build/html/classmlx_1_1core_1_1_maximum.html b/docs/build/html/classmlx_1_1core_1_1_maximum.html index 198b947ca..3171731aa 100644 --- a/docs/build/html/classmlx_1_1core_1_1_maximum.html +++ b/docs/build/html/classmlx_1_1core_1_1_maximum.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::LogicalNot::output_shapes std::vector< Shape > mlx::core::LogicalNot::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::LogicalOrinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::LogicalOrinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_matmul-members.html b/docs/build/html/classmlx_1_1core_1_1_matmul-members.html index 28431d211..3fccc14b4 100644 --- a/docs/build/html/classmlx_1_1core_1_1_matmul-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_matmul-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_matmul.html b/docs/build/html/classmlx_1_1core_1_1_matmul.html index f879a5d59..9c0590ed8 100644 --- a/docs/build/html/classmlx_1_1core_1_1_matmul.html +++ b/docs/build/html/classmlx_1_1core_1_1_matmul.html @@ -127,6 +127,9 @@ Public Member Functions + + + @@ -158,9 +161,6 @@ Public Member Functions - - - @@ -288,6 +288,36 @@ Public Member Functions

Reimplemented from mlx::core::Primitive.

+ + + +

◆ output_shapes()

+ +
+
+
std::vector< std::vector< int > > mlx::core::LogicalOr::output_shapes std::vector< Shape > mlx::core::LogicalOr::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Matmulvirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
virtual std::vector< arrayjvp (const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums)
 The Jacobian-vector product.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
+ + + + +
+ + + + + + + +
std::vector< Shape > mlx::core::Matmul::output_shapes (const std::vector< array > & inputs)
+
+overridevirtual
+
+ +

Get the output shapes of the primitive.

+

This is not required to be implemented by derived classes, in which case it will throw.

+ +

Reimplemented from mlx::core::Primitive.

+
diff --git a/docs/build/html/classmlx_1_1core_1_1_maximum-members.html b/docs/build/html/classmlx_1_1core_1_1_maximum-members.html index 9f0c58ef8..4016565ff 100644 --- a/docs/build/html/classmlx_1_1core_1_1_maximum-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_maximum-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); });
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Maximuminlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Maximuminlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_minimum-members.html b/docs/build/html/classmlx_1_1core_1_1_minimum-members.html index 20a161177..5dbe55d50 100644 --- a/docs/build/html/classmlx_1_1core_1_1_minimum-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_minimum-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_minimum.html b/docs/build/html/classmlx_1_1core_1_1_minimum.html index ae43d36e0..115df15ca 100644 --- a/docs/build/html/classmlx_1_1core_1_1_minimum.html +++ b/docs/build/html/classmlx_1_1core_1_1_minimum.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::Maximum::output_shapes std::vector< Shape > mlx::core::Maximum::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Minimuminlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Minimuminlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_multiply-members.html b/docs/build/html/classmlx_1_1core_1_1_multiply-members.html index 0e75527c1..3bd012ccb 100644 --- a/docs/build/html/classmlx_1_1core_1_1_multiply-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_multiply-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_multiply.html b/docs/build/html/classmlx_1_1core_1_1_multiply.html index 840332607..8463dd354 100644 --- a/docs/build/html/classmlx_1_1core_1_1_multiply.html +++ b/docs/build/html/classmlx_1_1core_1_1_multiply.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
- - + + @@ -158,10 +158,10 @@ Functions - - - - + + + + diff --git a/docs/build/html/utils_8h_source.html b/docs/build/html/utils_8h_source.html index 22d36ebfd..33ed9a437 100644 --- a/docs/build/html/utils_8h_source.html +++ b/docs/build/html/utils_8h_source.html @@ -166,118 +166,118 @@ $(function(){ initResizable(false); });
63Dtype result_type(const std::vector<array>& arrays);
64
-
65std::vector<int> broadcast_shapes(
-
66 const std::vector<int>& s1,
-
67 const std::vector<int>& s2);
+
65Shape broadcast_shapes(const Shape& s1, const Shape& s2);
+
66
+
67bool is_same_shape(const std::vector<array>& arrays);
68
-
69bool is_same_shape(const std::vector<array>& arrays);
-
70
-
72template <typename T>
-
-
73int check_shape_dim(const T dim) {
-
74 constexpr bool is_signed = std::numeric_limits<T>::is_signed;
-
75 using U = std::conditional_t<is_signed, ssize_t, size_t>;
-
76 constexpr U min = static_cast<U>(std::numeric_limits<int>::min());
-
77 constexpr U max = static_cast<U>(std::numeric_limits<int>::max());
-
78
-
79 if ((is_signed && dim < min) || dim > max) {
-
80 throw std::invalid_argument(
-
81 "Shape dimension falls outside supported `int` range.");
-
82 }
-
83
-
84 return static_cast<int>(dim);
-
85}
+
70template <typename T>
+
+
71int check_shape_dim(const T dim) {
+
72 constexpr bool is_signed = std::numeric_limits<T>::is_signed;
+
73 using U = std::conditional_t<is_signed, ssize_t, size_t>;
+
74 constexpr U min = static_cast<U>(std::numeric_limits<int>::min());
+
75 constexpr U max = static_cast<U>(std::numeric_limits<int>::max());
+
76
+
77 if ((is_signed && dim < min) || dim > max) {
+
78 throw std::invalid_argument(
+
79 "Shape dimension falls outside supported `int` range.");
+
80 }
+
81
+
82 return static_cast<int>(dim);
+
83}
-
86
-
92int normalize_axis(int axis, int ndim);
-
93
-
94std::ostream& operator<<(std::ostream& os, const Device& d);
-
95std::ostream& operator<<(std::ostream& os, const Stream& s);
-
96std::ostream& operator<<(std::ostream& os, const Dtype& d);
-
97std::ostream& operator<<(std::ostream& os, const Dtype::Kind& k);
-
98std::ostream& operator<<(std::ostream& os, array a);
-
99std::ostream& operator<<(std::ostream& os, const std::vector<int>& v);
-
100std::ostream& operator<<(std::ostream& os, const std::vector<size_t>& v);
-
101std::ostream& operator<<(std::ostream& os, const std::vector<int64_t>& v);
-
-
102inline std::ostream& operator<<(std::ostream& os, const complex64_t& v) {
-
103 return os << v.real() << (v.imag() >= 0 ? "+" : "") << v.imag() << "j";
-
104}
+
84
+
90int normalize_axis(int axis, int ndim);
+
91
+
92std::ostream& operator<<(std::ostream& os, const Device& d);
+
93std::ostream& operator<<(std::ostream& os, const Stream& s);
+
94std::ostream& operator<<(std::ostream& os, const Dtype& d);
+
95std::ostream& operator<<(std::ostream& os, const Dtype::Kind& k);
+
96std::ostream& operator<<(std::ostream& os, array a);
+
97std::ostream& operator<<(std::ostream& os, const Shape& v);
+
98std::ostream& operator<<(std::ostream& os, const Strides& v);
+
99std::ostream& operator<<(std::ostream& os, const std::vector<int64_t>& v);
+
+
100inline std::ostream& operator<<(std::ostream& os, const complex64_t& v) {
+
101 return os << v.real() << (v.imag() >= 0 ? "+" : "") << v.imag() << "j";
+
102}
-
-
105inline std::ostream& operator<<(std::ostream& os, const float16_t& v) {
-
106 return os << static_cast<float>(v);
-
107}
+
+
103inline std::ostream& operator<<(std::ostream& os, const float16_t& v) {
+
104 return os << static_cast<float>(v);
+
105}
-
-
108inline std::ostream& operator<<(std::ostream& os, const bfloat16_t& v) {
-
109 return os << static_cast<float>(v);
-
110}
+
+
106inline std::ostream& operator<<(std::ostream& os, const bfloat16_t& v) {
+
107 return os << static_cast<float>(v);
+
108}
-
111
-
-
112inline bool is_power_of_2(int n) {
-
113 return ((n & (n - 1)) == 0) && n != 0;
-
114}
+
109
+
+
110inline bool is_power_of_2(int n) {
+
111 return ((n & (n - 1)) == 0) && n != 0;
+
112}
-
115
-
-
116inline int next_power_of_2(int n) {
-
117 if (is_power_of_2(n)) {
-
118 return n;
-
119 }
-
120 return pow(2, std::ceil(std::log2(n)));
-
121}
+
113
+
+
114inline int next_power_of_2(int n) {
+
115 if (is_power_of_2(n)) {
+
116 return n;
+
117 }
+
118 return pow(2, std::ceil(std::log2(n)));
+
119}
+
120
+
+
121namespace env {
122
-
-
123namespace env {
+
123int get_var(const char* name, int default_value);
124
-
125int get_var(const char* name, int default_value);
-
126
-
-
127inline int bfs_max_width() {
-
128 static int bfs_max_width_ = get_var("MLX_BFS_MAX_WIDTH", 20);
-
129 return bfs_max_width_;
-
130}
+
+
125inline int bfs_max_width() {
+
126 static int bfs_max_width_ = get_var("MLX_BFS_MAX_WIDTH", 20);
+
127 return bfs_max_width_;
+
128}
-
131
-
-
132inline int max_ops_per_buffer() {
-
133 static int max_ops_per_buffer_ = get_var("MLX_MAX_OPS_PER_BUFFER", 10);
-
134 return max_ops_per_buffer_;
-
135}
+
129
+
+
130inline int max_ops_per_buffer() {
+
131 static int max_ops_per_buffer_ = get_var("MLX_MAX_OPS_PER_BUFFER", 10);
+
132 return max_ops_per_buffer_;
+
133}
+
+
134
+
135} // namespace env
136
-
137} // namespace env
-
-
138
-
139} // namespace mlx::core
+
137} // namespace mlx::core
-
Definition array.h:20
-
Dtype dtype() const
Get the arrays data type.
Definition array.h:127
+
Definition array.h:23
+
Dtype dtype() const
Get the arrays data type.
Definition array.h:130
array max(const array &a, bool keepdims, StreamOrDevice s={})
The maximum of all elements of the array.
array min(const array &a, bool keepdims, StreamOrDevice s={})
The minimum of all elements of the array.
array operator<<(const array &a, const array &b)
int get_var(const char *name, int default_value)
-
int bfs_max_width()
Definition utils.h:127
-
int max_ops_per_buffer()
Definition utils.h:132
+
int bfs_max_width()
Definition utils.h:125
+
int max_ops_per_buffer()
Definition utils.h:130
Definition allocator.h:7
int normalize_axis(int axis, int ndim)
Returns the axis normalized to be in the range [0, ndim).
const Device & default_device()
-
std::vector< int > broadcast_shapes(const std::vector< int > &s1, const std::vector< int > &s2)
void set_default_device(const Device &d)
Stream to_stream(StreamOrDevice s)
Dtype promote_types(const Dtype &t1, const Dtype &t2)
-
int next_power_of_2(int n)
Definition utils.h:116
-
int check_shape_dim(const T dim)
Returns the shape dimension if it's within allowed range.
Definition utils.h:73
+
int next_power_of_2(int n)
Definition utils.h:114
+
int check_shape_dim(const T dim)
Returns the shape dimension if it's within allowed range.
Definition utils.h:71
Dtype result_type(const array &a, const array &b)
The type from promoting the arrays' types with one another.
Definition utils.h:57
std::variant< std::monostate, Stream, Device > StreamOrDevice
Definition utils.h:14
+
std::vector< int32_t > Shape
Definition array.h:20
Stream default_stream(Device d)
Get the default stream for the given device.
+
std::vector< size_t > Strides
Definition array.h:21
bool is_same_shape(const std::vector< array > &arrays)
-
bool is_power_of_2(int n)
Definition utils.h:112
+
bool is_power_of_2(int n)
Definition utils.h:110
+
Shape broadcast_shapes(const Shape &s1, const Shape &s2)
void set_default_stream(Stream s)
Make the stream the default for its device.
PrintFormatter global_formatter
std::vector< std::vector< int > > mlx::core::Minimum::output_shapes std::vector< Shape > mlx::core::Minimum::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Multiplyinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Multiplyinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_negative-members.html b/docs/build/html/classmlx_1_1core_1_1_negative-members.html index bf3207169..439342b71 100644 --- a/docs/build/html/classmlx_1_1core_1_1_negative-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_negative-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_negative.html b/docs/build/html/classmlx_1_1core_1_1_negative.html index d1b9c8dff..5ccf45862 100644 --- a/docs/build/html/classmlx_1_1core_1_1_negative.html +++ b/docs/build/html/classmlx_1_1core_1_1_negative.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
@@ -237,14 +237,14 @@ Public Attributes - -

◆ d

+ +

◆ d

std::vector< std::vector< int > > mlx::core::Multiply::output_shapes std::vector< Shape > mlx::core::Multiply::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Negativeinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Negativeinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_not_equal-members.html b/docs/build/html/classmlx_1_1core_1_1_not_equal-members.html index fe17b758f..fde404ae4 100644 --- a/docs/build/html/classmlx_1_1core_1_1_not_equal-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_not_equal-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_not_equal.html b/docs/build/html/classmlx_1_1core_1_1_not_equal.html index 616169afd..d7e087adf 100644 --- a/docs/build/html/classmlx_1_1core_1_1_not_equal.html +++ b/docs/build/html/classmlx_1_1core_1_1_not_equal.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
- +
std::vector< std::vector< int > > mlx::core::Negative::output_shapes std::vector< Shape > mlx::core::Negative::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::NotEqualinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::NotEqualinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_number_of_elements-members.html b/docs/build/html/classmlx_1_1core_1_1_number_of_elements-members.html index 5d72d22da..dd47e78c7 100644 --- a/docs/build/html/classmlx_1_1core_1_1_number_of_elements-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_number_of_elements-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_number_of_elements.html b/docs/build/html/classmlx_1_1core_1_1_number_of_elements.html index f0ee82aa3..c61a1ede1 100644 --- a/docs/build/html/classmlx_1_1core_1_1_number_of_elements.html +++ b/docs/build/html/classmlx_1_1core_1_1_number_of_elements.html @@ -124,9 +124,9 @@ Public Member Functions - - - + + + @@ -304,8 +304,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -314,7 +314,7 @@ Public Member Functions
- + diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv index 1b32b1bd2..5f9dbb689 100644 Binary files a/docs/build/html/objects.inv and b/docs/build/html/objects.inv differ diff --git a/docs/build/html/ops_8h.html b/docs/build/html/ops_8h.html index 86d44a0d1..debf4c3aa 100644 --- a/docs/build/html/ops_8h.html +++ b/docs/build/html/ops_8h.html @@ -136,35 +136,35 @@ Functions - - - + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - + + + + + @@ -191,9 +191,9 @@ Functions - - - + + + @@ -218,18 +218,18 @@ Functions - - - - - - - - - - - - + + + + + + + + + + + + @@ -286,9 +286,9 @@ Functions - - - + + + @@ -728,11 +728,11 @@ Functions - - - - - + + + + + @@ -924,16 +924,16 @@ Functions - - + + - - - - - - + + + + + + diff --git a/docs/build/html/ops_8h_source.html b/docs/build/html/ops_8h_source.html index 31355be0c..08edba493 100644 --- a/docs/build/html/ops_8h_source.html +++ b/docs/build/html/ops_8h_source.html @@ -129,1254 +129,1233 @@ $(function(){ initResizable(false); });
45
48
- +
51 array a,
-
52 std::vector<int> shape,
-
53 std::vector<size_t> strides,
+
52 Shape shape,
+
53 Strides strides,
54 size_t offset,
55 StreamOrDevice s = {});
56
59
- -
62 std::vector<int> shape,
-
63 array vals,
-
64 Dtype dtype,
-
65 StreamOrDevice s = {});
-
66array full(std::vector<int> shape, array vals, StreamOrDevice s = {});
+
61array full(Shape shape, array vals, Dtype dtype, StreamOrDevice s = {});
+
62array full(Shape shape, array vals, StreamOrDevice s = {});
+
63template <typename T>
+
+
64array full(Shape shape, T val, Dtype dtype, StreamOrDevice s = {}) {
+
65 return full(std::move(shape), array(val, dtype), to_stream(s));
+
66}
+
67template <typename T>
-
68array full(std::vector<int> shape, T val, Dtype dtype, StreamOrDevice s = {}) {
-
69 return full(std::move(shape), array(val, dtype), to_stream(s));
+
68array full(Shape shape, T val, StreamOrDevice s = {}) {
+
69 return full(std::move(shape), array(val), to_stream(s));
70}
-
71template <typename T>
-
-
72array full(std::vector<int> shape, T val, StreamOrDevice s = {}) {
-
73 return full(std::move(shape), array(val), to_stream(s));
-
74}
+
71
+
73array zeros(const Shape& shape, Dtype dtype, StreamOrDevice s = {});
+
+
74inline array zeros(const Shape& shape, StreamOrDevice s = {}) {
+
75 return zeros(shape, float32, s);
+
76}
-
75
-
77array zeros(const std::vector<int>& shape, Dtype dtype, StreamOrDevice s = {});
-
-
78inline array zeros(const std::vector<int>& shape, StreamOrDevice s = {}) {
-
79 return zeros(shape, float32, s);
-
80}
+ +
78
+
80array ones(const Shape& shape, Dtype dtype, StreamOrDevice s = {});
+
+
81inline array ones(const Shape& shape, StreamOrDevice s = {}) {
+
82 return ones(shape, float32, s);
+
83}
- -
82
-
84array ones(const std::vector<int>& shape, Dtype dtype, StreamOrDevice s = {});
-
-
85inline array ones(const std::vector<int>& shape, StreamOrDevice s = {}) {
-
86 return ones(shape, float32, s);
-
87}
+ +
85
+
88array eye(int n, int m, int k, Dtype dtype, StreamOrDevice s = {});
+
+
89inline array eye(int n, Dtype dtype, StreamOrDevice s = {}) {
+
90 return eye(n, n, 0, dtype, s);
+
91}
- -
89
-
92array eye(int n, int m, int k, Dtype dtype, StreamOrDevice s = {});
-
-
93inline array eye(int n, Dtype dtype, StreamOrDevice s = {}) {
-
94 return eye(n, n, 0, dtype, s);
-
95}
+
+
92inline array eye(int n, int m, StreamOrDevice s = {}) {
+
93 return eye(n, m, 0, float32, s);
+
94}
-
-
96inline array eye(int n, int m, StreamOrDevice s = {}) {
-
97 return eye(n, m, 0, float32, s);
-
98}
+
+
95inline array eye(int n, int m, int k, StreamOrDevice s = {}) {
+
96 return eye(n, m, k, float32, s);
+
97}
-
-
99inline array eye(int n, int m, int k, StreamOrDevice s = {}) {
-
100 return eye(n, m, k, float32, s);
-
101}
+
+
98inline array eye(int n, StreamOrDevice s = {}) {
+
99 return eye(n, n, 0, float32, s);
+
100}
-
-
102inline array eye(int n, StreamOrDevice s = {}) {
-
103 return eye(n, n, 0, float32, s);
-
104}
+
101
+
104array identity(int n, Dtype dtype, StreamOrDevice s = {});
+
+
105inline array identity(int n, StreamOrDevice s = {}) {
+
106 return identity(n, float32, s);
+
107}
-
105
-
108array identity(int n, Dtype dtype, StreamOrDevice s = {});
-
-
109inline array identity(int n, StreamOrDevice s = {}) {
-
110 return identity(n, float32, s);
-
111}
+
108
+
109array tri(int n, int m, int k, Dtype type, StreamOrDevice s = {});
+
+
110inline array tri(int n, Dtype type, StreamOrDevice s = {}) {
+
111 return tri(n, n, 0, type, s);
+
112}
-
112
-
113array tri(int n, int m, int k, Dtype type, StreamOrDevice s = {});
-
-
114inline array tri(int n, Dtype type, StreamOrDevice s = {}) {
-
115 return tri(n, n, 0, type, s);
-
116}
-
-
117
-
118array tril(array x, int k = 0, StreamOrDevice s = {});
-
119array triu(array x, int k = 0, StreamOrDevice s = {});
-
120
-
122array reshape(const array& a, std::vector<int> shape, StreamOrDevice s = {});
-
123
- -
126 const array& a,
-
127 int start_axis,
-
128 int end_axis = -1,
-
129 StreamOrDevice s = {});
-
130
- -
133
- -
136 const array& a,
-
137 std::optional<float> scale = std::nullopt,
-
138 StreamOrDevice s = {});
-
139
- -
142 const array& a,
-
143 const std::vector<int>& axes,
-
144 StreamOrDevice s = {});
-
145
-
147array squeeze(const array& a, int axis, StreamOrDevice s = {});
-
148
- -
151
- -
154 const array& a,
-
155 const std::vector<int>& axes,
-
156 StreamOrDevice s = {});
-
157
-
159array expand_dims(const array& a, int axis, StreamOrDevice s = {});
-
160
- -
163 const array& a,
-
164 std::vector<int> start,
-
165 std::vector<int> stop,
-
166 std::vector<int> strides,
-
167 StreamOrDevice s = {});
-
168
- -
171 const array& a,
-
172 std::vector<int> start,
-
173 std::vector<int> stop,
-
174 StreamOrDevice s = {});
-
175
- -
178 const array& src,
-
179 const array& update,
-
180 std::vector<int> start,
-
181 std::vector<int> stop,
-
182 std::vector<int> strides,
+
113
+
114array tril(array x, int k = 0, StreamOrDevice s = {});
+
115array triu(array x, int k = 0, StreamOrDevice s = {});
+
116
+
118array reshape(const array& a, Shape shape, StreamOrDevice s = {});
+
119
+ +
122 const array& a,
+
123 int start_axis,
+
124 int end_axis = -1,
+
125 StreamOrDevice s = {});
+
126
+ +
129
+ +
132 const array& a,
+
133 std::optional<float> scale = std::nullopt,
+
134 StreamOrDevice s = {});
+
135
+ +
138 const array& a,
+
139 const std::vector<int>& axes,
+
140 StreamOrDevice s = {});
+
141
+
143array squeeze(const array& a, int axis, StreamOrDevice s = {});
+
144
+ +
147
+ +
150 const array& a,
+
151 const std::vector<int>& axes,
+
152 StreamOrDevice s = {});
+
153
+
155array expand_dims(const array& a, int axis, StreamOrDevice s = {});
+
156
+ +
159 const array& a,
+
160 Shape start,
+
161 Shape stop,
+
162 Shape strides,
+
163 StreamOrDevice s = {});
+
164
+
166array slice(const array& a, Shape start, Shape stop, StreamOrDevice s = {});
+
167
+ +
170 const array& src,
+
171 const array& update,
+
172 Shape start,
+
173 Shape stop,
+
174 Shape strides,
+
175 StreamOrDevice s = {});
+
176
+ +
179 const array& src,
+
180 const array& update,
+
181 Shape start,
+
182 Shape stop,
183 StreamOrDevice s = {});
184
- -
187 const array& src,
-
188 const array& update,
-
189 std::vector<int> start,
-
190 std::vector<int> stop,
-
191 StreamOrDevice s = {});
-
192
+
186std::vector<array>
+
187split(const array& a, int num_splits, int axis, StreamOrDevice s = {});
+
188std::vector<array> split(const array& a, int num_splits, StreamOrDevice s = {});
+
189std::vector<array> split(
+
190 const array& a,
+
191 const std::vector<int>& indices,
+
192 int axis,
+
193 StreamOrDevice s = {});
194std::vector<array>
-
195split(const array& a, int num_splits, int axis, StreamOrDevice s = {});
-
196std::vector<array> split(const array& a, int num_splits, StreamOrDevice s = {});
-
197std::vector<array> split(
-
198 const array& a,
-
199 const std::vector<int>& indices,
-
200 int axis,
-
201 StreamOrDevice s = {});
-
202std::vector<array>
-
203split(const array& a, const std::vector<int>& indices, StreamOrDevice s = {});
-
204
-
206std::vector<array> meshgrid(
-
207 const std::vector<array>& arrays,
-
208 bool sparse = false,
-
209 std::string indexing = "xy",
-
210 StreamOrDevice s = {});
-
211
- -
216 const array& a,
-
217 const std::optional<array>& a_min = std::nullopt,
-
218 const std::optional<array>& a_max = std::nullopt,
-
219 StreamOrDevice s = {});
-
220
- -
223 const std::vector<array>& arrays,
-
224 int axis,
-
225 StreamOrDevice s = {});
-
226array concatenate(const std::vector<array>& arrays, StreamOrDevice s = {});
+
195split(const array& a, const std::vector<int>& indices, StreamOrDevice s = {});
+
196
+
198std::vector<array> meshgrid(
+
199 const std::vector<array>& arrays,
+
200 bool sparse = false,
+
201 std::string indexing = "xy",
+
202 StreamOrDevice s = {});
+
203
+ +
208 const array& a,
+
209 const std::optional<array>& a_min = std::nullopt,
+
210 const std::optional<array>& a_max = std::nullopt,
+
211 StreamOrDevice s = {});
+
212
+ +
215 const std::vector<array>& arrays,
+
216 int axis,
+
217 StreamOrDevice s = {});
+
218array concatenate(const std::vector<array>& arrays, StreamOrDevice s = {});
+
219
+
221array stack(const std::vector<array>& arrays, int axis, StreamOrDevice s = {});
+
222array stack(const std::vector<array>& arrays, StreamOrDevice s = {});
+
223
+
225array repeat(const array& arr, int repeats, int axis, StreamOrDevice s = {});
+
226array repeat(const array& arr, int repeats, StreamOrDevice s = {});
227
-
229array stack(const std::vector<array>& arrays, int axis, StreamOrDevice s = {});
-
230array stack(const std::vector<array>& arrays, StreamOrDevice s = {});
-
231
-
233array repeat(const array& arr, int repeats, int axis, StreamOrDevice s = {});
-
234array repeat(const array& arr, int repeats, StreamOrDevice s = {});
-
235
-
236array tile(const array& arr, std::vector<int> reps, StreamOrDevice s = {});
-
237
-
239array transpose(const array& a, std::vector<int> axes, StreamOrDevice s = {});
-
- -
241 const array& a,
-
242 std::initializer_list<int> axes,
-
243 StreamOrDevice s = {}) {
-
244 return transpose(a, std::vector<int>(axes), s);
-
245}
+
228array tile(const array& arr, std::vector<int> reps, StreamOrDevice s = {});
+
229
+
231array transpose(const array& a, std::vector<int> axes, StreamOrDevice s = {});
+
+ +
233 const array& a,
+
234 std::initializer_list<int> axes,
+
235 StreamOrDevice s = {}) {
+
236 return transpose(a, std::vector<int>(axes), s);
+
237}
-
246
-
248array swapaxes(const array& a, int axis1, int axis2, StreamOrDevice s = {});
-
249
- -
252 const array& a,
-
253 int source,
-
254 int destination,
-
255 StreamOrDevice s = {});
-
256
- -
259 const array& a,
-
260 const std::vector<int>& axes,
-
261 const std::vector<int>& low_pad_size,
-
262 const std::vector<int>& high_pad_size,
+
238
+
240array swapaxes(const array& a, int axis1, int axis2, StreamOrDevice s = {});
+
241
+ +
244 const array& a,
+
245 int source,
+
246 int destination,
+
247 StreamOrDevice s = {});
+
248
+ +
251 const array& a,
+
252 const std::vector<int>& axes,
+
253 const std::vector<int>& low_pad_size,
+
254 const std::vector<int>& high_pad_size,
+
255 const array& pad_value = array(0),
+
256 const std::string mode = "constant",
+
257 StreamOrDevice s = {});
+
258
+ +
261 const array& a,
+
262 const std::vector<std::pair<int, int>>& pad_width,
263 const array& pad_value = array(0),
264 const std::string mode = "constant",
265 StreamOrDevice s = {});
-
266
- -
269 const array& a,
-
270 const std::vector<std::pair<int, int>>& pad_width,
-
271 const array& pad_value = array(0),
-
272 const std::string mode = "constant",
-
273 StreamOrDevice s = {});
- -
275 const array& a,
-
276 const std::pair<int, int>& pad_width,
-
277 const array& pad_value = array(0),
-
278 const std::string mode = "constant",
-
279 StreamOrDevice s = {});
- -
281 const array& a,
-
282 int pad_width,
-
283 const array& pad_value = array(0),
-
284 const std::string mode = "constant",
-
285 StreamOrDevice s = {});
-
286
- + +
267 const array& a,
+
268 const std::pair<int, int>& pad_width,
+
269 const array& pad_value = array(0),
+
270 const std::string mode = "constant",
+
271 StreamOrDevice s = {});
+ +
273 const array& a,
+
274 int pad_width,
+
275 const array& pad_value = array(0),
+
276 const std::string mode = "constant",
+
277 StreamOrDevice s = {});
+
278
+ +
281
+
283array broadcast_to(const array& a, const Shape& shape, StreamOrDevice s = {});
+
284
+
286std::vector<array> broadcast_arrays(
+
287 const std::vector<array>& inputs,
+
288 StreamOrDevice s = {});
289
- -
292 const array& a,
-
293 const std::vector<int>& shape,
-
294 StreamOrDevice s = {});
-
295
-
297std::vector<array> broadcast_arrays(
-
298 const std::vector<array>& inputs,
-
299 StreamOrDevice s = {});
-
300
-
302array equal(const array& a, const array& b, StreamOrDevice s = {});
-
-
303inline array operator==(const array& a, const array& b) {
-
304 return equal(a, b);
-
305}
+
291array equal(const array& a, const array& b, StreamOrDevice s = {});
+
+
292inline array operator==(const array& a, const array& b) {
+
293 return equal(a, b);
+
294}
-
306template <typename T>
-
-
307array operator==(T a, const array& b) {
-
308 return equal(array(a), b);
-
309}
+
295template <typename T>
+
+
296array operator==(T a, const array& b) {
+
297 return equal(array(a), b);
+
298}
-
310template <typename T>
-
-
311array operator==(const array& a, T b) {
-
312 return equal(a, array(b));
-
313}
+
299template <typename T>
+
+
300array operator==(const array& a, T b) {
+
301 return equal(a, array(b));
+
302}
-
314
-
316array not_equal(const array& a, const array& b, StreamOrDevice s = {});
-
-
317inline array operator!=(const array& a, const array& b) {
-
318 return not_equal(a, b);
-
319}
+
303
+
305array not_equal(const array& a, const array& b, StreamOrDevice s = {});
+
+
306inline array operator!=(const array& a, const array& b) {
+
307 return not_equal(a, b);
+
308}
-
320template <typename T>
-
-
321array operator!=(T a, const array& b) {
-
322 return not_equal(array(a), b);
-
323}
+
309template <typename T>
+
+
310array operator!=(T a, const array& b) {
+
311 return not_equal(array(a), b);
+
312}
-
324template <typename T>
-
-
325array operator!=(const array& a, T b) {
-
326 return not_equal(a, array(b));
-
327}
+
313template <typename T>
+
+
314array operator!=(const array& a, T b) {
+
315 return not_equal(a, array(b));
+
316}
-
328
-
330array greater(const array& a, const array& b, StreamOrDevice s = {});
-
-
331inline array operator>(const array& a, const array& b) {
-
332 return greater(a, b);
-
333}
+
317
+
319array greater(const array& a, const array& b, StreamOrDevice s = {});
+
+
320inline array operator>(const array& a, const array& b) {
+
321 return greater(a, b);
+
322}
-
334template <typename T>
-
-
335array operator>(T a, const array& b) {
-
336 return greater(array(a), b);
-
337}
+
323template <typename T>
+
+
324array operator>(T a, const array& b) {
+
325 return greater(array(a), b);
+
326}
-
338template <typename T>
-
-
339array operator>(const array& a, T b) {
-
340 return greater(a, array(b));
-
341}
+
327template <typename T>
+
+
328array operator>(const array& a, T b) {
+
329 return greater(a, array(b));
+
330}
-
342
-
344array greater_equal(const array& a, const array& b, StreamOrDevice s = {});
-
-
345inline array operator>=(const array& a, const array& b) {
-
346 return greater_equal(a, b);
-
347}
+
331
+
333array greater_equal(const array& a, const array& b, StreamOrDevice s = {});
+
+
334inline array operator>=(const array& a, const array& b) {
+
335 return greater_equal(a, b);
+
336}
-
348template <typename T>
-
-
349array operator>=(T a, const array& b) {
-
350 return greater_equal(array(a), b);
-
351}
+
337template <typename T>
+
+
338array operator>=(T a, const array& b) {
+
339 return greater_equal(array(a), b);
+
340}
-
352template <typename T>
-
-
353array operator>=(const array& a, T b) {
-
354 return greater_equal(a, array(b));
-
355}
+
341template <typename T>
+
+
342array operator>=(const array& a, T b) {
+
343 return greater_equal(a, array(b));
+
344}
-
356
-
358array less(const array& a, const array& b, StreamOrDevice s = {});
-
-
359inline array operator<(const array& a, const array& b) {
-
360 return less(a, b);
-
361}
+
345
+
347array less(const array& a, const array& b, StreamOrDevice s = {});
+
+
348inline array operator<(const array& a, const array& b) {
+
349 return less(a, b);
+
350}
-
362template <typename T>
-
-
363array operator<(T a, const array& b) {
-
364 return less(array(a), b);
-
365}
+
351template <typename T>
+
+
352array operator<(T a, const array& b) {
+
353 return less(array(a), b);
+
354}
-
366template <typename T>
-
-
367array operator<(const array& a, T b) {
-
368 return less(a, array(b));
-
369}
+
355template <typename T>
+
+
356array operator<(const array& a, T b) {
+
357 return less(a, array(b));
+
358}
-
370
-
372array less_equal(const array& a, const array& b, StreamOrDevice s = {});
-
-
373inline array operator<=(const array& a, const array& b) {
-
374 return less_equal(a, b);
-
375}
+
359
+
361array less_equal(const array& a, const array& b, StreamOrDevice s = {});
+
+
362inline array operator<=(const array& a, const array& b) {
+
363 return less_equal(a, b);
+
364}
-
376template <typename T>
-
-
377array operator<=(T a, const array& b) {
-
378 return less_equal(array(a), b);
-
379}
+
365template <typename T>
+
+
366array operator<=(T a, const array& b) {
+
367 return less_equal(array(a), b);
+
368}
-
380template <typename T>
+
369template <typename T>
+
+
370array operator<=(const array& a, T b) {
+
371 return less_equal(a, array(b));
+
372}
+
+
373
+ +
376 const array& a,
+
377 const array& b,
+
378 bool equal_nan,
+
379 StreamOrDevice s = {});
+
380inline array
-
381array operator<=(const array& a, T b) {
-
382 return less_equal(a, array(b));
+
381array_equal(const array& a, const array& b, StreamOrDevice s = {}) {
+
382 return array_equal(a, b, false, s);
383}
384
- -
387 const array& a,
-
388 const array& b,
-
389 bool equal_nan,
-
390 StreamOrDevice s = {});
-
391inline array
-
-
392array_equal(const array& a, const array& b, StreamOrDevice s = {}) {
-
393 return array_equal(a, b, false, s);
-
394}
-
-
395
-
396array isnan(const array& a, StreamOrDevice s = {});
-
397
-
398array isinf(const array& a, StreamOrDevice s = {});
-
399
- +
385array isnan(const array& a, StreamOrDevice s = {});
+
386
+
387array isinf(const array& a, StreamOrDevice s = {});
+
388
+ +
390
+ +
392
+ +
394
+ +
397 const array& condition,
+
398 const array& x,
+
399 const array& y,
+
400 StreamOrDevice s = {});
401
- -
403
- -
405
- -
408 const array& condition,
-
409 const array& x,
-
410 const array& y,
-
411 StreamOrDevice s = {});
-
412
- -
415 const array& a,
-
416 float nan = 0.0f,
-
417 const std::optional<float> posinf = std::nullopt,
-
418 const std::optional<float> neginf = std::nullopt,
-
419 StreamOrDevice s = {});
-
420
-
422array all(const array& a, bool keepdims, StreamOrDevice s = {});
-
-
423inline array all(const array& a, StreamOrDevice s = {}) {
-
424 return all(a, false, to_stream(s));
-
425}
+ +
404 const array& a,
+
405 float nan = 0.0f,
+
406 const std::optional<float> posinf = std::nullopt,
+
407 const std::optional<float> neginf = std::nullopt,
+
408 StreamOrDevice s = {});
+
409
+
411array all(const array& a, bool keepdims, StreamOrDevice s = {});
+
+
412inline array all(const array& a, StreamOrDevice s = {}) {
+
413 return all(a, false, to_stream(s));
+
414}
-
426
- -
429 const array& a,
-
430 const array& b,
-
431 double rtol = 1e-5,
-
432 double atol = 1e-8,
-
433 bool equal_nan = false,
-
434 StreamOrDevice s = {});
-
435
- -
439 const array& a,
-
440 const array& b,
-
441 double rtol = 1e-5,
-
442 double atol = 1e-8,
-
443 bool equal_nan = false,
-
444 StreamOrDevice s = {});
-
445
- -
451 const array& a,
-
452 const std::vector<int>& axes,
-
453 bool keepdims = false,
-
454 StreamOrDevice s = {});
-
455
- -
461 const array& a,
-
462 int axis,
-
463 bool keepdims = false,
-
464 StreamOrDevice s = {});
-
465
-
467array any(const array& a, bool keepdims, StreamOrDevice s = {});
-
-
468inline array any(const array& a, StreamOrDevice s = {}) {
-
469 return any(a, false, to_stream(s));
-
470}
+
415
+ +
418 const array& a,
+
419 const array& b,
+
420 double rtol = 1e-5,
+
421 double atol = 1e-8,
+
422 bool equal_nan = false,
+
423 StreamOrDevice s = {});
+
424
+ +
428 const array& a,
+
429 const array& b,
+
430 double rtol = 1e-5,
+
431 double atol = 1e-8,
+
432 bool equal_nan = false,
+
433 StreamOrDevice s = {});
+
434
+ +
440 const array& a,
+
441 const std::vector<int>& axes,
+
442 bool keepdims = false,
+
443 StreamOrDevice s = {});
+
444
+ +
450 const array& a,
+
451 int axis,
+
452 bool keepdims = false,
+
453 StreamOrDevice s = {});
+
454
+
456array any(const array& a, bool keepdims, StreamOrDevice s = {});
+
+
457inline array any(const array& a, StreamOrDevice s = {}) {
+
458 return any(a, false, to_stream(s));
+
459}
-
471
- -
477 const array& a,
-
478 const std::vector<int>& axes,
-
479 bool keepdims = false,
-
480 StreamOrDevice s = {});
-
481
- -
487 const array& a,
-
488 int axis,
-
489 bool keepdims = false,
-
490 StreamOrDevice s = {});
-
491
-
493array sum(const array& a, bool keepdims, StreamOrDevice s = {});
-
-
494inline array sum(const array& a, StreamOrDevice s = {}) {
-
495 return sum(a, false, to_stream(s));
-
496}
+
460
+ +
466 const array& a,
+
467 const std::vector<int>& axes,
+
468 bool keepdims = false,
+
469 StreamOrDevice s = {});
+
470
+ +
476 const array& a,
+
477 int axis,
+
478 bool keepdims = false,
+
479 StreamOrDevice s = {});
+
480
+
482array sum(const array& a, bool keepdims, StreamOrDevice s = {});
+
+
483inline array sum(const array& a, StreamOrDevice s = {}) {
+
484 return sum(a, false, to_stream(s));
+
485}
-
497
- -
500 const array& a,
-
501 const std::vector<int>& axes,
-
502 bool keepdims = false,
-
503 StreamOrDevice s = {});
-
504
- -
507 const array& a,
-
508 int axis,
-
509 bool keepdims = false,
-
510 StreamOrDevice s = {});
-
511
-
513array mean(const array& a, bool keepdims, StreamOrDevice s = {});
-
-
514inline array mean(const array& a, StreamOrDevice s = {}) {
-
515 return mean(a, false, to_stream(s));
-
516}
+
486
+ +
489 const array& a,
+
490 const std::vector<int>& axes,
+
491 bool keepdims = false,
+
492 StreamOrDevice s = {});
+
493
+ +
496 const array& a,
+
497 int axis,
+
498 bool keepdims = false,
+
499 StreamOrDevice s = {});
+
500
+
502array mean(const array& a, bool keepdims, StreamOrDevice s = {});
+
+
503inline array mean(const array& a, StreamOrDevice s = {}) {
+
504 return mean(a, false, to_stream(s));
+
505}
-
517
- -
520 const array& a,
-
521 const std::vector<int>& axes,
-
522 bool keepdims = false,
-
523 StreamOrDevice s = {});
-
524
- -
527 const array& a,
-
528 int axis,
-
529 bool keepdims = false,
-
530 StreamOrDevice s = {});
-
531
-
533array var(const array& a, bool keepdims, int ddof = 0, StreamOrDevice s = {});
-
-
534inline array var(const array& a, StreamOrDevice s = {}) {
-
535 return var(a, false, 0, to_stream(s));
-
536}
+
506
+ +
509 const array& a,
+
510 const std::vector<int>& axes,
+
511 bool keepdims = false,
+
512 StreamOrDevice s = {});
+
513
+ +
516 const array& a,
+
517 int axis,
+
518 bool keepdims = false,
+
519 StreamOrDevice s = {});
+
520
+
522array var(const array& a, bool keepdims, int ddof = 0, StreamOrDevice s = {});
+
+
523inline array var(const array& a, StreamOrDevice s = {}) {
+
524 return var(a, false, 0, to_stream(s));
+
525}
-
537
- -
541 const array& a,
-
542 const std::vector<int>& axes,
-
543 bool keepdims = false,
-
544 int ddof = 0,
-
545 StreamOrDevice s = {});
-
546
- -
550 const array& a,
-
551 int axis,
-
552 bool keepdims = false,
-
553 int ddof = 0,
-
554 StreamOrDevice s = {});
-
555
-
557array std(const array& a, bool keepdims, int ddof = 0, StreamOrDevice s = {});
-
-
558inline array std(const array& a, StreamOrDevice s = {}) {
-
559 return std(a, false, 0, to_stream(s));
-
560}
+
526
+ +
530 const array& a,
+
531 const std::vector<int>& axes,
+
532 bool keepdims = false,
+
533 int ddof = 0,
+
534 StreamOrDevice s = {});
+
535
+ +
539 const array& a,
+
540 int axis,
+
541 bool keepdims = false,
+
542 int ddof = 0,
+
543 StreamOrDevice s = {});
+
544
+
546array std(const array& a, bool keepdims, int ddof = 0, StreamOrDevice s = {});
+
+
547inline array std(const array& a, StreamOrDevice s = {}) {
+
548 return std(a, false, 0, to_stream(s));
+
549}
-
561
- -
565 const array& a,
-
566 const std::vector<int>& axes,
-
567 bool keepdims = false,
-
568 int ddof = 0,
-
569 StreamOrDevice s = {});
-
570
- -
574 const array& a,
-
575 int axis,
-
576 bool keepdims = false,
-
577 int ddof = 0,
-
578 StreamOrDevice s = {});
-
579
-
581array prod(const array& a, bool keepdims, StreamOrDevice s = {});
-
-
582inline array prod(const array& a, StreamOrDevice s = {}) {
-
583 return prod(a, false, to_stream(s));
-
584}
+
550
+ +
554 const array& a,
+
555 const std::vector<int>& axes,
+
556 bool keepdims = false,
+
557 int ddof = 0,
+
558 StreamOrDevice s = {});
+
559
+ +
563 const array& a,
+
564 int axis,
+
565 bool keepdims = false,
+
566 int ddof = 0,
+
567 StreamOrDevice s = {});
+
568
+
570array prod(const array& a, bool keepdims, StreamOrDevice s = {});
+
+
571inline array prod(const array& a, StreamOrDevice s = {}) {
+
572 return prod(a, false, to_stream(s));
+
573}
-
585
- -
588 const array& a,
-
589 const std::vector<int>& axes,
-
590 bool keepdims = false,
-
591 StreamOrDevice s = {});
-
592
- -
595 const array& a,
-
596 int axis,
-
597 bool keepdims = false,
-
598 StreamOrDevice s = {});
-
599
-
601array max(const array& a, bool keepdims, StreamOrDevice s = {});
-
-
602inline array max(const array& a, StreamOrDevice s = {}) {
-
603 return max(a, false, to_stream(s));
-
604}
+
574
+ +
577 const array& a,
+
578 const std::vector<int>& axes,
+
579 bool keepdims = false,
+
580 StreamOrDevice s = {});
+
581
+ +
584 const array& a,
+
585 int axis,
+
586 bool keepdims = false,
+
587 StreamOrDevice s = {});
+
588
+
590array max(const array& a, bool keepdims, StreamOrDevice s = {});
+
+
591inline array max(const array& a, StreamOrDevice s = {}) {
+
592 return max(a, false, to_stream(s));
+
593}
-
605
- -
608 const array& a,
-
609 const std::vector<int>& axes,
-
610 bool keepdims = false,
-
611 StreamOrDevice s = {});
-
612
- -
615 const array& a,
-
616 int axis,
-
617 bool keepdims = false,
-
618 StreamOrDevice s = {});
-
619
-
621array min(const array& a, bool keepdims, StreamOrDevice s = {});
-
-
622inline array min(const array& a, StreamOrDevice s = {}) {
-
623 return min(a, false, to_stream(s));
-
624}
+
594
+ +
597 const array& a,
+
598 const std::vector<int>& axes,
+
599 bool keepdims = false,
+
600 StreamOrDevice s = {});
+
601
+ +
604 const array& a,
+
605 int axis,
+
606 bool keepdims = false,
+
607 StreamOrDevice s = {});
+
608
+
610array min(const array& a, bool keepdims, StreamOrDevice s = {});
+
+
611inline array min(const array& a, StreamOrDevice s = {}) {
+
612 return min(a, false, to_stream(s));
+
613}
-
625
- -
628 const array& a,
-
629 const std::vector<int>& axes,
-
630 bool keepdims = false,
-
631 StreamOrDevice s = {});
-
632
- -
635 const array& a,
-
636 int axis,
-
637 bool keepdims = false,
-
638 StreamOrDevice s = {});
-
639
-
641array argmin(const array& a, bool keepdims, StreamOrDevice s = {});
-
-
642inline array argmin(const array& a, StreamOrDevice s = {}) {
-
643 return argmin(a, false, s);
-
644}
+
614
+ +
617 const array& a,
+
618 const std::vector<int>& axes,
+
619 bool keepdims = false,
+
620 StreamOrDevice s = {});
+
621
+ +
624 const array& a,
+
625 int axis,
+
626 bool keepdims = false,
+
627 StreamOrDevice s = {});
+
628
+
630array argmin(const array& a, bool keepdims, StreamOrDevice s = {});
+
+
631inline array argmin(const array& a, StreamOrDevice s = {}) {
+
632 return argmin(a, false, s);
+
633}
-
645
- -
648 const array& a,
-
649 int axis,
-
650 bool keepdims = false,
-
651 StreamOrDevice s = {});
-
652
-
654array argmax(const array& a, bool keepdims, StreamOrDevice s = {});
-
-
655inline array argmax(const array& a, StreamOrDevice s = {}) {
-
656 return argmax(a, false, s);
-
657}
+
634
+ +
637 const array& a,
+
638 int axis,
+
639 bool keepdims = false,
+
640 StreamOrDevice s = {});
+
641
+
643array argmax(const array& a, bool keepdims, StreamOrDevice s = {});
+
+
644inline array argmax(const array& a, StreamOrDevice s = {}) {
+
645 return argmax(a, false, s);
+
646}
-
658
- -
661 const array& a,
-
662 int axis,
-
663 bool keepdims = false,
-
664 StreamOrDevice s = {});
-
665
-
667array sort(const array& a, StreamOrDevice s = {});
-
668
-
670array sort(const array& a, int axis, StreamOrDevice s = {});
-
671
- -
674
-
676array argsort(const array& a, int axis, StreamOrDevice s = {});
-
677
-
682array partition(const array& a, int kth, StreamOrDevice s = {});
-
683
-
688array partition(const array& a, int kth, int axis, StreamOrDevice s = {});
-
689
-
694array argpartition(const array& a, int kth, StreamOrDevice s = {});
-
695
-
700array argpartition(const array& a, int kth, int axis, StreamOrDevice s = {});
-
701
-
703array topk(const array& a, int k, StreamOrDevice s = {});
-
704
-
706array topk(const array& a, int k, int axis, StreamOrDevice s = {});
-
707
-
709array logsumexp(const array& a, bool keepdims, StreamOrDevice s = {});
-
-
710inline array logsumexp(const array& a, StreamOrDevice s = {}) {
-
711 return logsumexp(a, false, to_stream(s));
-
712}
+
647
+ +
650 const array& a,
+
651 int axis,
+
652 bool keepdims = false,
+
653 StreamOrDevice s = {});
+
654
+
656array sort(const array& a, StreamOrDevice s = {});
+
657
+
659array sort(const array& a, int axis, StreamOrDevice s = {});
+
660
+ +
663
+
665array argsort(const array& a, int axis, StreamOrDevice s = {});
+
666
+
671array partition(const array& a, int kth, StreamOrDevice s = {});
+
672
+
677array partition(const array& a, int kth, int axis, StreamOrDevice s = {});
+
678
+
683array argpartition(const array& a, int kth, StreamOrDevice s = {});
+
684
+
689array argpartition(const array& a, int kth, int axis, StreamOrDevice s = {});
+
690
+
692array topk(const array& a, int k, StreamOrDevice s = {});
+
693
+
695array topk(const array& a, int k, int axis, StreamOrDevice s = {});
+
696
+
698array logsumexp(const array& a, bool keepdims, StreamOrDevice s = {});
+
+
699inline array logsumexp(const array& a, StreamOrDevice s = {}) {
+
700 return logsumexp(a, false, to_stream(s));
+
701}
-
713
- -
716 const array& a,
-
717 const std::vector<int>& axes,
-
718 bool keepdims = false,
-
719 StreamOrDevice s = {});
-
720
- -
723 const array& a,
-
724 int axis,
-
725 bool keepdims = false,
-
726 StreamOrDevice s = {});
-
727
-
729array abs(const array& a, StreamOrDevice s = {});
-
730
- - -
734
-
736array sign(const array& a, StreamOrDevice s = {});
+
702
+ +
705 const array& a,
+
706 const std::vector<int>& axes,
+
707 bool keepdims = false,
+
708 StreamOrDevice s = {});
+
709
+ +
712 const array& a,
+
713 int axis,
+
714 bool keepdims = false,
+
715 StreamOrDevice s = {});
+
716
+
718array abs(const array& a, StreamOrDevice s = {});
+
719
+ + +
723
+
725array sign(const array& a, StreamOrDevice s = {});
+
726
+ +
729
+
731array logical_and(const array& a, const array& b, StreamOrDevice s = {});
+
732array operator&&(const array& a, const array& b);
+
733
+
735array logical_or(const array& a, const array& b, StreamOrDevice s = {});
+
736array operator||(const array& a, const array& b);
737
- +
740
-
742array logical_and(const array& a, const array& b, StreamOrDevice s = {});
-
743array operator&&(const array& a, const array& b);
-
744
-
746array logical_or(const array& a, const array& b, StreamOrDevice s = {});
-
747array operator||(const array& a, const array& b);
-
748
- -
751
-
753array add(const array& a, const array& b, StreamOrDevice s = {});
-
754array operator+(const array& a, const array& b);
-
755template <typename T>
-
-
756array operator+(T a, const array& b) {
-
757 return add(array(a), b);
-
758}
+
742array add(const array& a, const array& b, StreamOrDevice s = {});
+
743array operator+(const array& a, const array& b);
+
744template <typename T>
+
+
745array operator+(T a, const array& b) {
+
746 return add(array(a), b);
+
747}
-
759template <typename T>
-
-
760array operator+(const array& a, T b) {
-
761 return add(a, array(b));
-
762}
+
748template <typename T>
+
+
749array operator+(const array& a, T b) {
+
750 return add(a, array(b));
+
751}
-
763
-
765array subtract(const array& a, const array& b, StreamOrDevice s = {});
-
766array operator-(const array& a, const array& b);
-
767template <typename T>
-
-
768array operator-(T a, const array& b) {
-
769 return subtract(array(a), b);
-
770}
+
752
+
754array subtract(const array& a, const array& b, StreamOrDevice s = {});
+
755array operator-(const array& a, const array& b);
+
756template <typename T>
+
+
757array operator-(T a, const array& b) {
+
758 return subtract(array(a), b);
+
759}
-
771template <typename T>
-
-
772array operator-(const array& a, T b) {
-
773 return subtract(a, array(b));
-
774}
+
760template <typename T>
+
+
761array operator-(const array& a, T b) {
+
762 return subtract(a, array(b));
+
763}
-
775
-
777array multiply(const array& a, const array& b, StreamOrDevice s = {});
-
778array operator*(const array& a, const array& b);
-
779template <typename T>
-
-
780array operator*(T a, const array& b) {
-
781 return multiply(array(a), b);
-
782}
+
764
+
766array multiply(const array& a, const array& b, StreamOrDevice s = {});
+
767array operator*(const array& a, const array& b);
+
768template <typename T>
+
+
769array operator*(T a, const array& b) {
+
770 return multiply(array(a), b);
+
771}
-
783template <typename T>
-
-
784array operator*(const array& a, T b) {
-
785 return multiply(a, array(b));
-
786}
+
772template <typename T>
+
+
773array operator*(const array& a, T b) {
+
774 return multiply(a, array(b));
+
775}
-
787
-
789array divide(const array& a, const array& b, StreamOrDevice s = {});
-
790array operator/(const array& a, const array& b);
-
791array operator/(double a, const array& b);
-
792array operator/(const array& a, double b);
-
793
-
795std::vector<array>
-
796divmod(const array& a, const array& b, StreamOrDevice s = {});
-
797
-
799array floor_divide(const array& a, const array& b, StreamOrDevice s = {});
-
800
-
802array remainder(const array& a, const array& b, StreamOrDevice s = {});
-
803array operator%(const array& a, const array& b);
-
804template <typename T>
-
-
805array operator%(T a, const array& b) {
-
806 return remainder(array(a), b);
-
807}
+
776
+
778array divide(const array& a, const array& b, StreamOrDevice s = {});
+
779array operator/(const array& a, const array& b);
+
780array operator/(double a, const array& b);
+
781array operator/(const array& a, double b);
+
782
+
784std::vector<array>
+
785divmod(const array& a, const array& b, StreamOrDevice s = {});
+
786
+
788array floor_divide(const array& a, const array& b, StreamOrDevice s = {});
+
789
+
791array remainder(const array& a, const array& b, StreamOrDevice s = {});
+
792array operator%(const array& a, const array& b);
+
793template <typename T>
+
+
794array operator%(T a, const array& b) {
+
795 return remainder(array(a), b);
+
796}
-
808template <typename T>
-
-
809array operator%(const array& a, T b) {
-
810 return remainder(a, array(b));
-
811}
+
797template <typename T>
+
+
798array operator%(const array& a, T b) {
+
799 return remainder(a, array(b));
+
800}
-
812
-
814array maximum(const array& a, const array& b, StreamOrDevice s = {});
-
815
-
817array minimum(const array& a, const array& b, StreamOrDevice s = {});
-
818
-
820array floor(const array& a, StreamOrDevice s = {});
-
821
-
823array ceil(const array& a, StreamOrDevice s = {});
-
824
- -
827
-
829array exp(const array& a, StreamOrDevice s = {});
-
830
-
832array sin(const array& a, StreamOrDevice s = {});
-
833
-
835array cos(const array& a, StreamOrDevice s = {});
-
836
-
838array tan(const array& a, StreamOrDevice s = {});
-
839
- -
842
- -
845
- -
848
-
850array arctan2(const array& a, const array& b, StreamOrDevice s = {});
-
851
-
853array sinh(const array& a, StreamOrDevice s = {});
-
854
-
856array cosh(const array& a, StreamOrDevice s = {});
-
857
-
859array tanh(const array& a, StreamOrDevice s = {});
-
860
- -
863
- -
866
- -
869
- -
872
- -
875
-
877array log(const array& a, StreamOrDevice s = {});
-
878
-
880array log2(const array& a, StreamOrDevice s = {});
-
881
-
883array log10(const array& a, StreamOrDevice s = {});
-
884
-
886array log1p(const array& a, StreamOrDevice s = {});
-
887
-
889array logaddexp(const array& a, const array& b, StreamOrDevice s = {});
-
890
- -
893
-
895array erf(const array& a, StreamOrDevice s = {});
-
896
- -
899
-
901array expm1(const array& a, StreamOrDevice s = {});
-
902
- -
905
-
907array round(const array& a, int decimals, StreamOrDevice s = {});
-
-
908inline array round(const array& a, StreamOrDevice s = {}) {
-
909 return round(a, 0, s);
-
910}
+
801
+
803array maximum(const array& a, const array& b, StreamOrDevice s = {});
+
804
+
806array minimum(const array& a, const array& b, StreamOrDevice s = {});
+
807
+
809array floor(const array& a, StreamOrDevice s = {});
+
810
+
812array ceil(const array& a, StreamOrDevice s = {});
+
813
+ +
816
+
818array exp(const array& a, StreamOrDevice s = {});
+
819
+
821array sin(const array& a, StreamOrDevice s = {});
+
822
+
824array cos(const array& a, StreamOrDevice s = {});
+
825
+
827array tan(const array& a, StreamOrDevice s = {});
+
828
+ +
831
+ +
834
+ +
837
+
839array arctan2(const array& a, const array& b, StreamOrDevice s = {});
+
840
+
842array sinh(const array& a, StreamOrDevice s = {});
+
843
+
845array cosh(const array& a, StreamOrDevice s = {});
+
846
+
848array tanh(const array& a, StreamOrDevice s = {});
+
849
+ +
852
+ +
855
+ +
858
+ +
861
+ +
864
+
866array log(const array& a, StreamOrDevice s = {});
+
867
+
869array log2(const array& a, StreamOrDevice s = {});
+
870
+
872array log10(const array& a, StreamOrDevice s = {});
+
873
+
875array log1p(const array& a, StreamOrDevice s = {});
+
876
+
878array logaddexp(const array& a, const array& b, StreamOrDevice s = {});
+
879
+ +
882
+
884array erf(const array& a, StreamOrDevice s = {});
+
885
+ +
888
+
890array expm1(const array& a, StreamOrDevice s = {});
+
891
+ +
894
+
896array round(const array& a, int decimals, StreamOrDevice s = {});
+
+
897inline array round(const array& a, StreamOrDevice s = {}) {
+
898 return round(a, 0, s);
+
899}
-
911
-
913array matmul(const array& a, const array& b, StreamOrDevice s = {});
-
914
- -
917 const array& a,
-
918 const std::vector<array>& indices,
-
919 const std::vector<int>& axes,
-
920 const std::vector<int>& slice_sizes,
-
921 StreamOrDevice s = {});
-
- -
923 const array& a,
-
924 const array& indices,
-
925 int axis,
-
926 const std::vector<int>& slice_sizes,
-
927 StreamOrDevice s = {}) {
-
928 return gather(a, {indices}, std::vector<int>{axis}, slice_sizes, s);
-
929}
+
900
+
902array matmul(const array& a, const array& b, StreamOrDevice s = {});
+
903
+ +
906 const array& a,
+
907 const std::vector<array>& indices,
+
908 const std::vector<int>& axes,
+
909 const Shape& slice_sizes,
+
910 StreamOrDevice s = {});
+
+ +
912 const array& a,
+
913 const array& indices,
+
914 int axis,
+
915 const Shape& slice_sizes,
+
916 StreamOrDevice s = {}) {
+
917 return gather(a, {indices}, std::vector<int>{axis}, slice_sizes, s);
+
918}
-
930
- -
933 const array& a,
-
934 const array& indices,
-
935 int axis,
-
936 StreamOrDevice s = {});
-
937array take(const array& a, int index, int axis, StreamOrDevice s = {});
+
919
+ +
922 const array& a,
+
923 const array& indices,
+
924 int axis,
+
925 StreamOrDevice s = {});
+
926array take(const array& a, int index, int axis, StreamOrDevice s = {});
+
927
+
929array take(const array& a, const array& indices, StreamOrDevice s = {});
+
930array take(const array& a, int index, StreamOrDevice s = {});
+
931
+ +
934 const array& a,
+
935 const array& indices,
+
936 int axis,
+
937 StreamOrDevice s = {});
938
-
940array take(const array& a, const array& indices, StreamOrDevice s = {});
-
941array take(const array& a, int index, StreamOrDevice s = {});
-
942
- -
945 const array& a,
-
946 const array& indices,
-
947 int axis,
-
948 StreamOrDevice s = {});
-
949
- -
952 const array& a,
-
953 const array& indices,
-
954 const array& values,
-
955 int axis,
-
956 StreamOrDevice s = {});
-
957
- -
1057 const array& a,
-
1058 const std::vector<array>& indices,
-
1059 const array& updates,
-
1060 const std::vector<int>& axes,
-
1061 StreamOrDevice s = {});
-
- -
1063 const array& a,
-
1064 const array& indices,
-
1065 const array& updates,
-
1066 int axis,
-
1067 StreamOrDevice s = {}) {
-
1068 return scatter(a, {indices}, updates, std::vector<int>{axis}, s);
-
1069}
+ +
941 const array& a,
+
942 const array& indices,
+
943 const array& values,
+
944 int axis,
+
945 StreamOrDevice s = {});
+
946
+ +
1046 const array& a,
+
1047 const std::vector<array>& indices,
+
1048 const array& updates,
+
1049 const std::vector<int>& axes,
+
1050 StreamOrDevice s = {});
+
+ +
1052 const array& a,
+
1053 const array& indices,
+
1054 const array& updates,
+
1055 int axis,
+
1056 StreamOrDevice s = {}) {
+
1057 return scatter(a, {indices}, updates, std::vector<int>{axis}, s);
+
1058}
-
1070
- -
1073 const array& a,
-
1074 const std::vector<array>& indices,
-
1075 const array& updates,
-
1076 const std::vector<int>& axes,
-
1077 StreamOrDevice s = {});
-
- -
1079 const array& a,
-
1080 const array& indices,
-
1081 const array& updates,
-
1082 int axis,
-
1083 StreamOrDevice s = {}) {
-
1084 return scatter_add(a, {indices}, updates, std::vector<int>{axis}, s);
-
1085}
+
1059
+ +
1062 const array& a,
+
1063 const std::vector<array>& indices,
+
1064 const array& updates,
+
1065 const std::vector<int>& axes,
+
1066 StreamOrDevice s = {});
+
+ +
1068 const array& a,
+
1069 const array& indices,
+
1070 const array& updates,
+
1071 int axis,
+
1072 StreamOrDevice s = {}) {
+
1073 return scatter_add(a, {indices}, updates, std::vector<int>{axis}, s);
+
1074}
-
1086
- -
1089 const array& a,
-
1090 const std::vector<array>& indices,
-
1091 const array& updates,
-
1092 const std::vector<int>& axes,
-
1093 StreamOrDevice s = {});
-
- -
1095 const array& a,
-
1096 const array& indices,
-
1097 const array& updates,
-
1098 int axis,
-
1099 StreamOrDevice s = {}) {
-
1100 return scatter_prod(a, {indices}, updates, std::vector<int>{axis}, s);
-
1101}
+
1075
+ +
1078 const array& a,
+
1079 const std::vector<array>& indices,
+
1080 const array& updates,
+
1081 const std::vector<int>& axes,
+
1082 StreamOrDevice s = {});
+
+ +
1084 const array& a,
+
1085 const array& indices,
+
1086 const array& updates,
+
1087 int axis,
+
1088 StreamOrDevice s = {}) {
+
1089 return scatter_prod(a, {indices}, updates, std::vector<int>{axis}, s);
+
1090}
-
1102
- -
1105 const array& a,
-
1106 const std::vector<array>& indices,
-
1107 const array& updates,
-
1108 const std::vector<int>& axes,
-
1109 StreamOrDevice s = {});
-
- -
1111 const array& a,
-
1112 const array& indices,
-
1113 const array& updates,
-
1114 int axis,
-
1115 StreamOrDevice s = {}) {
-
1116 return scatter_max(a, {indices}, updates, std::vector<int>{axis}, s);
-
1117}
+
1091
+ +
1094 const array& a,
+
1095 const std::vector<array>& indices,
+
1096 const array& updates,
+
1097 const std::vector<int>& axes,
+
1098 StreamOrDevice s = {});
+
+ +
1100 const array& a,
+
1101 const array& indices,
+
1102 const array& updates,
+
1103 int axis,
+
1104 StreamOrDevice s = {}) {
+
1105 return scatter_max(a, {indices}, updates, std::vector<int>{axis}, s);
+
1106}
- -
1120 const array& a,
-
1121 const std::vector<array>& indices,
-
1122 const array& updates,
-
1123 const std::vector<int>& axes,
-
1124 StreamOrDevice s = {});
-
- -
1126 const array& a,
-
1127 const array& indices,
-
1128 const array& updates,
-
1129 int axis,
-
1130 StreamOrDevice s = {}) {
-
1131 return scatter_min(a, {indices}, updates, std::vector<int>{axis}, s);
-
1132}
+ +
1109 const array& a,
+
1110 const std::vector<array>& indices,
+
1111 const array& updates,
+
1112 const std::vector<int>& axes,
+
1113 StreamOrDevice s = {});
+
+ +
1115 const array& a,
+
1116 const array& indices,
+
1117 const array& updates,
+
1118 int axis,
+
1119 StreamOrDevice s = {}) {
+
1120 return scatter_min(a, {indices}, updates, std::vector<int>{axis}, s);
+
1121}
-
1133
-
1135array sqrt(const array& a, StreamOrDevice s = {});
-
1136
- -
1139
- -
1142 const array& a,
-
1143 const std::vector<int>& axes,
-
1144 bool precise = false,
-
1145 StreamOrDevice s = {});
-
1146
-
1148array softmax(const array& a, bool precise = false, StreamOrDevice s = {});
-
1149
-
1151inline array
-
-
1152softmax(const array& a, int axis, bool precise = false, StreamOrDevice s = {}) {
-
1153 return softmax(a, std::vector<int>{axis}, precise, s);
-
1154}
+
1122
+
1124array sqrt(const array& a, StreamOrDevice s = {});
+
1125
+ +
1128
+ +
1131 const array& a,
+
1132 const std::vector<int>& axes,
+
1133 bool precise = false,
+
1134 StreamOrDevice s = {});
+
1135
+
1137array softmax(const array& a, bool precise = false, StreamOrDevice s = {});
+
1138
+
1140inline array
+
+
1141softmax(const array& a, int axis, bool precise = false, StreamOrDevice s = {}) {
+
1142 return softmax(a, std::vector<int>{axis}, precise, s);
+
1143}
+
1144
+
1146array power(const array& a, const array& b, StreamOrDevice s = {});
+
1147
+ +
1150 const array& a,
+
1151 int axis,
+
1152 bool reverse = false,
+
1153 bool inclusive = true,
+
1154 StreamOrDevice s = {});
1155
-
1157array power(const array& a, const array& b, StreamOrDevice s = {});
-
1158
- -
1161 const array& a,
-
1162 int axis,
-
1163 bool reverse = false,
-
1164 bool inclusive = true,
-
1165 StreamOrDevice s = {});
-
1166
- -
1169 const array& a,
-
1170 int axis,
-
1171 bool reverse = false,
-
1172 bool inclusive = true,
-
1173 StreamOrDevice s = {});
-
1174
- -
1177 const array& a,
-
1178 int axis,
-
1179 bool reverse = false,
-
1180 bool inclusive = true,
-
1181 StreamOrDevice s = {});
-
1182
- -
1185 const array& a,
-
1186 int axis,
-
1187 bool reverse = false,
-
1188 bool inclusive = true,
-
1189 StreamOrDevice s = {});
-
1190
- -
1193 array input,
-
1194 array weight,
-
1195 std::vector<int> stride = {},
-
1196 std::vector<int> padding_lo = {},
-
1197 std::vector<int> padding_hi = {},
-
1198 std::vector<int> kernel_dilation = {},
-
1199 std::vector<int> input_dilation = {},
-
1200 int groups = 1,
-
1201 bool flip = false,
-
1202 StreamOrDevice s = {});
-
1203
-
- -
1206 const array& input,
-
1207 const array& weight,
-
1208 std::vector<int> stride = {},
-
1209 std::vector<int> padding = {},
-
1210 std::vector<int> kernel_dilation = {},
-
1211 std::vector<int> input_dilation = {},
-
1212 int groups = 1,
-
1213 bool flip = false,
-
1214 StreamOrDevice s = {}) {
-
1215 return conv_general(
-
1216 /* const array& input = */ input,
-
1217 /* const array& weight = */ weight,
-
1218 /* std::vector<int> stride = */ stride,
-
1219 /* std::vector<int> padding_lo = */ padding,
-
1220 /* std::vector<int> padding_hi = */ padding,
-
1221 /* std::vector<int> kernel_dilation = */ kernel_dilation,
-
1222 /* std::vector<int> input_dilation = */ input_dilation,
-
1223 /* int groups = */ groups,
-
1224 /* bool flip = */ flip,
-
1225 /* StreamOrDevice s = */ s);
-
1226}
+ +
1158 const array& a,
+
1159 int axis,
+
1160 bool reverse = false,
+
1161 bool inclusive = true,
+
1162 StreamOrDevice s = {});
+
1163
+ +
1166 const array& a,
+
1167 int axis,
+
1168 bool reverse = false,
+
1169 bool inclusive = true,
+
1170 StreamOrDevice s = {});
+
1171
+ +
1174 const array& a,
+
1175 int axis,
+
1176 bool reverse = false,
+
1177 bool inclusive = true,
+
1178 StreamOrDevice s = {});
+
1179
+ +
1182 array input,
+
1183 array weight,
+
1184 std::vector<int> stride = {},
+
1185 std::vector<int> padding_lo = {},
+
1186 std::vector<int> padding_hi = {},
+
1187 std::vector<int> kernel_dilation = {},
+
1188 std::vector<int> input_dilation = {},
+
1189 int groups = 1,
+
1190 bool flip = false,
+
1191 StreamOrDevice s = {});
+
1192
+
+ +
1195 const array& input,
+
1196 const array& weight,
+
1197 std::vector<int> stride = {},
+
1198 std::vector<int> padding = {},
+
1199 std::vector<int> kernel_dilation = {},
+
1200 std::vector<int> input_dilation = {},
+
1201 int groups = 1,
+
1202 bool flip = false,
+
1203 StreamOrDevice s = {}) {
+
1204 return conv_general(
+
1205 /* const array& input = */ input,
+
1206 /* const array& weight = */ weight,
+
1207 /* std::vector<int> stride = */ stride,
+
1208 /* std::vector<int> padding_lo = */ padding,
+
1209 /* std::vector<int> padding_hi = */ padding,
+
1210 /* std::vector<int> kernel_dilation = */ kernel_dilation,
+
1211 /* std::vector<int> input_dilation = */ input_dilation,
+
1212 /* int groups = */ groups,
+
1213 /* bool flip = */ flip,
+
1214 /* StreamOrDevice s = */ s);
+
1215}
-
1227
- -
1230 const array& input,
-
1231 const array& weight,
-
1232 int stride = 1,
-
1233 int padding = 0,
-
1234 int dilation = 1,
-
1235 int groups = 1,
-
1236 StreamOrDevice s = {});
-
1237
- -
1240 const array& input,
-
1241 const array& weight,
-
1242 const std::pair<int, int>& stride = {1, 1},
-
1243 const std::pair<int, int>& padding = {0, 0},
-
1244 const std::pair<int, int>& dilation = {1, 1},
-
1245 int groups = 1,
-
1246 StreamOrDevice s = {});
-
1247
- -
1250 const array& input,
-
1251 const array& weight,
-
1252 const std::tuple<int, int, int>& stride = {1, 1, 1},
-
1253 const std::tuple<int, int, int>& padding = {0, 0, 0},
-
1254 const std::tuple<int, int, int>& dilation = {1, 1, 1},
-
1255 int groups = 1,
-
1256 StreamOrDevice s = {});
-
1257
- -
1260 const array& input,
-
1261 const array& weight,
-
1262 int stride = 1,
-
1263 int padding = 0,
-
1264 int dilation = 1,
-
1265 int groups = 1,
-
1266 StreamOrDevice s = {});
-
1267
- -
1270 const array& input,
-
1271 const array& weight,
-
1272 const std::pair<int, int>& stride = {1, 1},
-
1273 const std::pair<int, int>& padding = {0, 0},
-
1274 const std::pair<int, int>& dilation = {1, 1},
-
1275 int groups = 1,
-
1276 StreamOrDevice s = {});
-
1277
- -
1280 const array& input,
-
1281 const array& weight,
-
1282 const std::tuple<int, int, int>& stride = {1, 1, 1},
-
1283 const std::tuple<int, int, int>& padding = {0, 0, 0},
-
1284 const std::tuple<int, int, int>& dilation = {1, 1, 1},
-
1285 int groups = 1,
+
1216
+ +
1219 const array& input,
+
1220 const array& weight,
+
1221 int stride = 1,
+
1222 int padding = 0,
+
1223 int dilation = 1,
+
1224 int groups = 1,
+
1225 StreamOrDevice s = {});
+
1226
+ +
1229 const array& input,
+
1230 const array& weight,
+
1231 const std::pair<int, int>& stride = {1, 1},
+
1232 const std::pair<int, int>& padding = {0, 0},
+
1233 const std::pair<int, int>& dilation = {1, 1},
+
1234 int groups = 1,
+
1235 StreamOrDevice s = {});
+
1236
+ +
1239 const array& input,
+
1240 const array& weight,
+
1241 const std::tuple<int, int, int>& stride = {1, 1, 1},
+
1242 const std::tuple<int, int, int>& padding = {0, 0, 0},
+
1243 const std::tuple<int, int, int>& dilation = {1, 1, 1},
+
1244 int groups = 1,
+
1245 StreamOrDevice s = {});
+
1246
+ +
1249 const array& input,
+
1250 const array& weight,
+
1251 int stride = 1,
+
1252 int padding = 0,
+
1253 int dilation = 1,
+
1254 int groups = 1,
+
1255 StreamOrDevice s = {});
+
1256
+ +
1259 const array& input,
+
1260 const array& weight,
+
1261 const std::pair<int, int>& stride = {1, 1},
+
1262 const std::pair<int, int>& padding = {0, 0},
+
1263 const std::pair<int, int>& dilation = {1, 1},
+
1264 int groups = 1,
+
1265 StreamOrDevice s = {});
+
1266
+ +
1269 const array& input,
+
1270 const array& weight,
+
1271 const std::tuple<int, int, int>& stride = {1, 1, 1},
+
1272 const std::tuple<int, int, int>& padding = {0, 0, 0},
+
1273 const std::tuple<int, int, int>& dilation = {1, 1, 1},
+
1274 int groups = 1,
+
1275 StreamOrDevice s = {});
+
1276
+ +
1279 array x,
+
1280 array w,
+
1281 array scales,
+
1282 array biases,
+
1283 bool transpose = true,
+
1284 int group_size = 64,
+
1285 int bits = 4,
1286 StreamOrDevice s = {});
1287
- -
1290 array x,
-
1291 array w,
-
1292 array scales,
-
1293 array biases,
-
1294 bool transpose = true,
-
1295 int group_size = 64,
-
1296 int bits = 4,
-
1297 StreamOrDevice s = {});
-
1298
-
1300std::tuple<array, array, array> quantize(
-
1301 const array& w,
-
1302 int group_size = 64,
-
1303 int bits = 4,
-
1304 StreamOrDevice s = {});
-
1305
- -
1308 const array& w,
-
1309 const array& scales,
-
1310 const array& biases,
-
1311 int group_size = 64,
-
1312 int bits = 4,
-
1313 StreamOrDevice s = {});
-
1314
- -
1317 const array& x,
-
1318 const array& w,
-
1319 const array& scales,
-
1320 const array& biases,
-
1321 std::optional<array> lhs_indices = std::nullopt,
-
1322 std::optional<array> rhs_indices = std::nullopt,
-
1323 bool transpose = true,
-
1324 int group_size = 64,
-
1325 int bits = 4,
-
1326 StreamOrDevice s = {});
-
1327
- -
1330 const array& a,
-
1331 const array& b,
-
1332 const int axis = 2,
-
1333 StreamOrDevice s = {});
-
1334
- -
1336 const array& a,
-
1337 const array& b,
-
1338 const std::vector<int>& axes_a,
-
1339 const std::vector<int>& axes_b,
-
1340 StreamOrDevice s = {});
-
1341
-
1343array outer(const array& a, const array& b, StreamOrDevice s = {});
-
1344
-
1346array inner(const array& a, const array& b, StreamOrDevice s = {});
-
1347
- -
1350 array c,
-
1351 array a,
-
1352 array b,
-
1353 const float& alpha = 1.f,
-
1354 const float& beta = 1.f,
-
1355 StreamOrDevice s = {});
-
1356
- -
1359 array a,
-
1360 array b,
-
1361 int block_size,
-
1362 std::optional<array> mask_out = std::nullopt,
-
1363 std::optional<array> mask_lhs = std::nullopt,
-
1364 std::optional<array> mask_rhs = std::nullopt,
-
1365 StreamOrDevice s = {});
-
1366
- -
1369 array a,
-
1370 array b,
-
1371 std::optional<array> lhs_indices = std::nullopt,
-
1372 std::optional<array> rhs_indices = std::nullopt,
-
1373 StreamOrDevice s = {});
+
1289std::tuple<array, array, array> quantize(
+
1290 const array& w,
+
1291 int group_size = 64,
+
1292 int bits = 4,
+
1293 StreamOrDevice s = {});
+
1294
+ +
1297 const array& w,
+
1298 const array& scales,
+
1299 const array& biases,
+
1300 int group_size = 64,
+
1301 int bits = 4,
+
1302 StreamOrDevice s = {});
+
1303
+ +
1306 const array& x,
+
1307 const array& w,
+
1308 const array& scales,
+
1309 const array& biases,
+
1310 std::optional<array> lhs_indices = std::nullopt,
+
1311 std::optional<array> rhs_indices = std::nullopt,
+
1312 bool transpose = true,
+
1313 int group_size = 64,
+
1314 int bits = 4,
+
1315 StreamOrDevice s = {});
+
1316
+ +
1319 const array& a,
+
1320 const array& b,
+
1321 const int axis = 2,
+
1322 StreamOrDevice s = {});
+
1323
+ +
1325 const array& a,
+
1326 const array& b,
+
1327 const std::vector<int>& axes_a,
+
1328 const std::vector<int>& axes_b,
+
1329 StreamOrDevice s = {});
+
1330
+
1332array outer(const array& a, const array& b, StreamOrDevice s = {});
+
1333
+
1335array inner(const array& a, const array& b, StreamOrDevice s = {});
+
1336
+ +
1339 array c,
+
1340 array a,
+
1341 array b,
+
1342 const float& alpha = 1.f,
+
1343 const float& beta = 1.f,
+
1344 StreamOrDevice s = {});
+
1345
+ +
1348 array a,
+
1349 array b,
+
1350 int block_size,
+
1351 std::optional<array> mask_out = std::nullopt,
+
1352 std::optional<array> mask_lhs = std::nullopt,
+
1353 std::optional<array> mask_rhs = std::nullopt,
+
1354 StreamOrDevice s = {});
+
1355
+ +
1358 array a,
+
1359 array b,
+
1360 std::optional<array> lhs_indices = std::nullopt,
+
1361 std::optional<array> rhs_indices = std::nullopt,
+
1362 StreamOrDevice s = {});
+
1363
+ +
1366 const array& a,
+
1367 int offset = 0,
+
1368 int axis1 = 0,
+
1369 int axis2 = 1,
+
1370 StreamOrDevice s = {});
+
1371
+
1373array diag(const array& a, int k = 0, StreamOrDevice s = {});
1374
- +
1377 const array& a,
-
1378 int offset = 0,
-
1379 int axis1 = 0,
-
1380 int axis2 = 1,
-
1381 StreamOrDevice s = {});
-
1382
-
1384array diag(const array& a, int k = 0, StreamOrDevice s = {});
-
1385
- -
1388 const array& a,
-
1389 int offset,
-
1390 int axis1,
-
1391 int axis2,
-
1392 Dtype dtype,
-
1393 StreamOrDevice s = {});
- -
1395 const array& a,
-
1396 int offset,
-
1397 int axis1,
-
1398 int axis2,
-
1399 StreamOrDevice s = {});
- -
1401
-
1407std::vector<array> depends(
-
1408 const std::vector<array>& inputs,
-
1409 const std::vector<array>& dependencies);
-
1410
- -
1413std::vector<array> atleast_1d(
-
1414 const std::vector<array>& a,
-
1415 StreamOrDevice s = {});
- -
1417std::vector<array> atleast_2d(
-
1418 const std::vector<array>& a,
-
1419 StreamOrDevice s = {});
- -
1421std::vector<array> atleast_3d(
-
1422 const std::vector<array>& a,
+
1378 int offset,
+
1379 int axis1,
+
1380 int axis2,
+
1381 Dtype dtype,
+
1382 StreamOrDevice s = {});
+ +
1384 const array& a,
+
1385 int offset,
+
1386 int axis1,
+
1387 int axis2,
+
1388 StreamOrDevice s = {});
+ +
1390
+
1396std::vector<array> depends(
+
1397 const std::vector<array>& inputs,
+
1398 const std::vector<array>& dependencies);
+
1399
+ +
1402std::vector<array> atleast_1d(
+
1403 const std::vector<array>& a,
+
1404 StreamOrDevice s = {});
+ +
1406std::vector<array> atleast_2d(
+
1407 const std::vector<array>& a,
+
1408 StreamOrDevice s = {});
+ +
1410std::vector<array> atleast_3d(
+
1411 const std::vector<array>& a,
+
1412 StreamOrDevice s = {});
+
1413
+ +
1419 const array& a,
+
1420 std::vector<int> axes,
+
1421 bool inverted,
+
1422 Dtype dtype = int32,
1423 StreamOrDevice s = {});
1424
- -
1430 const array& a,
-
1431 std::vector<int> axes,
-
1432 bool inverted,
-
1433 Dtype dtype = int32,
-
1434 StreamOrDevice s = {});
-
1435
- -
1437
-
1439array bitwise_and(const array& a, const array& b, StreamOrDevice s = {});
-
1440array operator&(const array& a, const array& b);
-
1441
-
1443array bitwise_or(const array& a, const array& b, StreamOrDevice s = {});
-
1444array operator|(const array& a, const array& b);
-
1445
-
1447array bitwise_xor(const array& a, const array& b, StreamOrDevice s = {});
-
1448array operator^(const array& a, const array& b);
-
1449
-
1451array left_shift(const array& a, const array& b, StreamOrDevice s = {});
-
1452array operator<<(const array& a, const array& b);
-
1453
-
1455array right_shift(const array& a, const array& b, StreamOrDevice s = {});
-
1456array operator>>(const array& a, const array& b);
-
1457
-
1458array view(const array& a, const Dtype& dtype, StreamOrDevice s = {});
-
1459
-
1461array roll(const array& a, int shift, StreamOrDevice s = {});
- -
1463 const array& a,
-
1464 const std::vector<int>& shift,
-
1465 StreamOrDevice s = {});
-
1466array roll(const array& a, int shift, int axis, StreamOrDevice s = {});
- -
1468 const array& a,
-
1469 int shift,
-
1470 const std::vector<int>& axes,
+ +
1426
+
1428array bitwise_and(const array& a, const array& b, StreamOrDevice s = {});
+
1429array operator&(const array& a, const array& b);
+
1430
+
1432array bitwise_or(const array& a, const array& b, StreamOrDevice s = {});
+
1433array operator|(const array& a, const array& b);
+
1434
+
1436array bitwise_xor(const array& a, const array& b, StreamOrDevice s = {});
+
1437array operator^(const array& a, const array& b);
+
1438
+
1440array left_shift(const array& a, const array& b, StreamOrDevice s = {});
+
1441array operator<<(const array& a, const array& b);
+
1442
+
1444array right_shift(const array& a, const array& b, StreamOrDevice s = {});
+
1445array operator>>(const array& a, const array& b);
+
1446
+
1447array view(const array& a, const Dtype& dtype, StreamOrDevice s = {});
+
1448
+
1450array roll(const array& a, int shift, StreamOrDevice s = {});
+
1451array roll(const array& a, const Shape& shift, StreamOrDevice s = {});
+
1452array roll(const array& a, int shift, int axis, StreamOrDevice s = {});
+
1453array roll(const array& a, int shift, const Shape& axes, StreamOrDevice s = {});
+
1454array roll(const array& a, const Shape& shift, int axis, StreamOrDevice s = {});
+ +
1456 const array& a,
+
1457 const Shape& shift,
+
1458 const std::vector<int>& axes,
+
1459 StreamOrDevice s = {});
+
1460
+
1461/* The real part of a complex array. */
+
1462array real(const array& a, StreamOrDevice s = {});
+
1463
+
1464/* The imaginary part of a complex array. */
+
1465array imag(const array& a, StreamOrDevice s = {});
+
1466
+
1467/* Ensure the array's underlying memory is contiguous. */
+ +
1469 const array& a,
+
1470 bool allow_col_major = false,
1471 StreamOrDevice s = {});
- -
1473 const array& a,
-
1474 const std::vector<int>& shift,
-
1475 int axis,
-
1476 StreamOrDevice s = {});
- -
1478 const array& a,
-
1479 const std::vector<int>& shift,
-
1480 const std::vector<int>& axes,
-
1481 StreamOrDevice s = {});
-
1482
-
1483/* The real part of a complex array. */
-
1484array real(const array& a, StreamOrDevice s = {});
-
1485
-
1486/* The imaginary part of a complex array. */
-
1487array imag(const array& a, StreamOrDevice s = {});
-
1488
-
1489/* Ensure the array's underlying memory is contiguous. */
- -
1491 const array& a,
-
1492 bool allow_col_major = false,
-
1493 StreamOrDevice s = {});
-
1494
-
1497} // namespace mlx::core
+
1472
+
1475} // namespace mlx::core
-
Definition array.h:20
+
Definition array.h:23
array scatter_max(const array &a, const std::vector< array > &indices, const array &updates, const std::vector< int > &axes, StreamOrDevice s={})
Scatter and max updates to given linear indices.
array floor_divide(const array &a, const array &b, StreamOrDevice s={})
Compute integer division.
array radians(const array &a, StreamOrDevice s={})
Convert the elements of an array from Degrees to Radians.
+
array reshape(const array &a, Shape shape, StreamOrDevice s={})
Reshape an array to the given shape.
array arccos(const array &a, StreamOrDevice s={})
Arc Cosine of the elements of an array.
array scatter_min(const array &a, const std::vector< array > &indices, const array &updates, const std::vector< int > &axes, StreamOrDevice s={})
Scatter and min updates to given linear indices.
array less_equal(const array &a, const array &b, StreamOrDevice s={})
Returns bool array with (a <= b) element-wise.
@@ -1392,6 +1371,7 @@ $(function(){ initResizable(false); });
array isneginf(const array &a, StreamOrDevice s={})
array subtract(const array &a, const array &b, StreamOrDevice s={})
Subtract two arrays.
array cummin(const array &a, int axis, bool reverse=false, bool inclusive=true, StreamOrDevice s={})
Cumulative min of an array.
+
array full(Shape shape, array vals, Dtype dtype, StreamOrDevice s={})
Fill an array of the given shape with the given value(s).
array log10(const array &a, StreamOrDevice s={})
Log base 10 of the elements of an array.
array log1p(const array &a, StreamOrDevice s={})
Natural logarithm of one plus elements in the array: log(1 + a).
array sign(const array &a, StreamOrDevice s={})
The sign of the elements in an array.
@@ -1404,21 +1384,21 @@ $(function(){ initResizable(false); });
array operator||(const array &a, const array &b)
array not_equal(const array &a, const array &b, StreamOrDevice s={})
Returns the bool array with (a != b) element-wise.
array erf(const array &a, StreamOrDevice s={})
Computes the error function of the elements of an array.
+
array slice(const array &a, Shape start, Shape stop, Shape strides, StreamOrDevice s={})
Slice an array.
array sqrt(const array &a, StreamOrDevice s={})
Square root the elements of an array.
array std(const array &a, bool keepdims, int ddof=0, StreamOrDevice s={})
Computes the standard deviation of the elements of an array.
array add(const array &a, const array &b, StreamOrDevice s={})
Add two arrays.
array round(const array &a, int decimals, StreamOrDevice s={})
Round a floating point number.
+
array broadcast_to(const array &a, const Shape &shape, StreamOrDevice s={})
Broadcast an array to a given shape.
array conv1d(const array &input, const array &weight, int stride=1, int padding=0, int dilation=1, int groups=1, StreamOrDevice s={})
1D convolution with a filter
array bitwise_xor(const array &a, const array &b, StreamOrDevice s={})
Bitwise exclusive or.
array equal(const array &a, const array &b, StreamOrDevice s={})
Returns the bool array with (a == b) element-wise.
-
array zeros(const std::vector< int > &shape, Dtype dtype, StreamOrDevice s={})
Fill an array of the given shape with zeros.
array view(const array &a, const Dtype &dtype, StreamOrDevice s={})
array gather_qmm(const array &x, const array &w, const array &scales, const array &biases, std::optional< array > lhs_indices=std::nullopt, std::optional< array > rhs_indices=std::nullopt, bool transpose=true, int group_size=64, int bits=4, StreamOrDevice s={})
Compute matrix products with matrix-level gather.
array stop_gradient(const array &a, StreamOrDevice s={})
Stop the flow of gradients.
array scatter_prod(const array &a, const std::vector< array > &indices, const array &updates, const std::vector< int > &axes, StreamOrDevice s={})
Scatter and prod updates to given indices.
-
array slice_update(const array &src, const array &update, std::vector< int > start, std::vector< int > stop, std::vector< int > strides, StreamOrDevice s={})
Update a slice from the source array.
array cos(const array &a, StreamOrDevice s={})
Cosine of the elements of an array.
-
array operator>=(const array &a, const array &b)
Definition ops.h:345
+
array operator>=(const array &a, const array &b)
Definition ops.h:334
array degrees(const array &a, StreamOrDevice s={})
Convert the elements of an array from Radians to Degrees.
array all(const array &a, bool keepdims, StreamOrDevice s={})
True if all elements in the array are true (or non-zero).
array tan(const array &a, StreamOrDevice s={})
Tangent of the elements of an array.
@@ -1428,7 +1408,7 @@ $(function(){ initResizable(false); });
array minimum(const array &a, const array &b, StreamOrDevice s={})
Element-wise minimum between two arrays.
array prod(const array &a, bool keepdims, StreamOrDevice s={})
The product of all elements of the array.
array atleast_3d(const array &a, StreamOrDevice s={})
-
array operator<=(const array &a, const array &b)
Definition ops.h:373
+
array operator<=(const array &a, const array &b)
Definition ops.h:362
array reciprocal(const array &a, StreamOrDevice s={})
The reciprocal (1/x) of the elements in an array.
array tri(int n, int m, int k, Dtype type, StreamOrDevice s={})
array flatten(const array &a, int start_axis, int end_axis=-1, StreamOrDevice s={})
Flatten the dimensions in the range [start_axis, end_axis] .
@@ -1436,11 +1416,11 @@ $(function(){ initResizable(false); });
array operator|(const array &a, const array &b)
array topk(const array &a, int k, StreamOrDevice s={})
Returns topk elements of the flattened array.
array expm1(const array &a, StreamOrDevice s={})
Computes the expm1 function of the elements of an array.
-
array ones(const std::vector< int > &shape, Dtype dtype, StreamOrDevice s={})
Fill an array of the given shape with ones.
array abs(const array &a, StreamOrDevice s={})
Absolute value of elements in an array.
std::vector< array > meshgrid(const std::vector< array > &arrays, bool sparse=false, std::string indexing="xy", StreamOrDevice s={})
A vector of coordinate arrays from coordinate vectors.
array conjugate(const array &a, StreamOrDevice s={})
array tanh(const array &a, StreamOrDevice s={})
Hyperbolic Tangent of the elements of an array.
+
array as_strided(array a, Shape shape, Strides strides, size_t offset, StreamOrDevice s={})
Create a view of an array with the given shape and strides.
array inner(const array &a, const array &b, StreamOrDevice s={})
Compute the inner product of two vectors.
array block_masked_mm(array a, array b, int block_size, std::optional< array > mask_out=std::nullopt, std::optional< array > mask_lhs=std::nullopt, std::optional< array > mask_rhs=std::nullopt, StreamOrDevice s={})
Compute matrix product with block masking.
array arctan2(const array &a, const array &b, StreamOrDevice s={})
Inverse tangent of the ratio of two arrays.
@@ -1453,7 +1433,7 @@ $(function(){ initResizable(false); });
array expand_dims(const array &a, const std::vector< int > &axes, StreamOrDevice s={})
Add a singleton dimension at the given axes.
array isfinite(const array &a, StreamOrDevice s={})
array conv2d(const array &input, const array &weight, const std::pair< int, int > &stride={1, 1}, const std::pair< int, int > &padding={0, 0}, const std::pair< int, int > &dilation={1, 1}, int groups=1, StreamOrDevice s={})
2D convolution with a filter
-
array operator>(const array &a, const array &b)
Definition ops.h:331
+
array operator>(const array &a, const array &b)
Definition ops.h:320
array bitwise_and(const array &a, const array &b, StreamOrDevice s={})
Bitwise and.
std::vector< array > split(const array &a, int num_splits, int axis, StreamOrDevice s={})
Split an array into sub-arrays along a given axis.
array matmul(const array &a, const array &b, StreamOrDevice s={})
Matrix-matrix multiplication.
@@ -1462,10 +1442,9 @@ $(function(){ initResizable(false); });
array divide(const array &a, const array &b, StreamOrDevice s={})
Divide two arrays.
array power(const array &a, const array &b, StreamOrDevice s={})
Raise elements of a to the power of b element-wise.
array maximum(const array &a, const array &b, StreamOrDevice s={})
Element-wise maximum between two arrays.
-
array reshape(const array &a, std::vector< int > shape, StreamOrDevice s={})
Reshape an array to the given shape.
+
array slice_update(const array &src, const array &update, Shape start, Shape stop, Shape strides, StreamOrDevice s={})
Update a slice from the source array.
array argmin(const array &a, bool keepdims, StreamOrDevice s={})
Returns the index of the minimum value in the array.
array var(const array &a, bool keepdims, int ddof=0, StreamOrDevice s={})
Computes the variance of the elements of an array.
-
array full(std::vector< int > shape, array vals, Dtype dtype, StreamOrDevice s={})
Fill an array of the given shape with the given value(s).
array softmax(const array &a, const std::vector< int > &axes, bool precise=false, StreamOrDevice s={})
Softmax of an array.
array sort(const array &a, StreamOrDevice s={})
Returns a sorted copy of the flattened array.
array max(const array &a, bool keepdims, StreamOrDevice s={})
The maximum of all elements of the array.
@@ -1485,11 +1464,11 @@ $(function(){ initResizable(false); });
array gather_mm(array a, array b, std::optional< array > lhs_indices=std::nullopt, std::optional< array > rhs_indices=std::nullopt, StreamOrDevice s={})
Compute matrix product with matrix-level gather.
array floor(const array &a, StreamOrDevice s={})
Floor the element of an array.
array conv_transpose3d(const array &input, const array &weight, const std::tuple< int, int, int > &stride={1, 1, 1}, const std::tuple< int, int, int > &padding={0, 0, 0}, const std::tuple< int, int, int > &dilation={1, 1, 1}, int groups=1, StreamOrDevice s={})
3D transposed convolution with a filter
-
array as_strided(array a, std::vector< int > shape, std::vector< size_t > strides, size_t offset, StreamOrDevice s={})
Create a view of an array with the given shape and strides.
array argsort(const array &a, StreamOrDevice s={})
Returns indices that sort the flattened array.
array put_along_axis(const array &a, const array &indices, const array &values, int axis, StreamOrDevice s={})
Put the values into the array at the given indices along the axis.
array array_equal(const array &a, const array &b, bool equal_nan, StreamOrDevice s={})
True if two arrays have the same shape and elements.
array isinf(const array &a, StreamOrDevice s={})
+
array gather(const array &a, const std::vector< array > &indices, const std::vector< int > &axes, const Shape &slice_sizes, StreamOrDevice s={})
Gather array entries given indices and slices.
array less(const array &a, const array &b, StreamOrDevice s={})
Returns bool array with (a < b) element-wise.
array diagonal(const array &a, int offset=0, int axis1=0, int axis2=1, StreamOrDevice s={})
Extract a diagonal or construct a diagonal array.
array ones_like(const array &a, StreamOrDevice s={})
@@ -1508,7 +1487,6 @@ $(function(){ initResizable(false); });
std::tuple< array, array, array > quantize(const array &w, int group_size=64, int bits=4, StreamOrDevice s={})
Quantize a matrix along its last axis.
array arctanh(const array &a, StreamOrDevice s={})
Inverse Hyperbolic Tangent of the elements of an array.
array repeat(const array &arr, int repeats, int axis, StreamOrDevice s={})
Repeat an array along an axis.
-
array gather(const array &a, const std::vector< array > &indices, const std::vector< int > &axes, const std::vector< int > &slice_sizes, StreamOrDevice s={})
Gather array entries given indices and slices.
std::vector< array > broadcast_arrays(const std::vector< array > &inputs, StreamOrDevice s={})
Broadcast a vector of arrays against one another.
array atleast_1d(const array &a, StreamOrDevice s={})
convert an array to an atleast ndim array
array swapaxes(const array &a, int axis1, int axis2, StreamOrDevice s={})
Swap two axes of an array.
@@ -1525,22 +1503,22 @@ $(function(){ initResizable(false); });
array arcsinh(const array &a, StreamOrDevice s={})
Inverse Hyperbolic Sine of the elements of an array.
array scatter_add(const array &a, const std::vector< array > &indices, const array &updates, const std::vector< int > &axes, StreamOrDevice s={})
Scatter and add updates to given indices.
array logsumexp(const array &a, bool keepdims, StreamOrDevice s={})
The logsumexp of all elements of the array.
-
array broadcast_to(const array &a, const std::vector< int > &shape, StreamOrDevice s={})
Broadcast an array to a given shape.
array scatter(const array &a, const std::vector< array > &indices, const array &updates, const std::vector< int > &axes, StreamOrDevice s={})
Scatter updates to the given indices.
array operator<<(const array &a, const array &b)
-
array slice(const array &a, std::vector< int > start, std::vector< int > stop, std::vector< int > strides, StreamOrDevice s={})
Slice an array.
array isposinf(const array &a, StreamOrDevice s={})
array cumsum(const array &a, int axis, bool reverse=false, bool inclusive=true, StreamOrDevice s={})
Cumulative sum of an array.
array operator-(const array &a)
array mean(const array &a, bool keepdims, StreamOrDevice s={})
Computes the mean of the elements of an array.
array sum(const array &a, bool keepdims, StreamOrDevice s={})
Sums the elements of an array.
+
array ones(const Shape &shape, Dtype dtype, StreamOrDevice s={})
Fill an array of the given shape with ones.
array take_along_axis(const array &a, const array &indices, int axis, StreamOrDevice s={})
Take array entries given indices along the axis.
+
array zeros(const Shape &shape, Dtype dtype, StreamOrDevice s={})
Fill an array of the given shape with zeros.
array argmax(const array &a, bool keepdims, StreamOrDevice s={})
Returns the index of the maximum value in the array.
array conv_transpose2d(const array &input, const array &weight, const std::pair< int, int > &stride={1, 1}, const std::pair< int, int > &padding={0, 0}, const std::pair< int, int > &dilation={1, 1}, int groups=1, StreamOrDevice s={})
2D transposed convolution with a filter
array sin(const array &a, StreamOrDevice s={})
Sine of the elements of an array.
array operator&&(const array &a, const array &b)
array cummax(const array &a, int axis, bool reverse=false, bool inclusive=true, StreamOrDevice s={})
Cumulative max of an array.
-
array operator<(const array &a, const array &b)
Definition ops.h:359
+
array operator<(const array &a, const array &b)
Definition ops.h:348
array atleast_2d(const array &a, StreamOrDevice s={})
array operator/(const array &a, const array &b)
array allclose(const array &a, const array &b, double rtol=1e-5, double atol=1e-8, bool equal_nan=false, StreamOrDevice s={})
True if the two arrays are equal within the specified tolerance.
@@ -1565,6 +1543,8 @@ $(function(){ initResizable(false); });
bool operator==(const Device &lhs, const Device &rhs)
bool operator!=(const Device &lhs, const Device &rhs)
std::variant< std::monostate, Stream, Device > StreamOrDevice
Definition utils.h:14
+
std::vector< int32_t > Shape
Definition array.h:20
+
std::vector< size_t > Strides
Definition array.h:21
Definition dtype.h:13
diff --git a/docs/build/html/primitives_8h.html b/docs/build/html/primitives_8h.html index f226fe2d4..59b2b1997 100644 --- a/docs/build/html/primitives_8h.html +++ b/docs/build/html/primitives_8h.html @@ -390,9 +390,9 @@ Macros
std::vector< std::vector< int > > mlx::core::NotEqual::output_shapes std::vector< Shape > mlx::core::NotEqual::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::NumberOfElementsinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::NumberOfElementsinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -330,7 +330,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_pad-members.html b/docs/build/html/classmlx_1_1core_1_1_pad-members.html index 45d80c55b..5c56d4d49 100644 --- a/docs/build/html/classmlx_1_1core_1_1_pad-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_pad-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_pad.html b/docs/build/html/classmlx_1_1core_1_1_pad.html index dfb4cdaf1..1497128f7 100644 --- a/docs/build/html/classmlx_1_1core_1_1_pad.html +++ b/docs/build/html/classmlx_1_1core_1_1_pad.html @@ -158,9 +158,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1_partition-members.html b/docs/build/html/classmlx_1_1core_1_1_partition-members.html index 4ba991643..47532df95 100644 --- a/docs/build/html/classmlx_1_1core_1_1_partition-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_partition-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_partition.html b/docs/build/html/classmlx_1_1core_1_1_partition.html index 3740f0193..3c7715ab6 100644 --- a/docs/build/html/classmlx_1_1core_1_1_partition.html +++ b/docs/build/html/classmlx_1_1core_1_1_partition.html @@ -127,9 +127,9 @@ Public Member Functions - - - + + + @@ -337,8 +337,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -347,7 +347,7 @@ Public Member Functions
- - + + @@ -244,8 +244,8 @@ Functions
std::vector< std::vector< int > > mlx::core::NumberOfElements::output_shapes std::vector< Shape > mlx::core::NumberOfElements::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Pad(Stream stream, const std::vector< int > &axes, const std::vector< int > &low_pad_size, const std::vector< int > &high_pad_size)mlx::core::Padinlineexplicit
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
const Streamstream ()
 The stream the primitive will run on.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Partitioninlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Partitioninlinevirtual
Partition(Stream stream, int kth, int axis)mlx::core::Partitioninlineexplicit
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
void print (std::ostream &os) override
 Print the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
- + @@ -363,7 +363,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_power-members.html b/docs/build/html/classmlx_1_1core_1_1_power-members.html index d51e93c3d..b24f7d182 100644 --- a/docs/build/html/classmlx_1_1core_1_1_power-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_power-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_power.html b/docs/build/html/classmlx_1_1core_1_1_power.html index 0df30f7c0..f998a6261 100644 --- a/docs/build/html/classmlx_1_1core_1_1_power.html +++ b/docs/build/html/classmlx_1_1core_1_1_power.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
- + diff --git a/docs/build/html/classmlx_1_1core_1_1_real-members.html b/docs/build/html/classmlx_1_1core_1_1_real-members.html index 54ddb3223..292ea563e 100644 --- a/docs/build/html/classmlx_1_1core_1_1_real-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_real-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_real.html b/docs/build/html/classmlx_1_1core_1_1_real.html index f606b5fa0..80bc40945 100644 --- a/docs/build/html/classmlx_1_1core_1_1_real.html +++ b/docs/build/html/classmlx_1_1core_1_1_real.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::Partition::output_shapes std::vector< Shape > mlx::core::Partition::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Powerinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Powerinlinevirtual
Power(Stream stream)mlx::core::Powerinlineexplicit
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_primitive-members.html b/docs/build/html/classmlx_1_1core_1_1_primitive-members.html index 590e519a2..75bb28941 100644 --- a/docs/build/html/classmlx_1_1core_1_1_primitive-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_primitive-members.html @@ -101,7 +101,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_primitive.html b/docs/build/html/classmlx_1_1core_1_1_primitive.html index 0a127787f..1c9b786bb 100644 --- a/docs/build/html/classmlx_1_1core_1_1_primitive.html +++ b/docs/build/html/classmlx_1_1core_1_1_primitive.html @@ -147,9 +147,9 @@ Public Member Functions - - - + + + @@ -380,7 +380,7 @@ Public Member Functions

Equivalence check defaults to false unless overridden by the primitive.

-

Reimplemented in mlx::core::Abs, mlx::core::Add, mlx::core::AddMM, mlx::core::Arange, mlx::core::ArcCos, mlx::core::ArcCosh, mlx::core::ArcSin, mlx::core::ArcSinh, mlx::core::ArcTan2, mlx::core::ArcTan, mlx::core::ArcTanh, mlx::core::ArgPartition, mlx::core::ArgReduce, mlx::core::ArgSort, mlx::core::AsStrided, mlx::core::AsType, mlx::core::BitwiseBinary, mlx::core::BlockMaskedMM, mlx::core::Broadcast, mlx::core::Ceil, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Conjugate, mlx::core::Contiguous, mlx::core::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::Divide, mlx::core::DivMod, mlx::core::Eigh, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::fast::ScaledDotProductAttention, mlx::core::FFT, mlx::core::Floor, mlx::core::Full, mlx::core::Gather, mlx::core::GatherMM, mlx::core::GatherQMM, mlx::core::Greater, mlx::core::GreaterEqual, mlx::core::Hadamard, mlx::core::Imag, mlx::core::Less, mlx::core::LessEqual, mlx::core::Log, mlx::core::LogAddExp, mlx::core::LogicalAnd, mlx::core::LogicalNot, mlx::core::LogicalOr, mlx::core::Matmul, mlx::core::Maximum, mlx::core::Minimum, mlx::core::Multiply, mlx::core::Negative, mlx::core::NotEqual, mlx::core::NumberOfElements, mlx::core::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::QuantizedMatmul, mlx::core::RandomBits, mlx::core::Real, mlx::core::Reduce, mlx::core::Remainder, mlx::core::Reshape, mlx::core::Round, mlx::core::Scan, mlx::core::Scatter, mlx::core::Select, mlx::core::Sigmoid, mlx::core::Sign, mlx::core::Sin, mlx::core::Sinh, mlx::core::Slice, mlx::core::SliceUpdate, mlx::core::Softmax, mlx::core::Sort, mlx::core::Split, mlx::core::Sqrt, mlx::core::Square, mlx::core::StopGradient, mlx::core::Subtract, mlx::core::Tan, mlx::core::Tanh, mlx::core::Transpose, mlx::core::Uniform, and mlx::core::View.

+

Reimplemented in mlx::core::Abs, mlx::core::Add, mlx::core::AddMM, mlx::core::Arange, mlx::core::ArcCos, mlx::core::ArcCosh, mlx::core::ArcSin, mlx::core::ArcSinh, mlx::core::ArcTan2, mlx::core::ArcTan, mlx::core::ArcTanh, mlx::core::ArgPartition, mlx::core::ArgReduce, mlx::core::ArgSort, mlx::core::AsStrided, mlx::core::AsType, mlx::core::BitwiseBinary, mlx::core::BlockMaskedMM, mlx::core::Broadcast, mlx::core::Ceil, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Conjugate, mlx::core::Contiguous, mlx::core::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::Divide, mlx::core::DivMod, mlx::core::Eigh, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::fast::AffineQuantize, mlx::core::fast::ScaledDotProductAttention, mlx::core::FFT, mlx::core::Floor, mlx::core::Full, mlx::core::Gather, mlx::core::GatherMM, mlx::core::GatherQMM, mlx::core::Greater, mlx::core::GreaterEqual, mlx::core::Hadamard, mlx::core::Imag, mlx::core::Less, mlx::core::LessEqual, mlx::core::Log, mlx::core::LogAddExp, mlx::core::LogicalAnd, mlx::core::LogicalNot, mlx::core::LogicalOr, mlx::core::Matmul, mlx::core::Maximum, mlx::core::Minimum, mlx::core::Multiply, mlx::core::Negative, mlx::core::NotEqual, mlx::core::NumberOfElements, mlx::core::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::QuantizedMatmul, mlx::core::RandomBits, mlx::core::Real, mlx::core::Reduce, mlx::core::Remainder, mlx::core::Reshape, mlx::core::Round, mlx::core::Scan, mlx::core::Scatter, mlx::core::Select, mlx::core::Sigmoid, mlx::core::Sign, mlx::core::Sin, mlx::core::Sinh, mlx::core::Slice, mlx::core::SliceUpdate, mlx::core::Softmax, mlx::core::Sort, mlx::core::Split, mlx::core::Sqrt, mlx::core::Square, mlx::core::StopGradient, mlx::core::Subtract, mlx::core::Tan, mlx::core::Tanh, mlx::core::Transpose, mlx::core::Uniform, and mlx::core::View.

@@ -472,8 +472,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -482,7 +482,7 @@ Public Member Functions
- + - + diff --git a/docs/build/html/classmlx_1_1core_1_1_random_bits.html b/docs/build/html/classmlx_1_1core_1_1_random_bits.html index ccc19d1f2..44356a2d6 100644 --- a/docs/build/html/classmlx_1_1core_1_1_random_bits.html +++ b/docs/build/html/classmlx_1_1core_1_1_random_bits.html @@ -109,8 +109,8 @@ Inheritance diagram for mlx::core::RandomBits:
std::vector< std::vector< int > > mlx::core::Power::output_shapes std::vector< Shape > mlx::core::Power::output_shapes ( const std::vector< array > & inputs)
jvp(const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums)mlx::core::Primitivevirtual
operator=(const Primitive &other)=deletemlx::core::Primitive
operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
virtual bool is_equivalent (const Primitive &other) const
 Equivalence check defaults to false unless overridden by the primitive.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
- + @@ -498,7 +498,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented in mlx::core::Abs, mlx::core::Add, mlx::core::ArcCos, mlx::core::ArcCosh, mlx::core::ArcSin, mlx::core::ArcSinh, mlx::core::ArcTan2, mlx::core::ArcTan, mlx::core::ArcTanh, mlx::core::ArgPartition, mlx::core::ArgReduce, mlx::core::ArgSort, mlx::core::AsType, mlx::core::BitwiseBinary, mlx::core::Ceil, mlx::core::Compiled, mlx::core::Conjugate, mlx::core::Contiguous, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::Divide, mlx::core::DivMod, mlx::core::Eigh, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, mlx::core::Floor, mlx::core::Greater, mlx::core::GreaterEqual, mlx::core::Hadamard, mlx::core::Imag, mlx::core::Less, mlx::core::LessEqual, mlx::core::Log1p, mlx::core::Log, mlx::core::LogAddExp, mlx::core::LogicalAnd, mlx::core::LogicalNot, mlx::core::LogicalOr, mlx::core::Maximum, mlx::core::Minimum, mlx::core::Multiply, mlx::core::Negative, mlx::core::NotEqual, mlx::core::NumberOfElements, mlx::core::Partition, mlx::core::Power, mlx::core::Real, mlx::core::Reduce, mlx::core::Remainder, mlx::core::Round, mlx::core::Select, mlx::core::Sigmoid, mlx::core::Sign, mlx::core::Sin, mlx::core::Sinh, mlx::core::Softmax, mlx::core::Sort, mlx::core::Sqrt, mlx::core::Square, mlx::core::StopGradient, mlx::core::Subtract, mlx::core::Tan, and mlx::core::Tanh.

+

Reimplemented in mlx::core::Abs, mlx::core::Add, mlx::core::Arange, mlx::core::ArcCos, mlx::core::ArcCosh, mlx::core::ArcSin, mlx::core::ArcSinh, mlx::core::ArcTan2, mlx::core::ArcTan, mlx::core::ArcTanh, mlx::core::ArgPartition, mlx::core::ArgReduce, mlx::core::ArgSort, mlx::core::AsType, mlx::core::BitwiseBinary, mlx::core::Ceil, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Conjugate, mlx::core::Contiguous, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::Divide, mlx::core::DivMod, mlx::core::Eigh, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, mlx::core::fast::AffineQuantize, mlx::core::Floor, mlx::core::Gather, mlx::core::Greater, mlx::core::GreaterEqual, mlx::core::Hadamard, mlx::core::Imag, mlx::core::Less, mlx::core::LessEqual, mlx::core::Log1p, mlx::core::Log, mlx::core::LogAddExp, mlx::core::LogicalAnd, mlx::core::LogicalNot, mlx::core::LogicalOr, mlx::core::Matmul, mlx::core::Maximum, mlx::core::Minimum, mlx::core::Multiply, mlx::core::Negative, mlx::core::NotEqual, mlx::core::NumberOfElements, mlx::core::Partition, mlx::core::Power, mlx::core::QuantizedMatmul, mlx::core::Real, mlx::core::Reduce, mlx::core::Remainder, mlx::core::Round, mlx::core::Select, mlx::core::Sigmoid, mlx::core::Sign, mlx::core::Sin, mlx::core::Sinh, mlx::core::Softmax, mlx::core::Sort, mlx::core::Sqrt, mlx::core::Square, mlx::core::StopGradient, mlx::core::Subtract, mlx::core::Tan, mlx::core::Tanh, and mlx::core::Transpose.

diff --git a/docs/build/html/classmlx_1_1core_1_1_q_r_f-members.html b/docs/build/html/classmlx_1_1core_1_1_q_r_f-members.html index 99dc16a0c..61ffc3c0c 100644 --- a/docs/build/html/classmlx_1_1core_1_1_q_r_f-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_q_r_f-members.html @@ -101,7 +101,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_q_r_f.html b/docs/build/html/classmlx_1_1core_1_1_q_r_f.html index 7216ece43..305e43098 100644 --- a/docs/build/html/classmlx_1_1core_1_1_q_r_f.html +++ b/docs/build/html/classmlx_1_1core_1_1_q_r_f.html @@ -139,9 +139,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1_quantized_matmul-members.html b/docs/build/html/classmlx_1_1core_1_1_quantized_matmul-members.html index 437c22b9c..2a9dcf5e9 100644 --- a/docs/build/html/classmlx_1_1core_1_1_quantized_matmul-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_quantized_matmul-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_quantized_matmul.html b/docs/build/html/classmlx_1_1core_1_1_quantized_matmul.html index be86e4e1a..4f158d206 100644 --- a/docs/build/html/classmlx_1_1core_1_1_quantized_matmul.html +++ b/docs/build/html/classmlx_1_1core_1_1_quantized_matmul.html @@ -130,6 +130,9 @@ Public Member Functions + + + @@ -158,9 +161,6 @@ Public Member Functions - - - @@ -340,6 +340,36 @@ Public Member Functions

Reimplemented from mlx::core::Primitive.

+ + + +

◆ output_shapes()

+ +
+
+
virtual std::vector< std::vector< int > > mlx::core::Primitive::output_shapes virtual std::vector< Shape > mlx::core::Primitive::output_shapes ( const std::vector< array > & inputs)
jvp(const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums)mlx::core::Primitivevirtual
operator=(const Primitive &other)=deletemlx::core::Primitive
operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
virtual bool is_equivalent (const Primitive &other) const
 Equivalence check defaults to false unless overridden by the primitive.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::QuantizedMatmulvirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
const Streamstream ()
 The stream the primitive will run on.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
+ + + + +
+ + + + + + + +
std::vector< Shape > mlx::core::QuantizedMatmul::output_shapes (const std::vector< array > & inputs)
+
+overridevirtual
+
+ +

Get the output shapes of the primitive.

+

This is not required to be implemented by derived classes, in which case it will throw.

+ +

Reimplemented from mlx::core::Primitive.

+
diff --git a/docs/build/html/classmlx_1_1core_1_1_random_bits-members.html b/docs/build/html/classmlx_1_1core_1_1_random_bits-members.html index e945f90ef..96ef570f6 100644 --- a/docs/build/html/classmlx_1_1core_1_1_random_bits-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_random_bits-members.html @@ -105,12 +105,12 @@ $(function(){ initResizable(false); });
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
print(std::ostream &os) overridemlx::core::RandomBitsinlinevirtual
RandomBits(Stream stream, const std::vector< int > &shape, int width)mlx::core::RandomBitsinlineexplicit
RandomBits(Stream stream, const Shape &shape, int width)mlx::core::RandomBitsinlineexplicit
stream()mlx::core::Primitiveinline
UnaryPrimitive(Stream stream)mlx::core::UnaryPrimitiveinlineexplicit
UnaryPrimitive(const UnaryPrimitive &other)=deletemlx::core::UnaryPrimitive
- - + + @@ -158,9 +158,9 @@ Public Member Functions - - - + + + @@ -173,8 +173,8 @@ Public Member Functions

Public Member Functions

 RandomBits (Stream stream, const std::vector< int > &shape, int width)
 
 RandomBits (Stream stream, const Shape &shape, int width)
 
void eval_cpu (const std::vector< array > &inputs, array &out) override
 
void eval_gpu (const std::vector< array > &inputs, array &out) override
virtual std::vector< arrayvjp (const std::vector< array > &primals, const std::vector< array > &cotangents, const std::vector< int > &argnums, const std::vector< array > &outputs)
 The vector-Jacobian product.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
 

Constructor & Destructor Documentation

- -

◆ RandomBits()

+ +

◆ RandomBits()

@@ -190,7 +190,7 @@ Public Member Functions
const std::vector< int > & shape, const Shape & shape,
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Realinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Realinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_reduce-members.html b/docs/build/html/classmlx_1_1core_1_1_reduce-members.html index 218805a22..ab8f9908c 100644 --- a/docs/build/html/classmlx_1_1core_1_1_reduce-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_reduce-members.html @@ -109,7 +109,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_reduce.html b/docs/build/html/classmlx_1_1core_1_1_reduce.html index efbd9a2b4..89103f3cf 100644 --- a/docs/build/html/classmlx_1_1core_1_1_reduce.html +++ b/docs/build/html/classmlx_1_1core_1_1_reduce.html @@ -136,9 +136,9 @@ Public Member Functions - - - + + + @@ -337,8 +337,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -347,7 +347,7 @@ Public Member Functions
diff --git a/docs/build/html/classmlx_1_1core_1_1_round-members.html b/docs/build/html/classmlx_1_1core_1_1_round-members.html index 10158de60..b4769bbf0 100644 --- a/docs/build/html/classmlx_1_1core_1_1_round-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_round-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_round.html b/docs/build/html/classmlx_1_1core_1_1_round.html index a20ccca09..18f0b0290 100644 --- a/docs/build/html/classmlx_1_1core_1_1_round.html +++ b/docs/build/html/classmlx_1_1core_1_1_round.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::Real::output_shapes std::vector< Shape > mlx::core::Real::output_shapes ( const std::vector< array > & inputs)
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
Or enum valuemlx::core::Reduce
output_shapes(const std::vector< array > &inputs) overridemlx::core::Reducevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Reducevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
std::vector< arrayvjp (const std::vector< array > &primals, const std::vector< array > &cotangents, const std::vector< int > &argnums, const std::vector< array > &outputs) override
 The vector-Jacobian product.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
void print (std::ostream &os) override
 Print the primitive.
 
- + @@ -363,7 +363,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_remainder-members.html b/docs/build/html/classmlx_1_1core_1_1_remainder-members.html index 70ae04508..0f4e998d3 100644 --- a/docs/build/html/classmlx_1_1core_1_1_remainder-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_remainder-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_remainder.html b/docs/build/html/classmlx_1_1core_1_1_remainder.html index 958cf55e2..300ebb9a6 100644 --- a/docs/build/html/classmlx_1_1core_1_1_remainder.html +++ b/docs/build/html/classmlx_1_1core_1_1_remainder.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
- +
std::vector< std::vector< int > > mlx::core::Reduce::output_shapes std::vector< Shape > mlx::core::Reduce::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Remainderinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Remainderinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_reshape-members.html b/docs/build/html/classmlx_1_1core_1_1_reshape-members.html index bc66daf6e..b33864bd7 100644 --- a/docs/build/html/classmlx_1_1core_1_1_reshape-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_reshape-members.html @@ -105,12 +105,12 @@ $(function(){ initResizable(false); }); - + - + diff --git a/docs/build/html/classmlx_1_1core_1_1_reshape.html b/docs/build/html/classmlx_1_1core_1_1_reshape.html index 1267c423b..78e332e23 100644 --- a/docs/build/html/classmlx_1_1core_1_1_reshape.html +++ b/docs/build/html/classmlx_1_1core_1_1_reshape.html @@ -109,8 +109,8 @@ Inheritance diagram for mlx::core::Reshape:
std::vector< std::vector< int > > mlx::core::Remainder::output_shapes std::vector< Shape > mlx::core::Remainder::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
print(std::ostream &os) overridemlx::core::Reshapeinlinevirtual
Reshape(Stream stream, const std::vector< int > &shape)mlx::core::Reshapeinlineexplicit
Reshape(Stream stream, const Shape &shape)mlx::core::Reshapeinlineexplicit
stream()mlx::core::Primitiveinline
UnaryPrimitive(Stream stream)mlx::core::UnaryPrimitiveinlineexplicit
UnaryPrimitive(const UnaryPrimitive &other)=deletemlx::core::UnaryPrimitive
- - + + @@ -158,9 +158,9 @@ Public Member Functions - - - + + + @@ -173,8 +173,8 @@ Public Member Functions

Public Member Functions

 Reshape (Stream stream, const std::vector< int > &shape)
 
 Reshape (Stream stream, const Shape &shape)
 
void eval_cpu (const std::vector< array > &inputs, array &out) override
 
void eval_gpu (const std::vector< array > &inputs, array &out) override
const Streamstream ()
 The stream the primitive will run on.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
 

Constructor & Destructor Documentation

- -

◆ Reshape()

+ +

◆ Reshape()

@@ -190,7 +190,7 @@ Public Member Functions
const std::vector< int > & shape )const Shape & shape )
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Roundinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Roundinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_s_v_d-members.html b/docs/build/html/classmlx_1_1core_1_1_s_v_d-members.html index 68383862c..801c6d5bf 100644 --- a/docs/build/html/classmlx_1_1core_1_1_s_v_d-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_s_v_d-members.html @@ -101,7 +101,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_s_v_d.html b/docs/build/html/classmlx_1_1core_1_1_s_v_d.html index de5c20b04..fb2a5246d 100644 --- a/docs/build/html/classmlx_1_1core_1_1_s_v_d.html +++ b/docs/build/html/classmlx_1_1core_1_1_s_v_d.html @@ -139,9 +139,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1_scan-members.html b/docs/build/html/classmlx_1_1core_1_1_scan-members.html index a503f7add..76d2c4bef 100644 --- a/docs/build/html/classmlx_1_1core_1_1_scan-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_scan-members.html @@ -107,7 +107,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_scan.html b/docs/build/html/classmlx_1_1core_1_1_scan.html index 258337007..6e6d0ac4a 100644 --- a/docs/build/html/classmlx_1_1core_1_1_scan.html +++ b/docs/build/html/classmlx_1_1core_1_1_scan.html @@ -168,9 +168,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1_scatter-members.html b/docs/build/html/classmlx_1_1core_1_1_scatter-members.html index db0486125..219a54b35 100644 --- a/docs/build/html/classmlx_1_1core_1_1_scatter-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_scatter-members.html @@ -108,7 +108,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_scatter.html b/docs/build/html/classmlx_1_1core_1_1_scatter.html index e1afd50b8..4ac1f0e21 100644 --- a/docs/build/html/classmlx_1_1core_1_1_scatter.html +++ b/docs/build/html/classmlx_1_1core_1_1_scatter.html @@ -172,9 +172,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1_select-members.html b/docs/build/html/classmlx_1_1core_1_1_select-members.html index 3c2bf40bb..0ed101f42 100644 --- a/docs/build/html/classmlx_1_1core_1_1_select-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_select-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_select.html b/docs/build/html/classmlx_1_1core_1_1_select.html index 7716071ed..e956423f4 100644 --- a/docs/build/html/classmlx_1_1core_1_1_select.html +++ b/docs/build/html/classmlx_1_1core_1_1_select.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
- +
std::vector< std::vector< int > > mlx::core::Round::output_shapes std::vector< Shape > mlx::core::Round::output_shapes ( const std::vector< array > & inputs)
jvp(const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums)mlx::core::Primitivevirtual
operator=(const Primitive &other)=deletemlx::core::Primitive
operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
virtual bool is_equivalent (const Primitive &other) const
 Equivalence check defaults to false unless overridden by the primitive.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
const Streamstream ()
 The stream the primitive will run on.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
const Streamstream ()
 The stream the primitive will run on.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Selectinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Selectinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_sigmoid-members.html b/docs/build/html/classmlx_1_1core_1_1_sigmoid-members.html index afa786550..a77284f7d 100644 --- a/docs/build/html/classmlx_1_1core_1_1_sigmoid-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_sigmoid-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_sigmoid.html b/docs/build/html/classmlx_1_1core_1_1_sigmoid.html index 36e71c356..a94b87126 100644 --- a/docs/build/html/classmlx_1_1core_1_1_sigmoid.html +++ b/docs/build/html/classmlx_1_1core_1_1_sigmoid.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
std::vector< std::vector< int > > mlx::core::Select::output_shapes std::vector< Shape > mlx::core::Select::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Sigmoidinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Sigmoidinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_sign-members.html b/docs/build/html/classmlx_1_1core_1_1_sign-members.html index 1aa12f83a..fc123c1f1 100644 --- a/docs/build/html/classmlx_1_1core_1_1_sign-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_sign-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_sign.html b/docs/build/html/classmlx_1_1core_1_1_sign.html index 337de5e62..48ab7a6ef 100644 --- a/docs/build/html/classmlx_1_1core_1_1_sign.html +++ b/docs/build/html/classmlx_1_1core_1_1_sign.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions

Reimplemented from mlx::core::Primitive.

+ + +

Member Data Documentation

+ +

◆ needs_mask_

+ +
+
+
std::vector< std::vector< int > > mlx::core::Sigmoid::output_shapes std::vector< Shape > mlx::core::Sigmoid::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Signinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Signinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_sin-members.html b/docs/build/html/classmlx_1_1core_1_1_sin-members.html index f92e56387..d48713e3e 100644 --- a/docs/build/html/classmlx_1_1core_1_1_sin-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_sin-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_sin.html b/docs/build/html/classmlx_1_1core_1_1_sin.html index 3cbd09fb3..8e8fb2776 100644 --- a/docs/build/html/classmlx_1_1core_1_1_sin.html +++ b/docs/build/html/classmlx_1_1core_1_1_sin.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
- - - - - - - + + + + + + + + + diff --git a/docs/build/html/classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention.html b/docs/build/html/classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention.html index 0bc9d6b92..f8f2226db 100644 --- a/docs/build/html/classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention.html +++ b/docs/build/html/classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention.html @@ -90,6 +90,7 @@ $(function(){ initResizable(false); });
mlx::core::fast::ScaledDotProductAttention Class Reference
@@ -147,9 +148,9 @@ Public Member Functions - - - + + + @@ -160,6 +161,13 @@ Public Member Functions +
std::vector< std::vector< int > > mlx::core::Sign::output_shapes std::vector< Shape > mlx::core::Sign::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Sininlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Sininlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_sinh-members.html b/docs/build/html/classmlx_1_1core_1_1_sinh-members.html index ab735256e..8e10feb48 100644 --- a/docs/build/html/classmlx_1_1core_1_1_sinh-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_sinh-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_sinh.html b/docs/build/html/classmlx_1_1core_1_1_sinh.html index 3fc11e1c1..8e73177b7 100644 --- a/docs/build/html/classmlx_1_1core_1_1_sinh.html +++ b/docs/build/html/classmlx_1_1core_1_1_sinh.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions

Reimplemented from mlx::core::fast::Custom.

+ + +

Member Data Documentation

+ +

◆ base_

+ +
+
+
std::vector< std::vector< int > > mlx::core::Sin::output_shapes std::vector< Shape > mlx::core::Sin::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Sinhinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Sinhinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_slice-members.html b/docs/build/html/classmlx_1_1core_1_1_slice-members.html index 904efc554..66386048f 100644 --- a/docs/build/html/classmlx_1_1core_1_1_slice-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_slice-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_slice.html b/docs/build/html/classmlx_1_1core_1_1_slice.html index 87ba23ce8..995205fb5 100644 --- a/docs/build/html/classmlx_1_1core_1_1_slice.html +++ b/docs/build/html/classmlx_1_1core_1_1_slice.html @@ -158,9 +158,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1_slice_update-members.html b/docs/build/html/classmlx_1_1core_1_1_slice_update-members.html index 47ed3f8a8..7e1c8ac74 100644 --- a/docs/build/html/classmlx_1_1core_1_1_slice_update-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_slice_update-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_slice_update.html b/docs/build/html/classmlx_1_1core_1_1_slice_update.html index e9ccff1fb..5397cc5b3 100644 --- a/docs/build/html/classmlx_1_1core_1_1_slice_update.html +++ b/docs/build/html/classmlx_1_1core_1_1_slice_update.html @@ -158,9 +158,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1_softmax-members.html b/docs/build/html/classmlx_1_1core_1_1_softmax-members.html index 6d179f2d5..8f7fa10c0 100644 --- a/docs/build/html/classmlx_1_1core_1_1_softmax-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_softmax-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_softmax.html b/docs/build/html/classmlx_1_1core_1_1_softmax.html index d3ae3a842..7b293ae7a 100644 --- a/docs/build/html/classmlx_1_1core_1_1_softmax.html +++ b/docs/build/html/classmlx_1_1core_1_1_softmax.html @@ -127,9 +127,9 @@ Public Member Functions - - - + + + @@ -332,8 +332,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -342,7 +342,7 @@ Public Member Functions
- + diff --git a/docs/build/html/classmlx_1_1core_1_1fast_1_1_r_m_s_norm_v_j_p.html b/docs/build/html/classmlx_1_1core_1_1fast_1_1_r_m_s_norm_v_j_p.html index 8bff55e94..8fa479cd4 100644 --- a/docs/build/html/classmlx_1_1core_1_1fast_1_1_r_m_s_norm_v_j_p.html +++ b/docs/build/html/classmlx_1_1core_1_1fast_1_1_r_m_s_norm_v_j_p.html @@ -145,9 +145,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1fast_1_1_ro_p_e-members.html b/docs/build/html/classmlx_1_1core_1_1fast_1_1_ro_p_e-members.html index 91b441269..328627206 100644 --- a/docs/build/html/classmlx_1_1core_1_1fast_1_1_ro_p_e-members.html +++ b/docs/build/html/classmlx_1_1core_1_1fast_1_1_ro_p_e-members.html @@ -94,22 +94,28 @@ $(function(){ initResizable(false); });

This is the complete list of members for mlx::core::fast::RoPE, including all inherited members.

std::vector< std::vector< int > > mlx::core::Sinh::output_shapes std::vector< Shape > mlx::core::Sinh::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
const Streamstream ()
 The stream the primitive will run on.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
const Streamstream ()
 The stream the primitive will run on.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Softmaxinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Softmaxinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
void print (std::ostream &os) override
 Print the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
- + @@ -358,7 +358,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_sort-members.html b/docs/build/html/classmlx_1_1core_1_1_sort-members.html index 97728560d..5af387bd3 100644 --- a/docs/build/html/classmlx_1_1core_1_1_sort-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_sort-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_sort.html b/docs/build/html/classmlx_1_1core_1_1_sort.html index ad76c6386..cd0f38691 100644 --- a/docs/build/html/classmlx_1_1core_1_1_sort.html +++ b/docs/build/html/classmlx_1_1core_1_1_sort.html @@ -127,9 +127,9 @@ Public Member Functions - - - + + + @@ -332,8 +332,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -342,7 +342,7 @@ Public Member Functions

Reimplemented from mlx::core::fast::Custom.

+ + +

Member Data Documentation

+ +

◆ eps_

+ +
+
+
std::vector< std::vector< int > > mlx::core::Softmax::output_shapes std::vector< Shape > mlx::core::Softmax::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Sortinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Sortinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
void print (std::ostream &os) override
 Print the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
- + @@ -358,7 +358,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_split-members.html b/docs/build/html/classmlx_1_1core_1_1_split-members.html index a5eec811d..a7334dab7 100644 --- a/docs/build/html/classmlx_1_1core_1_1_split-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_split-members.html @@ -101,7 +101,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_split.html b/docs/build/html/classmlx_1_1core_1_1_split.html index 36ea497af..215d94f5e 100644 --- a/docs/build/html/classmlx_1_1core_1_1_split.html +++ b/docs/build/html/classmlx_1_1core_1_1_split.html @@ -139,9 +139,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1_sqrt-members.html b/docs/build/html/classmlx_1_1core_1_1_sqrt-members.html index d7dce968d..4a89dcbaf 100644 --- a/docs/build/html/classmlx_1_1core_1_1_sqrt-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_sqrt-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_sqrt.html b/docs/build/html/classmlx_1_1core_1_1_sqrt.html index ae7665543..1757f7073 100644 --- a/docs/build/html/classmlx_1_1core_1_1_sqrt.html +++ b/docs/build/html/classmlx_1_1core_1_1_sqrt.html @@ -124,9 +124,9 @@ Public Member Functions - - - + + + @@ -332,8 +332,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -342,7 +342,7 @@ Public Member Functions
- - - + + + @@ -158,6 +159,11 @@ Public Member Functions +
std::vector< std::vector< int > > mlx::core::Sort::output_shapes std::vector< Shape > mlx::core::Sort::output_shapes ( const std::vector< array > & inputs)
jvp(const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums) overridemlx::core::Splitvirtual
operator=(const Primitive &other)=deletemlx::core::Primitive
operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
const Streamstream ()
 The stream the primitive will run on.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Sqrtinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Sqrtinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
std::vector< arrayvjp (const std::vector< array > &primals, const std::vector< array > &cotangents, const std::vector< int > &argnums, const std::vector< array > &outputs) override
 The vector-Jacobian product.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
- + @@ -358,7 +358,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_square-members.html b/docs/build/html/classmlx_1_1core_1_1_square-members.html index afb218df6..66ce10674 100644 --- a/docs/build/html/classmlx_1_1core_1_1_square-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_square-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_square.html b/docs/build/html/classmlx_1_1core_1_1_square.html index 8b32b08ce..2a432c233 100644 --- a/docs/build/html/classmlx_1_1core_1_1_square.html +++ b/docs/build/html/classmlx_1_1core_1_1_square.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
- + diff --git a/docs/build/html/classmlx_1_1core_1_1fast_1_1_layer_norm_v_j_p.html b/docs/build/html/classmlx_1_1core_1_1fast_1_1_layer_norm_v_j_p.html index 4fb5659c3..1ec96e7e9 100644 --- a/docs/build/html/classmlx_1_1core_1_1fast_1_1_layer_norm_v_j_p.html +++ b/docs/build/html/classmlx_1_1core_1_1fast_1_1_layer_norm_v_j_p.html @@ -145,9 +145,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1fast_1_1_r_m_s_norm-members.html b/docs/build/html/classmlx_1_1core_1_1fast_1_1_r_m_s_norm-members.html index 1f56bdcf0..9021cfe3c 100644 --- a/docs/build/html/classmlx_1_1core_1_1fast_1_1_r_m_s_norm-members.html +++ b/docs/build/html/classmlx_1_1core_1_1fast_1_1_r_m_s_norm-members.html @@ -97,22 +97,23 @@ $(function(){ initResizable(false); }); - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + +
std::vector< std::vector< int > > mlx::core::Sqrt::output_shapes std::vector< Shape > mlx::core::Sqrt::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Squareinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Squareinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_stop_gradient-members.html b/docs/build/html/classmlx_1_1core_1_1_stop_gradient-members.html index 68c7c526d..1d9b8f9a7 100644 --- a/docs/build/html/classmlx_1_1core_1_1_stop_gradient-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_stop_gradient-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_stop_gradient.html b/docs/build/html/classmlx_1_1core_1_1_stop_gradient.html index b7f20b8f4..d571be713 100644 --- a/docs/build/html/classmlx_1_1core_1_1_stop_gradient.html +++ b/docs/build/html/classmlx_1_1core_1_1_stop_gradient.html @@ -124,9 +124,9 @@ Public Member Functions - - - + + + @@ -290,8 +290,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -300,7 +300,7 @@ Public Member Functions
- + @@ -1723,7 +1723,7 @@ template<typename T > - +
std::vector< std::vector< int > > mlx::core::Square::output_shapes std::vector< Shape > mlx::core::Square::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::StopGradientinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::StopGradientinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -316,7 +316,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_subtract-members.html b/docs/build/html/classmlx_1_1core_1_1_subtract-members.html index e8ba277a4..8bf2cd270 100644 --- a/docs/build/html/classmlx_1_1core_1_1_subtract-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_subtract-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_subtract.html b/docs/build/html/classmlx_1_1core_1_1_subtract.html index b723a566f..c597379c1 100644 --- a/docs/build/html/classmlx_1_1core_1_1_subtract.html +++ b/docs/build/html/classmlx_1_1core_1_1_subtract.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
- + @@ -770,8 +770,8 @@ template<typename T > - -

◆ copy_shared_buffer() [2/2]

+ +

◆ copy_shared_buffer() [2/2]

@@ -784,7 +784,7 @@ template<typename T >
- + @@ -1289,8 +1289,8 @@ template<typename T > - -

◆ make_arrays()

+ +

◆ make_arrays()

@@ -1301,7 +1301,7 @@ template<typename T >
- + @@ -1345,8 +1345,8 @@ template<typename T > - -

◆ move_shared_buffer() [2/2]

+ +

◆ move_shared_buffer() [2/2]

@@ -1359,7 +1359,7 @@ template<typename T >
- + @@ -1673,8 +1673,8 @@ template<typename T > - -

◆ set_data() [1/2]

+ +

◆ set_data() [1/2]

@@ -1687,15 +1687,15 @@ template<typename T >
- +
std::vector< std::vector< int > > mlx::core::StopGradient::output_shapes std::vector< Shape > mlx::core::StopGradient::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Subtractinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Subtractinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_tan-members.html b/docs/build/html/classmlx_1_1core_1_1_tan-members.html index 87794bd5e..1b4643339 100644 --- a/docs/build/html/classmlx_1_1core_1_1_tan-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_tan-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_tan.html b/docs/build/html/classmlx_1_1core_1_1_tan.html index d5e926a88..7bb932a84 100644 --- a/docs/build/html/classmlx_1_1core_1_1_tan.html +++ b/docs/build/html/classmlx_1_1core_1_1_tan.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
- + @@ -467,8 +467,8 @@ template<typename T > - -

◆ array() [7/11]

+ +

◆ array() [7/11]

@@ -483,7 +483,7 @@ template<typename T >
- + @@ -495,8 +495,8 @@ template<typename T > - -

◆ array() [8/11]

+ +

◆ array() [8/11]

@@ -509,7 +509,7 @@ template<typename T >
- + @@ -519,7 +519,7 @@ template<typename T > - +
std::vector< std::vector< int > > mlx::core::Subtract::output_shapes std::vector< Shape > mlx::core::Subtract::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Taninlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Taninlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_tanh-members.html b/docs/build/html/classmlx_1_1core_1_1_tanh-members.html index f20e714d8..2cac2f935 100644 --- a/docs/build/html/classmlx_1_1core_1_1_tanh-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_tanh-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_tanh.html b/docs/build/html/classmlx_1_1core_1_1_tanh.html index df0a20367..ca65580d1 100644 --- a/docs/build/html/classmlx_1_1core_1_1_tanh.html +++ b/docs/build/html/classmlx_1_1core_1_1_tanh.html @@ -130,9 +130,9 @@ Public Member Functions - - - + + + @@ -328,8 +328,8 @@ Public Member Functions - -

◆ output_shapes()

+ +

◆ output_shapes()

@@ -338,7 +338,7 @@ Public Member Functions
- + diff --git a/docs/build/html/classmlx_1_1core_1_1_unary_primitive.html b/docs/build/html/classmlx_1_1core_1_1_unary_primitive.html index 610953b50..131ecb990 100644 --- a/docs/build/html/classmlx_1_1core_1_1_unary_primitive.html +++ b/docs/build/html/classmlx_1_1core_1_1_unary_primitive.html @@ -245,9 +245,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1_uniform-members.html b/docs/build/html/classmlx_1_1core_1_1_uniform-members.html index 2ce51d185..315608ca7 100644 --- a/docs/build/html/classmlx_1_1core_1_1_uniform-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_uniform-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_uniform.html b/docs/build/html/classmlx_1_1core_1_1_uniform.html index 2185b26eb..b0616df08 100644 --- a/docs/build/html/classmlx_1_1core_1_1_uniform.html +++ b/docs/build/html/classmlx_1_1core_1_1_uniform.html @@ -158,9 +158,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1_view-members.html b/docs/build/html/classmlx_1_1core_1_1_view-members.html index 2b2a0c960..33b7a6ea9 100644 --- a/docs/build/html/classmlx_1_1core_1_1_view-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_view-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_view.html b/docs/build/html/classmlx_1_1core_1_1_view.html index f6cacf21a..a26d93ff8 100644 --- a/docs/build/html/classmlx_1_1core_1_1_view.html +++ b/docs/build/html/classmlx_1_1core_1_1_view.html @@ -158,9 +158,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1array-members.html b/docs/build/html/classmlx_1_1core_1_1array-members.html index fb5437d7e..498090af2 100644 --- a/docs/build/html/classmlx_1_1core_1_1array-members.html +++ b/docs/build/html/classmlx_1_1core_1_1array-members.html @@ -96,22 +96,22 @@ $(function(){ initResizable(false); });
std::vector< std::vector< int > > mlx::core::Tan::output_shapes std::vector< Shape > mlx::core::Tan::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs) overridemlx::core::Tanhinlinevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Tanhinlinevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
- + @@ -354,7 +354,7 @@ Public Member Functions

Get the output shapes of the primitive.

This is not required to be implemented by derived classes, in which case it will throw.

-

Reimplemented from mlx::core::Primitive.

+

Reimplemented from mlx::core::Primitive.

diff --git a/docs/build/html/classmlx_1_1core_1_1_transpose-members.html b/docs/build/html/classmlx_1_1core_1_1_transpose-members.html index 9425b09df..6985bf33f 100644 --- a/docs/build/html/classmlx_1_1core_1_1_transpose-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_transpose-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1_transpose.html b/docs/build/html/classmlx_1_1core_1_1_transpose.html index fd5d47852..5635332dd 100644 --- a/docs/build/html/classmlx_1_1core_1_1_transpose.html +++ b/docs/build/html/classmlx_1_1core_1_1_transpose.html @@ -130,6 +130,9 @@ Public Member Functions + + + @@ -158,9 +161,6 @@ Public Member Functions - - - @@ -330,6 +330,36 @@ Public Member Functions

Reimplemented from mlx::core::Primitive.

+ + + +

◆ output_shapes()

+ +
+
+
std::vector< std::vector< int > > mlx::core::Tanh::output_shapes std::vector< Shape > mlx::core::Tanh::output_shapes ( const std::vector< array > & inputs)
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::Transposevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
const Streamstream ()
 The stream the primitive will run on.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
+ + + + +
+ + + + + + + +
std::vector< Shape > mlx::core::Transpose::output_shapes (const std::vector< array > & inputs)
+
+overridevirtual
+
+ +

Get the output shapes of the primitive.

+

This is not required to be implemented by derived classes, in which case it will throw.

+ +

Reimplemented from mlx::core::Primitive.

+
diff --git a/docs/build/html/classmlx_1_1core_1_1_unary_primitive-members.html b/docs/build/html/classmlx_1_1core_1_1_unary_primitive-members.html index c432b8111..daf43d2ea 100644 --- a/docs/build/html/classmlx_1_1core_1_1_unary_primitive-members.html +++ b/docs/build/html/classmlx_1_1core_1_1_unary_primitive-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); });
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
virtual bool is_equivalent (const Primitive &other) const
 Equivalence check defaults to false unless overridden by the primitive.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
virtual std::vector< arrayvjp (const std::vector< array > &primals, const std::vector< array > &cotangents, const std::vector< int > &argnums, const std::vector< array > &outputs)
 The vector-Jacobian product.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
operator=(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
mlx::core::Primitive::operator=(const Primitive &other)=deletemlx::core::Primitive
mlx::core::Primitive::operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
virtual std::vector< arrayvjp (const std::vector< array > &primals, const std::vector< array > &cotangents, const std::vector< int > &argnums, const std::vector< array > &outputs)
 The vector-Jacobian product.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
- + - - + + - + - + @@ -134,8 +134,8 @@ $(function(){ initResizable(false); }); - - + + @@ -149,20 +149,20 @@ $(function(){ initResizable(false); }); - - + + - - + + - - + + diff --git a/docs/build/html/classmlx_1_1core_1_1array.html b/docs/build/html/classmlx_1_1core_1_1array.html index a5c53fa14..f223cd42a 100644 --- a/docs/build/html/classmlx_1_1core_1_1array.html +++ b/docs/build/html/classmlx_1_1core_1_1array.html @@ -126,9 +126,9 @@ Public Member Functions - - - + + + @@ -136,11 +136,11 @@ Public Member Functions - - - - - + + + + + @@ -167,18 +167,18 @@ Public Member Functions - - - - - - - - - - - - + + + + + + + + + + + + @@ -196,9 +196,9 @@ Public Member Functions - - - + + + @@ -272,16 +272,16 @@ Public Member Functions - - - - - - + + + + + + - - + + @@ -291,8 +291,8 @@ Public Member Functions
array(T val, Dtype dtype=TypeToDtype< T >())mlx::core::arrayexplicit
array(const std::complex< float > &val, Dtype dtype=complex64)mlx::core::arrayexplicit
array(It data, std::vector< int > shape, Dtype dtype=TypeToDtype< typename std::iterator_traits< It >::value_type >())mlx::core::array
array(It data, Shape shape, Dtype dtype=TypeToDtype< typename std::iterator_traits< It >::value_type >())mlx::core::array
array(std::initializer_list< T > data, Dtype dtype=TypeToDtype< T >())mlx::core::array
array(std::initializer_list< float > data)mlx::core::array
array(std::initializer_list< int > data, Dtype dtype)mlx::core::array
array(std::initializer_list< T > data, std::vector< int > shape, Dtype dtype=TypeToDtype< T >())mlx::core::array
array(allocator::Buffer data, std::vector< int > shape, Dtype dtype, deleter_t deleter=allocator::free)mlx::core::array
array(std::initializer_list< T > data, Shape shape, Dtype dtype=TypeToDtype< T >())mlx::core::array
array(allocator::Buffer data, Shape shape, Dtype dtype, Deleter deleter=allocator::free)mlx::core::array
array(const array &other)=defaultmlx::core::array
array(array &&other)=defaultmlx::core::array
array(std::vector< int > shape, Dtype dtype, std::shared_ptr< Primitive > primitive, std::vector< array > inputs)mlx::core::array
array(Shape shape, Dtype dtype, std::shared_ptr< Primitive > primitive, std::vector< array > inputs)mlx::core::array
attach_event(Event e) constmlx::core::arrayinline
available enum valuemlx::core::array
begin() constmlx::core::arrayinline
buffer()mlx::core::arrayinline
buffer() constmlx::core::arrayinline
buffer_size() constmlx::core::arrayinline
copy_shared_buffer(const array &other, const std::vector< size_t > &strides, Flags flags, size_t data_size, size_t offset=0)mlx::core::array
copy_shared_buffer(const array &other, const Strides &strides, Flags flags, size_t data_size, size_t offset=0)mlx::core::array
copy_shared_buffer(const array &other)mlx::core::array
data()mlx::core::arrayinline
data() constmlx::core::arrayinline
item()mlx::core::array
item() constmlx::core::array
itemsize() constmlx::core::arrayinline
make_arrays(std::vector< std::vector< int > > shapes, const std::vector< Dtype > &dtypes, const std::shared_ptr< Primitive > &primitive, const std::vector< array > &inputs)mlx::core::arraystatic
move_shared_buffer(array other, const std::vector< size_t > &strides, Flags flags, size_t data_size, size_t offset=0)mlx::core::array
make_arrays(std::vector< Shape > shapes, const std::vector< Dtype > &dtypes, const std::shared_ptr< Primitive > &primitive, const std::vector< array > &inputs)mlx::core::arraystatic
move_shared_buffer(array other, const Strides &strides, Flags flags, size_t data_size, size_t offset=0)mlx::core::array
move_shared_buffer(array other)mlx::core::array
nbytes() constmlx::core::arrayinline
ndim() constmlx::core::arrayinline
primitive_id() constmlx::core::arrayinline
primitive_ptr() constmlx::core::arrayinline
scheduled enum valuemlx::core::array
set_data(allocator::Buffer buffer, deleter_t d=allocator::free)mlx::core::array
set_data(allocator::Buffer buffer, size_t data_size, std::vector< size_t > strides, Flags flags, deleter_t d=allocator::free)mlx::core::array
set_data(allocator::Buffer buffer, Deleter d=allocator::free)mlx::core::array
set_data(allocator::Buffer buffer, size_t data_size, Strides strides, Flags flags, Deleter d=allocator::free)mlx::core::array
set_siblings(std::vector< array > siblings, uint16_t position)mlx::core::arrayinline
set_status(Status s) constmlx::core::arrayinline
set_tracer(bool is_tracer)mlx::core::arrayinline
shape() constmlx::core::arrayinline
shape(int dim) constmlx::core::arrayinline
shape() constmlx::core::arrayinline
shape(int dim) constmlx::core::arrayinline
siblings() constmlx::core::arrayinline
siblings()mlx::core::arrayinline
size() constmlx::core::arrayinline
Status enum namemlx::core::array
status() constmlx::core::arrayinline
strides() constmlx::core::arrayinline
strides(int dim) constmlx::core::arrayinline
strides() constmlx::core::arrayinline
strides(int dim) constmlx::core::arrayinline
unscheduled enum valuemlx::core::array
wait()mlx::core::array
~array()mlx::core::array
 
 array (const std::complex< float > &val, Dtype dtype=complex64)
 
template<typename It >
 array (It data, std::vector< int > shape, Dtype dtype=TypeToDtype< typename std::iterator_traits< It >::value_type >())
 
template<typename It >
 array (It data, Shape shape, Dtype dtype=TypeToDtype< typename std::iterator_traits< It >::value_type >())
 
template<typename T >
 array (std::initializer_list< T > data, Dtype dtype=TypeToDtype< T >())
 
 
 array (std::initializer_list< int > data, Dtype dtype)
 
template<typename T >
 array (std::initializer_list< T > data, std::vector< int > shape, Dtype dtype=TypeToDtype< T >())
 
 array (allocator::Buffer data, std::vector< int > shape, Dtype dtype, deleter_t deleter=allocator::free)
 
template<typename T >
 array (std::initializer_list< T > data, Shape shape, Dtype dtype=TypeToDtype< T >())
 
 array (allocator::Buffer data, Shape shape, Dtype dtype, Deleter deleter=allocator::free)
 
arrayoperator= (const array &other) &&=delete
 Assignment to rvalue does not compile.
 
size_t ndim () const
 The number of dimensions of the array.
 
const std::vector< int > & shape () const
 The shape of the array as a vector of integers.
 
int shape (int dim) const
 Get the size of the corresponding dimension.
 
const std::vector< size_t > & strides () const
 The strides of the array.
 
size_t strides (int dim) const
 Get the stride of the corresponding dimension.
 
const Shapeshape () const
 The shape of the array as a vector of integers.
 
auto shape (int dim) const
 Get the size of the corresponding dimension.
 
const Stridesstrides () const
 The strides of the array.
 
auto strides (int dim) const
 Get the stride of the corresponding dimension.
 
Dtype dtype () const
 Get the arrays data type.
 
 
ArrayIterator end () const
 
 array (std::vector< int > shape, Dtype dtype, std::shared_ptr< Primitive > primitive, std::vector< array > inputs)
 The following methods should be used with caution.
 
 array (Shape shape, Dtype dtype, std::shared_ptr< Primitive > primitive, std::vector< array > inputs)
 The following methods should be used with caution.
 
std::uintptr_t id () const
 A unique identifier for an array.
 
 
bool is_tracer () const
 
void set_data (allocator::Buffer buffer, deleter_t d=allocator::free)
 
void set_data (allocator::Buffer buffer, size_t data_size, std::vector< size_t > strides, Flags flags, deleter_t d=allocator::free)
 
void copy_shared_buffer (const array &other, const std::vector< size_t > &strides, Flags flags, size_t data_size, size_t offset=0)
 
void set_data (allocator::Buffer buffer, Deleter d=allocator::free)
 
void set_data (allocator::Buffer buffer, size_t data_size, Strides strides, Flags flags, Deleter d=allocator::free)
 
void copy_shared_buffer (const array &other, const Strides &strides, Flags flags, size_t data_size, size_t offset=0)
 
void copy_shared_buffer (const array &other)
 
void move_shared_buffer (array other, const std::vector< size_t > &strides, Flags flags, size_t data_size, size_t offset=0)
 
void move_shared_buffer (array other, const Strides &strides, Flags flags, size_t data_size, size_t offset=0)
 
void move_shared_buffer (array other)
 
void overwrite_descriptor (const array &other)
- - + +

Static Public Member Functions

static std::vector< arraymake_arrays (std::vector< std::vector< int > > shapes, const std::vector< Dtype > &dtypes, const std::shared_ptr< Primitive > &primitive, const std::vector< array > &inputs)
 
static std::vector< arraymake_arrays (std::vector< Shape > shapes, const std::vector< Dtype > &dtypes, const std::shared_ptr< Primitive > &primitive, const std::vector< array > &inputs)
 

Member Enumeration Documentation

@@ -378,8 +378,8 @@ template<typename T > - -

◆ array() [3/11]

+ +

◆ array() [3/11]

@@ -394,7 +394,7 @@ template<typename It >
std::vector< int > shape, Shape shape,
std::vector< int > shape, Shape shape,
std::vector< int > shape, Shape shape,
deleter_t deleter = allocator::free )Deleter deleter = allocator::free )
@@ -576,8 +576,8 @@ template<typename T >
- -

◆ array() [11/11]

+ +

◆ array() [11/11]

@@ -585,7 +585,7 @@ template<typename T >
mlx::core::array::array (std::vector< int > shape, Shape shape,
const std::vector< size_t > & strides, const Strides & strides,
static std::vector< array > mlx::core::array::make_arrays (std::vector< std::vector< int > > shapes, std::vector< Shape > shapes,
const std::vector< size_t > & strides, const Strides & strides,
deleter_t d = allocator::free )Deleter d = allocator::free )
- -

◆ set_data() [2/2]

+ +

◆ set_data() [2/2]

@@ -1713,7 +1713,7 @@ template<typename T >
std::vector< size_t > strides, Strides strides,
deleter_t d = allocator::free )Deleter d = allocator::free )
@@ -1809,8 +1809,8 @@ template<typename T >
- -

◆ shape() [1/2]

+ +

◆ shape() [1/2]

@@ -1819,7 +1819,7 @@ template<typename T >
- + @@ -1836,8 +1836,8 @@ template<typename T > - -

◆ shape() [2/2]

+ +

◆ shape() [2/2]

@@ -1846,7 +1846,7 @@ template<typename T >

Reimplemented from mlx::core::fast::Custom.

+ + +

Member Data Documentation

+ +

◆ eps_

+ +
+
+
const std::vector< int > & mlx::core::array::shape const Shape & mlx::core::array::shape ( ) const - + @@ -1970,8 +1970,8 @@ template<typename T > - -

◆ strides() [1/2]

+ +

◆ strides() [1/2]

@@ -1980,7 +1980,7 @@ template<typename T >
- - - + + + @@ -158,6 +159,11 @@ Public Member Functions +
int mlx::core::array::shape auto mlx::core::array::shape ( int dim) const - + @@ -1997,8 +1997,8 @@ template<typename T > - -

◆ strides() [2/2]

+ +

◆ strides() [2/2]

@@ -2007,7 +2007,7 @@ template<typename T >
- + diff --git a/docs/build/html/classmlx_1_1core_1_1fast_1_1_custom.html b/docs/build/html/classmlx_1_1core_1_1fast_1_1_custom.html index 533fd97ac..143e88f17 100644 --- a/docs/build/html/classmlx_1_1core_1_1fast_1_1_custom.html +++ b/docs/build/html/classmlx_1_1core_1_1fast_1_1_custom.html @@ -146,9 +146,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1fast_1_1_custom_kernel-members.html b/docs/build/html/classmlx_1_1core_1_1fast_1_1_custom_kernel-members.html index 6975bfce7..6ed89a112 100644 --- a/docs/build/html/classmlx_1_1core_1_1fast_1_1_custom_kernel-members.html +++ b/docs/build/html/classmlx_1_1core_1_1fast_1_1_custom_kernel-members.html @@ -103,7 +103,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1fast_1_1_custom_kernel.html b/docs/build/html/classmlx_1_1core_1_1fast_1_1_custom_kernel.html index 70b282db0..a90eabc7a 100644 --- a/docs/build/html/classmlx_1_1core_1_1fast_1_1_custom_kernel.html +++ b/docs/build/html/classmlx_1_1core_1_1fast_1_1_custom_kernel.html @@ -141,9 +141,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1fast_1_1_layer_norm-members.html b/docs/build/html/classmlx_1_1core_1_1fast_1_1_layer_norm-members.html index d952fafd1..a6b373d2a 100644 --- a/docs/build/html/classmlx_1_1core_1_1fast_1_1_layer_norm-members.html +++ b/docs/build/html/classmlx_1_1core_1_1fast_1_1_layer_norm-members.html @@ -97,22 +97,23 @@ $(function(){ initResizable(false); }); - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + +
const std::vector< size_t > & mlx::core::array::strides const Strides & mlx::core::array::strides ( ) const - + diff --git a/docs/build/html/classmlx_1_1core_1_1distributed_1_1_all_gather-members.html b/docs/build/html/classmlx_1_1core_1_1distributed_1_1_all_gather-members.html index f0a7f65fa..572e4ed5f 100644 --- a/docs/build/html/classmlx_1_1core_1_1distributed_1_1_all_gather-members.html +++ b/docs/build/html/classmlx_1_1core_1_1distributed_1_1_all_gather-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1distributed_1_1_all_gather.html b/docs/build/html/classmlx_1_1core_1_1distributed_1_1_all_gather.html index 6df4bac5d..2be3d207e 100644 --- a/docs/build/html/classmlx_1_1core_1_1distributed_1_1_all_gather.html +++ b/docs/build/html/classmlx_1_1core_1_1distributed_1_1_all_gather.html @@ -147,9 +147,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1distributed_1_1_all_reduce-members.html b/docs/build/html/classmlx_1_1core_1_1distributed_1_1_all_reduce-members.html index 1b1b0b2dd..9c07a0a32 100644 --- a/docs/build/html/classmlx_1_1core_1_1distributed_1_1_all_reduce-members.html +++ b/docs/build/html/classmlx_1_1core_1_1distributed_1_1_all_reduce-members.html @@ -108,7 +108,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1distributed_1_1_all_reduce.html b/docs/build/html/classmlx_1_1core_1_1distributed_1_1_all_reduce.html index eeadac2aa..fc3349d33 100644 --- a/docs/build/html/classmlx_1_1core_1_1distributed_1_1_all_reduce.html +++ b/docs/build/html/classmlx_1_1core_1_1distributed_1_1_all_reduce.html @@ -160,9 +160,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1distributed_1_1_dist_primitive-members.html b/docs/build/html/classmlx_1_1core_1_1distributed_1_1_dist_primitive-members.html index bbf447907..08a37fea4 100644 --- a/docs/build/html/classmlx_1_1core_1_1distributed_1_1_dist_primitive-members.html +++ b/docs/build/html/classmlx_1_1core_1_1distributed_1_1_dist_primitive-members.html @@ -103,7 +103,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1distributed_1_1_dist_primitive.html b/docs/build/html/classmlx_1_1core_1_1distributed_1_1_dist_primitive.html index 7f81eca91..50252d48e 100644 --- a/docs/build/html/classmlx_1_1core_1_1distributed_1_1_dist_primitive.html +++ b/docs/build/html/classmlx_1_1core_1_1distributed_1_1_dist_primitive.html @@ -145,9 +145,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1distributed_1_1_recv-members.html b/docs/build/html/classmlx_1_1core_1_1distributed_1_1_recv-members.html index 6fa0a6f1d..f24513f93 100644 --- a/docs/build/html/classmlx_1_1core_1_1distributed_1_1_recv-members.html +++ b/docs/build/html/classmlx_1_1core_1_1distributed_1_1_recv-members.html @@ -104,7 +104,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1distributed_1_1_recv.html b/docs/build/html/classmlx_1_1core_1_1distributed_1_1_recv.html index c18b13b60..e6c954d0c 100644 --- a/docs/build/html/classmlx_1_1core_1_1distributed_1_1_recv.html +++ b/docs/build/html/classmlx_1_1core_1_1distributed_1_1_recv.html @@ -147,9 +147,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1distributed_1_1_send-members.html b/docs/build/html/classmlx_1_1core_1_1distributed_1_1_send-members.html index 735d91e09..a74d8016e 100644 --- a/docs/build/html/classmlx_1_1core_1_1distributed_1_1_send-members.html +++ b/docs/build/html/classmlx_1_1core_1_1distributed_1_1_send-members.html @@ -104,7 +104,7 @@ $(function(){ initResizable(false); }); - + diff --git a/docs/build/html/classmlx_1_1core_1_1distributed_1_1_send.html b/docs/build/html/classmlx_1_1core_1_1distributed_1_1_send.html index 38a01fca2..cc0c1c9fc 100644 --- a/docs/build/html/classmlx_1_1core_1_1distributed_1_1_send.html +++ b/docs/build/html/classmlx_1_1core_1_1distributed_1_1_send.html @@ -147,9 +147,9 @@ Public Member Functions - - - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1fast_1_1_affine_quantize-members.html b/docs/build/html/classmlx_1_1core_1_1fast_1_1_affine_quantize-members.html index adeb73e45..adfda83af 100644 --- a/docs/build/html/classmlx_1_1core_1_1fast_1_1_affine_quantize-members.html +++ b/docs/build/html/classmlx_1_1core_1_1fast_1_1_affine_quantize-members.html @@ -100,11 +100,11 @@ $(function(){ initResizable(false); }); - + - + diff --git a/docs/build/html/classmlx_1_1core_1_1fast_1_1_affine_quantize.html b/docs/build/html/classmlx_1_1core_1_1fast_1_1_affine_quantize.html index ca6128e8e..10ff34758 100644 --- a/docs/build/html/classmlx_1_1core_1_1fast_1_1_affine_quantize.html +++ b/docs/build/html/classmlx_1_1core_1_1fast_1_1_affine_quantize.html @@ -118,6 +118,12 @@ Public Member Functions + + + + + + @@ -142,12 +148,6 @@ Public Member Functions - - - - - - @@ -285,6 +285,65 @@ Public Member Functions

Implements mlx::core::Primitive.

+ + + +

◆ is_equivalent()

+ +
+
+
size_t mlx::core::array::strides auto mlx::core::array::strides ( int dim) const
jvp(const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums) overridemlx::core::distributed::AllGathervirtual
operator=(const Primitive &other)=deletemlx::core::Primitive
operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
virtual bool is_equivalent (const Primitive &other) const
 Equivalence check defaults to false unless overridden by the primitive.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
operator=(const Primitive &other)=deletemlx::core::Primitive
operator=(Primitive &&other)=deletemlx::core::Primitive
Or enum valuemlx::core::distributed::AllReduce
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
virtual bool is_equivalent (const Primitive &other) const
 Equivalence check defaults to false unless overridden by the primitive.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
jvp(const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums)mlx::core::Primitivevirtual
operator=(const Primitive &other)=deletemlx::core::Primitive
operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
virtual bool is_equivalent (const Primitive &other) const
 Equivalence check defaults to false unless overridden by the primitive.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
jvp(const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums)mlx::core::Primitivevirtual
operator=(const Primitive &other)=deletemlx::core::Primitive
operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
virtual bool is_equivalent (const Primitive &other) const
 Equivalence check defaults to false unless overridden by the primitive.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
jvp(const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums)mlx::core::Primitivevirtual
operator=(const Primitive &other)=deletemlx::core::Primitive
operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
virtual bool is_equivalent (const Primitive &other) const
 Equivalence check defaults to false unless overridden by the primitive.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
device()mlx::core::Primitiveinline
eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) overridemlx::core::fast::AffineQuantizevirtual
eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) overridemlx::core::fast::AffineQuantizevirtual
is_equivalent(const Primitive &other) constmlx::core::Primitiveinlinevirtual
is_equivalent(const Primitive &other) const overridemlx::core::fast::AffineQuantizevirtual
jvp(const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums) overridemlx::core::fast::Customvirtual
operator=(const Primitive &other)=deletemlx::core::Primitive
operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs) overridemlx::core::fast::AffineQuantizevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
 
 DEFINE_PRINT (AffineQuantize)
 
bool is_equivalent (const Primitive &other) const override
 Equivalence check defaults to false unless overridden by the primitive.
 
std::vector< Shapeoutput_shapes (const std::vector< array > &inputs) override
 Get the output shapes of the primitive.
 
- Public Member Functions inherited from mlx::core::fast::Custom
 Custom (Stream stream, std::function< std::vector< array >(std::vector< array >)> fallback)
 
virtual void print (std::ostream &os)=0
 Print the primitive.
 
virtual bool is_equivalent (const Primitive &other) const
 Equivalence check defaults to false unless overridden by the primitive.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
+ + + + +
+ + + + + + + +
bool mlx::core::fast::AffineQuantize::is_equivalent (const Primitive & other) const
+
+overridevirtual
+
+ +

Equivalence check defaults to false unless overridden by the primitive.

+ +

Reimplemented from mlx::core::Primitive.

+ +
+ + +

◆ output_shapes()

+ +
+
+ + + + + +
+ + + + + + + +
std::vector< Shape > mlx::core::fast::AffineQuantize::output_shapes (const std::vector< array > & inputs)
+
+overridevirtual
+
+ +

Get the output shapes of the primitive.

+

This is not required to be implemented by derived classes, in which case it will throw.

+ +

Reimplemented from mlx::core::Primitive.

+

The documentation for this class was generated from the following file:
    diff --git a/docs/build/html/classmlx_1_1core_1_1fast_1_1_custom-members.html b/docs/build/html/classmlx_1_1core_1_1fast_1_1_custom-members.html index dd0c2d897..0de1f87ae 100644 --- a/docs/build/html/classmlx_1_1core_1_1fast_1_1_custom-members.html +++ b/docs/build/html/classmlx_1_1core_1_1fast_1_1_custom-members.html @@ -102,7 +102,7 @@ $(function(){ initResizable(false); });
jvp(const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums) overridemlx::core::fast::Customvirtual
operator=(const Primitive &other)=deletemlx::core::Primitive
operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
virtual bool is_equivalent (const Primitive &other) const
 Equivalence check defaults to false unless overridden by the primitive.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
jvp(const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums)mlx::core::Primitivevirtual
operator=(const Primitive &other)=deletemlx::core::Primitive
operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
virtual bool is_equivalent (const Primitive &other) const
 Equivalence check defaults to false unless overridden by the primitive.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
Custom(Stream stream, std::function< std::vector< array >(std::vector< array >)> fallback)mlx::core::fast::Custominlineexplicit
DEFINE_PRINT(LayerNorm) bool is_equivalent(const Primitive &other) const overridemlx::core::fast::LayerNorm
device()mlx::core::Primitiveinline
eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) overridemlx::core::fast::LayerNorminlinevirtual
eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) overridemlx::core::fast::LayerNormvirtual
is_equivalent(const Primitive &other) constmlx::core::Primitiveinlinevirtual
jvp(const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums) overridemlx::core::fast::Customvirtual
LayerNorm(Stream stream, std::function< std::vector< array >(std::vector< array >)> fallback, float eps)mlx::core::fast::LayerNorminline
operator=(const Primitive &other)=deletemlx::core::Primitive
operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
print(std::ostream &os)=0mlx::core::Primitivepure virtual
stream()mlx::core::Primitiveinline
vjp(const std::vector< array > &primals, const std::vector< array > &cotangents, const std::vector< int > &argnums, const std::vector< array > &outputs) overridemlx::core::fast::LayerNormvirtual
vmap(const std::vector< array > &inputs, const std::vector< int > &axes) overridemlx::core::fast::Customvirtual
~Primitive()=defaultmlx::core::Primitivevirtual
eps_mlx::core::fast::LayerNorm
eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) overridemlx::core::fast::LayerNorminlinevirtual
eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) overridemlx::core::fast::LayerNormvirtual
is_equivalent(const Primitive &other) constmlx::core::Primitiveinlinevirtual
jvp(const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums) overridemlx::core::fast::Customvirtual
LayerNorm(Stream stream, std::function< std::vector< array >(std::vector< array >)> fallback, float eps)mlx::core::fast::LayerNorminline
operator=(const Primitive &other)=deletemlx::core::Primitive
operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
print(std::ostream &os)=0mlx::core::Primitivepure virtual
stream()mlx::core::Primitiveinline
vjp(const std::vector< array > &primals, const std::vector< array > &cotangents, const std::vector< int > &argnums, const std::vector< array > &outputs) overridemlx::core::fast::LayerNormvirtual
vmap(const std::vector< array > &inputs, const std::vector< int > &axes) overridemlx::core::fast::Customvirtual
~Primitive()=defaultmlx::core::Primitivevirtual
virtual bool is_equivalent (const Primitive &other) const
 Equivalence check defaults to false unless overridden by the primitive.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
 
Primitiveoperator= (Primitive &&other)=delete
 
+ + +

+Public Attributes

DEFINE_INPUT_OUTPUT_SHAPE() private float eps_
 

Constructor & Destructor Documentation

@@ -326,6 +332,21 @@ Public Member Functions
+ + + +
DEFINE_INPUT_OUTPUT_SHAPE () private float mlx::core::fast::LayerNorm::eps_
+
+

The documentation for this class was generated from the following file:
    diff --git a/docs/build/html/classmlx_1_1core_1_1fast_1_1_layer_norm_v_j_p-members.html b/docs/build/html/classmlx_1_1core_1_1fast_1_1_layer_norm_v_j_p-members.html index 4de0d29ac..d4599c5b6 100644 --- a/docs/build/html/classmlx_1_1core_1_1fast_1_1_layer_norm_v_j_p-members.html +++ b/docs/build/html/classmlx_1_1core_1_1fast_1_1_layer_norm_v_j_p-members.html @@ -104,7 +104,7 @@ $(function(){ initResizable(false); });
LayerNormVJP(Stream stream, std::function< std::vector< array >(std::vector< array >)> fallback, float eps)mlx::core::fast::LayerNormVJPinline
operator=(const Primitive &other)=deletemlx::core::Primitive
operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
virtual bool is_equivalent (const Primitive &other) const
 Equivalence check defaults to false unless overridden by the primitive.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
Custom(Stream stream, std::function< std::vector< array >(std::vector< array >)> fallback)mlx::core::fast::Custominlineexplicit
DEFINE_PRINT(RMSNorm) bool is_equivalent(const Primitive &other) const overridemlx::core::fast::RMSNorm
device()mlx::core::Primitiveinline
eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) overridemlx::core::fast::RMSNorminlinevirtual
eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) overridemlx::core::fast::RMSNormvirtual
is_equivalent(const Primitive &other) constmlx::core::Primitiveinlinevirtual
jvp(const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums) overridemlx::core::fast::Customvirtual
operator=(const Primitive &other)=deletemlx::core::Primitive
operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
print(std::ostream &os)=0mlx::core::Primitivepure virtual
RMSNorm(Stream stream, std::function< std::vector< array >(std::vector< array >)> fallback, float eps)mlx::core::fast::RMSNorminline
stream()mlx::core::Primitiveinline
vjp(const std::vector< array > &primals, const std::vector< array > &cotangents, const std::vector< int > &argnums, const std::vector< array > &outputs) overridemlx::core::fast::RMSNormvirtual
vmap(const std::vector< array > &inputs, const std::vector< int > &axes) overridemlx::core::fast::Customvirtual
~Primitive()=defaultmlx::core::Primitivevirtual
eps_mlx::core::fast::RMSNorm
eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) overridemlx::core::fast::RMSNorminlinevirtual
eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) overridemlx::core::fast::RMSNormvirtual
is_equivalent(const Primitive &other) constmlx::core::Primitiveinlinevirtual
jvp(const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums) overridemlx::core::fast::Customvirtual
operator=(const Primitive &other)=deletemlx::core::Primitive
operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
print(std::ostream &os)=0mlx::core::Primitivepure virtual
RMSNorm(Stream stream, std::function< std::vector< array >(std::vector< array >)> fallback, float eps)mlx::core::fast::RMSNorminline
stream()mlx::core::Primitiveinline
vjp(const std::vector< array > &primals, const std::vector< array > &cotangents, const std::vector< int > &argnums, const std::vector< array > &outputs) overridemlx::core::fast::RMSNormvirtual
vmap(const std::vector< array > &inputs, const std::vector< int > &axes) overridemlx::core::fast::Customvirtual
~Primitive()=defaultmlx::core::Primitivevirtual
virtual bool is_equivalent (const Primitive &other) const
 Equivalence check defaults to false unless overridden by the primitive.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
 
Primitiveoperator= (Primitive &&other)=delete
 
+ + +

+Public Attributes

DEFINE_INPUT_OUTPUT_SHAPE() private float eps_
 

Constructor & Destructor Documentation

@@ -326,6 +332,21 @@ Public Member Functions
+ + + +
DEFINE_INPUT_OUTPUT_SHAPE () private float mlx::core::fast::RMSNorm::eps_
+
+

The documentation for this class was generated from the following file:
    diff --git a/docs/build/html/classmlx_1_1core_1_1fast_1_1_r_m_s_norm_v_j_p-members.html b/docs/build/html/classmlx_1_1core_1_1fast_1_1_r_m_s_norm_v_j_p-members.html index 86289b08d..5140a4137 100644 --- a/docs/build/html/classmlx_1_1core_1_1fast_1_1_r_m_s_norm_v_j_p-members.html +++ b/docs/build/html/classmlx_1_1core_1_1fast_1_1_r_m_s_norm_v_j_p-members.html @@ -103,7 +103,7 @@ $(function(){ initResizable(false); });
jvp(const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums) overridemlx::core::fast::Customvirtual
operator=(const Primitive &other)=deletemlx::core::Primitive
operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
virtual bool is_equivalent (const Primitive &other) const
 Equivalence check defaults to false unless overridden by the primitive.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
- - - + + + + + - - + + + + - + - + + + diff --git a/docs/build/html/classmlx_1_1core_1_1fast_1_1_ro_p_e.html b/docs/build/html/classmlx_1_1core_1_1fast_1_1_ro_p_e.html index dafe6a2ac..a5eedd416 100644 --- a/docs/build/html/classmlx_1_1core_1_1fast_1_1_ro_p_e.html +++ b/docs/build/html/classmlx_1_1core_1_1fast_1_1_ro_p_e.html @@ -90,6 +90,7 @@ $(function(){ initResizable(false); });
mlx::core::fast::RoPE Class Reference
@@ -145,9 +146,9 @@ Public Member Functions - - - + + + @@ -158,6 +159,21 @@ Public Member Functions +
Custom(Stream stream, std::function< std::vector< array >(std::vector< array >)> fallback)mlx::core::fast::Custominlineexplicit
DEFINE_PRINT(RoPE) bool is_equivalent(const Primitive &other) const overridemlx::core::fast::RoPE
device()mlx::core::Primitiveinline
base_mlx::core::fast::RoPE
Custom(Stream stream, std::function< std::vector< array >(std::vector< array >)> fallback)mlx::core::fast::Custominlineexplicit
DEFINE_PRINT(RoPE) bool is_equivalent(const Primitive &other) const overridemlx::core::fast::RoPE
device()mlx::core::Primitiveinline
dims_mlx::core::fast::RoPE
eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) overridemlx::core::fast::RoPEinlinevirtual
eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) overridemlx::core::fast::RoPEvirtual
is_equivalent(const Primitive &other) constmlx::core::Primitiveinlinevirtual
jvp(const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums) overridemlx::core::fast::Customvirtual
forward_mlx::core::fast::RoPE
is_equivalent(const Primitive &other) constmlx::core::Primitiveinlinevirtual
jvp(const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums) overridemlx::core::fast::Customvirtual
offset_mlx::core::fast::RoPE
operator=(const Primitive &other)=deletemlx::core::Primitive
operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
print(std::ostream &os)=0mlx::core::Primitivepure virtual
RoPE(Stream stream, std::function< std::vector< array >(std::vector< array >)> fallback, int dims, bool traditional, float base, float scale, int offset, bool forward)mlx::core::fast::RoPEinline
stream()mlx::core::Primitiveinline
scale_mlx::core::fast::RoPE
stream()mlx::core::Primitiveinline
traditional_mlx::core::fast::RoPE
vjp(const std::vector< array > &primals, const std::vector< array > &cotangents, const std::vector< int > &argnums, const std::vector< array > &outputs) overridemlx::core::fast::RoPEvirtual
vmap(const std::vector< array > &inputs, const std::vector< int > &axes) overridemlx::core::fast::Customvirtual
~Primitive()=defaultmlx::core::Primitivevirtual
virtual bool is_equivalent (const Primitive &other) const
 Equivalence check defaults to false unless overridden by the primitive.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
 
Primitiveoperator= (Primitive &&other)=delete
 
+ + + + + + + + + + + + +

+Public Attributes

DEFINE_INPUT_OUTPUT_SHAPE() private int dims_
 
bool traditional_
 
float base_
 
float scale_
 
int offset_
 
bool forward_
 

Constructor & Destructor Documentation

@@ -351,6 +367,91 @@ Public Member Functions
+ + + +
float mlx::core::fast::RoPE::base_
+
+ +
+ + +

◆ dims_

+ +
+
+ + + + +
DEFINE_INPUT_OUTPUT_SHAPE () private int mlx::core::fast::RoPE::dims_
+
+ +
+
+ +

◆ forward_

+ +
+
+ + + + +
bool mlx::core::fast::RoPE::forward_
+
+ +
+
+ +

◆ offset_

+ +
+
+ + + + +
int mlx::core::fast::RoPE::offset_
+
+ +
+
+ +

◆ scale_

+ +
+
+ + + + +
float mlx::core::fast::RoPE::scale_
+
+ +
+
+ +

◆ traditional_

+ +
+
+ + + + +
bool mlx::core::fast::RoPE::traditional_
+
+

The documentation for this class was generated from the following file:
    diff --git a/docs/build/html/classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention-members.html b/docs/build/html/classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention-members.html index 0601ad644..2e4518f17 100644 --- a/docs/build/html/classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention-members.html +++ b/docs/build/html/classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention-members.html @@ -102,13 +102,15 @@ $(function(){ initResizable(false); });
eval_gpu(const std::vector< array > &inputs, array &out)mlx::core::fast::ScaledDotProductAttention
is_equivalent(const Primitive &other) const overridemlx::core::fast::ScaledDotProductAttentionvirtual
jvp(const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums) overridemlx::core::fast::Customvirtual
operator=(const Primitive &other)=deletemlx::core::Primitive
operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
print(std::ostream &os)=0mlx::core::Primitivepure virtual
needs_mask_mlx::core::fast::ScaledDotProductAttention
operator=(const Primitive &other)=deletemlx::core::Primitive
operator=(Primitive &&other)=deletemlx::core::Primitive
output_shapes(const std::vector< array > &inputs)mlx::core::Primitivevirtual
Primitive(Stream stream)mlx::core::Primitiveinlineexplicit
Primitive(const Primitive &other)=deletemlx::core::Primitive
Primitive(Primitive &&other)=deletemlx::core::Primitive
print(std::ostream &os)=0mlx::core::Primitivepure virtual
scale_mlx::core::fast::ScaledDotProductAttention
ScaledDotProductAttention(Stream stream, std::function< std::vector< array >(std::vector< array >)> fallback, const float scale, const bool needs_mask)mlx::core::fast::ScaledDotProductAttentioninlineexplicit
stream()mlx::core::Primitiveinline
vjp(const std::vector< array > &primals, const std::vector< array > &cotangents, const std::vector< int > &argnums, const std::vector< array > &outputs) overridemlx::core::fast::Customvirtual
virtual void print (std::ostream &os)=0
 Print the primitive.
 
virtual std::vector< std::vector< int > > output_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual std::vector< Shapeoutput_shapes (const std::vector< array > &inputs)
 Get the output shapes of the primitive.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
 
Primitiveoperator= (Primitive &&other)=delete
 
+ + + + +

+Public Attributes

DEFINE_INPUT_OUTPUT_SHAPE() private float scale_
 
bool needs_mask_
 

Constructor & Destructor Documentation

@@ -332,6 +340,35 @@ Public Member Functions
+ + + +
bool mlx::core::fast::ScaledDotProductAttention::needs_mask_
+
+ +
+ + +

◆ scale_

+ +
+
+ + + + +
DEFINE_INPUT_OUTPUT_SHAPE () private float mlx::core::fast::ScaledDotProductAttention::scale_
+
+

The documentation for this class was generated from the following file:
    diff --git a/docs/build/html/common_2arange_8h_source.html b/docs/build/html/common_2arange_8h_source.html index b479ab84c..4e4bc9347 100644 --- a/docs/build/html/common_2arange_8h_source.html +++ b/docs/build/html/common_2arange_8h_source.html @@ -121,7 +121,7 @@ $(function(){ initResizable(false); });
    27 double start,
    28 double step) {
    29 assert(inputs.size() == 0);
    - +
    31 switch (out.dtype()) {
    32 case bool_:
    33 throw std::runtime_error("Bool type unsupported for arange.");
    @@ -170,11 +170,11 @@ $(function(){ initResizable(false); });
    BufferHolder * next
    Definition allocator.h:38
    -
    Definition array.h:20
    -
    size_t nbytes() const
    The number of bytes in the array.
    Definition array.h:89
    -
    size_t size() const
    The number of elements in the array.
    Definition array.h:84
    -
    void set_data(allocator::Buffer buffer, deleter_t d=allocator::free)
    -
    Dtype dtype() const
    Get the arrays data type.
    Definition array.h:127
    +
    Definition array.h:23
    +
    size_t nbytes() const
    The number of bytes in the array.
    Definition array.h:92
    +
    size_t size() const
    The number of elements in the array.
    Definition array.h:87
    +
    Dtype dtype() const
    Get the arrays data type.
    Definition array.h:130
    +
    void set_data(allocator::Buffer buffer, Deleter d=allocator::free)
    Buffer malloc_or_wait(size_t size)
    Definition allocator.h:7
    constexpr Dtype bool_
    Definition dtype.h:67
    diff --git a/docs/build/html/common_2copy_8h_source.html b/docs/build/html/common_2copy_8h_source.html index 9d9226977..f0c0bd54b 100644 --- a/docs/build/html/common_2copy_8h_source.html +++ b/docs/build/html/common_2copy_8h_source.html @@ -135,7 +135,7 @@ $(function(){ initResizable(false); });
    40} // namespace mlx::core
    -
    Definition array.h:20
    +
    Definition array.h:23
    Definition allocator.h:7
    void copy(const array &src, array &dst, CopyType ctype)
    void copy_inplace(const array &src, array &dst, CopyType ctype)
    diff --git a/docs/build/html/common_2hadamard_8h_source.html b/docs/build/html/common_2hadamard_8h_source.html index 8d8fcff86..cae220300 100644 --- a/docs/build/html/common_2hadamard_8h_source.html +++ b/docs/build/html/common_2hadamard_8h_source.html @@ -206,7 +206,7 @@ $(function(){ initResizable(false); });
    const std::map< int, std::string_view > hadamard_matrices()
    Definition hadamard.h:81
    constexpr std::string_view h20
    Definition hadamard.h:27
    constexpr std::string_view h28
    Definition hadamard.h:50
    -
    bool is_power_of_2(int n)
    Definition utils.h:112
    +
    bool is_power_of_2(int n)
    Definition utils.h:110
    diff --git a/docs/build/html/common_2reduce_8h_source.html b/docs/build/html/common_2reduce_8h_source.html index eb9ed2a99..4822fdf50 100644 --- a/docs/build/html/common_2reduce_8h_source.html +++ b/docs/build/html/common_2reduce_8h_source.html @@ -211,7 +211,7 @@ $(function(){ initResizable(false); });
    103 OpS ops,
    104 OpC opc,
    105 Op op) {
    - +
    107 ReductionPlan plan = get_reduction_plan(x, axes);
    108
    109 if (plan.type == ContiguousAllReduce) {
    @@ -349,11 +349,11 @@ $(function(){ initResizable(false); });
    238
    239} // namespace mlx::core
    -
    Definition array.h:20
    -
    size_t nbytes() const
    The number of bytes in the array.
    Definition array.h:89
    -
    size_t size() const
    The number of elements in the array.
    Definition array.h:84
    -
    void set_data(allocator::Buffer buffer, deleter_t d=allocator::free)
    -
    T * data()
    Definition array.h:338
    +
    Definition array.h:23
    +
    size_t nbytes() const
    The number of bytes in the array.
    Definition array.h:92
    +
    size_t size() const
    The number of elements in the array.
    Definition array.h:87
    +
    T * data()
    Definition array.h:341
    +
    void set_data(allocator::Buffer buffer, Deleter d=allocator::free)
    Op op
    Definition binary.h:129
    array std(const array &a, bool keepdims, int ddof=0, StreamOrDevice s={})
    Computes the standard deviation of the elements of an array.
    Buffer malloc_or_wait(size_t size)
    diff --git a/docs/build/html/common_2slicing_8h_source.html b/docs/build/html/common_2slicing_8h_source.html index da4bb8bb9..adaef11b5 100644 --- a/docs/build/html/common_2slicing_8h_source.html +++ b/docs/build/html/common_2slicing_8h_source.html @@ -113,7 +113,7 @@ $(function(){ initResizable(false); });
    20
    21} // namespace mlx::core
    -
    Definition array.h:20
    +
    Definition array.h:23
    Definition allocator.h:7
    std::tuple< bool, int64_t, std::vector< int64_t > > prepare_slice(const array &in, const std::vector< int > &start_indices, const std::vector< int > &strides)
    void shared_buffer_slice(const array &in, const std::vector< size_t > &out_strides, size_t data_offset, size_t data_size, array &out)
    diff --git a/docs/build/html/compile_8h.html b/docs/build/html/compile_8h.html index bdf13b72d..643349281 100644 --- a/docs/build/html/compile_8h.html +++ b/docs/build/html/compile_8h.html @@ -117,9 +117,14 @@ Enumerations
- - - + + + + + + + + diff --git a/docs/build/html/compile_8h_source.html b/docs/build/html/compile_8h_source.html index 33e2f2c28..25516379f 100644 --- a/docs/build/html/compile_8h_source.html +++ b/docs/build/html/compile_8h_source.html @@ -101,27 +101,45 @@ $(function(){ initResizable(false); });
8
10
-
12std::function<std::vector<array>(const std::vector<array>&)> compile(
-
13 const std::function<std::vector<array>(const std::vector<array>&)>& fun,
+
12std::function<std::vector<array>(const std::vector<array>&)> compile(
+
13 std::function<std::vector<array>(const std::vector<array>&)> fun,
14 bool shapeless = false);
15
- -
21
- -
26
- -
29} // namespace mlx::core
+
16std::function<std::vector<array>(const std::vector<array>&)> compile(
+
17 std::vector<array>(fun)(const std::vector<array>&),
+
18 bool shapeless = false);
+
19
+
20// Convert capture-less lambdas to function pointers.
+
21template <
+
22 typename F,
+
23 typename = std::enable_if_t<
+
24 std::is_convertible_v<F, decltype(+std::declval<F>())>>>
+
+
25std::function<std::vector<array>(const std::vector<array>&)> compile(
+
26 F&& f,
+
27 bool shapeless = false) {
+
28 return compile(+f, shapeless);
+
29}
+
+
30
+ +
36
+ +
41
+ +
44} // namespace mlx::core
Definition allocator.h:7
void enable_compile()
Globally enable compilation.
-
std::function< std::vector< array >(const std::vector< array > &)> compile(const std::function< std::vector< array >(const std::vector< array > &)> &fun, bool shapeless=false)
Compile takes a function and returns a compiled function.
void set_compile_mode(CompileMode mode)
Set the compiler mode to the given value.
+
std::function< std::vector< array >(const std::vector< array > &)> compile(std::function< std::vector< array >(const std::vector< array > &)> fun, bool shapeless=false)
Compile takes a function and returns a compiled function.
void disable_compile()
Globally disable compilation.
CompileMode
Definition compile.h:9
+
float f
Definition bf16.h:16

Functions

std::function< std::vector< array >(const std::vector< array > &)> mlx::core::compile (const std::function< std::vector< array >(const std::vector< array > &)> &fun, bool shapeless=false)
 Compile takes a function and returns a compiled function.
 
std::function< std::vector< array >(const std::vector< array > &)> mlx::core::compile (std::function< std::vector< array >(const std::vector< array > &)> fun, bool shapeless=false)
 Compile takes a function and returns a compiled function.
 
std::function< std::vector< array >(const std::vector< array > &)> mlx::core::compile (std::vector< array >(fun)(const std::vector< array > &), bool shapeless=false)
 
template<typename F >
std::function< std::vector< array >(const std::vector< array > &)> mlx::core::compile (F &&f, bool shapeless=false)
 
void mlx::core::disable_compile ()
 Globally disable compilation.
 
- - + + diff --git a/docs/build/html/compile__impl_8h_source.html b/docs/build/html/compile__impl_8h_source.html index 4f38d2f6e..e19210163 100644 --- a/docs/build/html/compile__impl_8h_source.html +++ b/docs/build/html/compile__impl_8h_source.html @@ -101,8 +101,8 @@ $(function(){ initResizable(false); });
8
9// This is not part of the general C++ API as calling with a bad id is a bad
10// idea.
-
11std::function<std::vector<array>(const std::vector<array>&)> compile(
-
12 const std::function<std::vector<array>(const std::vector<array>&)>& fun,
+
11std::function<std::vector<array>(const std::vector<array>&)> compile(
+
12 std::function<std::vector<array>(const std::vector<array>&)> fun,
13 std::uintptr_t fun_id,
14 bool shapeless = false,
15 std::vector<uint64_t> constants = {});
@@ -120,8 +120,8 @@ $(function(){ initResizable(false); });
Definition ops.h:8
void compile_clear_cache()
void compile_erase(std::uintptr_t fun_id)
-
std::function< std::vector< array >(const std::vector< array > &)> compile(const std::function< std::vector< array >(const std::vector< array > &)> &fun, std::uintptr_t fun_id, bool shapeless=false, std::vector< uint64_t > constants={})
bool compile_available_for_device(const Device &device)
+
std::function< std::vector< array >(const std::vector< array > &)> compile(std::function< std::vector< array >(const std::vector< array > &)> fun, std::uintptr_t fun_id, bool shapeless=false, std::vector< uint64_t > constants={})
Definition device.h:7
diff --git a/docs/build/html/compiled_8h_source.html b/docs/build/html/compiled_8h_source.html index ba238defa..4aefc49d2 100644 --- a/docs/build/html/compiled_8h_source.html +++ b/docs/build/html/compiled_8h_source.html @@ -172,15 +172,15 @@ $(function(){ initResizable(false); });
69
70} // namespace mlx::core
-
Definition primitives.h:418
-
Definition primitives.h:528
-
Definition primitives.h:702
+
Definition primitives.h:417
+
Definition primitives.h:523
+
Definition primitives.h:697
Definition primitives.h:48
-
Definition primitives.h:2034
-
Definition array.h:20
-
size_t ndim() const
The number of dimensions of the array.
Definition array.h:94
-
T item()
Get the value from a scalar array.
Definition array.h:535
-
Dtype dtype() const
Get the arrays data type.
Definition array.h:127
+
Definition primitives.h:2029
+
Definition array.h:23
+
size_t ndim() const
The number of dimensions of the array.
Definition array.h:97
+
T item()
Get the value from a scalar array.
Definition array.h:538
+
Dtype dtype() const
Get the arrays data type.
Definition array.h:130
array contiguous(const array &a, bool allow_col_major=false, StreamOrDevice s={})
Definition allocator.h:7
void print_complex_constant(std::ostream &os, const array &x)
Definition compiled.h:40
diff --git a/docs/build/html/cpp/ops.html b/docs/build/html/cpp/ops.html index 71ad84825..15e999d3d 100644 --- a/docs/build/html/cpp/ops.html +++ b/docs/build/html/cpp/ops.html @@ -8,7 +8,7 @@ - Operations — MLX 0.21.0 documentation + Operations — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home @@ -861,17 +861,17 @@
  • arange()
  • linspace()
  • astype()
  • -
  • as_strided()
  • +
  • as_strided()
  • copy()
  • -
  • full()
  • -
  • full()
  • -
  • full()
  • -
  • full()
  • -
  • zeros()
  • -
  • zeros()
  • +
  • full()
  • +
  • full()
  • +
  • full()
  • +
  • full()
  • +
  • zeros()
  • +
  • zeros()
  • zeros_like()
  • -
  • ones()
  • -
  • ones()
  • +
  • ones()
  • +
  • ones()
  • ones_like()
  • eye()
  • eye()
  • @@ -884,7 +884,7 @@
  • tri()
  • tril()
  • triu()
  • -
  • reshape()
  • +
  • reshape()
  • flatten()
  • flatten()
  • hadamard_transform()
  • @@ -893,10 +893,10 @@
  • squeeze()
  • expand_dims()
  • expand_dims()
  • -
  • slice()
  • -
  • slice()
  • -
  • slice_update()
  • -
  • slice_update()
  • +
  • slice()
  • +
  • slice()
  • +
  • slice_update()
  • +
  • slice_update()
  • split()
  • split()
  • split()
  • @@ -919,7 +919,7 @@
  • pad()
  • pad()
  • transpose()
  • -
  • broadcast_to()
  • +
  • broadcast_to()
  • broadcast_arrays()
  • equal()
  • operator==()
  • @@ -1078,8 +1078,8 @@
  • round()
  • round()
  • matmul()
  • -
  • gather()
  • -
  • gather()
  • +
  • gather()
  • +
  • gather()
  • take()
  • take()
  • take()
  • @@ -1151,11 +1151,11 @@
  • operator>>()
  • view()
  • roll()
  • -
  • roll()
  • +
  • roll()
  • roll()
  • -
  • roll()
  • -
  • roll()
  • -
  • roll()
  • +
  • roll()
  • +
  • roll()
  • +
  • roll()
  • real()
  • imag()
  • contiguous()
  • @@ -1231,8 +1231,8 @@
    -
    -array as_strided(array a, std::vector<int> shape, std::vector<size_t> strides, size_t offset, StreamOrDevice s = {})#
    +
    +array as_strided(array a, Shape shape, Strides strides, size_t offset, StreamOrDevice s = {})#

    Create a view of an array with the given shape and strides.

    @@ -1243,35 +1243,35 @@
    -
    -array full(std::vector<int> shape, array vals, Dtype dtype, StreamOrDevice s = {})#
    +
    +array full(Shape shape, array vals, Dtype dtype, StreamOrDevice s = {})#

    Fill an array of the given shape with the given value(s).

    -
    -array full(std::vector<int> shape, array vals, StreamOrDevice s = {})#
    +
    +array full(Shape shape, array vals, StreamOrDevice s = {})#
    -
    -template<typename T>
    array full(std::vector<int> shape, T val, Dtype dtype, StreamOrDevice s = {})#
    +
    +template<typename T>
    array full(Shape shape, T val, Dtype dtype, StreamOrDevice s = {})#
    -
    -template<typename T>
    array full(std::vector<int> shape, T val, StreamOrDevice s = {})#
    +
    +template<typename T>
    array full(Shape shape, T val, StreamOrDevice s = {})#
    -
    -array zeros(const std::vector<int> &shape, Dtype dtype, StreamOrDevice s = {})#
    +
    +array zeros(const Shape &shape, Dtype dtype, StreamOrDevice s = {})#

    Fill an array of the given shape with zeros.

    -
    -inline array zeros(const std::vector<int> &shape, StreamOrDevice s = {})#
    +
    +inline array zeros(const Shape &shape, StreamOrDevice s = {})#
    @@ -1280,14 +1280,14 @@
    -
    -array ones(const std::vector<int> &shape, Dtype dtype, StreamOrDevice s = {})#
    +
    +array ones(const Shape &shape, Dtype dtype, StreamOrDevice s = {})#

    Fill an array of the given shape with ones.

    -
    -inline array ones(const std::vector<int> &shape, StreamOrDevice s = {})#
    +
    +inline array ones(const Shape &shape, StreamOrDevice s = {})#
    @@ -1353,8 +1353,8 @@
    -
    -array reshape(const array &a, std::vector<int> shape, StreamOrDevice s = {})#
    +
    +array reshape(const array &a, Shape shape, StreamOrDevice s = {})#

    Reshape an array to the given shape.

    @@ -1407,26 +1407,26 @@
    -
    -array slice(const array &a, std::vector<int> start, std::vector<int> stop, std::vector<int> strides, StreamOrDevice s = {})#
    +
    +array slice(const array &a, Shape start, Shape stop, Shape strides, StreamOrDevice s = {})#

    Slice an array.

    -
    -array slice(const array &a, std::vector<int> start, std::vector<int> stop, StreamOrDevice s = {})#
    +
    +array slice(const array &a, Shape start, Shape stop, StreamOrDevice s = {})#

    Slice an array with a stride of 1 in each dimension.

    -
    -array slice_update(const array &src, const array &update, std::vector<int> start, std::vector<int> stop, std::vector<int> strides, StreamOrDevice s = {})#
    +
    +array slice_update(const array &src, const array &update, Shape start, Shape stop, Shape strides, StreamOrDevice s = {})#

    Update a slice from the source array.

    -
    -array slice_update(const array &src, const array &update, std::vector<int> start, std::vector<int> stop, StreamOrDevice s = {})#
    +
    +array slice_update(const array &src, const array &update, Shape start, Shape stop, StreamOrDevice s = {})#

    Update a slice from the source array with stride 1 in each dimension.

    @@ -1553,8 +1553,8 @@
    -
    -array broadcast_to(const array &a, const std::vector<int> &shape, StreamOrDevice s = {})#
    +
    +array broadcast_to(const array &a, const Shape &shape, StreamOrDevice s = {})#

    Broadcast an array to a given shape.

    @@ -2457,14 +2457,14 @@
    -
    -array gather(const array &a, const std::vector<array> &indices, const std::vector<int> &axes, const std::vector<int> &slice_sizes, StreamOrDevice s = {})#
    +
    +array gather(const array &a, const std::vector<array> &indices, const std::vector<int> &axes, const Shape &slice_sizes, StreamOrDevice s = {})#

    Gather array entries given indices and slices.

    -
    -inline array gather(const array &a, const array &indices, int axis, const std::vector<int> &slice_sizes, StreamOrDevice s = {})#
    +
    +inline array gather(const array &a, const array &indices, int axis, const Shape &slice_sizes, StreamOrDevice s = {})#
    @@ -2934,8 +2934,8 @@
    -
    -array roll(const array &a, const std::vector<int> &shift, StreamOrDevice s = {})#
    +
    +array roll(const array &a, const Shape &shift, StreamOrDevice s = {})#
    @@ -2944,18 +2944,18 @@
    -
    -array roll(const array &a, int shift, const std::vector<int> &axes, StreamOrDevice s = {})#
    +
    +array roll(const array &a, int shift, const Shape &axes, StreamOrDevice s = {})#
    -
    -array roll(const array &a, const std::vector<int> &shift, int axis, StreamOrDevice s = {})#
    +
    +array roll(const array &a, const Shape &shift, int axis, StreamOrDevice s = {})#
    -
    -array roll(const array &a, const std::vector<int> &shift, const std::vector<int> &axes, StreamOrDevice s = {})#
    +
    +array roll(const array &a, const Shape &shift, const std::vector<int> &axes, StreamOrDevice s = {})#
    @@ -3032,17 +3032,17 @@
  • arange()
  • linspace()
  • astype()
  • -
  • as_strided()
  • +
  • as_strided()
  • copy()
  • -
  • full()
  • -
  • full()
  • -
  • full()
  • -
  • full()
  • -
  • zeros()
  • -
  • zeros()
  • +
  • full()
  • +
  • full()
  • +
  • full()
  • +
  • full()
  • +
  • zeros()
  • +
  • zeros()
  • zeros_like()
  • -
  • ones()
  • -
  • ones()
  • +
  • ones()
  • +
  • ones()
  • ones_like()
  • eye()
  • eye()
  • @@ -3055,7 +3055,7 @@
  • tri()
  • tril()
  • triu()
  • -
  • reshape()
  • +
  • reshape()
  • flatten()
  • flatten()
  • hadamard_transform()
  • @@ -3064,10 +3064,10 @@
  • squeeze()
  • expand_dims()
  • expand_dims()
  • -
  • slice()
  • -
  • slice()
  • -
  • slice_update()
  • -
  • slice_update()
  • +
  • slice()
  • +
  • slice()
  • +
  • slice_update()
  • +
  • slice_update()
  • split()
  • split()
  • split()
  • @@ -3090,7 +3090,7 @@
  • pad()
  • pad()
  • transpose()
  • -
  • broadcast_to()
  • +
  • broadcast_to()
  • broadcast_arrays()
  • equal()
  • operator==()
  • @@ -3249,8 +3249,8 @@
  • round()
  • round()
  • matmul()
  • -
  • gather()
  • -
  • gather()
  • +
  • gather()
  • +
  • gather()
  • take()
  • take()
  • take()
  • @@ -3322,11 +3322,11 @@
  • operator>>()
  • view()
  • roll()
  • -
  • roll()
  • +
  • roll()
  • roll()
  • -
  • roll()
  • -
  • roll()
  • -
  • roll()
  • +
  • roll()
  • +
  • roll()
  • +
  • roll()
  • real()
  • imag()
  • contiguous()
  • diff --git a/docs/build/html/dev/custom_metal_kernels.html b/docs/build/html/dev/custom_metal_kernels.html index c342bdf55..a3a1e0176 100644 --- a/docs/build/html/dev/custom_metal_kernels.html +++ b/docs/build/html/dev/custom_metal_kernels.html @@ -8,7 +8,7 @@ - Custom Metal Kernels — MLX 0.21.0 documentation + Custom Metal Kernels — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -50,7 +50,7 @@ - + @@ -129,8 +129,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/dev/extensions.html b/docs/build/html/dev/extensions.html index 0268bea8b..a92121b03 100644 --- a/docs/build/html/dev/extensions.html +++ b/docs/build/html/dev/extensions.html @@ -8,7 +8,7 @@ - Custom Extensions in MLX — MLX 0.21.0 documentation + Custom Extensions in MLX — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/dev/metal_debugger.html b/docs/build/html/dev/metal_debugger.html index d7ef311ba..88df65785 100644 --- a/docs/build/html/dev/metal_debugger.html +++ b/docs/build/html/dev/metal_debugger.html @@ -8,7 +8,7 @@ - Metal Debugger — MLX 0.21.0 documentation + Metal Debugger — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/distributed_2ops_8h_source.html b/docs/build/html/distributed_2ops_8h_source.html index 01a411564..b046ea2a5 100644 --- a/docs/build/html/distributed_2ops_8h_source.html +++ b/docs/build/html/distributed_2ops_8h_source.html @@ -132,7 +132,7 @@ $(function(){ initResizable(false); });
    39 StreamOrDevice s = {});
    40
    41} // namespace mlx::core::distributed
    -
    Definition array.h:20
    +
    Definition array.h:23
    Definition distributed.h:9
    array recv(std::vector< int > shape, Dtype dtype, int src, std::optional< Group > group=std::nullopt, StreamOrDevice s={})
    diff --git a/docs/build/html/distributed__impl_8h_source.html b/docs/build/html/distributed__impl_8h_source.html index e6eda74ec..c87a03740 100644 --- a/docs/build/html/distributed__impl_8h_source.html +++ b/docs/build/html/distributed__impl_8h_source.html @@ -115,7 +115,7 @@ $(function(){ initResizable(false); });
    23
    24} // namespace mlx::core::distributed::detail
    -
    Definition array.h:20
    +
    Definition array.h:23
    Definition distributed_impl.h:7
    void recv(Group group, array &out, int src)
    Recv an array from the src rank.
    diff --git a/docs/build/html/doxygen_crawl.html b/docs/build/html/doxygen_crawl.html index a4d1775a8..17b12a878 100644 --- a/docs/build/html/doxygen_crawl.html +++ b/docs/build/html/doxygen_crawl.html @@ -323,6 +323,10 @@ + + + + @@ -1416,8 +1420,10 @@ - + + + @@ -2122,14 +2128,14 @@ - + + - @@ -2144,6 +2150,7 @@ + @@ -2154,23 +2161,23 @@ + - + - + - @@ -2179,10 +2186,10 @@ + - @@ -2193,34 +2200,34 @@ + - - + - + - + @@ -2232,8 +2239,8 @@ - + @@ -2245,21 +2252,21 @@ + - - + - + @@ -2271,6 +2278,7 @@ + @@ -2279,7 +2287,6 @@ - @@ -2291,17 +2298,17 @@ + - - + @@ -2316,10 +2323,10 @@ + - @@ -2335,16 +2342,16 @@ + - + - @@ -2353,6 +2360,7 @@ + @@ -2365,29 +2373,29 @@ + - - + - + @@ -2407,7 +2415,7 @@ - + @@ -2419,27 +2427,27 @@ + - - + - + @@ -2450,11 +2458,11 @@ + - + - @@ -2481,15 +2489,15 @@ - + - + @@ -2502,12 +2510,12 @@ + - @@ -2522,6 +2530,7 @@ + @@ -2552,15 +2561,15 @@ - + + - @@ -2569,9 +2578,9 @@ - + @@ -2582,9 +2591,9 @@ - + @@ -2594,18 +2603,18 @@ - + - + @@ -2622,36 +2631,36 @@ - + + - + - - + @@ -2663,21 +2672,21 @@ - + - + @@ -2686,6 +2695,7 @@ + @@ -2693,8 +2703,8 @@ - + @@ -2705,22 +2715,22 @@ - + - + - + @@ -2730,17 +2740,17 @@ - + + - @@ -2756,6 +2766,7 @@ + @@ -2763,10 +2774,8 @@ - - @@ -2774,6 +2783,7 @@ + @@ -2784,9 +2794,9 @@ - + @@ -2800,6 +2810,7 @@ + @@ -2810,8 +2821,8 @@ - + @@ -2819,7 +2830,7 @@ - + @@ -2831,28 +2842,28 @@ - + - + - + @@ -2860,9 +2871,9 @@ + - @@ -2903,8 +2914,8 @@ + - @@ -2915,16 +2926,16 @@ - + + - @@ -2935,22 +2946,22 @@ - + - + @@ -2971,6 +2982,7 @@ + @@ -2979,14 +2991,13 @@ - - + @@ -3008,8 +3019,9 @@ - + + @@ -3018,17 +3030,15 @@ - - + - @@ -3036,23 +3046,24 @@ + - + - + @@ -3066,6 +3077,7 @@ + @@ -3115,37 +3127,32 @@ - - - + - + - - + - + - - - + @@ -3159,11 +3166,11 @@ + - @@ -3171,11 +3178,15 @@ - + + + + + - + @@ -3183,6 +3194,7 @@ + @@ -3224,6 +3236,8 @@ + + @@ -3242,6 +3256,7 @@ + @@ -3251,6 +3266,7 @@ + @@ -3262,12 +3278,20 @@ + + + + + + + + @@ -3516,9 +3540,11 @@ - + + + @@ -3527,8 +3553,8 @@ - + @@ -3993,12 +4019,12 @@ - + @@ -4021,6 +4047,7 @@ + @@ -4036,6 +4063,7 @@ + @@ -4044,11 +4072,11 @@ + - @@ -4058,12 +4086,12 @@ - + @@ -4075,7 +4103,6 @@ - @@ -4083,6 +4110,7 @@ + @@ -4091,30 +4119,28 @@ - + - + + - - - @@ -4139,21 +4165,20 @@ + - - + - @@ -4179,11 +4204,11 @@ - + @@ -4195,14 +4220,13 @@ - + - @@ -4211,13 +4235,11 @@ - - @@ -4236,29 +4258,29 @@ - + + - - - + + @@ -4269,11 +4291,13 @@ + + @@ -4288,6 +4312,7 @@ + @@ -4298,6 +4323,7 @@ + @@ -4471,10 +4497,10 @@ + - @@ -4485,21 +4511,21 @@ + - - + + - @@ -4512,10 +4538,10 @@ - + @@ -4816,7 +4842,6 @@ - @@ -4867,7 +4892,6 @@ - @@ -4929,7 +4953,6 @@ - @@ -4967,7 +4990,6 @@ - @@ -4986,6 +5008,8 @@ + + @@ -5014,7 +5038,6 @@ - @@ -5093,6 +5116,7 @@ + @@ -5123,6 +5147,7 @@ + @@ -5148,6 +5173,7 @@ + @@ -5244,8 +5270,10 @@ + + @@ -5329,6 +5357,7 @@ + @@ -5355,6 +5384,7 @@ + @@ -5387,9 +5417,9 @@ - + @@ -5632,12 +5662,12 @@ - + @@ -5660,6 +5690,7 @@ + @@ -5675,6 +5706,7 @@ + @@ -5683,11 +5715,11 @@ + - @@ -5697,12 +5729,12 @@ - + @@ -5714,7 +5746,6 @@ - @@ -5722,6 +5753,7 @@ + @@ -5730,30 +5762,28 @@ - + - + + - - - @@ -5778,21 +5808,20 @@ + - - + - @@ -5818,11 +5847,11 @@ - + @@ -5834,14 +5863,13 @@ - + - @@ -5850,13 +5878,11 @@ - - @@ -5875,29 +5901,29 @@ - + + - - - + + @@ -5908,11 +5934,13 @@ + + @@ -5927,6 +5955,7 @@ + @@ -5937,6 +5966,7 @@ + @@ -6259,6 +6289,10 @@ + + + + @@ -6813,11 +6847,11 @@ + + - - @@ -7772,7 +7806,6 @@ - @@ -7780,14 +7813,14 @@ - - + + @@ -7795,6 +7828,7 @@ + diff --git a/docs/build/html/einsum_8h_source.html b/docs/build/html/einsum_8h_source.html index 38d5b36b9..360501d7f 100644 --- a/docs/build/html/einsum_8h_source.html +++ b/docs/build/html/einsum_8h_source.html @@ -114,7 +114,7 @@ $(function(){ initResizable(false); });
    21
    22} // namespace mlx::core
    -
    Definition array.h:20
    +
    Definition array.h:23
    Definition allocator.h:7
    array einsum(const std::string &subscripts, const std::vector< array > &operands, StreamOrDevice s={})
    std::variant< std::monostate, Stream, Device > StreamOrDevice
    Definition utils.h:14
    diff --git a/docs/build/html/examples/linear_regression.html b/docs/build/html/examples/linear_regression.html index 0cb7ddf61..c4e3220f1 100644 --- a/docs/build/html/examples/linear_regression.html +++ b/docs/build/html/examples/linear_regression.html @@ -8,7 +8,7 @@ - Linear Regression — MLX 0.21.0 documentation + Linear Regression — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/examples/llama-inference.html b/docs/build/html/examples/llama-inference.html index 286a271a1..4fa1631f2 100644 --- a/docs/build/html/examples/llama-inference.html +++ b/docs/build/html/examples/llama-inference.html @@ -8,7 +8,7 @@ - LLM inference — MLX 0.21.0 documentation + LLM inference — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/examples/mlp.html b/docs/build/html/examples/mlp.html index 254db7d81..96917243b 100644 --- a/docs/build/html/examples/mlp.html +++ b/docs/build/html/examples/mlp.html @@ -8,7 +8,7 @@ - Multi-Layer Perceptron — MLX 0.21.0 documentation + Multi-Layer Perceptron — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/fast_8h_source.html b/docs/build/html/fast_8h_source.html index 3a1a368a8..4d17d4f77 100644 --- a/docs/build/html/fast_8h_source.html +++ b/docs/build/html/fast_8h_source.html @@ -173,7 +173,7 @@ $(function(){ initResizable(false); });
    80
    81} // namespace mlx::core::fast
    -
    Definition array.h:20
    +
    Definition array.h:23
    Definition fast.h:9
    array layer_norm(const array &x, const std::optional< array > &weight, const std::optional< array > &bias, float eps, StreamOrDevice s={})
    std::function< std::vector< array >(const std::vector< array > &, const std::vector< std::vector< int > > &, const std::vector< Dtype > &, std::tuple< int, int, int >, std::tuple< int, int, int >, std::vector< std::pair< std::string, TemplateArg > >, std::optional< float >, bool, StreamOrDevice)> MetalKernelFunction
    Definition fast.h:70
    diff --git a/docs/build/html/fast__primitives_8h_source.html b/docs/build/html/fast__primitives_8h_source.html index 68274176a..5ae19cdff 100644 --- a/docs/build/html/fast__primitives_8h_source.html +++ b/docs/build/html/fast__primitives_8h_source.html @@ -140,7 +140,7 @@ $(function(){ initResizable(false); });
    42 std::function<std::vector<array>(std::vector<array>)> fallback,
    43 float eps)
    -
    44 : Custom(stream, fallback), eps_(eps) {}
    +
    44 : Custom(stream, fallback), eps_(eps) {}
    45
    @@ -160,345 +160,353 @@ $(function(){ initResizable(false); });
    58
    60 bool is_equivalent(const Primitive& other) const override;
    -
    61
    -
    62 private:
    -
    63 std::function<std::vector<array>(std::vector<array>)> fallback_;
    -
    64 float eps_;
    -
    65};
    + +
    62
    +
    63 private:
    +
    64 std::function<std::vector<array>(std::vector<array>)> fallback_;
    +
    65 float eps_;
    +
    66};
    -
    66
    -
    -
    67class RMSNormVJP : public Custom {
    -
    68 public:
    -
    - - -
    71 std::function<std::vector<array>(std::vector<array>)> fallback,
    -
    72 float eps)
    -
    73 : Custom(stream, fallback), eps_(eps) {}
    +
    67
    +
    +
    68class RMSNormVJP : public Custom {
    +
    69 public:
    +
    + + +
    72 std::function<std::vector<array>(std::vector<array>)> fallback,
    +
    73 float eps)
    +
    74 : Custom(stream, fallback), eps_(eps) {}
    -
    74
    -
    -
    75 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    76 override {
    -
    77 throw std::runtime_error("NYI");
    -
    78 }
    +
    75
    +
    +
    76 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    77 override {
    +
    78 throw std::runtime_error("NYI");
    +
    79 }
    -
    79 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    80 override;
    -
    81
    - -
    83 bool is_equivalent(const Primitive& other) const override;
    -
    84
    -
    85 private:
    -
    86 std::function<std::vector<array>(std::vector<array>)> fallback_;
    -
    87 float eps_;
    -
    88};
    +
    80 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    81 override;
    +
    82
    + +
    84 bool is_equivalent(const Primitive& other) const override;
    +
    85
    +
    86 private:
    +
    87 std::function<std::vector<array>(std::vector<array>)> fallback_;
    +
    88 float eps_;
    +
    89};
    -
    89
    -
    -
    90class LayerNorm : public Custom {
    -
    91 public:
    -
    - - -
    94 std::function<std::vector<array>(std::vector<array>)> fallback,
    -
    95 float eps)
    -
    96 : Custom(stream, fallback), eps_(eps) {}
    +
    90
    +
    +
    91class LayerNorm : public Custom {
    +
    92 public:
    +
    + +
    94 Stream stream,
    +
    95 std::function<std::vector<array>(std::vector<array>)> fallback,
    +
    96 float eps)
    +
    97 : Custom(stream, fallback), eps_(eps) {}
    -
    97
    -
    -
    98 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    99 override {
    -
    100 throw std::runtime_error("NYI");
    -
    101 }
    +
    98
    +
    +
    99 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    100 override {
    +
    101 throw std::runtime_error("NYI");
    +
    102 }
    -
    102 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    103 override;
    -
    104
    -
    105 std::vector<array> vjp(
    -
    106 const std::vector<array>& primals,
    -
    107 const std::vector<array>& cotangents,
    -
    108 const std::vector<int>& argnums,
    -
    109 const std::vector<array>& outputs) override;
    -
    110
    - -
    112 bool is_equivalent(const Primitive& other) const override;
    -
    113
    -
    114 private:
    -
    115 std::function<std::vector<array>(std::vector<array>)> fallback_;
    -
    116 float eps_;
    -
    117};
    +
    103 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    104 override;
    +
    105
    +
    106 std::vector<array> vjp(
    +
    107 const std::vector<array>& primals,
    +
    108 const std::vector<array>& cotangents,
    +
    109 const std::vector<int>& argnums,
    +
    110 const std::vector<array>& outputs) override;
    +
    111
    + +
    113 bool is_equivalent(const Primitive& other) const override;
    + +
    115
    +
    116 private:
    +
    117 std::function<std::vector<array>(std::vector<array>)> fallback_;
    +
    118 float eps_;
    +
    119};
    -
    118
    -
    -
    119class LayerNormVJP : public Custom {
    -
    120 public:
    -
    - - -
    123 std::function<std::vector<array>(std::vector<array>)> fallback,
    -
    124 float eps)
    -
    125 : Custom(stream, fallback), eps_(eps) {}
    +
    120
    +
    +
    121class LayerNormVJP : public Custom {
    +
    122 public:
    +
    + +
    124 Stream stream,
    +
    125 std::function<std::vector<array>(std::vector<array>)> fallback,
    +
    126 float eps)
    +
    127 : Custom(stream, fallback), eps_(eps) {}
    -
    126
    -
    -
    127 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    128 override {
    -
    129 throw std::runtime_error("NYI");
    -
    130 }
    +
    128
    +
    +
    129 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    130 override {
    +
    131 throw std::runtime_error("NYI");
    +
    132 }
    -
    131 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    132 override;
    -
    133
    - -
    135 bool is_equivalent(const Primitive& other) const override;
    -
    136
    -
    137 private:
    -
    138 std::function<std::vector<array>(std::vector<array>)> fallback_;
    -
    139 float eps_;
    -
    140};
    +
    133 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    134 override;
    +
    135
    + +
    137 bool is_equivalent(const Primitive& other) const override;
    +
    138
    +
    139 private:
    +
    140 std::function<std::vector<array>(std::vector<array>)> fallback_;
    +
    141 float eps_;
    +
    142};
    -
    141
    -
    -
    142class RoPE : public Custom {
    -
    143 public:
    -
    - - -
    146 std::function<std::vector<array>(std::vector<array>)> fallback,
    -
    147 int dims,
    -
    148 bool traditional,
    -
    149 float base,
    -
    150 float scale,
    -
    151 int offset,
    -
    152 bool forward)
    -
    153 : Custom(stream, fallback),
    -
    154 dims_(dims),
    -
    155 traditional_(traditional),
    -
    156 base_(base),
    -
    157 scale_(scale),
    -
    158 offset_(offset),
    -
    159 forward_(forward) {}
    +
    143
    +
    +
    144class RoPE : public Custom {
    +
    145 public:
    +
    + +
    147 Stream stream,
    +
    148 std::function<std::vector<array>(std::vector<array>)> fallback,
    +
    149 int dims,
    +
    150 bool traditional,
    +
    151 float base,
    +
    152 float scale,
    +
    153 int offset,
    +
    154 bool forward)
    +
    155 : Custom(stream, fallback),
    +
    156 dims_(dims),
    +
    157 traditional_(traditional),
    +
    158 base_(base),
    +
    159 scale_(scale),
    +
    160 offset_(offset),
    +
    161 forward_(forward) {}
    -
    160
    -
    -
    161 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    162 override {
    -
    163 throw std::runtime_error("NYI");
    -
    164 }
    +
    162
    +
    +
    163 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    164 override {
    +
    165 throw std::runtime_error("NYI");
    +
    166 }
    -
    165 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    166 override;
    -
    167
    -
    168 std::vector<array> vjp(
    -
    169 const std::vector<array>& primals,
    -
    170 const std::vector<array>& cotangents,
    -
    171 const std::vector<int>& argnums,
    -
    172 const std::vector<array>& outputs) override;
    -
    173
    - -
    175 bool is_equivalent(const Primitive& other) const override;
    -
    176
    -
    177 private:
    -
    178 std::function<std::vector<array>(std::vector<array>)> fallback_;
    -
    179 int dims_;
    -
    180 bool traditional_;
    -
    181 float base_;
    -
    182 float scale_;
    -
    183 int offset_;
    -
    184 bool forward_;
    -
    185};
    +
    167 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    168 override;
    +
    169
    +
    170 std::vector<array> vjp(
    +
    171 const std::vector<array>& primals,
    +
    172 const std::vector<array>& cotangents,
    +
    173 const std::vector<int>& argnums,
    +
    174 const std::vector<array>& outputs) override;
    +
    175
    + +
    177 bool is_equivalent(const Primitive& other) const override;
    + +
    179
    +
    180 private:
    +
    181 std::function<std::vector<array>(std::vector<array>)> fallback_;
    +
    182 int dims_;
    +
    183 bool traditional_;
    +
    184 float base_;
    +
    185 float scale_;
    +
    186 int offset_;
    +
    187 bool forward_;
    +
    188};
    -
    186
    -
    - -
    188 public:
    -
    - - -
    191 std::function<std::vector<array>(std::vector<array>)> fallback,
    -
    192 const float scale,
    -
    193 const bool needs_mask)
    -
    194 : Custom(stream, fallback), scale_(scale), needs_mask_(needs_mask) {}
    +
    189
    +
    + +
    191 public:
    +
    + +
    193 Stream stream,
    +
    194 std::function<std::vector<array>(std::vector<array>)> fallback,
    +
    195 const float scale,
    +
    196 const bool needs_mask)
    +
    197 : Custom(stream, fallback), scale_(scale), needs_mask_(needs_mask) {}
    -
    195
    -
    -
    196 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    197 override {
    -
    198 throw std::runtime_error("NYI");
    -
    199 }
    +
    198
    +
    +
    199 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    200 override {
    +
    201 throw std::runtime_error("NYI");
    +
    202 }
    -
    200
    -
    -
    201 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    202 override {
    -
    203 eval_gpu(inputs, outputs[0]);
    -
    204 }
    +
    203
    +
    +
    204 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    205 override {
    +
    206 eval_gpu(inputs, outputs[0]);
    +
    207 }
    -
    205
    -
    206 void eval_gpu(const std::vector<array>& inputs, array& out);
    -
    207 bool is_equivalent(const Primitive& other) const override;
    208
    - -
    210
    -
    211 private:
    -
    212 std::function<std::vector<array>(std::vector<array>)> fallback_;
    -
    213 float scale_;
    -
    214 bool needs_mask_;
    -
    215};
    +
    209 void eval_gpu(const std::vector<array>& inputs, array& out);
    +
    210 bool is_equivalent(const Primitive& other) const override;
    +
    211
    + + +
    214
    +
    215 private:
    +
    216 std::function<std::vector<array>(std::vector<array>)> fallback_;
    +
    217 float scale_;
    +
    218 bool needs_mask_;
    +
    219};
    -
    216
    -
    -
    217class AffineQuantize : public Custom {
    -
    218 public:
    -
    - - -
    221 std::function<std::vector<array>(std::vector<array>)> fallback,
    -
    222 int group_size,
    -
    223 int bits,
    -
    224 bool dequantize)
    -
    225 : Custom(stream, fallback),
    -
    226 group_size_(group_size),
    -
    227 bits_(bits),
    -
    228 dequantize_(dequantize) {}
    -
    -
    229
    -
    230 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    231 override;
    -
    232
    -
    233 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    234 override;
    -
    235
    - -
    237
    -
    238 private:
    -
    239 std::function<std::vector<array>(std::vector<array>)> fallback_;
    -
    240 int group_size_;
    -
    241 int bits_;
    -
    242 bool dequantize_;
    -
    243};
    +
    220
    +
    +
    221class AffineQuantize : public Custom {
    +
    222 public:
    +
    + +
    224 Stream stream,
    +
    225 std::function<std::vector<array>(std::vector<array>)> fallback,
    +
    226 int group_size,
    +
    227 int bits,
    +
    228 bool dequantize)
    +
    229 : Custom(stream, fallback),
    +
    230 group_size_(group_size),
    +
    231 bits_(bits),
    +
    232 dequantize_(dequantize) {}
    +
    233
    +
    234 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    235 override;
    +
    236
    +
    237 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    238 override;
    +
    239
    + +
    241
    +
    242 bool is_equivalent(const Primitive& other) const override;
    +
    243 std::vector<Shape> output_shapes(const std::vector<array>& inputs) override;
    244
    -
    - -
    246 bool shape = false;
    -
    247 bool strides = false;
    -
    248 bool ndim = false;
    -
    249};
    +
    245 private:
    +
    246 std::function<std::vector<array>(std::vector<array>)> fallback_;
    +
    247 int group_size_;
    +
    248 int bits_;
    +
    249 bool dequantize_;
    +
    250};
    -
    250
    -
    -
    251class CustomKernel : public Primitive {
    -
    252 public:
    -
    - - -
    255 std::string name,
    -
    256 std::string source,
    -
    257 std::tuple<int, int, int> grid,
    -
    258 std::tuple<int, int, int> threadgroup,
    -
    259 std::vector<CustomKernelShapeInfo> shape_infos,
    -
    260 bool ensure_row_contiguous,
    -
    261 std::optional<float> init_value)
    -
    262 : Primitive(stream),
    -
    263 source_(std::move(source)),
    -
    264 name_(std::move(name)),
    -
    265 grid_(grid),
    -
    266 threadgroup_(threadgroup),
    -
    267 shape_infos_(std::move(shape_infos)),
    -
    268 ensure_row_contiguous_(ensure_row_contiguous),
    -
    269 init_value_(init_value) {}
    +
    251
    +
    + +
    253 bool shape = false;
    +
    254 bool strides = false;
    +
    255 bool ndim = false;
    +
    256};
    -
    270
    -
    -
    271 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    272 override {
    -
    273 throw std::runtime_error("Custom Metal kernels only run on GPU.");
    -
    274 }
    +
    257
    +
    +
    258class CustomKernel : public Primitive {
    +
    259 public:
    +
    + +
    261 Stream stream,
    +
    262 std::string name,
    +
    263 std::string source,
    +
    264 std::tuple<int, int, int> grid,
    +
    265 std::tuple<int, int, int> threadgroup,
    +
    266 std::vector<CustomKernelShapeInfo> shape_infos,
    +
    267 bool ensure_row_contiguous,
    +
    268 std::optional<float> init_value)
    +
    269 : Primitive(stream),
    +
    270 source_(std::move(source)),
    +
    271 name_(std::move(name)),
    +
    272 grid_(grid),
    +
    273 threadgroup_(threadgroup),
    +
    274 shape_infos_(std::move(shape_infos)),
    +
    275 ensure_row_contiguous_(ensure_row_contiguous),
    +
    276 init_value_(init_value) {}
    -
    275
    -
    276 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    277 override;
    -
    278
    - -
    280
    -
    281 private:
    -
    282 std::string source_;
    -
    283 std::string name_;
    -
    284 std::tuple<int, int, int> grid_;
    -
    285 std::tuple<int, int, int> threadgroup_;
    -
    286 std::vector<CustomKernelShapeInfo> shape_infos_;
    -
    287 bool ensure_row_contiguous_;
    -
    288 std::optional<float> init_value_;
    -
    289};
    +
    277
    +
    +
    278 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    279 override {
    +
    280 throw std::runtime_error("Custom Metal kernels only run on GPU.");
    +
    281 }
    -
    290
    -
    291} // namespace mlx::core::fast
    +
    282
    +
    283 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    284 override;
    +
    285
    + +
    287
    +
    288 private:
    +
    289 std::string source_;
    +
    290 std::string name_;
    +
    291 std::tuple<int, int, int> grid_;
    +
    292 std::tuple<int, int, int> threadgroup_;
    +
    293 std::vector<CustomKernelShapeInfo> shape_infos_;
    +
    294 bool ensure_row_contiguous_;
    +
    295 std::optional<float> init_value_;
    +
    296};
    +
    +
    297
    +
    298} // namespace mlx::core::fast
    Definition primitives.h:48
    const Stream & stream()
    The stream the primitive will run on.
    Definition primitives.h:58
    virtual bool is_equivalent(const Primitive &other) const
    Equivalence check defaults to false unless overridden by the primitive.
    Definition primitives.h:107
    -
    Definition array.h:20
    -
    Definition fast_primitives.h:217
    +
    Definition array.h:23
    +
    Definition fast_primitives.h:221
    void eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the out...
    +
    std::vector< Shape > output_shapes(const std::vector< array > &inputs) override
    Get the output shapes of the primitive.
    +
    bool is_equivalent(const Primitive &other) const override
    Equivalence check defaults to false unless overridden by the primitive.
    void eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    -
    AffineQuantize(Stream stream, std::function< std::vector< array >(std::vector< array >)> fallback, int group_size, int bits, bool dequantize)
    Definition fast_primitives.h:219
    +
    AffineQuantize(Stream stream, std::function< std::vector< array >(std::vector< array >)> fallback, int group_size, int bits, bool dequantize)
    Definition fast_primitives.h:223
    Definition fast_primitives.h:12
    Custom(Stream stream, std::function< std::vector< array >(std::vector< array >)> fallback)
    Definition fast_primitives.h:14
    virtual std::vector< array > vjp(const std::vector< array > &primals, const std::vector< array > &cotangents, const std::vector< int > &argnums, const std::vector< array > &outputs) override
    The vector-Jacobian product.
    virtual std::pair< std::vector< array >, std::vector< int > > vmap(const std::vector< array > &inputs, const std::vector< int > &axes) override
    The primitive must know how to vectorize itself across the given axes.
    virtual std::vector< array > jvp(const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums) override
    The Jacobian-vector product.
    -
    Definition fast_primitives.h:251
    +
    Definition fast_primitives.h:258
    void eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    -
    void eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the out...
    Definition fast_primitives.h:271
    -
    CustomKernel(Stream stream, std::string name, std::string source, std::tuple< int, int, int > grid, std::tuple< int, int, int > threadgroup, std::vector< CustomKernelShapeInfo > shape_infos, bool ensure_row_contiguous, std::optional< float > init_value)
    Definition fast_primitives.h:253
    -
    Definition fast_primitives.h:90
    +
    void eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the out...
    Definition fast_primitives.h:278
    +
    CustomKernel(Stream stream, std::string name, std::string source, std::tuple< int, int, int > grid, std::tuple< int, int, int > threadgroup, std::vector< CustomKernelShapeInfo > shape_infos, bool ensure_row_contiguous, std::optional< float > init_value)
    Definition fast_primitives.h:260
    +
    Definition fast_primitives.h:91
    DEFINE_PRINT(LayerNorm) bool is_equivalent(const Primitive &other) const override
    -
    LayerNorm(Stream stream, std::function< std::vector< array >(std::vector< array >)> fallback, float eps)
    Definition fast_primitives.h:92
    -
    void eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the out...
    Definition fast_primitives.h:98
    +
    LayerNorm(Stream stream, std::function< std::vector< array >(std::vector< array >)> fallback, float eps)
    Definition fast_primitives.h:93
    +
    void eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the out...
    Definition fast_primitives.h:99
    void eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    std::vector< array > vjp(const std::vector< array > &primals, const std::vector< array > &cotangents, const std::vector< int > &argnums, const std::vector< array > &outputs) override
    The vector-Jacobian product.
    -
    Definition fast_primitives.h:119
    -
    void eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the out...
    Definition fast_primitives.h:127
    -
    LayerNormVJP(Stream stream, std::function< std::vector< array >(std::vector< array >)> fallback, float eps)
    Definition fast_primitives.h:121
    +
    Definition fast_primitives.h:121
    +
    void eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the out...
    Definition fast_primitives.h:129
    +
    LayerNormVJP(Stream stream, std::function< std::vector< array >(std::vector< array >)> fallback, float eps)
    Definition fast_primitives.h:123
    DEFINE_PRINT(LayerNormVJP) bool is_equivalent(const Primitive &other) const override
    void eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    Definition fast_primitives.h:38
    RMSNorm(Stream stream, std::function< std::vector< array >(std::vector< array >)> fallback, float eps)
    Definition fast_primitives.h:40
    void eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the out...
    Definition fast_primitives.h:46
    std::vector< array > vjp(const std::vector< array > &primals, const std::vector< array > &cotangents, const std::vector< int > &argnums, const std::vector< array > &outputs) override
    The vector-Jacobian product.
    +
    DEFINE_INPUT_OUTPUT_SHAPE() private float eps_
    Definition fast_primitives.h:61
    DEFINE_PRINT(RMSNorm) bool is_equivalent(const Primitive &other) const override
    void eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    -
    Definition fast_primitives.h:67
    +
    Definition fast_primitives.h:68
    void eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    DEFINE_PRINT(RMSNormVJP) bool is_equivalent(const Primitive &other) const override
    -
    RMSNormVJP(Stream stream, std::function< std::vector< array >(std::vector< array >)> fallback, float eps)
    Definition fast_primitives.h:69
    -
    void eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the out...
    Definition fast_primitives.h:75
    -
    Definition fast_primitives.h:142
    -
    RoPE(Stream stream, std::function< std::vector< array >(std::vector< array >)> fallback, int dims, bool traditional, float base, float scale, int offset, bool forward)
    Definition fast_primitives.h:144
    -
    void eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the out...
    Definition fast_primitives.h:161
    +
    RMSNormVJP(Stream stream, std::function< std::vector< array >(std::vector< array >)> fallback, float eps)
    Definition fast_primitives.h:70
    +
    void eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the out...
    Definition fast_primitives.h:76
    +
    Definition fast_primitives.h:144
    +
    RoPE(Stream stream, std::function< std::vector< array >(std::vector< array >)> fallback, int dims, bool traditional, float base, float scale, int offset, bool forward)
    Definition fast_primitives.h:146
    +
    void eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the out...
    Definition fast_primitives.h:163
    DEFINE_PRINT(RoPE) bool is_equivalent(const Primitive &other) const override
    void eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    std::vector< array > vjp(const std::vector< array > &primals, const std::vector< array > &cotangents, const std::vector< int > &argnums, const std::vector< array > &outputs) override
    The vector-Jacobian product.
    -
    Definition fast_primitives.h:187
    -
    void eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    Definition fast_primitives.h:201
    -
    ScaledDotProductAttention(Stream stream, std::function< std::vector< array >(std::vector< array >)> fallback, const float scale, const bool needs_mask)
    Definition fast_primitives.h:189
    +
    Definition fast_primitives.h:190
    +
    void eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    Definition fast_primitives.h:204
    +
    ScaledDotProductAttention(Stream stream, std::function< std::vector< array >(std::vector< array >)> fallback, const float scale, const bool needs_mask)
    Definition fast_primitives.h:192
    DEFINE_PRINT(ScaledDotProductAttention)
    void eval_gpu(const std::vector< array > &inputs, array &out)
    -
    void eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the out...
    Definition fast_primitives.h:196
    +
    void eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the out...
    Definition fast_primitives.h:199
    bool is_equivalent(const Primitive &other) const override
    Equivalence check defaults to false unless overridden by the primitive.
    array std(const array &a, bool keepdims, int ddof=0, StreamOrDevice s={})
    Computes the standard deviation of the elements of an array.
    -
    array dequantize(const array &w, const array &scales, const array &biases, int group_size=64, int bits=4, StreamOrDevice s={})
    Dequantize a matrix produced by quantize()
    Definition fast.h:9
    +
    #define DEFINE_INPUT_OUTPUT_SHAPE()
    Definition primitives.h:39
    +
    void dequantize(const device uint8_t *w, U scale, U bias, threadgroup U *w_local)
    Definition quantized.h:372
    Definition stream.h:9
    -
    Definition fast_primitives.h:245
    -
    bool strides
    Definition fast_primitives.h:247
    -
    bool shape
    Definition fast_primitives.h:246
    -
    bool ndim
    Definition fast_primitives.h:248
    +
    Definition fast_primitives.h:252
    -
    Definition array.h:20
    +
    Definition array.h:23
    Definition fft.h:11
    array fft2(const array &a, const std::vector< int > &n, const std::vector< int > &axes, StreamOrDevice s={})
    Compute the two-dimensional Fourier Transform.
    Definition fft.h:51
    diff --git a/docs/build/html/functions_a.html b/docs/build/html/functions_a.html index c6c451642..75b21cdba 100644 --- a/docs/build/html/functions_a.html +++ b/docs/build/html/functions_a.html @@ -133,7 +133,7 @@ $(function(){ initResizable(false); });
  • array() : mlx::core::array
  • ArrayIterator() : mlx::core::array::ArrayIterator
  • As_offset : mlx::steel::BlockMMA< T, U, BM, BN, BK, WM, WN, transpose_a, transpose_b, lda_tgp, ldb_tgp, AccumType, Epilogue >
  • -
  • AsStrided() : mlx::core::AsStrided
  • +
  • AsStrided() : mlx::core::AsStrided
  • AsType() : mlx::core::AsType
  • Atile : mlx::steel::BlockMMA< T, U, BM, BN, BK, WM, WN, transpose_a, transpose_b, lda_tgp, ldb_tgp, AccumType, Epilogue >
  • atomic_update() : None
  • diff --git a/docs/build/html/functions_b.html b/docs/build/html/functions_b.html index 6eeb537f2..f63da0fde 100644 --- a/docs/build/html/functions_b.html +++ b/docs/build/html/functions_b.html @@ -92,6 +92,7 @@ $(function(){ initResizable(false); });
  • B_str_k : mlx::steel::BlockMMA< T, U, BM, BN, BK, WM, WN, transpose_a, transpose_b, lda_tgp, ldb_tgp, AccumType, Epilogue >
  • B_str_n : mlx::steel::BlockMMA< T, U, BM, BN, BK, WM, WN, transpose_a, transpose_b, lda_tgp, ldb_tgp, AccumType, Epilogue >
  • Base : mlx::core::Log
  • +
  • base_ : mlx::core::fast::RoPE
  • base_wh : mlx::steel::Conv2DInputBlockLoaderGeneral< T, BM, BN, BK, tgp_size, tgp_padding >, mlx::steel::Conv2DWeightBlockLoaderGeneral< T, BM, BN, BK, tgp_size, tgp_padding >
  • base_ww : mlx::steel::Conv2DInputBlockLoaderGeneral< T, BM, BN, BK, tgp_size, tgp_padding >, mlx::steel::Conv2DWeightBlockLoaderGeneral< T, BM, BN, BK, tgp_size, tgp_padding >
  • batch_ndim : mlx::steel::GEMMParams
  • @@ -118,7 +119,7 @@ $(function(){ initResizable(false); });
  • BlockMaskedMM() : mlx::core::BlockMaskedMM
  • BlockMMA() : mlx::steel::BlockMMA< T, U, BM, BN, BK, WM, WN, transpose_a, transpose_b, lda_tgp, ldb_tgp, AccumType, Epilogue >
  • blockN : GEMVKernel< T, out_mask_t, op_mask_t, BM, BN, SM, SN, TM, TN >, GEMVTKernel< T, out_mask_t, op_mask_t, BM, BN, SM, SN, TM, TN >
  • -
  • Broadcast() : mlx::core::Broadcast
  • +
  • Broadcast() : mlx::core::Broadcast
  • BROWS : mlx::steel::Conv2DInputBlockLoaderGeneral< T, BM, BN, BK, tgp_size, tgp_padding >, mlx::steel::Conv2DInputBlockLoaderLargeFilter< T, BM, BN, BK, tgp_size, tgp_padding >, mlx::steel::Conv2DInputBlockLoaderSmallChannels< T, BM, BN, BK, tgp_size, n_channels, tgp_padding >, mlx::steel::Conv2DInputBlockLoaderSmallFilter< T, BM, BN, BK, tgp_size, tgp_padding >, mlx::steel::Conv2DWeightBlockLoader< T, BM, BN, BK, tgp_size, tgp_padding >, mlx::steel::Conv2DWeightBlockLoaderGeneral< T, BM, BN, BK, tgp_size, tgp_padding >, mlx::steel::Conv2DWeightBlockLoaderSmallChannels< T, BM, BN, BK, tgp_size, n_channels, tgp_padding >
  • Bs_offset : mlx::steel::BlockMMA< T, U, BM, BN, BK, WM, WN, transpose_a, transpose_b, lda_tgp, ldb_tgp, AccumType, Epilogue >
  • Btile : mlx::steel::BlockMMA< T, U, BM, BN, BK, WM, WN, transpose_a, transpose_b, lda_tgp, ldb_tgp, AccumType, Epilogue >
  • diff --git a/docs/build/html/functions_c.html b/docs/build/html/functions_c.html index 1396ec6b3..03f088af3 100644 --- a/docs/build/html/functions_c.html +++ b/docs/build/html/functions_c.html @@ -122,7 +122,7 @@ $(function(){ initResizable(false); });
  • Conv2DWeightBlockLoaderSmallChannels() : mlx::steel::Conv2DWeightBlockLoaderSmallChannels< T, BM, BN, BK, tgp_size, n_channels, tgp_padding >
  • Convolution() : mlx::core::Convolution
  • Copy() : mlx::core::Copy
  • -
  • copy_shared_buffer() : mlx::core::array
  • +
  • copy_shared_buffer() : mlx::core::array
  • Cos() : mlx::core::Cos
  • Cosh() : mlx::core::Cosh
  • cosine : pocketfft::detail::ExecDcst
  • diff --git a/docs/build/html/functions_d.html b/docs/build/html/functions_d.html index 674118ff1..940a291e9 100644 --- a/docs/build/html/functions_d.html +++ b/docs/build/html/functions_d.html @@ -88,8 +88,8 @@ $(function(){ initResizable(false); });

    - d -

    diff --git a/docs/build/html/functions_type.html b/docs/build/html/functions_type.html index 2f396bfa7..687904071 100644 --- a/docs/build/html/functions_type.html +++ b/docs/build/html/functions_type.html @@ -145,7 +145,7 @@ $(function(){ initResizable(false); });

    - t -

    diff --git a/docs/build/html/functions_vars_b.html b/docs/build/html/functions_vars_b.html index cdb0253b6..20c5371a0 100644 --- a/docs/build/html/functions_vars_b.html +++ b/docs/build/html/functions_vars_b.html @@ -91,6 +91,7 @@ $(function(){ initResizable(false); });
  • b : bool4_or_uint
  • B_str_k : mlx::steel::BlockMMA< T, U, BM, BN, BK, WM, WN, transpose_a, transpose_b, lda_tgp, ldb_tgp, AccumType, Epilogue >
  • B_str_n : mlx::steel::BlockMMA< T, U, BM, BN, BK, WM, WN, transpose_a, transpose_b, lda_tgp, ldb_tgp, AccumType, Epilogue >
  • +
  • base_ : mlx::core::fast::RoPE
  • base_wh : mlx::steel::Conv2DInputBlockLoaderGeneral< T, BM, BN, BK, tgp_size, tgp_padding >, mlx::steel::Conv2DWeightBlockLoaderGeneral< T, BM, BN, BK, tgp_size, tgp_padding >
  • base_ww : mlx::steel::Conv2DInputBlockLoaderGeneral< T, BM, BN, BK, tgp_size, tgp_padding >, mlx::steel::Conv2DWeightBlockLoaderGeneral< T, BM, BN, BK, tgp_size, tgp_padding >
  • batch_ndim : mlx::steel::GEMMParams
  • diff --git a/docs/build/html/functions_vars_d.html b/docs/build/html/functions_vars_d.html index 2dae62855..25f42f377 100644 --- a/docs/build/html/functions_vars_d.html +++ b/docs/build/html/functions_vars_d.html @@ -88,11 +88,12 @@ $(function(){ initResizable(false); });

    - d -

    diff --git a/docs/build/html/functions_vars_f.html b/docs/build/html/functions_vars_f.html index 308d87baf..90c62895e 100644 --- a/docs/build/html/functions_vars_f.html +++ b/docs/build/html/functions_vars_f.html @@ -99,6 +99,7 @@ $(function(){ initResizable(false); });
  • finite_min : Limits< U >, Limits< bfloat16_t >, Limits< float >, Limits< half >, Limits< int16_t >, Limits< int32_t >, Limits< int64_t >, Limits< int8_t >, Limits< uint16_t >, Limits< uint32_t >, Limits< uint64_t >, Limits< uint8_t >
  • flip : MLXConvParams< NDIM >
  • forward : pocketfft::detail::ExecC2C, pocketfft::detail::ExecR2R
  • +
  • forward_ : mlx::core::fast::RoPE
  • diff --git a/docs/build/html/functions_vars_n.html b/docs/build/html/functions_vars_n.html index 4900d217a..b387f5ea1 100644 --- a/docs/build/html/functions_vars_n.html +++ b/docs/build/html/functions_vars_n.html @@ -95,6 +95,7 @@ $(function(){ initResizable(false); });
  • n_rows : mlx::steel::BlockLoader< T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, alignment, n_reads, TCOLS, TROWS >, mlx::steel::BlockLoaderT< T, BROWS, BCOLS, kDstStrRow, kDstStrCol, reduction_dim, tgp_size, n_reads, TCOLS, TROWS >, mlx::steel::Conv2DInputBlockLoaderGeneral< T, BM, BN, BK, tgp_size, tgp_padding >, mlx::steel::Conv2DInputBlockLoaderLargeFilter< T, BM, BN, BK, tgp_size, tgp_padding >, mlx::steel::Conv2DInputBlockLoaderSmallChannels< T, BM, BN, BK, tgp_size, n_channels, tgp_padding >, mlx::steel::Conv2DInputBlockLoaderSmallFilter< T, BM, BN, BK, tgp_size, tgp_padding >, mlx::steel::Conv2DWeightBlockLoader< T, BM, BN, BK, tgp_size, tgp_padding >, mlx::steel::Conv2DWeightBlockLoaderGeneral< T, BM, BN, BK, tgp_size, tgp_padding >, mlx::steel::Conv2DWeightBlockLoaderSmallChannels< T, BM, BN, BK, tgp_size, n_channels, tgp_padding >
  • names : mlx::core::NodeNamer
  • ndim : Indices< IdxT, NIDX >, mlx::core::fast::CustomKernelShapeInfo
  • +
  • needs_mask_ : mlx::core::fast::ScaledDotProductAttention
  • needs_tgp_reduction : GEMVKernel< T, out_mask_t, op_mask_t, BM, BN, SM, SN, TM, TN >, GEMVTKernel< T, out_mask_t, op_mask_t, BM, BN, SM, SN, TM, TN >
  • NK : mlx::steel::AttnParams
  • NK_aligned : mlx::steel::AttnParams
  • diff --git a/docs/build/html/functions_vars_o.html b/docs/build/html/functions_vars_o.html index ef80a368d..9dc1f4f05 100644 --- a/docs/build/html/functions_vars_o.html +++ b/docs/build/html/functions_vars_o.html @@ -90,6 +90,7 @@ $(function(){ initResizable(false); });
  • O : MLXConvParams< NDIM >
  • O_strides : mlx::steel::AttnParams
  • offset : LoopedElemToLoc< DIM, OffsetT, General >, LoopedElemToLoc< 1, OffsetT, false >, LoopedElemToLoc< 1, OffsetT, true >
  • +
  • offset_ : mlx::core::fast::RoPE
  • op : mlx::core::DefaultContiguousReduce< T, U, Op >, mlx::core::DefaultStridedReduce< T, U, Op >
  • ortho : pocketfft::detail::ExecDcst
  • oS : MLXConvParams< NDIM >
  • diff --git a/docs/build/html/functions_vars_s.html b/docs/build/html/functions_vars_s.html index b6a7ad008..3ad85c05a 100644 --- a/docs/build/html/functions_vars_s.html +++ b/docs/build/html/functions_vars_s.html @@ -88,6 +88,7 @@ $(function(){ initResizable(false); });

    - s -

    diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html index 181d50e66..b2f864f96 100644 --- a/docs/build/html/genindex.html +++ b/docs/build/html/genindex.html @@ -7,7 +7,7 @@ - Index — MLX 0.21.0 documentation + Index — MLX 0.21.1 documentation @@ -38,7 +38,7 @@ - + @@ -48,7 +48,7 @@ - + @@ -129,8 +129,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    @@ -983,7 +983,7 @@
  • array_equal() (in module mlx.core)
  • -
  • as_strided (C++ function) +
  • as_strided (C++ function)
  • as_strided() (in module mlx.core)
  • @@ -1043,7 +1043,7 @@
  • broadcast_arrays (C++ function)
  • -
  • broadcast_to (C++ function) +
  • broadcast_to (C++ function)
  • broadcast_to() (in module mlx.core)
  • @@ -1359,7 +1359,7 @@
  • freeze() (Module method)
  • -
  • full (C++ function), [1], [2], [3] +
  • full (C++ function), [1], [2], [3]
  • full() (in module mlx.core)
  • @@ -1369,7 +1369,7 @@

    G

    Functions

    std::function< std::vector< array >(const std::vector< array > &)> mlx::core::detail::compile (const std::function< std::vector< array >(const std::vector< array > &)> &fun, std::uintptr_t fun_id, bool shapeless=false, std::vector< uint64_t > constants={})
     
    std::function< std::vector< array >(const std::vector< array > &)> mlx::core::detail::compile (std::function< std::vector< array >(const std::vector< array > &)> fun, std::uintptr_t fun_id, bool shapeless=false, std::vector< uint64_t > constants={})
     
    void mlx::core::detail::compile_erase (std::uintptr_t fun_id)
     
    void mlx::core::detail::compile_clear_cache ()
    - + @@ -3185,6 +3245,27 @@ template<typename... Arrays, typename = enable_for_arrays_t<Arrays...>

    Compile takes a function and returns a compiled function.

    + + + +

    ◆ compile() [3/3]

    + +
    +
    +
    std::function< std::vector< array >(const std::vector< array > &)> mlx::core::compile (const std::function< std::vector< array >(const std::vector< array > &)> & fun, std::function< std::vector< array >(const std::vector< array > &)> fun,
    + + + + + + + + + + +
    std::function< std::vector< array >(const std::vector< array > &)> mlx::core::compile (std::vector< array > fun)(const std::vector< array > &,
    bool shapeless = false )
    +
    +
    @@ -12856,8 +12937,8 @@ template<typename StrideT > - -

    ◆ operator<<() [8/11]

    + +

    ◆ operator<<() [8/11]

    @@ -12870,7 +12951,7 @@ template<typename StrideT >
    const std::vector< int > & v )const Shape & v )
    @@ -12896,31 +12977,10 @@ template<typename StrideT >
    -
    - - -

    ◆ operator<<() [10/11]

    - -
    -
    - - - - - - - - - - - -
    std::ostream & mlx::core::operator<< (std::ostream & os,
    const std::vector< size_t > & v )
    -
    -
    -

    ◆ operator<<() [11/11]

    +

    ◆ operator<<() [10/11]

    @@ -12938,6 +12998,27 @@ template<typename StrideT >
    +
    + + +

    ◆ operator<<() [11/11]

    + +
    +
    + + + + + + + + + + + +
    std::ostream & mlx::core::operator<< (std::ostream & os,
    const Strides & v )
    +
    +
    diff --git a/docs/build/html/namespacemlx_1_1core_1_1detail.html b/docs/build/html/namespacemlx_1_1core_1_1detail.html index 3319cc1b6..55d161d51 100644 --- a/docs/build/html/namespacemlx_1_1core_1_1detail.html +++ b/docs/build/html/namespacemlx_1_1core_1_1detail.html @@ -230,8 +230,8 @@ Functions
     
    float fast_erfinv (float a)
     
    std::function< std::vector< array >(const std::vector< array > &)> compile (const std::function< std::vector< array >(const std::vector< array > &)> &fun, std::uintptr_t fun_id, bool shapeless=false, std::vector< uint64_t > constants={})
     
    std::function< std::vector< array >(const std::vector< array > &)> compile (std::function< std::vector< array >(const std::vector< array > &)> fun, std::uintptr_t fun_id, bool shapeless=false, std::vector< uint64_t > constants={})
     
    void compile_erase (std::uintptr_t fun_id)
     
    void compile_clear_cache ()
     

    Function Documentation

    - -

    ◆ compile()

    + +

    ◆ compile()

    @@ -253,7 +253,7 @@ Functions
    std::function< std::vector< array >(const std::vector< array > &)> mlx::core::detail::compile (const std::function< std::vector< array >(const std::vector< array > &)> & fun, std::function< std::vector< array >(const std::vector< array > &)> fun,
    array mlx::core::astype (array a, Dtype dtype, StreamOrDevice s={})
     Convert an array to the given data type.
     
    array mlx::core::as_strided (array a, std::vector< int > shape, std::vector< size_t > strides, size_t offset, StreamOrDevice s={})
     Create a view of an array with the given shape and strides.
     
    array mlx::core::as_strided (array a, Shape shape, Strides strides, size_t offset, StreamOrDevice s={})
     Create a view of an array with the given shape and strides.
     
    array mlx::core::copy (array a, StreamOrDevice s={})
     Copy another array.
     
    array mlx::core::full (std::vector< int > shape, array vals, Dtype dtype, StreamOrDevice s={})
     Fill an array of the given shape with the given value(s).
     
    array mlx::core::full (std::vector< int > shape, array vals, StreamOrDevice s={})
     
    template<typename T >
    array mlx::core::full (std::vector< int > shape, T val, Dtype dtype, StreamOrDevice s={})
     
    template<typename T >
    array mlx::core::full (std::vector< int > shape, T val, StreamOrDevice s={})
     
    array mlx::core::zeros (const std::vector< int > &shape, Dtype dtype, StreamOrDevice s={})
     Fill an array of the given shape with zeros.
     
    array mlx::core::zeros (const std::vector< int > &shape, StreamOrDevice s={})
     
    array mlx::core::full (Shape shape, array vals, Dtype dtype, StreamOrDevice s={})
     Fill an array of the given shape with the given value(s).
     
    array mlx::core::full (Shape shape, array vals, StreamOrDevice s={})
     
    template<typename T >
    array mlx::core::full (Shape shape, T val, Dtype dtype, StreamOrDevice s={})
     
    template<typename T >
    array mlx::core::full (Shape shape, T val, StreamOrDevice s={})
     
    array mlx::core::zeros (const Shape &shape, Dtype dtype, StreamOrDevice s={})
     Fill an array of the given shape with zeros.
     
    array mlx::core::zeros (const Shape &shape, StreamOrDevice s={})
     
    array mlx::core::zeros_like (const array &a, StreamOrDevice s={})
     
    array mlx::core::ones (const std::vector< int > &shape, Dtype dtype, StreamOrDevice s={})
     Fill an array of the given shape with ones.
     
    array mlx::core::ones (const std::vector< int > &shape, StreamOrDevice s={})
     
    array mlx::core::ones (const Shape &shape, Dtype dtype, StreamOrDevice s={})
     Fill an array of the given shape with ones.
     
    array mlx::core::ones (const Shape &shape, StreamOrDevice s={})
     
    array mlx::core::ones_like (const array &a, StreamOrDevice s={})
     
    array mlx::core::eye (int n, int m, int k, Dtype dtype, StreamOrDevice s={})
     
    array mlx::core::triu (array x, int k=0, StreamOrDevice s={})
     
    array mlx::core::reshape (const array &a, std::vector< int > shape, StreamOrDevice s={})
     Reshape an array to the given shape.
     
    array mlx::core::reshape (const array &a, Shape shape, StreamOrDevice s={})
     Reshape an array to the given shape.
     
    array mlx::core::flatten (const array &a, int start_axis, int end_axis=-1, StreamOrDevice s={})
     Flatten the dimensions in the range [start_axis, end_axis] .
     
    array mlx::core::expand_dims (const array &a, int axis, StreamOrDevice s={})
     Add a singleton dimension at the given axis.
     
    array mlx::core::slice (const array &a, std::vector< int > start, std::vector< int > stop, std::vector< int > strides, StreamOrDevice s={})
     Slice an array.
     
    array mlx::core::slice (const array &a, std::vector< int > start, std::vector< int > stop, StreamOrDevice s={})
     Slice an array with a stride of 1 in each dimension.
     
    array mlx::core::slice_update (const array &src, const array &update, std::vector< int > start, std::vector< int > stop, std::vector< int > strides, StreamOrDevice s={})
     Update a slice from the source array.
     
    array mlx::core::slice_update (const array &src, const array &update, std::vector< int > start, std::vector< int > stop, StreamOrDevice s={})
     Update a slice from the source array with stride 1 in each dimension.
     
    array mlx::core::slice (const array &a, Shape start, Shape stop, Shape strides, StreamOrDevice s={})
     Slice an array.
     
    array mlx::core::slice (const array &a, Shape start, Shape stop, StreamOrDevice s={})
     Slice an array with a stride of 1 in each dimension.
     
    array mlx::core::slice_update (const array &src, const array &update, Shape start, Shape stop, Shape strides, StreamOrDevice s={})
     Update a slice from the source array.
     
    array mlx::core::slice_update (const array &src, const array &update, Shape start, Shape stop, StreamOrDevice s={})
     Update a slice from the source array with stride 1 in each dimension.
     
    std::vector< arraymlx::core::split (const array &a, int num_splits, int axis, StreamOrDevice s={})
     Split an array into sub-arrays along a given axis.
     
    array mlx::core::transpose (const array &a, StreamOrDevice s={})
     Permutes the dimensions in reverse order.
     
    array mlx::core::broadcast_to (const array &a, const std::vector< int > &shape, StreamOrDevice s={})
     Broadcast an array to a given shape.
     
    array mlx::core::broadcast_to (const array &a, const Shape &shape, StreamOrDevice s={})
     Broadcast an array to a given shape.
     
    std::vector< arraymlx::core::broadcast_arrays (const std::vector< array > &inputs, StreamOrDevice s={})
     Broadcast a vector of arrays against one another.
     
    array mlx::core::matmul (const array &a, const array &b, StreamOrDevice s={})
     Matrix-matrix multiplication.
     
    array mlx::core::gather (const array &a, const std::vector< array > &indices, const std::vector< int > &axes, const std::vector< int > &slice_sizes, StreamOrDevice s={})
     Gather array entries given indices and slices.
     
    array mlx::core::gather (const array &a, const array &indices, int axis, const std::vector< int > &slice_sizes, StreamOrDevice s={})
     
    array mlx::core::gather (const array &a, const std::vector< array > &indices, const std::vector< int > &axes, const Shape &slice_sizes, StreamOrDevice s={})
     Gather array entries given indices and slices.
     
    array mlx::core::gather (const array &a, const array &indices, int axis, const Shape &slice_sizes, StreamOrDevice s={})
     
    array mlx::core::take (const array &a, const array &indices, int axis, StreamOrDevice s={})
     Take array slices at the given indices of the specified axis.
     
    array mlx::core::roll (const array &a, int shift, StreamOrDevice s={})
     Roll elements along an axis and introduce them on the other side.
     
    array mlx::core::roll (const array &a, const std::vector< int > &shift, StreamOrDevice s={})
     
    array mlx::core::roll (const array &a, const Shape &shift, StreamOrDevice s={})
     
    array mlx::core::roll (const array &a, int shift, int axis, StreamOrDevice s={})
     
    array mlx::core::roll (const array &a, int shift, const std::vector< int > &axes, StreamOrDevice s={})
     
    array mlx::core::roll (const array &a, const std::vector< int > &shift, int axis, StreamOrDevice s={})
     
    array mlx::core::roll (const array &a, const std::vector< int > &shift, const std::vector< int > &axes, StreamOrDevice s={})
     
    array mlx::core::roll (const array &a, int shift, const Shape &axes, StreamOrDevice s={})
     
    array mlx::core::roll (const array &a, const Shape &shift, int axis, StreamOrDevice s={})
     
    array mlx::core::roll (const array &a, const Shape &shift, const std::vector< int > &axes, StreamOrDevice s={})
     
    array mlx::core::real (const array &a, StreamOrDevice s={})
     
    array mlx::core::imag (const array &a, StreamOrDevice s={})
    -Value:
    std::vector<std::vector<int>> output_shapes( \
    -
    const std::vector<array>& inputs) override { \
    -
    return {inputs[0].shape()}; \
    +Value:
    std::vector<Shape> output_shapes(const std::vector<array>& inputs) \
    +
    override { \
    +
    return {inputs[0].shape()}; \
    }
    diff --git a/docs/build/html/primitives_8h_source.html b/docs/build/html/primitives_8h_source.html index 1bc493fdb..b398df937 100644 --- a/docs/build/html/primitives_8h_source.html +++ b/docs/build/html/primitives_8h_source.html @@ -138,10 +138,10 @@ $(function(){ initResizable(false); });
    38
    -
    39#define DEFINE_INPUT_OUTPUT_SHAPE() \
    -
    40 std::vector<std::vector<int>> output_shapes( \
    -
    41 const std::vector<array>& inputs) override { \
    -
    42 return {inputs[0].shape()}; \
    +
    39#define DEFINE_INPUT_OUTPUT_SHAPE() \
    +
    40 std::vector<Shape> output_shapes(const std::vector<array>& inputs) \
    +
    41 override { \
    +
    42 return {inputs[0].shape()}; \
    43 }
    44
    @@ -195,131 +195,131 @@ $(function(){ initResizable(false); });
    109 }
    110
    -
    113 virtual std::vector<std::vector<int>> output_shapes(
    -
    114 const std::vector<array>& inputs);
    -
    115
    -
    116 virtual ~Primitive() = default;
    -
    117 Primitive(const Primitive& other) = delete;
    -
    118 Primitive(Primitive&& other) = delete;
    -
    119 Primitive& operator=(const Primitive& other) = delete;
    -
    120 Primitive& operator=(Primitive&& other) = delete;
    -
    121
    -
    122 private:
    -
    123 // Every primitive stores the stream it should run in
    -
    124 Stream stream_;
    -
    125};
    +
    113 virtual std::vector<Shape> output_shapes(const std::vector<array>& inputs);
    +
    114
    +
    115 virtual ~Primitive() = default;
    +
    116 Primitive(const Primitive& other) = delete;
    +
    117 Primitive(Primitive&& other) = delete;
    +
    118 Primitive& operator=(const Primitive& other) = delete;
    +
    119 Primitive& operator=(Primitive&& other) = delete;
    +
    120
    +
    121 private:
    +
    122 // Every primitive stores the stream it should run in
    +
    123 Stream stream_;
    +
    124};
    -
    126
    -
    -
    127class UnaryPrimitive : public Primitive {
    -
    131 public:
    - -
    133
    -
    134 virtual void eval_cpu(const std::vector<array>& inputs, array& output) = 0;
    -
    135 virtual void eval_gpu(const std::vector<array>& inputs, array& output) = 0;
    -
    136
    -
    -
    137 inline void eval_cpu(
    -
    138 const std::vector<array>& inputs,
    -
    139 std::vector<array>& outputs) override {
    -
    140 eval_cpu(inputs, outputs[0]);
    -
    141 }
    +
    125
    +
    +
    126class UnaryPrimitive : public Primitive {
    +
    130 public:
    + +
    132
    +
    133 virtual void eval_cpu(const std::vector<array>& inputs, array& output) = 0;
    +
    134 virtual void eval_gpu(const std::vector<array>& inputs, array& output) = 0;
    +
    135
    +
    +
    136 inline void eval_cpu(
    +
    137 const std::vector<array>& inputs,
    +
    138 std::vector<array>& outputs) override {
    +
    139 eval_cpu(inputs, outputs[0]);
    +
    140 }
    -
    -
    142 inline void eval_gpu(
    -
    143 const std::vector<array>& inputs,
    -
    144 std::vector<array>& outputs) override {
    -
    145 eval_gpu(inputs, outputs[0]);
    -
    146 }
    +
    +
    141 inline void eval_gpu(
    +
    142 const std::vector<array>& inputs,
    +
    143 std::vector<array>& outputs) override {
    +
    144 eval_gpu(inputs, outputs[0]);
    +
    145 }
    -
    147
    -
    148 virtual ~UnaryPrimitive() = default;
    -
    149 UnaryPrimitive(const UnaryPrimitive& other) = delete;
    - -
    151 UnaryPrimitive& operator=(const UnaryPrimitive& other) = delete;
    - -
    153};
    +
    146
    +
    147 virtual ~UnaryPrimitive() = default;
    +
    148 UnaryPrimitive(const UnaryPrimitive& other) = delete;
    + +
    150 UnaryPrimitive& operator=(const UnaryPrimitive& other) = delete;
    + +
    152};
    -
    154
    -
    -
    155class Abs : public UnaryPrimitive {
    -
    156 public:
    - -
    158
    -
    159 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    160 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    161
    - - - - - -
    167
    -
    168 private:
    -
    169 void eval(const std::vector<array>& inputs, array& out);
    -
    170};
    +
    153
    +
    +
    154class Abs : public UnaryPrimitive {
    +
    155 public:
    + +
    157
    +
    158 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    159 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    160
    + + + + + +
    166
    +
    167 private:
    +
    168 void eval(const std::vector<array>& inputs, array& out);
    +
    169};
    -
    171
    -
    -
    172class Add : public UnaryPrimitive {
    -
    173 public:
    - -
    175
    -
    176 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    177 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    178
    - - - - - -
    184
    -
    185 private:
    -
    186 void eval(const std::vector<array>& inputs, array& out);
    -
    187};
    +
    170
    +
    +
    171class Add : public UnaryPrimitive {
    +
    172 public:
    + +
    174
    +
    175 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    176 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    177
    + + + + + +
    183
    +
    184 private:
    +
    185 void eval(const std::vector<array>& inputs, array& out);
    +
    186};
    -
    188
    -
    -
    189class AddMM : public UnaryPrimitive {
    -
    190 public:
    -
    -
    191 explicit AddMM(Stream stream, float alpha, float beta)
    -
    192 : UnaryPrimitive(stream), alpha_(alpha), beta_(beta) {}
    +
    187
    +
    +
    188class AddMM : public UnaryPrimitive {
    +
    189 public:
    +
    +
    190 explicit AddMM(Stream stream, float alpha, float beta)
    +
    191 : UnaryPrimitive(stream), alpha_(alpha), beta_(beta) {}
    -
    193
    -
    194 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    195 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    196
    -
    197 std::vector<array> vjp(
    -
    198 const std::vector<array>& primals,
    -
    199 const std::vector<array>& cotangents,
    -
    200 const std::vector<int>& argnums,
    -
    201 const std::vector<array>& outputs) override;
    -
    202
    - - -
    205
    -
    206 bool is_equivalent(const Primitive& other) const override;
    -
    207
    -
    208 private:
    -
    209 const float alpha_;
    -
    210 const float beta_;
    -
    211};
    +
    192
    +
    193 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    194 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    195
    +
    196 std::vector<array> vjp(
    +
    197 const std::vector<array>& primals,
    +
    198 const std::vector<array>& cotangents,
    +
    199 const std::vector<int>& argnums,
    +
    200 const std::vector<array>& outputs) override;
    +
    201
    + + +
    204
    +
    205 bool is_equivalent(const Primitive& other) const override;
    +
    206
    +
    207 private:
    +
    208 const float alpha_;
    +
    209 const float beta_;
    +
    210};
    -
    212
    -
    -
    213class Arange : public UnaryPrimitive {
    -
    214 public:
    -
    -
    215 explicit Arange(Stream stream, double start, double stop, double step)
    -
    216 : UnaryPrimitive(stream), start_(start), stop_(stop), step_(step) {}
    +
    211
    +
    +
    212class Arange : public UnaryPrimitive {
    +
    213 public:
    +
    +
    214 explicit Arange(Stream stream, double start, double stop, double step)
    +
    215 : UnaryPrimitive(stream), start_(start), stop_(stop), step_(step) {}
    -
    217
    -
    218 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    219 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    220
    - -
    222 bool is_equivalent(const Primitive& other) const override;
    +
    216
    +
    217 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    218 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    219
    + +
    221 bool is_equivalent(const Primitive& other) const override;
    +
    222 std::vector<Shape> output_shapes(const std::vector<array>& inputs) override;
    223
    224 private:
    225 double start_;
    @@ -342,7 +342,7 @@ $(function(){ initResizable(false); }); - +
    244
    245 private:
    246 void eval(const std::vector<array>& inputs, array& out);
    @@ -361,7 +361,7 @@ $(function(){ initResizable(false); }); - +
    261
    262 private:
    263 void eval(const std::vector<array>& inputs, array& out);
    @@ -380,7 +380,7 @@ $(function(){ initResizable(false); }); - +
    278
    279 private:
    280 void eval(const std::vector<array>& inputs, array& out);
    @@ -399,7 +399,7 @@ $(function(){ initResizable(false); }); - +
    295
    296 private:
    297 void eval(const std::vector<array>& inputs, array& out);
    @@ -418,7 +418,7 @@ $(function(){ initResizable(false); }); - +
    312
    313 private:
    314 void eval(const std::vector<array>& inputs, array& out);
    @@ -437,7 +437,7 @@ $(function(){ initResizable(false); }); - +
    329
    330 private:
    331 void eval(const std::vector<array>& inputs, array& out);
    @@ -456,7 +456,7 @@ $(function(){ initResizable(false); }); - +
    346
    347 private:
    348 void eval(const std::vector<array>& inputs, array& out);
    @@ -477,7 +477,7 @@ $(function(){ initResizable(false); }); - +
    363 bool is_equivalent(const Primitive& other) const override;
    364
    365 private:
    @@ -510,2164 +510,2141 @@ $(function(){ initResizable(false); });
    388 bool is_equivalent(const Primitive& other) const override;
    -
    389 std::vector<std::vector<int>> output_shapes(
    -
    390 const std::vector<array>& inputs) override;
    -
    391
    -
    392 private:
    -
    393 ReduceType reduce_type_;
    -
    394 int axis_;
    -
    395
    -
    396 void eval(const std::vector<array>& inputs, array& out);
    -
    397};
    +
    389 std::vector<Shape> output_shapes(const std::vector<array>& inputs) override;
    +
    390
    +
    391 private:
    +
    392 ReduceType reduce_type_;
    +
    393 int axis_;
    +
    394
    +
    395 void eval(const std::vector<array>& inputs, array& out);
    +
    396};
    -
    398
    -
    -
    399class ArgSort : public UnaryPrimitive {
    -
    400 public:
    -
    -
    401 explicit ArgSort(Stream stream, int axis)
    -
    402 : UnaryPrimitive(stream), axis_(axis) {}
    +
    397
    +
    +
    398class ArgSort : public UnaryPrimitive {
    +
    399 public:
    +
    +
    400 explicit ArgSort(Stream stream, int axis)
    +
    401 : UnaryPrimitive(stream), axis_(axis) {}
    -
    403
    -
    404 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    405 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    406
    - - - -
    410 bool is_equivalent(const Primitive& other) const override;
    -
    411
    -
    412 private:
    -
    413 int axis_;
    -
    414
    -
    415 void eval(const std::vector<array>& inputs, array& out);
    -
    416};
    +
    402
    +
    403 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    404 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    405
    + + + +
    409 bool is_equivalent(const Primitive& other) const override;
    +
    410
    +
    411 private:
    +
    412 int axis_;
    +
    413
    +
    414 void eval(const std::vector<array>& inputs, array& out);
    +
    415};
    -
    417
    -
    -
    418class AsType : public UnaryPrimitive {
    -
    419 public:
    -
    -
    420 explicit AsType(Stream stream, Dtype dtype)
    -
    421 : UnaryPrimitive(stream), dtype_(dtype) {}
    +
    416
    +
    +
    417class AsType : public UnaryPrimitive {
    +
    418 public:
    +
    +
    419 explicit AsType(Stream stream, Dtype dtype)
    +
    420 : UnaryPrimitive(stream), dtype_(dtype) {}
    -
    422
    -
    423 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    424 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    425
    - - - - -
    430 bool is_equivalent(const Primitive& other) const override;
    -
    431
    -
    432 private:
    -
    433 Dtype dtype_;
    -
    434
    -
    435 void eval(const std::vector<array>& inputs, array& out);
    -
    436};
    +
    421
    +
    422 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    423 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    424
    + + + + +
    429 bool is_equivalent(const Primitive& other) const override;
    +
    430
    +
    431 private:
    +
    432 Dtype dtype_;
    +
    433
    +
    434 void eval(const std::vector<array>& inputs, array& out);
    +
    435};
    -
    437
    -
    -
    438class AsStrided : public UnaryPrimitive {
    -
    439 public:
    -
    -
    440 explicit AsStrided(
    - -
    442 std::vector<int> shape,
    -
    443 std::vector<size_t> strides,
    -
    444 size_t offset)
    - -
    446 shape_(std::move(shape)),
    -
    447 strides_(std::move(strides)),
    -
    448 offset_(offset) {}
    +
    436
    +
    +
    437class AsStrided : public UnaryPrimitive {
    +
    438 public:
    +
    +
    439 explicit AsStrided(Stream stream, Shape shape, Strides strides, size_t offset)
    + +
    441 shape_(std::move(shape)),
    +
    442 strides_(std::move(strides)),
    +
    443 offset_(offset) {}
    -
    449
    -
    450 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    451 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    452
    - - -
    455 bool is_equivalent(const Primitive& other) const override;
    +
    444
    +
    445 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    446 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    447
    + + +
    450 bool is_equivalent(const Primitive& other) const override;
    +
    451
    +
    452 private:
    +
    453 Shape shape_;
    +
    454 Strides strides_;
    +
    455 size_t offset_;
    456
    -
    457 private:
    -
    458 std::vector<int> shape_;
    -
    459 std::vector<size_t> strides_;
    -
    460 size_t offset_;
    -
    461
    -
    462 void eval(const std::vector<array>& inputs, array& out);
    -
    463};
    +
    457 void eval(const std::vector<array>& inputs, array& out);
    +
    458};
    -
    464
    -
    - -
    466 public:
    -
    467 enum Op { And, Or, Xor, LeftShift, RightShift };
    -
    468
    -
    - -
    470 : UnaryPrimitive(stream), op_(op) {}
    +
    459
    +
    + +
    461 public:
    +
    462 enum Op { And, Or, Xor, LeftShift, RightShift };
    +
    463
    +
    + +
    465 : UnaryPrimitive(stream), op_(op) {}
    -
    471
    -
    472 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    473 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    474
    - - -
    477 bool is_equivalent(const Primitive& other) const override;
    -
    478 void print(std::ostream& os) override;
    - -
    480
    -
    481 private:
    -
    482 Op op_;
    -
    483};
    +
    466
    +
    467 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    468 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    469
    + + +
    472 bool is_equivalent(const Primitive& other) const override;
    +
    473 void print(std::ostream& os) override;
    + +
    475
    +
    476 private:
    +
    477 Op op_;
    +
    478};
    +
    +
    479
    +
    + +
    481 public:
    +
    +
    482 explicit BlockMaskedMM(Stream stream, int block_size)
    +
    483 : UnaryPrimitive(stream), block_size_(block_size) {}
    484
    -
    - -
    486 public:
    -
    -
    487 explicit BlockMaskedMM(Stream stream, int block_size)
    -
    488 : UnaryPrimitive(stream), block_size_(block_size) {}
    +
    485 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    486 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    487
    +
    488 std::vector<array> vjp(
    +
    489 const std::vector<array>& primals,
    +
    490 const std::vector<array>& cotangents,
    +
    491 const std::vector<int>& argnums,
    +
    492 const std::vector<array>& outputs) override;
    +
    493
    + +
    495 bool is_equivalent(const Primitive& other) const override;
    +
    496
    +
    497 private:
    +
    498 int block_size_;
    +
    499
    +
    500 void eval(const std::vector<array>& inputs, array& out);
    +
    501};
    -
    489
    -
    490 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    491 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    492
    -
    493 std::vector<array> vjp(
    -
    494 const std::vector<array>& primals,
    -
    495 const std::vector<array>& cotangents,
    -
    496 const std::vector<int>& argnums,
    -
    497 const std::vector<array>& outputs) override;
    -
    498
    - -
    500 bool is_equivalent(const Primitive& other) const override;
    -
    501
    -
    502 private:
    -
    503 int block_size_;
    -
    504
    -
    505 void eval(const std::vector<array>& inputs, array& out);
    -
    506};
    +
    502
    +
    +
    503class GatherMM : public UnaryPrimitive {
    +
    504 public:
    + +
    506
    +
    507 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    508 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    509
    +
    510 std::vector<array> vjp(
    +
    511 const std::vector<array>& primals,
    +
    512 const std::vector<array>& cotangents,
    +
    513 const std::vector<int>& argnums,
    +
    514 const std::vector<array>& outputs) override;
    +
    515
    + + +
    518
    +
    519 private:
    +
    520 void eval(const std::vector<array>& inputs, array& out);
    +
    521};
    -
    507
    -
    -
    508class GatherMM : public UnaryPrimitive {
    -
    509 public:
    - -
    511
    -
    512 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    513 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    514
    -
    515 std::vector<array> vjp(
    -
    516 const std::vector<array>& primals,
    -
    517 const std::vector<array>& cotangents,
    -
    518 const std::vector<int>& argnums,
    -
    519 const std::vector<array>& outputs) override;
    -
    520
    - - -
    523
    -
    524 private:
    -
    525 void eval(const std::vector<array>& inputs, array& out);
    -
    526};
    +
    522
    +
    +
    523class Broadcast : public UnaryPrimitive {
    +
    524 public:
    +
    +
    525 explicit Broadcast(Stream stream, const Shape& shape)
    +
    526 : UnaryPrimitive(stream), shape_(shape) {}
    527
    -
    -
    528class Broadcast : public UnaryPrimitive {
    -
    529 public:
    -
    -
    530 explicit Broadcast(Stream stream, const std::vector<int>& shape)
    -
    531 : UnaryPrimitive(stream), shape_(shape) {}
    -
    -
    532
    -
    533 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    534 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    528 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    529 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    530
    + + + +
    534 bool is_equivalent(const Primitive& other) const override;
    535
    - - - -
    539 bool is_equivalent(const Primitive& other) const override;
    -
    540
    -
    541 private:
    -
    542 std::vector<int> shape_;
    -
    543
    -
    544 void eval(const std::vector<array>& inputs, array& out);
    -
    545};
    +
    536 private:
    +
    537 Shape shape_;
    +
    538
    +
    539 void eval(const std::vector<array>& inputs, array& out);
    +
    540};
    -
    546
    -
    -
    547class Ceil : public UnaryPrimitive {
    -
    548 public:
    - -
    550
    -
    551 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    552 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    553
    - - - - - -
    559
    -
    560 private:
    -
    561 void eval(const std::vector<array>& inputs, array& out);
    -
    562};
    +
    541
    +
    +
    542class Ceil : public UnaryPrimitive {
    +
    543 public:
    + +
    545
    +
    546 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    547 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    548
    + + + + + +
    554
    +
    555 private:
    +
    556 void eval(const std::vector<array>& inputs, array& out);
    +
    557};
    -
    563
    -
    -
    564class Compiled : public Primitive {
    -
    565 public:
    -
    566 /*
    -
    567 * The inputs, outputs and tape are either tracers or constants.
    -
    568 * - The tape should not contain the inputs, but it should contain the
    -
    569 * outputs.
    -
    570 * - The tape should also have only one array per primitive for multi-output
    -
    571 * primitives.
    -
    572 * - The constant_ids contains ids of arrays in the input list that are safe
    -
    573 * to treat as scalar constants.
    -
    574 */
    -
    575 explicit Compiled(
    - -
    577 std::vector<array> inputs,
    -
    578 std::vector<array> outputs,
    -
    579 std::vector<array> tape,
    -
    580 std::unordered_set<uintptr_t> constant_ids);
    +
    558
    +
    +
    559class Compiled : public Primitive {
    +
    560 public:
    +
    561 /*
    +
    562 * The inputs, outputs and tape are either tracers or constants.
    +
    563 * - The tape should not contain the inputs, but it should contain the
    +
    564 * outputs.
    +
    565 * - The tape should also have only one array per primitive for multi-output
    +
    566 * primitives.
    +
    567 * - The constant_ids contains ids of arrays in the input list that are safe
    +
    568 * to treat as scalar constants.
    +
    569 */
    +
    570 explicit Compiled(
    + +
    572 std::vector<array> inputs,
    +
    573 std::vector<array> outputs,
    +
    574 std::vector<array> tape,
    +
    575 std::unordered_set<uintptr_t> constant_ids);
    +
    576
    +
    577 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    578 override;
    +
    579 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    580 override;
    581
    -
    582 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    583 override;
    -
    584 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    585 override;
    -
    586
    - - -
    589 std::vector<std::vector<int>> output_shapes(
    -
    590 const std::vector<array>& inputs) override;
    -
    591 void print(std::ostream& os) override;
    -
    592 bool is_equivalent(const Primitive& other) const override;
    -
    593
    -
    -
    594 std::string lib_name() const {
    -
    595 return kernel_lib_;
    -
    596 }
    + + +
    584 std::vector<Shape> output_shapes(const std::vector<array>& inputs) override;
    +
    585 void print(std::ostream& os) override;
    +
    586 bool is_equivalent(const Primitive& other) const override;
    +
    587
    +
    +
    588 std::string lib_name() const {
    +
    589 return kernel_lib_;
    +
    590 }
    +
    591
    +
    592 private:
    +
    593 const std::vector<array> inputs_;
    +
    594 const std::vector<array> outputs_;
    +
    595 const std::vector<array> tape_;
    +
    596 const std::unordered_set<uintptr_t> constant_ids_;
    597
    -
    598 private:
    -
    599 const std::vector<array> inputs_;
    -
    600 const std::vector<array> outputs_;
    -
    601 const std::vector<array> tape_;
    -
    602 const std::unordered_set<uintptr_t> constant_ids_;
    -
    603
    -
    604 std::string kernel_lib_;
    -
    605};
    +
    598 std::string kernel_lib_;
    +
    599};
    -
    606
    -
    - -
    608 public:
    -
    -
    609 explicit Concatenate(Stream stream, int axis)
    -
    610 : UnaryPrimitive(stream), axis_(axis) {}
    +
    600
    +
    + +
    602 public:
    +
    +
    603 explicit Concatenate(Stream stream, int axis)
    +
    604 : UnaryPrimitive(stream), axis_(axis) {}
    -
    611
    -
    612 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    613 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    605
    +
    606 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    607 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    608
    + + + +
    612 bool is_equivalent(const Primitive& other) const override;
    +
    613 std::vector<Shape> output_shapes(const std::vector<array>& inputs) override;
    614
    - - - -
    618 bool is_equivalent(const Primitive& other) const override;
    -
    619
    -
    620 private:
    -
    621 int axis_;
    -
    622
    -
    623 void eval(const std::vector<array>& inputs, array& out);
    -
    624};
    +
    615 private:
    +
    616 int axis_;
    +
    617
    +
    618 void eval(const std::vector<array>& inputs, array& out);
    +
    619};
    -
    625
    -
    -
    626class Conjugate : public UnaryPrimitive {
    -
    627 public:
    -
    628 explicit Conjugate(Stream stream) : UnaryPrimitive(stream) {}
    -
    629
    -
    630 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    631 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    620
    +
    +
    621class Conjugate : public UnaryPrimitive {
    +
    622 public:
    +
    623 explicit Conjugate(Stream stream) : UnaryPrimitive(stream) {}
    +
    624
    +
    625 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    626 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    627
    + + + +
    632
    - - - - -
    637
    -
    638 private:
    -
    639 void eval(const std::vector<array>& inputs, array& out);
    -
    640};
    +
    633 private:
    +
    634 void eval(const std::vector<array>& inputs, array& out);
    +
    635};
    +
    +
    636
    +
    + +
    638 public:
    +
    +
    639 explicit Contiguous(Stream stream, bool allow_col_major)
    +
    640 : UnaryPrimitive(stream), allow_col_major_(allow_col_major) {}
    641
    -
    - -
    643 public:
    -
    -
    644 explicit Contiguous(Stream stream, bool allow_col_major)
    -
    645 : UnaryPrimitive(stream), allow_col_major_(allow_col_major) {}
    -
    -
    646
    -
    647 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    648 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    642 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    643 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    644
    + + + +
    649
    - - - - -
    654
    -
    655 bool is_equivalent(const Primitive& other) const override;
    -
    656
    -
    657 private:
    -
    658 bool allow_col_major_;
    -
    659};
    +
    650 bool is_equivalent(const Primitive& other) const override;
    +
    651
    +
    652 private:
    +
    653 bool allow_col_major_;
    +
    654};
    -
    660
    -
    - -
    662 public:
    -
    -
    663 explicit Convolution(
    -
    664 Stream stream,
    -
    665 const std::vector<int>& kernel_strides,
    -
    666 const std::vector<int>& padding,
    -
    667 const std::vector<int>& kernel_dilation,
    -
    668 const std::vector<int>& input_dilation,
    -
    669 const int groups = 1,
    -
    670 const bool flip = false)
    -
    671 : UnaryPrimitive(stream),
    -
    672 padding_(padding),
    -
    673 kernel_strides_(kernel_strides),
    -
    674 kernel_dilation_(kernel_dilation),
    -
    675 input_dilation_(input_dilation),
    -
    676 groups_(groups),
    -
    677 flip_(flip) {}
    +
    655
    +
    + +
    657 public:
    +
    +
    658 explicit Convolution(
    +
    659 Stream stream,
    +
    660 const std::vector<int>& kernel_strides,
    +
    661 const std::vector<int>& padding,
    +
    662 const std::vector<int>& kernel_dilation,
    +
    663 const std::vector<int>& input_dilation,
    +
    664 const int groups = 1,
    +
    665 const bool flip = false)
    +
    666 : UnaryPrimitive(stream),
    +
    667 padding_(padding),
    +
    668 kernel_strides_(kernel_strides),
    +
    669 kernel_dilation_(kernel_dilation),
    +
    670 input_dilation_(input_dilation),
    +
    671 groups_(groups),
    +
    672 flip_(flip) {}
    -
    678
    -
    679 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    680 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    681
    -
    682 std::vector<array> vjp(
    -
    683 const std::vector<array>& primals,
    -
    684 const std::vector<array>& cotangents,
    -
    685 const std::vector<int>& argnums,
    -
    686 const std::vector<array>& outputs) override;
    -
    687
    - -
    689 bool is_equivalent(const Primitive& other) const override;
    -
    690
    -
    691 private:
    -
    692 std::vector<int> padding_;
    -
    693 std::vector<int> kernel_strides_;
    -
    694 std::vector<int> kernel_dilation_;
    -
    695 std::vector<int> input_dilation_;
    -
    696 int groups_;
    -
    697 bool flip_;
    -
    698
    -
    699 void eval(const std::vector<array>& inputs, array& out);
    -
    700};
    +
    673
    +
    674 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    675 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    676
    +
    677 std::vector<array> vjp(
    +
    678 const std::vector<array>& primals,
    +
    679 const std::vector<array>& cotangents,
    +
    680 const std::vector<int>& argnums,
    +
    681 const std::vector<array>& outputs) override;
    +
    682
    + +
    684 bool is_equivalent(const Primitive& other) const override;
    +
    685
    +
    686 private:
    +
    687 std::vector<int> padding_;
    +
    688 std::vector<int> kernel_strides_;
    +
    689 std::vector<int> kernel_dilation_;
    +
    690 std::vector<int> input_dilation_;
    +
    691 int groups_;
    +
    692 bool flip_;
    +
    693
    +
    694 void eval(const std::vector<array>& inputs, array& out);
    +
    695};
    -
    701
    -
    -
    702class Copy : public UnaryPrimitive {
    -
    703 public:
    -
    704 explicit Copy(Stream stream) : UnaryPrimitive(stream) {}
    -
    705
    -
    706 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    707 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    708
    - - - - - -
    714
    -
    715 private:
    -
    716 void eval(const std::vector<array>& inputs, array& out);
    -
    717};
    +
    696
    +
    +
    697class Copy : public UnaryPrimitive {
    +
    698 public:
    +
    699 explicit Copy(Stream stream) : UnaryPrimitive(stream) {}
    +
    700
    +
    701 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    702 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    703
    + + + + + +
    709
    +
    710 private:
    +
    711 void eval(const std::vector<array>& inputs, array& out);
    +
    712};
    -
    718
    -
    -
    719class Cos : public UnaryPrimitive {
    -
    720 public:
    -
    721 explicit Cos(Stream stream) : UnaryPrimitive(stream) {}
    -
    722
    -
    723 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    724 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    725
    - - - - - -
    731
    -
    732 private:
    -
    733 void eval(const std::vector<array>& inputs, array& out);
    -
    734};
    +
    713
    +
    +
    714class Cos : public UnaryPrimitive {
    +
    715 public:
    +
    716 explicit Cos(Stream stream) : UnaryPrimitive(stream) {}
    +
    717
    +
    718 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    719 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    720
    + + + + + +
    726
    +
    727 private:
    +
    728 void eval(const std::vector<array>& inputs, array& out);
    +
    729};
    -
    735
    -
    -
    736class Cosh : public UnaryPrimitive {
    -
    737 public:
    -
    738 explicit Cosh(Stream stream) : UnaryPrimitive(stream) {}
    -
    739
    -
    740 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    741 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    742
    - - - - - -
    748
    -
    749 private:
    -
    750 void eval(const std::vector<array>& inputs, array& out);
    -
    751};
    +
    730
    +
    +
    731class Cosh : public UnaryPrimitive {
    +
    732 public:
    +
    733 explicit Cosh(Stream stream) : UnaryPrimitive(stream) {}
    +
    734
    +
    735 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    736 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    737
    + + + + + +
    743
    +
    744 private:
    +
    745 void eval(const std::vector<array>& inputs, array& out);
    +
    746};
    -
    752
    -
    - -
    754 public:
    -
    - -
    756 Stream stream,
    -
    757 int num_outputs,
    -
    758 std::function<std::vector<array>(
    +
    747
    +
    + +
    749 public:
    +
    + +
    751 Stream stream,
    +
    752 int num_outputs,
    +
    753 std::function<std::vector<array>(
    +
    754 const std::vector<array>&,
    +
    755 const std::vector<array>&,
    +
    756 const std::vector<array>&)> vjp,
    +
    757 std::function<std::vector<array>(
    +
    758 const std::vector<array>&,
    759 const std::vector<array>&,
    -
    760 const std::vector<array>&,
    -
    761 const std::vector<array>&)> vjp,
    -
    762 std::function<std::vector<array>(
    -
    763 const std::vector<array>&,
    -
    764 const std::vector<array>&,
    -
    765 const std::vector<int>&)> jvp,
    -
    766 std::function<std::pair<std::vector<array>, std::vector<int>>(
    -
    767 const std::vector<array>&,
    -
    768 const std::vector<int>&)> vmap)
    -
    769 : Primitive(stream),
    -
    770 num_outputs_(num_outputs),
    -
    771 vjp_fun_(std::move(vjp)),
    -
    772 jvp_fun_(std::move(jvp)),
    -
    773 vmap_fun_(std::move(vmap)) {}
    +
    760 const std::vector<int>&)> jvp,
    +
    761 std::function<std::pair<std::vector<array>, std::vector<int>>(
    +
    762 const std::vector<array>&,
    +
    763 const std::vector<int>&)> vmap)
    +
    764 : Primitive(stream),
    +
    765 num_outputs_(num_outputs),
    +
    766 vjp_fun_(std::move(vjp)),
    +
    767 jvp_fun_(std::move(jvp)),
    +
    768 vmap_fun_(std::move(vmap)) {}
    +
    769
    +
    770 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    771 override;
    +
    772 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    773 override;
    774
    -
    775 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    776 override;
    -
    777 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    778 override;
    -
    779
    - - - + + + +
    778
    +
    779 private:
    +
    780 void eval(const std::vector<array>& inputs, std::vector<array>& outputs);
    +
    781
    +
    782 int num_outputs_;
    783
    -
    784 private:
    -
    785 void eval(const std::vector<array>& inputs, std::vector<array>& outputs);
    -
    786
    -
    787 int num_outputs_;
    -
    788
    +
    784 std::function<std::vector<array>(
    +
    785 const std::vector<array>&,
    +
    786 const std::vector<array>&,
    +
    787 const std::vector<array>&)>
    +
    788 vjp_fun_;
    789 std::function<std::vector<array>(
    790 const std::vector<array>&,
    791 const std::vector<array>&,
    -
    792 const std::vector<array>&)>
    -
    793 vjp_fun_;
    -
    794 std::function<std::vector<array>(
    +
    792 const std::vector<int>&)>
    +
    793 jvp_fun_;
    +
    794 std::function<std::pair<std::vector<array>, std::vector<int>>(
    795 const std::vector<array>&,
    -
    796 const std::vector<array>&,
    -
    797 const std::vector<int>&)>
    -
    798 jvp_fun_;
    -
    799 std::function<std::pair<std::vector<array>, std::vector<int>>(
    -
    800 const std::vector<array>&,
    -
    801 const std::vector<int>&)>
    -
    802 vmap_fun_;
    -
    803};
    +
    796 const std::vector<int>&)>
    +
    797 vmap_fun_;
    +
    798};
    -
    804
    -
    -
    805class Depends : public Primitive {
    -
    806 public:
    -
    807 explicit Depends(Stream stream) : Primitive(stream) {}
    +
    799
    +
    +
    800class Depends : public Primitive {
    +
    801 public:
    +
    802 explicit Depends(Stream stream) : Primitive(stream) {}
    +
    803
    +
    804 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    805 override;
    +
    806 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    807 override;
    808
    -
    809 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    810 override;
    -
    811 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    812 override;
    -
    813
    -
    814 std::vector<array> vjp(
    -
    815 const std::vector<array>& primals,
    -
    816 const std::vector<array>& cotan,
    -
    817 const std::vector<int>& argnums,
    -
    818 const std::vector<array>& outputs) override;
    -
    819
    - -
    821
    -
    822 private:
    -
    823 void eval(const std::vector<array>& inputs, std::vector<array>& outputs);
    -
    824};
    +
    809 std::vector<array> vjp(
    +
    810 const std::vector<array>& primals,
    +
    811 const std::vector<array>& cotan,
    +
    812 const std::vector<int>& argnums,
    +
    813 const std::vector<array>& outputs) override;
    +
    814
    + +
    816
    +
    817 private:
    +
    818 void eval(const std::vector<array>& inputs, std::vector<array>& outputs);
    +
    819};
    -
    825
    -
    -
    826class Divide : public UnaryPrimitive {
    -
    827 public:
    -
    828 explicit Divide(Stream stream) : UnaryPrimitive(stream) {}
    -
    829
    -
    830 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    831 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    832
    - - - - - -
    838
    -
    839 private:
    -
    840 void eval(const std::vector<array>& inputs, array& out);
    -
    841};
    +
    820
    +
    +
    821class Divide : public UnaryPrimitive {
    +
    822 public:
    +
    823 explicit Divide(Stream stream) : UnaryPrimitive(stream) {}
    +
    824
    +
    825 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    826 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    827
    + + + + + +
    833
    +
    834 private:
    +
    835 void eval(const std::vector<array>& inputs, array& out);
    +
    836};
    -
    842
    -
    -
    843class DivMod : public Primitive {
    -
    844 public:
    -
    845 explicit DivMod(Stream stream) : Primitive(stream) {}
    +
    837
    +
    +
    838class DivMod : public Primitive {
    +
    839 public:
    +
    840 explicit DivMod(Stream stream) : Primitive(stream) {}
    +
    841
    +
    842 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    843 override;
    +
    844 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    845 override;
    846
    -
    847 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    848 override;
    -
    849 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    850 override;
    -
    851
    - - - - -
    -
    856 std::vector<std::vector<int>> output_shapes(
    -
    857 const std::vector<array>& inputs) override {
    -
    858 return std::vector{inputs[0].shape(), inputs[0].shape()};
    -
    859 }
    + + + + +
    +
    851 std::vector<Shape> output_shapes(const std::vector<array>& inputs) override {
    +
    852 return std::vector{inputs[0].shape(), inputs[0].shape()};
    +
    853 }
    -
    860
    -
    861 private:
    -
    862 void eval(const std::vector<array>& inputs, std::vector<array>& outputs);
    -
    863};
    +
    854
    +
    855 private:
    +
    856 void eval(const std::vector<array>& inputs, std::vector<array>& outputs);
    +
    857};
    -
    864
    -
    -
    865class Select : public UnaryPrimitive {
    -
    866 public:
    -
    867 explicit Select(Stream stream) : UnaryPrimitive(stream) {}
    -
    868
    -
    869 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    870 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    858
    +
    +
    859class Select : public UnaryPrimitive {
    +
    860 public:
    +
    861 explicit Select(Stream stream) : UnaryPrimitive(stream) {}
    +
    862
    +
    863 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    864 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    865
    + + + + +
    871
    - - - - - -
    877
    -
    878 private:
    -
    879 void eval(const std::vector<array>& inputs, array& out);
    -
    880};
    +
    872 private:
    +
    873 void eval(const std::vector<array>& inputs, array& out);
    +
    874};
    -
    881
    -
    -
    882class Remainder : public UnaryPrimitive {
    -
    883 public:
    -
    884 explicit Remainder(Stream stream) : UnaryPrimitive(stream) {}
    -
    885
    -
    886 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    887 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    875
    +
    +
    876class Remainder : public UnaryPrimitive {
    +
    877 public:
    +
    878 explicit Remainder(Stream stream) : UnaryPrimitive(stream) {}
    +
    879
    +
    880 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    881 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    882
    + + + + +
    888
    - - - - - -
    894
    -
    895 private:
    -
    896 void eval(const std::vector<array>& inputs, array& out);
    -
    897};
    +
    889 private:
    +
    890 void eval(const std::vector<array>& inputs, array& out);
    +
    891};
    -
    898
    -
    -
    899class Equal : public UnaryPrimitive {
    -
    900 public:
    -
    -
    901 explicit Equal(Stream stream, bool equal_nan = false)
    -
    902 : UnaryPrimitive(stream), equal_nan_(equal_nan) {}
    +
    892
    +
    +
    893class Equal : public UnaryPrimitive {
    +
    894 public:
    +
    +
    895 explicit Equal(Stream stream, bool equal_nan = false)
    +
    896 : UnaryPrimitive(stream), equal_nan_(equal_nan) {}
    -
    903
    -
    904 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    905 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    906
    - - - - -
    911
    -
    -
    912 void print(std::ostream& os) override {
    -
    913 if (equal_nan_) {
    -
    914 os << "NaNEqual";
    -
    915 } else {
    -
    916 os << "Equal";
    -
    917 }
    -
    918 }
    +
    897
    +
    898 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    899 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    900
    + + + + +
    905
    +
    +
    906 void print(std::ostream& os) override {
    +
    907 if (equal_nan_) {
    +
    908 os << "NaNEqual";
    +
    909 } else {
    +
    910 os << "Equal";
    +
    911 }
    +
    912 }
    -
    919
    -
    920 private:
    -
    921 void eval(const std::vector<array>& inputs, array& out);
    -
    922 bool equal_nan_;
    -
    923};
    +
    913
    +
    914 private:
    +
    915 void eval(const std::vector<array>& inputs, array& out);
    +
    916 bool equal_nan_;
    +
    917};
    -
    924
    -
    -
    925class Erf : public UnaryPrimitive {
    -
    926 public:
    -
    927 explicit Erf(Stream stream) : UnaryPrimitive(stream) {}
    -
    928
    -
    929 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    930 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    918
    +
    +
    919class Erf : public UnaryPrimitive {
    +
    920 public:
    +
    921 explicit Erf(Stream stream) : UnaryPrimitive(stream) {}
    +
    922
    +
    923 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    924 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    925
    + + + + +
    931
    - - - - - -
    937
    -
    938 private:
    -
    939 void eval(const std::vector<array>& inputs, array& out);
    -
    940};
    +
    932 private:
    +
    933 void eval(const std::vector<array>& inputs, array& out);
    +
    934};
    -
    941
    -
    -
    942class ErfInv : public UnaryPrimitive {
    -
    943 public:
    -
    944 explicit ErfInv(Stream stream) : UnaryPrimitive(stream) {}
    -
    945
    -
    946 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    947 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    935
    +
    +
    936class ErfInv : public UnaryPrimitive {
    +
    937 public:
    +
    938 explicit ErfInv(Stream stream) : UnaryPrimitive(stream) {}
    +
    939
    +
    940 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    941 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    942
    + + + + +
    948
    - - - - - -
    954
    -
    955 private:
    -
    956 void eval(const std::vector<array>& inputs, array& out);
    -
    957};
    +
    949 private:
    +
    950 void eval(const std::vector<array>& inputs, array& out);
    +
    951};
    -
    958
    -
    -
    959class Exp : public UnaryPrimitive {
    -
    960 public:
    -
    961 explicit Exp(Stream stream) : UnaryPrimitive(stream) {}
    -
    962
    -
    963 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    964 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    952
    +
    +
    953class Exp : public UnaryPrimitive {
    +
    954 public:
    +
    955 explicit Exp(Stream stream) : UnaryPrimitive(stream) {}
    +
    956
    +
    957 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    958 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    959
    + + + + +
    965
    - - - - - -
    971
    -
    972 private:
    -
    973 void eval(const std::vector<array>& inputs, array& out);
    -
    974};
    +
    966 private:
    +
    967 void eval(const std::vector<array>& inputs, array& out);
    +
    968};
    -
    975
    -
    -
    976class Expm1 : public UnaryPrimitive {
    -
    977 public:
    -
    978 explicit Expm1(Stream stream) : UnaryPrimitive(stream) {}
    -
    979
    -
    980 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    981 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    982
    - - - - -
    987
    -
    988 private:
    -
    989 void eval(const std::vector<array>& inputs, array& out);
    -
    990};
    +
    969
    +
    +
    970class Expm1 : public UnaryPrimitive {
    +
    971 public:
    +
    972 explicit Expm1(Stream stream) : UnaryPrimitive(stream) {}
    +
    973
    +
    974 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    975 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    976
    + + + + +
    981
    +
    982 private:
    +
    983 void eval(const std::vector<array>& inputs, array& out);
    +
    984};
    -
    991
    -
    -
    992class FFT : public UnaryPrimitive {
    -
    993 public:
    -
    -
    994 explicit FFT(
    -
    995 Stream stream,
    -
    996 const std::vector<size_t>& axes,
    -
    997 bool inverse,
    -
    998 bool real)
    -
    999 : UnaryPrimitive(stream), axes_(axes), inverse_(inverse), real_(real) {}
    +
    985
    +
    +
    986class FFT : public UnaryPrimitive {
    +
    987 public:
    +
    +
    988 explicit FFT(
    +
    989 Stream stream,
    +
    990 const std::vector<size_t>& axes,
    +
    991 bool inverse,
    +
    992 bool real)
    +
    993 : UnaryPrimitive(stream), axes_(axes), inverse_(inverse), real_(real) {}
    -
    1000
    -
    1001 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1002 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    994
    +
    995 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    996 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    997
    + + + +
    1001
    +
    1002 bool is_equivalent(const Primitive& other) const override;
    1003
    - - - -
    1007
    -
    1008 bool is_equivalent(const Primitive& other) const override;
    -
    1009
    -
    1010 private:
    -
    1011 std::vector<size_t> axes_;
    -
    1012 bool inverse_;
    -
    1013 bool real_;
    -
    1014
    -
    1015 void eval(const std::vector<array>& inputs, array& out);
    -
    1016};
    +
    1004 private:
    +
    1005 std::vector<size_t> axes_;
    +
    1006 bool inverse_;
    +
    1007 bool real_;
    +
    1008
    +
    1009 void eval(const std::vector<array>& inputs, array& out);
    +
    1010};
    -
    1017
    -
    -
    1018class Floor : public UnaryPrimitive {
    -
    1019 public:
    -
    1020 explicit Floor(Stream stream) : UnaryPrimitive(stream) {}
    -
    1021
    -
    1022 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1023 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1011
    +
    +
    1012class Floor : public UnaryPrimitive {
    +
    1013 public:
    +
    1014 explicit Floor(Stream stream) : UnaryPrimitive(stream) {}
    +
    1015
    +
    1016 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1017 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1018
    + + + + +
    1024
    - - - - - -
    1030
    -
    1031 private:
    -
    1032 void eval(const std::vector<array>& inputs, array& out);
    -
    1033};
    +
    1025 private:
    +
    1026 void eval(const std::vector<array>& inputs, array& out);
    +
    1027};
    -
    1034
    -
    -
    1035class Full : public UnaryPrimitive {
    -
    1036 public:
    -
    1037 explicit Full(Stream stream) : UnaryPrimitive(stream) {}
    -
    1038
    -
    1039 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1040 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1041
    - - - - -
    1046
    -
    1047 private:
    -
    1048 void eval(const std::vector<array>& inputs, array& out);
    -
    1049};
    +
    1028
    +
    +
    1029class Full : public UnaryPrimitive {
    +
    1030 public:
    +
    1031 explicit Full(Stream stream) : UnaryPrimitive(stream) {}
    +
    1032
    +
    1033 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1034 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1035
    + + + + +
    1040
    +
    1041 private:
    +
    1042 void eval(const std::vector<array>& inputs, array& out);
    +
    1043};
    -
    1050
    -
    -
    1051class Gather : public UnaryPrimitive {
    -
    1052 public:
    -
    -
    1053 explicit Gather(
    -
    1054 Stream stream,
    -
    1055 const std::vector<int>& axes,
    -
    1056 const std::vector<int>& slice_sizes)
    -
    1057 : UnaryPrimitive(stream), axes_(axes), slice_sizes_(slice_sizes) {}
    +
    1044
    +
    +
    1045class Gather : public UnaryPrimitive {
    +
    1046 public:
    +
    +
    1047 explicit Gather(
    +
    1048 Stream stream,
    +
    1049 const std::vector<int>& axes,
    +
    1050 const std::vector<int>& slice_sizes)
    +
    1051 : UnaryPrimitive(stream), axes_(axes), slice_sizes_(slice_sizes) {}
    -
    1058
    -
    1059 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1060 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1052
    +
    1053 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1054 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1055
    + + + +
    1059 bool is_equivalent(const Primitive& other) const override;
    +
    1060 std::vector<Shape> output_shapes(const std::vector<array>& inputs) override;
    1061
    - - - -
    1065 bool is_equivalent(const Primitive& other) const override;
    -
    1066
    -
    1067 private:
    -
    1068 void eval(const std::vector<array>& inputs, array& out);
    -
    1069 std::vector<int> axes_;
    -
    1070 std::vector<int> slice_sizes_;
    -
    1071};
    +
    1062 private:
    +
    1063 void eval(const std::vector<array>& inputs, array& out);
    +
    1064 std::vector<int> axes_;
    +
    1065 std::vector<int> slice_sizes_;
    +
    1066};
    -
    1072
    -
    -
    1073class Greater : public UnaryPrimitive {
    -
    1074 public:
    -
    1075 explicit Greater(Stream stream) : UnaryPrimitive(stream) {}
    -
    1076
    -
    1077 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1078 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1079
    - - - - - -
    1085
    -
    1086 private:
    -
    1087 void eval(const std::vector<array>& inputs, array& out);
    -
    1088};
    +
    1067
    +
    +
    1068class Greater : public UnaryPrimitive {
    +
    1069 public:
    +
    1070 explicit Greater(Stream stream) : UnaryPrimitive(stream) {}
    +
    1071
    +
    1072 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1073 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1074
    + + + + + +
    1080
    +
    1081 private:
    +
    1082 void eval(const std::vector<array>& inputs, array& out);
    +
    1083};
    -
    1089
    -
    - -
    1091 public:
    -
    1092 explicit GreaterEqual(Stream stream) : UnaryPrimitive(stream) {}
    -
    1093
    -
    1094 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1095 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1096
    - - - - - -
    1102
    -
    1103 private:
    -
    1104 void eval(const std::vector<array>& inputs, array& out);
    -
    1105};
    +
    1084
    +
    + +
    1086 public:
    +
    1087 explicit GreaterEqual(Stream stream) : UnaryPrimitive(stream) {}
    +
    1088
    +
    1089 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1090 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1091
    + + + + + +
    1097
    +
    1098 private:
    +
    1099 void eval(const std::vector<array>& inputs, array& out);
    +
    1100};
    +
    +
    1101
    +
    +
    1102class Hadamard : public UnaryPrimitive {
    +
    1103 public:
    +
    +
    1104 explicit Hadamard(Stream stream, float scale)
    +
    1105 : UnaryPrimitive(stream), scale_(scale) {}
    1106
    -
    -
    1107class Hadamard : public UnaryPrimitive {
    -
    1108 public:
    -
    -
    1109 explicit Hadamard(Stream stream, float scale)
    -
    1110 : UnaryPrimitive(stream), scale_(scale) {}
    -
    -
    1111
    -
    1112 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1113 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1107 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1108 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1109
    + + + +
    1114
    - - - - +
    1115 bool is_equivalent(const Primitive& other) const override;
    +
    1116
    +
    1117 private:
    +
    1118 float scale_;
    1119
    -
    1120 bool is_equivalent(const Primitive& other) const override;
    -
    1121
    -
    1122 private:
    -
    1123 float scale_;
    -
    1124
    -
    1125 void eval(const std::vector<array>& inputs, array& out);
    -
    1126};
    +
    1120 void eval(const std::vector<array>& inputs, array& out);
    +
    1121};
    -
    1127
    -
    -
    1128class Imag : public UnaryPrimitive {
    -
    1129 public:
    -
    1130 explicit Imag(Stream stream) : UnaryPrimitive(stream) {}
    -
    1131
    -
    1132 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1133 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1134
    - - - - - -
    1140};
    +
    1122
    +
    +
    1123class Imag : public UnaryPrimitive {
    +
    1124 public:
    +
    1125 explicit Imag(Stream stream) : UnaryPrimitive(stream) {}
    +
    1126
    +
    1127 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1128 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1129
    + + + + + +
    1135};
    -
    1141
    -
    -
    1142class Less : public UnaryPrimitive {
    -
    1143 public:
    -
    1144 explicit Less(Stream stream) : UnaryPrimitive(stream) {}
    -
    1145
    -
    1146 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1147 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1148
    - - - - - -
    1154
    -
    1155 private:
    -
    1156 void eval(const std::vector<array>& inputs, array& out);
    -
    1157};
    +
    1136
    +
    +
    1137class Less : public UnaryPrimitive {
    +
    1138 public:
    +
    1139 explicit Less(Stream stream) : UnaryPrimitive(stream) {}
    +
    1140
    +
    1141 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1142 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1143
    + + + + + +
    1149
    +
    1150 private:
    +
    1151 void eval(const std::vector<array>& inputs, array& out);
    +
    1152};
    -
    1158
    -
    - -
    1160 public:
    -
    1161 explicit LessEqual(Stream stream) : UnaryPrimitive(stream) {}
    -
    1162
    -
    1163 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1164 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1165
    - - - - - -
    1171
    -
    1172 private:
    -
    1173 void eval(const std::vector<array>& inputs, array& out);
    -
    1174};
    +
    1153
    +
    + +
    1155 public:
    +
    1156 explicit LessEqual(Stream stream) : UnaryPrimitive(stream) {}
    +
    1157
    +
    1158 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1159 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1160
    + + + + + +
    1166
    +
    1167 private:
    +
    1168 void eval(const std::vector<array>& inputs, array& out);
    +
    1169};
    -
    1175
    -
    -
    1176class Load : public UnaryPrimitive {
    -
    1177 public:
    -
    -
    1178 explicit Load(
    -
    1179 Stream stream,
    -
    1180 std::shared_ptr<io::Reader> reader,
    -
    1181 size_t offset,
    -
    1182 bool swap_endianness = false)
    -
    1183 : UnaryPrimitive(stream),
    -
    1184 reader_(std::move(reader)),
    -
    1185 offset_(offset),
    -
    1186 swap_endianness_(swap_endianness) {
    -
    1187 if (stream.device == Device::gpu) {
    -
    1188 io_stream();
    -
    1189 }
    -
    1190 }
    +
    1170
    +
    +
    1171class Load : public UnaryPrimitive {
    +
    1172 public:
    +
    +
    1173 explicit Load(
    +
    1174 Stream stream,
    +
    1175 std::shared_ptr<io::Reader> reader,
    +
    1176 size_t offset,
    +
    1177 bool swap_endianness = false)
    +
    1178 : UnaryPrimitive(stream),
    +
    1179 reader_(std::move(reader)),
    +
    1180 offset_(offset),
    +
    1181 swap_endianness_(swap_endianness) {
    +
    1182 if (stream.device == Device::gpu) {
    +
    1183 io_stream();
    +
    1184 }
    +
    1185 }
    +
    1186
    +
    1187 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1188 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1189
    +
    1191
    -
    1192 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1193 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1194
    - -
    1196
    -
    1197 private:
    -
    1198 Stream& io_stream() {
    -
    1199 static Stream io_stream = new_stream(Device::cpu);
    -
    1200 return io_stream;
    -
    1201 };
    -
    1202 void eval(const std::vector<array>& inputs, array& out);
    -
    1203 std::shared_ptr<io::Reader> reader_;
    -
    1204 size_t offset_;
    -
    1205 bool swap_endianness_;
    -
    1206};
    +
    1192 private:
    +
    1193 Stream& io_stream() {
    +
    1194 static Stream io_stream = new_stream(Device::cpu);
    +
    1195 return io_stream;
    +
    1196 };
    +
    1197 void eval(const std::vector<array>& inputs, array& out);
    +
    1198 std::shared_ptr<io::Reader> reader_;
    +
    1199 size_t offset_;
    +
    1200 bool swap_endianness_;
    +
    1201};
    -
    1207
    -
    -
    1208class Log : public UnaryPrimitive {
    -
    1209 public:
    -
    1210 enum Base { two, ten, e };
    -
    1211
    -
    -
    1212 explicit Log(Stream stream, Base base)
    -
    1213 : UnaryPrimitive(stream), base_(base) {}
    +
    1202
    +
    +
    1203class Log : public UnaryPrimitive {
    +
    1204 public:
    +
    1205 enum Base { two, ten, e };
    +
    1206
    +
    +
    1207 explicit Log(Stream stream, Base base)
    +
    1208 : UnaryPrimitive(stream), base_(base) {}
    -
    1214
    -
    1215 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1216 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1209
    +
    1210 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1211 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1212
    + + + +
    1217
    - - - - -
    1222
    -
    -
    1223 void print(std::ostream& os) override {
    -
    1224 switch (base_) {
    -
    1225 case e:
    -
    1226 os << "Log";
    -
    1227 break;
    -
    1228 case two:
    -
    1229 os << "Log2";
    -
    1230 break;
    -
    1231 case ten:
    -
    1232 os << "Log10";
    -
    1233 break;
    -
    1234 }
    -
    1235 }
    +
    +
    1218 void print(std::ostream& os) override {
    +
    1219 switch (base_) {
    +
    1220 case e:
    +
    1221 os << "Log";
    +
    1222 break;
    +
    1223 case two:
    +
    1224 os << "Log2";
    +
    1225 break;
    +
    1226 case ten:
    +
    1227 os << "Log10";
    +
    1228 break;
    +
    1229 }
    +
    1230 }
    +
    +
    1231
    +
    1232 private:
    +
    1233 Base base_;
    +
    1234 void eval(const std::vector<array>& inputs, array& out);
    +
    1235};
    1236
    -
    1237 private:
    -
    1238 Base base_;
    -
    1239 void eval(const std::vector<array>& inputs, array& out);
    -
    1240};
    -
    -
    1241
    -
    -
    1242class Log1p : public UnaryPrimitive {
    -
    1243 public:
    -
    1244 explicit Log1p(Stream stream) : UnaryPrimitive(stream) {}
    -
    1245
    -
    1246 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1247 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    +
    1237class Log1p : public UnaryPrimitive {
    +
    1238 public:
    +
    1239 explicit Log1p(Stream stream) : UnaryPrimitive(stream) {}
    +
    1240
    +
    1241 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1242 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1243
    + + + +
    1248
    - - - - -
    1253
    -
    1254 private:
    -
    1255 void eval(const std::vector<array>& inputs, array& out);
    -
    1256};
    +
    1249 private:
    +
    1250 void eval(const std::vector<array>& inputs, array& out);
    +
    1251};
    -
    1257
    -
    - -
    1259 public:
    -
    1260 explicit LogicalNot(Stream stream) : UnaryPrimitive(stream) {}
    -
    1261
    -
    1262 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1263 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1264
    - - - - - -
    1270
    -
    1271 private:
    -
    1272 void eval(const std::vector<array>& inputs, array& out);
    -
    1273};
    +
    1252
    +
    + +
    1254 public:
    +
    1255 explicit LogicalNot(Stream stream) : UnaryPrimitive(stream) {}
    +
    1256
    +
    1257 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1258 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1259
    + + + + + +
    1265
    +
    1266 private:
    +
    1267 void eval(const std::vector<array>& inputs, array& out);
    +
    1268};
    -
    1274
    -
    - -
    1276 public:
    -
    1277 explicit LogicalAnd(Stream stream) : UnaryPrimitive(stream) {}
    -
    1278
    -
    1279 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1280 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1281
    - - - - - -
    1287
    -
    1288 private:
    -
    1289 void eval(const std::vector<array>& inputs, array& out);
    -
    1290};
    +
    1269
    +
    + +
    1271 public:
    +
    1272 explicit LogicalAnd(Stream stream) : UnaryPrimitive(stream) {}
    +
    1273
    +
    1274 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1275 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1276
    + + + + + +
    1282
    +
    1283 private:
    +
    1284 void eval(const std::vector<array>& inputs, array& out);
    +
    1285};
    -
    1291
    -
    - -
    1293 public:
    -
    1294 explicit LogicalOr(Stream stream) : UnaryPrimitive(stream) {}
    -
    1295
    -
    1296 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1297 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1298
    - - - - - -
    1304
    -
    1305 private:
    -
    1306 void eval(const std::vector<array>& inputs, array& out);
    -
    1307};
    +
    1286
    +
    + +
    1288 public:
    +
    1289 explicit LogicalOr(Stream stream) : UnaryPrimitive(stream) {}
    +
    1290
    +
    1291 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1292 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1293
    + + + + + +
    1299
    +
    1300 private:
    +
    1301 void eval(const std::vector<array>& inputs, array& out);
    +
    1302};
    -
    1308
    -
    - -
    1310 public:
    -
    1311 explicit LogAddExp(Stream stream) : UnaryPrimitive(stream) {}
    -
    1312
    -
    1313 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1314 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1315
    - - - - - -
    1321
    -
    1322 private:
    -
    1323 void eval(const std::vector<array>& inputs, array& out);
    -
    1324};
    +
    1303
    +
    + +
    1305 public:
    +
    1306 explicit LogAddExp(Stream stream) : UnaryPrimitive(stream) {}
    +
    1307
    +
    1308 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1309 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1310
    + + + + + +
    1316
    +
    1317 private:
    +
    1318 void eval(const std::vector<array>& inputs, array& out);
    +
    1319};
    -
    1325
    -
    -
    1326class Matmul : public UnaryPrimitive {
    -
    1327 public:
    -
    1328 explicit Matmul(Stream stream) : UnaryPrimitive(stream) {}
    -
    1329
    -
    1330 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1331 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1332
    -
    1333 std::vector<array> vjp(
    -
    1334 const std::vector<array>& primals,
    -
    1335 const std::vector<array>& cotangents,
    -
    1336 const std::vector<int>& argnums,
    -
    1337 const std::vector<array>& outputs) override;
    -
    1338
    - - - -
    1342};
    +
    1320
    +
    +
    1321class Matmul : public UnaryPrimitive {
    +
    1322 public:
    +
    1323 explicit Matmul(Stream stream) : UnaryPrimitive(stream) {}
    +
    1324
    +
    1325 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1326 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1327
    +
    1328 std::vector<array> vjp(
    +
    1329 const std::vector<array>& primals,
    +
    1330 const std::vector<array>& cotangents,
    +
    1331 const std::vector<int>& argnums,
    +
    1332 const std::vector<array>& outputs) override;
    +
    1333
    + + + +
    1337 std::vector<Shape> output_shapes(const std::vector<array>& inputs) override;
    +
    1338};
    +
    1339
    +
    +
    1340class Maximum : public UnaryPrimitive {
    +
    1341 public:
    +
    1342 explicit Maximum(Stream stream) : UnaryPrimitive(stream) {}
    1343
    -
    -
    1344class Maximum : public UnaryPrimitive {
    -
    1345 public:
    -
    1346 explicit Maximum(Stream stream) : UnaryPrimitive(stream) {}
    -
    1347
    -
    1348 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1349 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1350
    - - - - - +
    1344 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1345 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1346
    + + + + + +
    1352
    +
    1353 private:
    +
    1354 void eval(const std::vector<array>& inputs, array& out);
    +
    1355};
    +
    1356
    -
    1357 private:
    -
    1358 void eval(const std::vector<array>& inputs, array& out);
    -
    1359};
    -
    +
    +
    1357class Minimum : public UnaryPrimitive {
    +
    1358 public:
    +
    1359 explicit Minimum(Stream stream) : UnaryPrimitive(stream) {}
    1360
    -
    -
    1361class Minimum : public UnaryPrimitive {
    -
    1362 public:
    -
    1363 explicit Minimum(Stream stream) : UnaryPrimitive(stream) {}
    -
    1364
    -
    1365 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1366 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1367
    - - - - - +
    1361 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1362 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1363
    + + + + + +
    1369
    +
    1370 private:
    +
    1371 void eval(const std::vector<array>& inputs, array& out);
    +
    1372};
    +
    1373
    -
    1374 private:
    -
    1375 void eval(const std::vector<array>& inputs, array& out);
    -
    1376};
    -
    +
    +
    1374class Multiply : public UnaryPrimitive {
    +
    1375 public:
    +
    1376 explicit Multiply(Stream stream) : UnaryPrimitive(stream) {}
    1377
    -
    -
    1378class Multiply : public UnaryPrimitive {
    -
    1379 public:
    -
    1380 explicit Multiply(Stream stream) : UnaryPrimitive(stream) {}
    -
    1381
    -
    1382 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1383 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1384
    - - - - - +
    1378 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1379 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1380
    + + + + + +
    1386
    +
    1387 private:
    +
    1388 void eval(const std::vector<array>& inputs, array& out);
    +
    1389};
    +
    1390
    -
    1391 private:
    -
    1392 void eval(const std::vector<array>& inputs, array& out);
    -
    1393};
    -
    +
    +
    1391class Negative : public UnaryPrimitive {
    +
    1392 public:
    +
    1393 explicit Negative(Stream stream) : UnaryPrimitive(stream) {}
    1394
    -
    -
    1395class Negative : public UnaryPrimitive {
    -
    1396 public:
    -
    1397 explicit Negative(Stream stream) : UnaryPrimitive(stream) {}
    -
    1398
    -
    1399 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1400 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1401
    - - - - - +
    1395 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1396 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1397
    + + + + + +
    1403
    +
    1404 private:
    +
    1405 void eval(const std::vector<array>& inputs, array& out);
    +
    1406};
    +
    1407
    -
    1408 private:
    -
    1409 void eval(const std::vector<array>& inputs, array& out);
    -
    1410};
    -
    +
    +
    1408class NotEqual : public UnaryPrimitive {
    +
    1409 public:
    +
    1410 explicit NotEqual(Stream stream) : UnaryPrimitive(stream) {}
    1411
    -
    -
    1412class NotEqual : public UnaryPrimitive {
    -
    1413 public:
    -
    1414 explicit NotEqual(Stream stream) : UnaryPrimitive(stream) {}
    -
    1415
    -
    1416 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1417 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1418
    - - - - - +
    1412 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1413 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1414
    + + + + + +
    1420
    +
    1421 private:
    +
    1422 void eval(const std::vector<array>& inputs, array& out);
    +
    1423};
    +
    1424
    -
    1425 private:
    -
    1426 void eval(const std::vector<array>& inputs, array& out);
    -
    1427};
    +
    + +
    1426 public:
    +
    + +
    1428 Stream stream,
    +
    1429 std::vector<int> axes,
    +
    1430 bool inverted,
    +
    1431 Dtype dtype)
    +
    1432 : UnaryPrimitive(stream),
    +
    1433 axes_(std::move(axes)),
    +
    1434 inverted_(inverted),
    +
    1435 dtype_(dtype) {}
    -
    1428
    -
    - -
    1430 public:
    -
    - -
    1432 Stream stream,
    -
    1433 std::vector<int> axes,
    -
    1434 bool inverted,
    -
    1435 Dtype dtype)
    -
    1436 : UnaryPrimitive(stream),
    -
    1437 axes_(std::move(axes)),
    -
    1438 inverted_(inverted),
    -
    1439 dtype_(dtype) {}
    -
    -
    1440
    -
    1441 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1442 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1443
    - - -
    1446 bool is_equivalent(const Primitive& other) const override;
    -
    -
    1447 std::vector<std::vector<int>> output_shapes(
    -
    1448 const std::vector<array>& inputs) override {
    -
    1449 return {{}};
    -
    1450 }
    +
    1436
    +
    1437 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1438 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1439
    + + +
    1442 bool is_equivalent(const Primitive& other) const override;
    +
    +
    1443 std::vector<Shape> output_shapes(const std::vector<array>& inputs) override {
    +
    1444 return {{}};
    +
    1445 }
    +
    1446
    +
    1447 private:
    +
    1448 std::vector<int> axes_;
    +
    1449 bool inverted_;
    +
    1450 Dtype dtype_;
    1451
    -
    1452 private:
    -
    1453 std::vector<int> axes_;
    -
    1454 bool inverted_;
    -
    1455 Dtype dtype_;
    -
    1456
    -
    1457 void eval(const std::vector<array>& inputs, array& out);
    -
    1458};
    +
    1452 void eval(const std::vector<array>& inputs, array& out);
    +
    1453};
    -
    1459
    -
    -
    1460class Pad : public UnaryPrimitive {
    -
    1461 public:
    -
    -
    1462 explicit Pad(
    -
    1463 Stream stream,
    -
    1464 const std::vector<int>& axes,
    -
    1465 const std::vector<int>& low_pad_size,
    -
    1466 const std::vector<int>& high_pad_size)
    -
    1467 : UnaryPrimitive(stream),
    -
    1468 axes_(axes),
    -
    1469 low_pad_size_(low_pad_size),
    -
    1470 high_pad_size_(high_pad_size) {}
    +
    1454
    +
    +
    1455class Pad : public UnaryPrimitive {
    +
    1456 public:
    +
    +
    1457 explicit Pad(
    +
    1458 Stream stream,
    +
    1459 const std::vector<int>& axes,
    +
    1460 const std::vector<int>& low_pad_size,
    +
    1461 const std::vector<int>& high_pad_size)
    +
    1462 : UnaryPrimitive(stream),
    +
    1463 axes_(axes),
    +
    1464 low_pad_size_(low_pad_size),
    +
    1465 high_pad_size_(high_pad_size) {}
    -
    1471
    -
    1472 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1473 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1466
    +
    1467 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1468 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1469
    + + + +
    1473 bool is_equivalent(const Primitive& other) const override;
    1474
    - - - -
    1478 bool is_equivalent(const Primitive& other) const override;
    +
    1475 private:
    +
    1476 std::vector<int> axes_;
    +
    1477 std::vector<int> low_pad_size_;
    +
    1478 std::vector<int> high_pad_size_;
    1479
    -
    1480 private:
    -
    1481 std::vector<int> axes_;
    -
    1482 std::vector<int> low_pad_size_;
    -
    1483 std::vector<int> high_pad_size_;
    -
    1484
    -
    1485 void eval(const std::vector<array>& inputs, array& out);
    -
    1486};
    +
    1480 void eval(const std::vector<array>& inputs, array& out);
    +
    1481};
    +
    +
    1482
    +
    + +
    1484 public:
    +
    +
    1485 explicit Partition(Stream stream, int kth, int axis)
    +
    1486 : UnaryPrimitive(stream), kth_(kth), axis_(axis) {}
    1487
    -
    - -
    1489 public:
    -
    -
    1490 explicit Partition(Stream stream, int kth, int axis)
    -
    1491 : UnaryPrimitive(stream), kth_(kth), axis_(axis) {}
    +
    1488 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1489 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1490
    + + + + +
    1495 bool is_equivalent(const Primitive& other) const override;
    +
    1496
    +
    1497 private:
    +
    1498 int kth_;
    +
    1499 int axis_;
    +
    1500
    +
    1501 void eval(const std::vector<array>& inputs, array& out);
    +
    1502};
    -
    1492
    -
    1493 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1494 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1495
    - - - - -
    1500 bool is_equivalent(const Primitive& other) const override;
    -
    1501
    -
    1502 private:
    -
    1503 int kth_;
    -
    1504 int axis_;
    -
    1505
    -
    1506 void eval(const std::vector<array>& inputs, array& out);
    -
    1507};
    +
    1503
    +
    +
    1504class Power : public UnaryPrimitive {
    +
    1505 public:
    +
    1506 explicit Power(Stream stream) : UnaryPrimitive(stream) {}
    +
    1507
    +
    1508 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1509 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1510
    + + + + + +
    1516
    +
    1517 private:
    +
    1518 void eval(const std::vector<array>& inputs, array& out);
    +
    1519};
    -
    1508
    -
    -
    1509class Power : public UnaryPrimitive {
    -
    1510 public:
    -
    1511 explicit Power(Stream stream) : UnaryPrimitive(stream) {}
    -
    1512
    -
    1513 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1514 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1515
    - - - - - -
    1521
    -
    1522 private:
    -
    1523 void eval(const std::vector<array>& inputs, array& out);
    -
    1524};
    +
    1520
    +
    + +
    1522 public:
    +
    + +
    1524 Stream stream,
    +
    1525 int group_size,
    +
    1526 int bits,
    +
    1527 bool transpose)
    +
    1528 : UnaryPrimitive(stream),
    +
    1529 group_size_(group_size),
    +
    1530 bits_(bits),
    +
    1531 transpose_(transpose) {}
    -
    1525
    -
    - -
    1527 public:
    -
    - -
    1529 Stream stream,
    -
    1530 int group_size,
    -
    1531 int bits,
    -
    1532 bool transpose)
    -
    1533 : UnaryPrimitive(stream),
    -
    1534 group_size_(group_size),
    -
    1535 bits_(bits),
    -
    1536 transpose_(transpose) {}
    +
    1532
    +
    1533 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1534 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1535
    + + + +
    1539 bool is_equivalent(const Primitive& other) const override;
    +
    1540 std::vector<Shape> output_shapes(const std::vector<array>& inputs) override;
    +
    1541
    +
    1542 private:
    +
    1543 int group_size_;
    +
    1544 int bits_;
    +
    1545 bool transpose_;
    +
    1546
    +
    1547 void eval(const std::vector<array>& inputs, array& out);
    +
    1548};
    -
    1537
    -
    1538 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1539 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1540
    - - - -
    1544 bool is_equivalent(const Primitive& other) const override;
    -
    1545
    -
    1546 private:
    -
    1547 int group_size_;
    -
    1548 int bits_;
    -
    1549 bool transpose_;
    -
    1550
    -
    1551 void eval(const std::vector<array>& inputs, array& out);
    -
    1552};
    +
    1549
    +
    + +
    1551 public:
    +
    +
    1552 explicit GatherQMM(Stream stream, int group_size, int bits, bool transpose)
    +
    1553 : UnaryPrimitive(stream),
    +
    1554 group_size_(group_size),
    +
    1555 bits_(bits),
    +
    1556 transpose_(transpose) {}
    -
    1553
    -
    - -
    1555 public:
    -
    -
    1556 explicit GatherQMM(Stream stream, int group_size, int bits, bool transpose)
    -
    1557 : UnaryPrimitive(stream),
    -
    1558 group_size_(group_size),
    -
    1559 bits_(bits),
    -
    1560 transpose_(transpose) {}
    +
    1557
    +
    1558 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1559 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1560
    + + + +
    1564 bool is_equivalent(const Primitive& other) const override;
    +
    1565
    +
    1566 private:
    +
    1567 int group_size_;
    +
    1568 int bits_;
    +
    1569 bool transpose_;
    +
    1570
    +
    1571 void eval(const std::vector<array>& inputs, array& out);
    +
    1572};
    -
    1561
    -
    1562 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1563 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1564
    - - - -
    1568 bool is_equivalent(const Primitive& other) const override;
    -
    1569
    -
    1570 private:
    -
    1571 int group_size_;
    -
    1572 int bits_;
    -
    1573 bool transpose_;
    -
    1574
    -
    1575 void eval(const std::vector<array>& inputs, array& out);
    -
    1576};
    +
    1573
    +
    + +
    1575 public:
    +
    +
    1576 explicit RandomBits(Stream stream, const Shape& shape, int width)
    +
    1577 : UnaryPrimitive(stream), shape_(shape), width_(width) {}
    -
    1577
    -
    - -
    1579 public:
    -
    -
    1580 explicit RandomBits(Stream stream, const std::vector<int>& shape, int width)
    -
    1581 : UnaryPrimitive(stream), shape_(shape), width_(width) {}
    -
    -
    1582
    -
    1583 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1584 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1578
    +
    1579 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1580 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1581
    + + +
    1584 bool is_equivalent(const Primitive& other) const override;
    1585
    - - -
    1588 bool is_equivalent(const Primitive& other) const override;
    +
    1586 private:
    +
    1587 Shape shape_;
    +
    1588 int width_;
    1589
    -
    1590 private:
    -
    1591 std::vector<int> shape_;
    -
    1592 int width_;
    -
    1593
    -
    1594 void eval(const std::vector<array>& inputs, array& out);
    -
    1595};
    +
    1590 void eval(const std::vector<array>& inputs, array& out);
    +
    1591};
    +
    1592
    +
    +
    1593class Real : public UnaryPrimitive {
    +
    1594 public:
    +
    1595 explicit Real(Stream stream) : UnaryPrimitive(stream) {}
    1596
    -
    -
    1597class Real : public UnaryPrimitive {
    -
    1598 public:
    -
    1599 explicit Real(Stream stream) : UnaryPrimitive(stream) {}
    -
    1600
    -
    1601 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1602 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1603
    - - - - - -
    1609};
    +
    1597 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1598 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1599
    + + + + + +
    1605};
    -
    1610
    -
    -
    1611class Reshape : public UnaryPrimitive {
    -
    1612 public:
    -
    -
    1613 explicit Reshape(Stream stream, const std::vector<int>& shape)
    -
    1614 : UnaryPrimitive(stream), shape_(shape) {}
    +
    1606
    +
    +
    1607class Reshape : public UnaryPrimitive {
    +
    1608 public:
    +
    +
    1609 explicit Reshape(Stream stream, const Shape& shape)
    +
    1610 : UnaryPrimitive(stream), shape_(shape) {}
    -
    1615
    -
    1616 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1617 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1618
    - - - -
    1622 bool is_equivalent(const Primitive& other) const override;
    -
    1623
    -
    1624 private:
    -
    1625 std::vector<int> shape_;
    -
    1626
    -
    1627 void eval(const std::vector<array>& inputs, array& out);
    -
    1628
    -
    1629 std::pair<bool, std::vector<size_t>> prepare_reshape(
    -
    1630 const array& in,
    -
    1631 const array& out);
    -
    1632 void shared_buffer_reshape(
    -
    1633 const array& in,
    -
    1634 const std::vector<size_t>& out_strides,
    -
    1635 array& out);
    -
    1636};
    +
    1611
    +
    1612 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1613 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1614
    + + + +
    1618 bool is_equivalent(const Primitive& other) const override;
    +
    1619
    +
    1620 private:
    +
    1621 Shape shape_;
    +
    1622
    +
    1623 void eval(const std::vector<array>& inputs, array& out);
    +
    1624
    +
    1625 static std::pair<bool, Strides> prepare_reshape(
    +
    1626 const array& in,
    +
    1627 const array& out);
    +
    1628 static void shared_buffer_reshape(
    +
    1629 const array& in,
    +
    1630 const Strides& out_strides,
    +
    1631 array& out);
    +
    1632};
    +
    1633
    +
    +
    1634class Reduce : public UnaryPrimitive {
    +
    1635 public:
    +
    1636 enum ReduceType { And, Or, Sum, Prod, Min, Max };
    1637
    -
    -
    1638class Reduce : public UnaryPrimitive {
    -
    1639 public:
    -
    1640 enum ReduceType { And, Or, Sum, Prod, Min, Max };
    -
    1641
    -
    -
    1642 explicit Reduce(
    -
    1643 Stream stream,
    -
    1644 ReduceType reduce_type,
    -
    1645 const std::vector<int>& axes)
    -
    1646 : UnaryPrimitive(stream), reduce_type_(reduce_type), axes_(axes) {}
    +
    +
    1638 explicit Reduce(
    +
    1639 Stream stream,
    +
    1640 ReduceType reduce_type,
    +
    1641 const std::vector<int>& axes)
    +
    1642 : UnaryPrimitive(stream), reduce_type_(reduce_type), axes_(axes) {}
    -
    1647
    -
    1648 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1649 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1650
    - -
    1652
    -
    1653 std::vector<array> vjp(
    -
    1654 const std::vector<array>& primals,
    -
    1655 const std::vector<array>& cotangents,
    -
    1656 const std::vector<int>& argnums,
    -
    1657 const std::vector<array>& outputs) override;
    -
    1658
    -
    1659 std::vector<std::vector<int>> output_shapes(
    -
    1660 const std::vector<array>& inputs) override;
    -
    1661
    -
    -
    1662 void print(std::ostream& os) override {
    -
    1663 switch (reduce_type_) {
    -
    1664 case And:
    -
    1665 os << "And";
    -
    1666 break;
    -
    1667 case Or:
    -
    1668 os << "Or";
    -
    1669 break;
    -
    1670 case Sum:
    -
    1671 os << "Sum";
    -
    1672 break;
    -
    1673 case Prod:
    -
    1674 os << "Prod";
    -
    1675 break;
    -
    1676 case Min:
    -
    1677 os << "Min";
    -
    1678 break;
    -
    1679 case Max:
    -
    1680 os << "Max";
    -
    1681 break;
    -
    1682 }
    -
    1683 }
    +
    1643
    +
    1644 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1645 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1646
    + +
    1648
    +
    1649 std::vector<array> vjp(
    +
    1650 const std::vector<array>& primals,
    +
    1651 const std::vector<array>& cotangents,
    +
    1652 const std::vector<int>& argnums,
    +
    1653 const std::vector<array>& outputs) override;
    +
    1654
    +
    1655 std::vector<Shape> output_shapes(const std::vector<array>& inputs) override;
    +
    1656
    +
    +
    1657 void print(std::ostream& os) override {
    +
    1658 switch (reduce_type_) {
    +
    1659 case And:
    +
    1660 os << "And";
    +
    1661 break;
    +
    1662 case Or:
    +
    1663 os << "Or";
    +
    1664 break;
    +
    1665 case Sum:
    +
    1666 os << "Sum";
    +
    1667 break;
    +
    1668 case Prod:
    +
    1669 os << "Prod";
    +
    1670 break;
    +
    1671 case Min:
    +
    1672 os << "Min";
    +
    1673 break;
    +
    1674 case Max:
    +
    1675 os << "Max";
    +
    1676 break;
    +
    1677 }
    +
    1678 }
    -
    1684 bool is_equivalent(const Primitive& other) const override;
    -
    1685
    -
    1686 private:
    -
    1687 ReduceType reduce_type_;
    -
    1688 std::vector<int> axes_;
    -
    1689
    -
    1690 void eval(const std::vector<array>& inputs, array& out);
    -
    1691};
    +
    1679 bool is_equivalent(const Primitive& other) const override;
    +
    1680
    +
    1681 private:
    +
    1682 ReduceType reduce_type_;
    +
    1683 std::vector<int> axes_;
    +
    1684
    +
    1685 void eval(const std::vector<array>& inputs, array& out);
    +
    1686};
    -
    1692
    -
    -
    1693class Round : public UnaryPrimitive {
    -
    1694 public:
    -
    1695 explicit Round(Stream stream) : UnaryPrimitive(stream) {}
    -
    1696
    -
    1697 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1698 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1699
    - - - - - -
    1705
    -
    1706 private:
    -
    1707 void eval(const std::vector<array>& inputs, array& out);
    -
    1708};
    +
    1687
    +
    +
    1688class Round : public UnaryPrimitive {
    +
    1689 public:
    +
    1690 explicit Round(Stream stream) : UnaryPrimitive(stream) {}
    +
    1691
    +
    1692 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1693 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1694
    + + + + + +
    1700
    +
    1701 private:
    +
    1702 void eval(const std::vector<array>& inputs, array& out);
    +
    1703};
    -
    1709
    -
    -
    1710class Scan : public UnaryPrimitive {
    -
    1711 public:
    - -
    1713
    -
    -
    1714 explicit Scan(
    -
    1715 Stream stream,
    -
    1716 ReduceType reduce_type,
    -
    1717 int axis,
    -
    1718 bool reverse,
    -
    1719 bool inclusive)
    -
    1720 : UnaryPrimitive(stream),
    -
    1721 reduce_type_(reduce_type),
    -
    1722 axis_(axis),
    -
    1723 reverse_(reverse),
    -
    1724 inclusive_(inclusive) {}
    +
    1704
    +
    +
    1705class Scan : public UnaryPrimitive {
    +
    1706 public:
    + +
    1708
    +
    +
    1709 explicit Scan(
    +
    1710 Stream stream,
    +
    1711 ReduceType reduce_type,
    +
    1712 int axis,
    +
    1713 bool reverse,
    +
    1714 bool inclusive)
    +
    1715 : UnaryPrimitive(stream),
    +
    1716 reduce_type_(reduce_type),
    +
    1717 axis_(axis),
    +
    1718 reverse_(reverse),
    +
    1719 inclusive_(inclusive) {}
    -
    1725
    -
    1726 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1727 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1728
    - - -
    1731
    -
    -
    1732 void print(std::ostream& os) override {
    -
    1733 os << "Cum";
    -
    1734 switch (reduce_type_) {
    -
    1735 case Sum:
    -
    1736 os << "Sum";
    -
    1737 break;
    -
    1738 case Prod:
    -
    1739 os << "Prod";
    -
    1740 break;
    -
    1741 case Min:
    -
    1742 os << "Min";
    -
    1743 break;
    -
    1744 case Max:
    -
    1745 os << "Max";
    -
    1746 break;
    -
    1747 }
    -
    1748 }
    +
    1720
    +
    1721 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1722 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1723
    + + +
    1726
    +
    +
    1727 void print(std::ostream& os) override {
    +
    1728 os << "Cum";
    +
    1729 switch (reduce_type_) {
    +
    1730 case Sum:
    +
    1731 os << "Sum";
    +
    1732 break;
    +
    1733 case Prod:
    +
    1734 os << "Prod";
    +
    1735 break;
    +
    1736 case Min:
    +
    1737 os << "Min";
    +
    1738 break;
    +
    1739 case Max:
    +
    1740 os << "Max";
    +
    1741 break;
    +
    1742 }
    +
    1743 }
    -
    1749 bool is_equivalent(const Primitive& other) const override;
    -
    1750
    -
    1751 private:
    -
    1752 ReduceType reduce_type_;
    -
    1753 int axis_;
    -
    1754 bool reverse_;
    -
    1755 bool inclusive_;
    -
    1756
    -
    1757 void eval(const std::vector<array>& inputs, array& out);
    -
    1758};
    +
    1744 bool is_equivalent(const Primitive& other) const override;
    +
    1745
    +
    1746 private:
    +
    1747 ReduceType reduce_type_;
    +
    1748 int axis_;
    +
    1749 bool reverse_;
    +
    1750 bool inclusive_;
    +
    1751
    +
    1752 void eval(const std::vector<array>& inputs, array& out);
    +
    1753};
    -
    1759
    -
    -
    1760class Scatter : public UnaryPrimitive {
    -
    1761 public:
    - -
    1763
    -
    -
    1764 explicit Scatter(
    -
    1765 Stream stream,
    -
    1766 ReduceType reduce_type,
    -
    1767 const std::vector<int>& axes)
    -
    1768 : UnaryPrimitive(stream), reduce_type_(reduce_type), axes_(axes) {}
    +
    1754
    +
    +
    1755class Scatter : public UnaryPrimitive {
    +
    1756 public:
    + +
    1758
    +
    +
    1759 explicit Scatter(
    +
    1760 Stream stream,
    +
    1761 ReduceType reduce_type,
    +
    1762 const std::vector<int>& axes)
    +
    1763 : UnaryPrimitive(stream), reduce_type_(reduce_type), axes_(axes) {}
    -
    1769
    -
    1770 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1771 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1772
    - - -
    1775
    -
    -
    1776 void print(std::ostream& os) override {
    -
    1777 os << "Scatter";
    -
    1778 switch (reduce_type_) {
    -
    1779 case Sum:
    -
    1780 os << " Sum";
    -
    1781 break;
    -
    1782 case Prod:
    -
    1783 os << " Prod";
    -
    1784 break;
    -
    1785 case Min:
    -
    1786 os << " Min";
    +
    1764
    +
    1765 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1766 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1767
    + + +
    1770
    +
    +
    1771 void print(std::ostream& os) override {
    +
    1772 os << "Scatter";
    +
    1773 switch (reduce_type_) {
    +
    1774 case Sum:
    +
    1775 os << " Sum";
    +
    1776 break;
    +
    1777 case Prod:
    +
    1778 os << " Prod";
    +
    1779 break;
    +
    1780 case Min:
    +
    1781 os << " Min";
    +
    1782 break;
    +
    1783 case Max:
    +
    1784 os << " Max";
    +
    1785 break;
    +
    1786 case None:
    1787 break;
    -
    1788 case Max:
    -
    1789 os << " Max";
    -
    1790 break;
    -
    1791 case None:
    -
    1792 break;
    -
    1793 }
    -
    1794 }
    +
    1788 }
    +
    1789 }
    -
    1795 bool is_equivalent(const Primitive& other) const override;
    -
    1796
    -
    1797 private:
    -
    1798 void eval(const std::vector<array>& inputs, array& out);
    -
    1799 ReduceType reduce_type_;
    -
    1800 std::vector<int> axes_;
    -
    1801};
    +
    1790 bool is_equivalent(const Primitive& other) const override;
    +
    1791
    +
    1792 private:
    +
    1793 void eval(const std::vector<array>& inputs, array& out);
    +
    1794 ReduceType reduce_type_;
    +
    1795 std::vector<int> axes_;
    +
    1796};
    -
    1802
    -
    -
    1803class Sigmoid : public UnaryPrimitive {
    -
    1804 public:
    -
    1805 explicit Sigmoid(Stream stream) : UnaryPrimitive(stream) {}
    -
    1806
    -
    1807 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1808 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1809
    - - - - - -
    1815
    -
    1816 private:
    -
    1817 void eval(const std::vector<array>& inputs, array& out);
    -
    1818};
    +
    1797
    +
    +
    1798class Sigmoid : public UnaryPrimitive {
    +
    1799 public:
    +
    1800 explicit Sigmoid(Stream stream) : UnaryPrimitive(stream) {}
    +
    1801
    +
    1802 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1803 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1804
    + + + + + +
    1810
    +
    1811 private:
    +
    1812 void eval(const std::vector<array>& inputs, array& out);
    +
    1813};
    -
    1819
    -
    -
    1820class Sign : public UnaryPrimitive {
    -
    1821 public:
    -
    1822 explicit Sign(Stream stream) : UnaryPrimitive(stream) {}
    -
    1823
    -
    1824 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1825 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1826
    - - - - - -
    1832
    -
    1833 private:
    -
    1834 void eval(const std::vector<array>& inputs, array& out);
    -
    1835};
    +
    1814
    +
    +
    1815class Sign : public UnaryPrimitive {
    +
    1816 public:
    +
    1817 explicit Sign(Stream stream) : UnaryPrimitive(stream) {}
    +
    1818
    +
    1819 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1820 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1821
    + + + + + +
    1827
    +
    1828 private:
    +
    1829 void eval(const std::vector<array>& inputs, array& out);
    +
    1830};
    -
    1836
    -
    -
    1837class Sin : public UnaryPrimitive {
    -
    1838 public:
    -
    1839 explicit Sin(Stream stream) : UnaryPrimitive(stream) {}
    -
    1840
    -
    1841 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1842 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1843
    - - - - - -
    1849
    -
    1850 private:
    -
    1851 void eval(const std::vector<array>& inputs, array& out);
    -
    1852};
    +
    1831
    +
    +
    1832class Sin : public UnaryPrimitive {
    +
    1833 public:
    +
    1834 explicit Sin(Stream stream) : UnaryPrimitive(stream) {}
    +
    1835
    +
    1836 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1837 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1838
    + + + + + +
    1844
    +
    1845 private:
    +
    1846 void eval(const std::vector<array>& inputs, array& out);
    +
    1847};
    -
    1853
    -
    -
    1854class Sinh : public UnaryPrimitive {
    -
    1855 public:
    -
    1856 explicit Sinh(Stream stream) : UnaryPrimitive(stream) {}
    -
    1857
    -
    1858 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1859 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1860
    - - - - - -
    1866
    -
    1867 private:
    -
    1868 void eval(const std::vector<array>& inputs, array& out);
    -
    1869};
    +
    1848
    +
    +
    1849class Sinh : public UnaryPrimitive {
    +
    1850 public:
    +
    1851 explicit Sinh(Stream stream) : UnaryPrimitive(stream) {}
    +
    1852
    +
    1853 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1854 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1855
    + + + + + +
    1861
    +
    1862 private:
    +
    1863 void eval(const std::vector<array>& inputs, array& out);
    +
    1864};
    -
    1870
    -
    -
    1871class Slice : public UnaryPrimitive {
    -
    1872 public:
    -
    -
    1873 explicit Slice(
    -
    1874 Stream stream,
    -
    1875 const std::vector<int>& start_indices,
    -
    1876 const std::vector<int>& end_indices,
    -
    1877 const std::vector<int>& strides)
    -
    1878 : UnaryPrimitive(stream),
    -
    1879 start_indices_(start_indices),
    -
    1880 end_indices_(end_indices),
    -
    1881 strides_(strides) {}
    +
    1865
    +
    +
    1866class Slice : public UnaryPrimitive {
    +
    1867 public:
    +
    +
    1868 explicit Slice(
    +
    1869 Stream stream,
    +
    1870 const std::vector<int>& start_indices,
    +
    1871 const std::vector<int>& end_indices,
    +
    1872 const std::vector<int>& strides)
    +
    1873 : UnaryPrimitive(stream),
    +
    1874 start_indices_(start_indices),
    +
    1875 end_indices_(end_indices),
    +
    1876 strides_(strides) {}
    -
    1882
    -
    1883 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1884 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1877
    +
    1878 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1879 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1880
    + + + +
    1884 bool is_equivalent(const Primitive& other) const override;
    1885
    - - - -
    1889 bool is_equivalent(const Primitive& other) const override;
    +
    1886 private:
    +
    1887 std::vector<int> start_indices_;
    +
    1888 std::vector<int> end_indices_;
    +
    1889 std::vector<int> strides_;
    1890
    -
    1891 private:
    -
    1892 std::vector<int> start_indices_;
    -
    1893 std::vector<int> end_indices_;
    -
    1894 std::vector<int> strides_;
    -
    1895
    -
    1896 void eval(const std::vector<array>& inputs, array& out);
    -
    1897};
    +
    1891 void eval(const std::vector<array>& inputs, array& out);
    +
    1892};
    -
    1898
    -
    - -
    1900 public:
    -
    -
    1901 explicit SliceUpdate(
    -
    1902 Stream stream,
    -
    1903 const std::vector<int>& start_indices,
    -
    1904 const std::vector<int>& end_indices,
    -
    1905 const std::vector<int>& strides)
    -
    1906 : UnaryPrimitive(stream),
    -
    1907 start_indices_(start_indices),
    -
    1908 end_indices_(end_indices),
    -
    1909 strides_(strides) {}
    +
    1893
    +
    + +
    1895 public:
    +
    +
    1896 explicit SliceUpdate(
    +
    1897 Stream stream,
    +
    1898 const std::vector<int>& start_indices,
    +
    1899 const std::vector<int>& end_indices,
    +
    1900 const std::vector<int>& strides)
    +
    1901 : UnaryPrimitive(stream),
    +
    1902 start_indices_(start_indices),
    +
    1903 end_indices_(end_indices),
    +
    1904 strides_(strides) {}
    -
    1910
    -
    1911 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1912 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1905
    +
    1906 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1907 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1908
    + + + +
    1912 bool is_equivalent(const Primitive& other) const override;
    1913
    - - - -
    1917 bool is_equivalent(const Primitive& other) const override;
    +
    1914 private:
    +
    1915 std::vector<int> start_indices_;
    +
    1916 std::vector<int> end_indices_;
    +
    1917 std::vector<int> strides_;
    1918
    -
    1919 private:
    -
    1920 std::vector<int> start_indices_;
    -
    1921 std::vector<int> end_indices_;
    -
    1922 std::vector<int> strides_;
    +
    1919 void eval(const std::vector<array>& inputs, array& out);
    +
    1920
    +
    1921 std::tuple<int64_t, std::vector<int64_t>> prepare_slice(const array& in);
    +
    1922};
    +
    1923
    -
    1924 void eval(const std::vector<array>& inputs, array& out);
    -
    1925
    -
    1926 std::tuple<int64_t, std::vector<int64_t>> prepare_slice(const array& in);
    -
    1927};
    +
    +
    1924class Softmax : public UnaryPrimitive {
    +
    1925 public:
    +
    +
    1926 explicit Softmax(Stream stream, bool precise)
    +
    1927 : UnaryPrimitive(stream), precise_(precise) {}
    1928
    -
    -
    1929class Softmax : public UnaryPrimitive {
    -
    1930 public:
    -
    -
    1931 explicit Softmax(Stream stream, bool precise)
    -
    1932 : UnaryPrimitive(stream), precise_(precise) {}
    -
    -
    1933
    -
    1934 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1935 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1929 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1930 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1931
    + + + +
    1936
    - - - - -
    1941
    -
    1942 bool is_equivalent(const Primitive& other) const override;
    +
    1937 bool is_equivalent(const Primitive& other) const override;
    +
    1938
    +
    1939 private:
    +
    1940 void eval(const std::vector<array>& inputs, array& out);
    +
    1941 bool precise_;
    +
    1942};
    +
    1943
    -
    1944 private:
    -
    1945 void eval(const std::vector<array>& inputs, array& out);
    -
    1946 bool precise_;
    -
    1947};
    +
    +
    1944class Sort : public UnaryPrimitive {
    +
    1945 public:
    +
    +
    1946 explicit Sort(Stream stream, int axis)
    +
    1947 : UnaryPrimitive(stream), axis_(axis) {}
    1948
    -
    -
    1949class Sort : public UnaryPrimitive {
    -
    1950 public:
    -
    -
    1951 explicit Sort(Stream stream, int axis)
    -
    1952 : UnaryPrimitive(stream), axis_(axis) {}
    +
    1949 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1950 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1951
    + + + + +
    1956 bool is_equivalent(const Primitive& other) const override;
    +
    1957
    +
    1958 private:
    +
    1959 int axis_;
    +
    1960
    +
    1961 void eval(const std::vector<array>& inputs, array& out);
    +
    1962};
    -
    1953
    -
    1954 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1955 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1956
    - - - - -
    1961 bool is_equivalent(const Primitive& other) const override;
    -
    1962
    -
    1963 private:
    -
    1964 int axis_;
    -
    1965
    -
    1966 void eval(const std::vector<array>& inputs, array& out);
    -
    1967};
    +
    1963
    +
    +
    1964class Split : public Primitive {
    +
    1965 public:
    +
    +
    1966 explicit Split(Stream stream, const std::vector<int>& indices, int axis)
    +
    1967 : Primitive(stream), indices_(indices), axis_(axis) {}
    1968
    -
    -
    1969class Split : public Primitive {
    -
    1970 public:
    -
    -
    1971 explicit Split(Stream stream, const std::vector<int>& indices, int axis)
    -
    1972 : Primitive(stream), indices_(indices), axis_(axis) {}
    -
    +
    1969 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    1970 override;
    +
    1971 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    1972 override;
    1973
    -
    1974 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    1975 override;
    -
    1976 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    1977 override;
    + + + +
    1977 bool is_equivalent(const Primitive& other) const override;
    1978
    - - - -
    1982 bool is_equivalent(const Primitive& other) const override;
    -
    1983
    -
    1984 private:
    -
    1985 void eval(const std::vector<array>& inputs, std::vector<array>& outputs);
    -
    1986
    -
    1987 std::vector<int> indices_;
    -
    1988 int axis_;
    -
    1989};
    +
    1979 private:
    +
    1980 void eval(const std::vector<array>& inputs, std::vector<array>& outputs);
    +
    1981
    +
    1982 std::vector<int> indices_;
    +
    1983 int axis_;
    +
    1984};
    -
    1990
    -
    -
    1991class Square : public UnaryPrimitive {
    -
    1992 public:
    -
    1993 explicit Square(Stream stream) : UnaryPrimitive(stream) {}
    -
    1994
    -
    1995 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    1996 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    1997
    - - - - - -
    2003
    -
    2004 private:
    -
    2005 void eval(const std::vector<array>& inputs, array& out);
    -
    2006};
    +
    1985
    +
    +
    1986class Square : public UnaryPrimitive {
    +
    1987 public:
    +
    1988 explicit Square(Stream stream) : UnaryPrimitive(stream) {}
    +
    1989
    +
    1990 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    1991 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    1992
    + + + + + +
    1998
    +
    1999 private:
    +
    2000 void eval(const std::vector<array>& inputs, array& out);
    +
    2001};
    +
    +
    2002
    +
    +
    2003class Sqrt : public UnaryPrimitive {
    +
    2004 public:
    +
    +
    2005 explicit Sqrt(Stream stream, bool recip = false)
    +
    2006 : UnaryPrimitive(stream), recip_(recip) {}
    2007
    -
    -
    2008class Sqrt : public UnaryPrimitive {
    -
    2009 public:
    -
    -
    2010 explicit Sqrt(Stream stream, bool recip = false)
    -
    2011 : UnaryPrimitive(stream), recip_(recip) {}
    -
    -
    2012
    -
    2013 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    2014 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    2008 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    2009 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    2010
    + + + +
    2014 bool is_equivalent(const Primitive& other) const override;
    2015
    - - - -
    2019 bool is_equivalent(const Primitive& other) const override;
    -
    2020
    -
    -
    2021 void print(std::ostream& os) override {
    -
    2022 if (recip_) {
    -
    2023 os << "Rsqrt";
    -
    2024 } else {
    -
    2025 os << "Sqrt";
    -
    2026 }
    -
    2027 }
    +
    +
    2016 void print(std::ostream& os) override {
    +
    2017 if (recip_) {
    +
    2018 os << "Rsqrt";
    +
    2019 } else {
    +
    2020 os << "Sqrt";
    +
    2021 }
    +
    2022 }
    +
    +
    2023
    +
    2024 private:
    +
    2025 void eval(const std::vector<array>& inputs, array& out);
    +
    2026 bool recip_;
    +
    2027};
    2028
    -
    2029 private:
    -
    2030 void eval(const std::vector<array>& inputs, array& out);
    -
    2031 bool recip_;
    -
    2032};
    -
    -
    2033
    -
    - -
    2035 public:
    -
    2036 explicit StopGradient(Stream stream) : UnaryPrimitive(stream) {}
    -
    2037
    -
    2038 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    2039 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    + +
    2030 public:
    +
    2031 explicit StopGradient(Stream stream) : UnaryPrimitive(stream) {}
    +
    2032
    +
    2033 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    2034 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    2035
    + + + +
    2040
    - - - - -
    2045
    -
    2046 private:
    -
    2047 void eval(const std::vector<array>& inputs, array& out);
    -
    2048};
    +
    2041 private:
    +
    2042 void eval(const std::vector<array>& inputs, array& out);
    +
    2043};
    -
    2049
    -
    -
    2050class Subtract : public UnaryPrimitive {
    -
    2051 public:
    -
    2052 explicit Subtract(Stream stream) : UnaryPrimitive(stream) {}
    -
    2053
    -
    2054 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    2055 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    2056
    - - - - - -
    2062
    -
    2063 private:
    -
    2064 void eval(const std::vector<array>& inputs, array& out);
    -
    2065};
    +
    2044
    +
    +
    2045class Subtract : public UnaryPrimitive {
    +
    2046 public:
    +
    2047 explicit Subtract(Stream stream) : UnaryPrimitive(stream) {}
    +
    2048
    +
    2049 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    2050 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    2051
    + + + + + +
    2057
    +
    2058 private:
    +
    2059 void eval(const std::vector<array>& inputs, array& out);
    +
    2060};
    -
    2066
    -
    -
    2067class Tan : public UnaryPrimitive {
    -
    2068 public:
    -
    2069 explicit Tan(Stream stream) : UnaryPrimitive(stream) {}
    -
    2070
    -
    2071 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    2072 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    2073
    - - - - - -
    2079
    -
    2080 private:
    -
    2081 void eval(const std::vector<array>& inputs, array& out);
    -
    2082};
    +
    2061
    +
    +
    2062class Tan : public UnaryPrimitive {
    +
    2063 public:
    +
    2064 explicit Tan(Stream stream) : UnaryPrimitive(stream) {}
    +
    2065
    +
    2066 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    2067 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    2068
    + + + + + +
    2074
    +
    2075 private:
    +
    2076 void eval(const std::vector<array>& inputs, array& out);
    +
    2077};
    -
    2083
    -
    -
    2084class Tanh : public UnaryPrimitive {
    -
    2085 public:
    -
    2086 explicit Tanh(Stream stream) : UnaryPrimitive(stream) {}
    -
    2087
    -
    2088 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    2089 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    2090
    - - - - - -
    2096
    -
    2097 private:
    -
    2098 void eval(const std::vector<array>& inputs, array& out);
    -
    2099};
    +
    2078
    +
    +
    2079class Tanh : public UnaryPrimitive {
    +
    2080 public:
    +
    2081 explicit Tanh(Stream stream) : UnaryPrimitive(stream) {}
    +
    2082
    +
    2083 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    2084 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    2085
    + + + + + +
    2091
    +
    2092 private:
    +
    2093 void eval(const std::vector<array>& inputs, array& out);
    +
    2094};
    -
    2100
    -
    -
    2101class Uniform : public UnaryPrimitive {
    -
    2102 public:
    -
    2103 explicit Uniform(Stream stream) : UnaryPrimitive(stream) {}
    -
    2104
    -
    2105 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    2106 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    2107
    - - - -
    2111
    -
    2112 private:
    -
    2113 void eval(const std::vector<array>& inputs, array& out);
    -
    2114};
    +
    2095
    +
    +
    2096class Uniform : public UnaryPrimitive {
    +
    2097 public:
    +
    2098 explicit Uniform(Stream stream) : UnaryPrimitive(stream) {}
    +
    2099
    +
    2100 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    2101 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    2102
    + + + +
    2106
    +
    2107 private:
    +
    2108 void eval(const std::vector<array>& inputs, array& out);
    +
    2109};
    +
    +
    2110
    +
    +
    2111class View : public UnaryPrimitive {
    +
    2112 public:
    +
    +
    2113 explicit View(Stream stream, Dtype dtype)
    +
    2114 : UnaryPrimitive(stream), dtype_(dtype) {}
    2115
    -
    -
    2116class View : public UnaryPrimitive {
    -
    2117 public:
    -
    -
    2118 explicit View(Stream stream, Dtype dtype)
    -
    2119 : UnaryPrimitive(stream), dtype_(dtype) {}
    +
    2116 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    2117 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    2118
    + +
    2120 void print(std::ostream& os) override;
    +
    2121 bool is_equivalent(const Primitive& other) const override;
    +
    2122
    +
    2123 private:
    +
    2124 Dtype dtype_;
    +
    2125};
    -
    2120
    -
    2121 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    2122 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    2123
    - -
    2125 void print(std::ostream& os) override;
    -
    2126 bool is_equivalent(const Primitive& other) const override;
    -
    2127
    -
    2128 private:
    -
    2129 Dtype dtype_;
    -
    2130};
    +
    2126
    +
    + +
    2128 public:
    +
    +
    2129 explicit Transpose(Stream stream, const std::vector<int>& axes)
    +
    2130 : UnaryPrimitive(stream), axes_(axes) {}
    2131
    -
    - -
    2133 public:
    -
    -
    2134 explicit Transpose(Stream stream, const std::vector<int>& axes)
    -
    2135 : UnaryPrimitive(stream), axes_(axes) {}
    +
    2132 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    2133 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    2134
    + + + +
    2138 bool is_equivalent(const Primitive& other) const override;
    +
    2139 std::vector<Shape> output_shapes(const std::vector<array>& inputs) override;
    +
    2140
    +
    2141 private:
    +
    2142 std::vector<int> axes_;
    +
    2143
    +
    2144 void eval(const std::vector<array>& inputs, array& out);
    +
    2145};
    -
    2136
    -
    2137 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    2138 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    2139
    - - - -
    2143 bool is_equivalent(const Primitive& other) const override;
    -
    2144
    -
    2145 private:
    -
    2146 std::vector<int> axes_;
    -
    2147
    -
    2148 void eval(const std::vector<array>& inputs, array& out);
    -
    2149};
    +
    2146
    +
    2147/* QR Factorization primitive. */
    +
    +
    2148class QRF : public Primitive {
    +
    2149 public:
    +
    2150 explicit QRF(Stream stream) : Primitive(stream) {}
    +
    2151
    +
    2152 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    2153 override;
    +
    2154 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    2155 override;
    +
    2156
    + +
    2158
    +
    2159 private:
    +
    2160 void eval(const std::vector<array>& inputs, std::vector<array>& outputs);
    +
    2161};
    -
    2150
    -
    2151/* QR Factorization primitive. */
    -
    -
    2152class QRF : public Primitive {
    -
    2153 public:
    -
    2154 explicit QRF(Stream stream) : Primitive(stream) {}
    -
    2155
    -
    2156 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    2157 override;
    -
    2158 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    2159 override;
    -
    2160
    -
    2162
    -
    2163 private:
    -
    2164 void eval(const std::vector<array>& inputs, std::vector<array>& outputs);
    -
    2165};
    +
    2163/* SVD primitive. */
    +
    +
    2164class SVD : public Primitive {
    +
    2165 public:
    +
    2166 explicit SVD(Stream stream) : Primitive(stream) {}
    +
    2167
    +
    2168 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    2169 override;
    +
    2170 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    2171 override;
    +
    2172
    + + +
    2175
    +
    2176 private:
    +
    2177 void eval(const std::vector<array>& inputs, std::vector<array>& outputs);
    +
    2178};
    -
    2166
    -
    2167/* SVD primitive. */
    -
    -
    2168class SVD : public Primitive {
    -
    2169 public:
    -
    2170 explicit SVD(Stream stream) : Primitive(stream) {}
    -
    2171
    -
    2172 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    2173 override;
    -
    2174 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    2175 override;
    -
    2176
    - -
    2179
    -
    2180 private:
    -
    2181 void eval(const std::vector<array>& inputs, std::vector<array>& outputs);
    -
    2182};
    +
    2180/* Matrix inversion primitive. */
    +
    +
    2181class Inverse : public UnaryPrimitive {
    +
    2182 public:
    +
    +
    2183 explicit Inverse(Stream stream, bool tri, bool upper)
    +
    2184 : UnaryPrimitive(stream), tri_(tri), upper_(upper) {}
    -
    2183
    -
    2184/* Matrix inversion primitive. */
    -
    -
    2185class Inverse : public UnaryPrimitive {
    -
    2186 public:
    -
    -
    2187 explicit Inverse(Stream stream, bool tri, bool upper)
    -
    2188 : UnaryPrimitive(stream), tri_(tri), upper_(upper) {}
    +
    2185
    +
    2186 void eval_cpu(const std::vector<array>& inputs, array& output) override;
    +
    2187 void eval_gpu(const std::vector<array>& inputs, array& output) override;
    +
    2188
    + + +
    2191
    +
    2192 private:
    +
    2193 void eval(const std::vector<array>& inputs, array& output);
    +
    2194 bool tri_;
    +
    2195 bool upper_;
    +
    2196};
    -
    2189
    -
    2190 void eval_cpu(const std::vector<array>& inputs, array& output) override;
    -
    2191 void eval_gpu(const std::vector<array>& inputs, array& output) override;
    -
    2192
    - - -
    2195
    -
    2196 private:
    -
    2197 void eval(const std::vector<array>& inputs, array& output);
    -
    2198 bool tri_;
    -
    2199 bool upper_;
    -
    2200};
    +
    2197
    +
    +
    2198class Cholesky : public UnaryPrimitive {
    +
    2199 public:
    +
    +
    2200 explicit Cholesky(Stream stream, bool upper)
    +
    2201 : UnaryPrimitive(stream), upper_(upper) {}
    -
    2201
    -
    -
    2202class Cholesky : public UnaryPrimitive {
    -
    2203 public:
    -
    -
    2204 explicit Cholesky(Stream stream, bool upper)
    -
    2205 : UnaryPrimitive(stream), upper_(upper) {}
    +
    2202
    +
    2203 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    +
    2204 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    +
    2205
    + + +
    2208
    +
    2209 private:
    +
    2210 void eval(const std::vector<array>& inputs, array& output);
    +
    2211 bool upper_;
    +
    2212};
    -
    2206
    -
    2207 void eval_cpu(const std::vector<array>& inputs, array& out) override;
    -
    2208 void eval_gpu(const std::vector<array>& inputs, array& out) override;
    -
    2209
    - - -
    2212
    -
    2213 private:
    -
    2214 void eval(const std::vector<array>& inputs, array& output);
    -
    2215 bool upper_;
    -
    2216};
    +
    2213
    +
    +
    2214class Eigh : public Primitive {
    +
    2215 public:
    +
    +
    2216 explicit Eigh(Stream stream, std::string uplo, bool compute_eigenvectors)
    +
    2217 : Primitive(stream),
    +
    2218 uplo_(std::move(uplo)),
    +
    2219 compute_eigenvectors_(compute_eigenvectors) {}
    -
    2217
    -
    -
    2218class Eigh : public Primitive {
    -
    2219 public:
    -
    -
    2220 explicit Eigh(Stream stream, std::string uplo, bool compute_eigenvectors)
    -
    2221 : Primitive(stream),
    -
    2222 uplo_(std::move(uplo)),
    -
    2223 compute_eigenvectors_(compute_eigenvectors) {}
    -
    -
    2224
    -
    2225 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    2226 override;
    -
    2227 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    -
    2228 override;
    -
    2229
    - - +
    2220
    +
    2221 void eval_cpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    2222 override;
    +
    2223 void eval_gpu(const std::vector<array>& inputs, std::vector<array>& outputs)
    +
    2224 override;
    +
    2225
    + + +
    2228
    +
    2229 std::vector<Shape> output_shapes(const std::vector<array>& inputs) override;
    +
    2230
    +
    2231 bool is_equivalent(const Primitive& other) const override;
    2232
    -
    -
    2233 std::vector<std::vector<int>> output_shapes(
    -
    2234 const std::vector<array>& inputs) override {
    -
    2235 auto shape = inputs[0].shape();
    -
    2236 shape.pop_back(); // Remove last dimension for eigenvalues
    -
    2237 if (compute_eigenvectors_) {
    -
    2238 return {shape, inputs[0].shape()}; // Eigenvalues and eigenvectors
    -
    2239 } else {
    -
    2240 return {shape}; // Only eigenvalues
    -
    2241 }
    -
    2242 }
    +
    2233 private:
    +
    2234 void eval(const std::vector<array>& inputs, std::vector<array>& outputs);
    +
    2235 std::string uplo_;
    +
    2236 bool compute_eigenvectors_;
    +
    2237};
    -
    2243
    -
    -
    2244 bool is_equivalent(const Primitive& other) const override {
    -
    2245 if (auto* p = dynamic_cast<const Eigh*>(&other)) {
    -
    2246 return uplo_ == p->uplo_ &&
    -
    2247 compute_eigenvectors_ == p->compute_eigenvectors_;
    -
    2248 }
    -
    2249 return false;
    -
    2250 }
    -
    -
    2251
    -
    2252 private:
    -
    2253 void eval(const std::vector<array>& inputs, std::vector<array>& outputs);
    -
    2254 std::string uplo_;
    -
    2255 bool compute_eigenvectors_;
    -
    2256};
    -
    -
    2257
    -
    2258} // namespace mlx::core
    +
    2238
    +
    2239} // namespace mlx::core
    -
    Definition primitives.h:155
    +
    Definition primitives.h:154
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Abs(Stream stream)
    Definition primitives.h:157
    -
    void print(std::ostream &os) override
    Print the primitive.
    Definition primitives.h:164
    -
    std::vector< std::vector< int > > output_shapes(const std::vector< array > &inputs) override
    Get the output shapes of the primitive.
    Definition primitives.h:166
    -
    bool is_equivalent(const Primitive &other) const override
    Equivalence check defaults to false unless overridden by the primitive.
    Definition primitives.h:165
    -
    Definition primitives.h:172
    +
    Abs(Stream stream)
    Definition primitives.h:156
    +
    void print(std::ostream &os) override
    Print the primitive.
    Definition primitives.h:163
    +
    bool is_equivalent(const Primitive &other) const override
    Equivalence check defaults to false unless overridden by the primitive.
    Definition primitives.h:164
    +
    std::vector< Shape > output_shapes(const std::vector< array > &inputs) override
    Get the output shapes of the primitive.
    Definition primitives.h:165
    +
    Definition primitives.h:171
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Add(Stream stream)
    Definition primitives.h:174
    -
    Definition primitives.h:189
    +
    Add(Stream stream)
    Definition primitives.h:173
    +
    Definition primitives.h:188
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    AddMM(Stream stream, float alpha, float beta)
    Definition primitives.h:191
    +
    AddMM(Stream stream, float alpha, float beta)
    Definition primitives.h:190
    std::vector< array > vjp(const std::vector< array > &primals, const std::vector< array > &cotangents, const std::vector< int > &argnums, const std::vector< array > &outputs) override
    The vector-Jacobian product.
    -
    Definition primitives.h:213
    -
    Arange(Stream stream, double start, double stop, double step)
    Definition primitives.h:215
    +
    Definition primitives.h:212
    +
    Arange(Stream stream, double start, double stop, double step)
    Definition primitives.h:214
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    Definition primitives.h:232
    @@ -2709,238 +2686,237 @@ $(function(){ initResizable(false); });
    ArgReduce(Stream stream, ReduceType reduce_type, int axis)
    Definition primitives.h:379
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:399
    +
    Definition primitives.h:398
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    ArgSort(Stream stream, int axis)
    Definition primitives.h:401
    +
    ArgSort(Stream stream, int axis)
    Definition primitives.h:400
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:438
    -
    AsStrided(Stream stream, std::vector< int > shape, std::vector< size_t > strides, size_t offset)
    Definition primitives.h:440
    +
    Definition primitives.h:437
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:418
    +
    AsStrided(Stream stream, Shape shape, Strides strides, size_t offset)
    Definition primitives.h:439
    +
    Definition primitives.h:417
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    AsType(Stream stream, Dtype dtype)
    Definition primitives.h:420
    +
    AsType(Stream stream, Dtype dtype)
    Definition primitives.h:419
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:465
    -
    BitwiseBinary(Stream stream, Op op)
    Definition primitives.h:469
    +
    Definition primitives.h:460
    +
    BitwiseBinary(Stream stream, Op op)
    Definition primitives.h:464
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Op
    Definition primitives.h:467
    -
    @ And
    Definition primitives.h:467
    +
    Op
    Definition primitives.h:462
    +
    @ And
    Definition primitives.h:462
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:485
    +
    Definition primitives.h:480
    std::vector< array > vjp(const std::vector< array > &primals, const std::vector< array > &cotangents, const std::vector< int > &argnums, const std::vector< array > &outputs) override
    The vector-Jacobian product.
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    BlockMaskedMM(Stream stream, int block_size)
    Definition primitives.h:487
    -
    Definition primitives.h:528
    +
    BlockMaskedMM(Stream stream, int block_size)
    Definition primitives.h:482
    +
    Definition primitives.h:523
    +
    Broadcast(Stream stream, const Shape &shape)
    Definition primitives.h:525
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Broadcast(Stream stream, const std::vector< int > &shape)
    Definition primitives.h:530
    -
    Definition primitives.h:547
    +
    Definition primitives.h:542
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Ceil(Stream stream)
    Definition primitives.h:549
    -
    Definition primitives.h:2202
    +
    Ceil(Stream stream)
    Definition primitives.h:544
    +
    Definition primitives.h:2198
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Cholesky(Stream stream, bool upper)
    Definition primitives.h:2204
    +
    Cholesky(Stream stream, bool upper)
    Definition primitives.h:2200
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:564
    +
    Definition primitives.h:559
    Compiled(Stream stream, std::vector< array > inputs, std::vector< array > outputs, std::vector< array > tape, std::unordered_set< uintptr_t > constant_ids)
    void eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    void eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the out...
    -
    Definition primitives.h:607
    +
    Definition primitives.h:601
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Concatenate(Stream stream, int axis)
    Definition primitives.h:609
    -
    Definition primitives.h:626
    -
    Conjugate(Stream stream)
    Definition primitives.h:628
    +
    Concatenate(Stream stream, int axis)
    Definition primitives.h:603
    +
    Definition primitives.h:621
    +
    Conjugate(Stream stream)
    Definition primitives.h:623
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:642
    -
    Contiguous(Stream stream, bool allow_col_major)
    Definition primitives.h:644
    +
    Definition primitives.h:637
    +
    Contiguous(Stream stream, bool allow_col_major)
    Definition primitives.h:639
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:661
    +
    Definition primitives.h:656
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Convolution(Stream stream, const std::vector< int > &kernel_strides, const std::vector< int > &padding, const std::vector< int > &kernel_dilation, const std::vector< int > &input_dilation, const int groups=1, const bool flip=false)
    Definition primitives.h:663
    +
    Convolution(Stream stream, const std::vector< int > &kernel_strides, const std::vector< int > &padding, const std::vector< int > &kernel_dilation, const std::vector< int > &input_dilation, const int groups=1, const bool flip=false)
    Definition primitives.h:658
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    std::vector< array > vjp(const std::vector< array > &primals, const std::vector< array > &cotangents, const std::vector< int > &argnums, const std::vector< array > &outputs) override
    The vector-Jacobian product.
    -
    Definition primitives.h:702
    +
    Definition primitives.h:697
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Copy(Stream stream)
    Definition primitives.h:704
    +
    Copy(Stream stream)
    Definition primitives.h:699
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:719
    +
    Definition primitives.h:714
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Cos(Stream stream)
    Definition primitives.h:721
    +
    Cos(Stream stream)
    Definition primitives.h:716
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:736
    +
    Definition primitives.h:731
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Cosh(Stream stream)
    Definition primitives.h:738
    +
    Cosh(Stream stream)
    Definition primitives.h:733
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:753
    +
    Definition primitives.h:748
    void eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    -
    CustomTransforms(Stream stream, int num_outputs, std::function< std::vector< array >(const std::vector< array > &, const std::vector< array > &, const std::vector< array > &)> vjp, std::function< std::vector< array >(const std::vector< array > &, const std::vector< array > &, const std::vector< int > &)> jvp, std::function< std::pair< std::vector< array >, std::vector< int > >(const std::vector< array > &, const std::vector< int > &)> vmap)
    Definition primitives.h:755
    +
    CustomTransforms(Stream stream, int num_outputs, std::function< std::vector< array >(const std::vector< array > &, const std::vector< array > &, const std::vector< array > &)> vjp, std::function< std::vector< array >(const std::vector< array > &, const std::vector< array > &, const std::vector< int > &)> jvp, std::function< std::pair< std::vector< array >, std::vector< int > >(const std::vector< array > &, const std::vector< int > &)> vmap)
    Definition primitives.h:750
    void eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the out...
    -
    Definition primitives.h:805
    +
    Definition primitives.h:800
    std::vector< array > vjp(const std::vector< array > &primals, const std::vector< array > &cotan, const std::vector< int > &argnums, const std::vector< array > &outputs) override
    The vector-Jacobian product.
    void eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the out...
    -
    Depends(Stream stream)
    Definition primitives.h:807
    +
    Depends(Stream stream)
    Definition primitives.h:802
    void eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    -
    Definition primitives.h:843
    +
    Definition primitives.h:838
    void eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    -
    DivMod(Stream stream)
    Definition primitives.h:845
    +
    DivMod(Stream stream)
    Definition primitives.h:840
    void eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the out...
    -
    Definition primitives.h:826
    -
    Divide(Stream stream)
    Definition primitives.h:828
    +
    Definition primitives.h:821
    +
    Divide(Stream stream)
    Definition primitives.h:823
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:2218
    -
    bool is_equivalent(const Primitive &other) const override
    Equivalence check defaults to false unless overridden by the primitive.
    Definition primitives.h:2244
    +
    Definition primitives.h:2214
    void eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    void eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the out...
    -
    Eigh(Stream stream, std::string uplo, bool compute_eigenvectors)
    Definition primitives.h:2220
    -
    Definition primitives.h:899
    -
    Equal(Stream stream, bool equal_nan=false)
    Definition primitives.h:901
    +
    Eigh(Stream stream, std::string uplo, bool compute_eigenvectors)
    Definition primitives.h:2216
    +
    Definition primitives.h:893
    +
    Equal(Stream stream, bool equal_nan=false)
    Definition primitives.h:895
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:925
    -
    Erf(Stream stream)
    Definition primitives.h:927
    +
    Definition primitives.h:919
    +
    Erf(Stream stream)
    Definition primitives.h:921
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:942
    +
    Definition primitives.h:936
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    ErfInv(Stream stream)
    Definition primitives.h:944
    +
    ErfInv(Stream stream)
    Definition primitives.h:938
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:959
    -
    Exp(Stream stream)
    Definition primitives.h:961
    +
    Definition primitives.h:953
    +
    Exp(Stream stream)
    Definition primitives.h:955
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:976
    -
    Expm1(Stream stream)
    Definition primitives.h:978
    +
    Definition primitives.h:970
    +
    Expm1(Stream stream)
    Definition primitives.h:972
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:992
    -
    FFT(Stream stream, const std::vector< size_t > &axes, bool inverse, bool real)
    Definition primitives.h:994
    +
    Definition primitives.h:986
    +
    FFT(Stream stream, const std::vector< size_t > &axes, bool inverse, bool real)
    Definition primitives.h:988
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:1018
    +
    Definition primitives.h:1012
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Floor(Stream stream)
    Definition primitives.h:1020
    -
    Definition primitives.h:1035
    +
    Floor(Stream stream)
    Definition primitives.h:1014
    +
    Definition primitives.h:1029
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Full(Stream stream)
    Definition primitives.h:1037
    -
    Definition primitives.h:1051
    -
    Gather(Stream stream, const std::vector< int > &axes, const std::vector< int > &slice_sizes)
    Definition primitives.h:1053
    +
    Full(Stream stream)
    Definition primitives.h:1031
    +
    Definition primitives.h:1045
    +
    Gather(Stream stream, const std::vector< int > &axes, const std::vector< int > &slice_sizes)
    Definition primitives.h:1047
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:508
    +
    Definition primitives.h:503
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    std::vector< array > vjp(const std::vector< array > &primals, const std::vector< array > &cotangents, const std::vector< int > &argnums, const std::vector< array > &outputs) override
    The vector-Jacobian product.
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    GatherMM(Stream stream)
    Definition primitives.h:510
    -
    Definition primitives.h:1554
    -
    GatherQMM(Stream stream, int group_size, int bits, bool transpose)
    Definition primitives.h:1556
    +
    GatherMM(Stream stream)
    Definition primitives.h:505
    +
    Definition primitives.h:1550
    +
    GatherQMM(Stream stream, int group_size, int bits, bool transpose)
    Definition primitives.h:1552
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:1090
    +
    Definition primitives.h:1085
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    GreaterEqual(Stream stream)
    Definition primitives.h:1092
    +
    GreaterEqual(Stream stream)
    Definition primitives.h:1087
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:1073
    -
    Greater(Stream stream)
    Definition primitives.h:1075
    +
    Definition primitives.h:1068
    +
    Greater(Stream stream)
    Definition primitives.h:1070
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:1107
    +
    Definition primitives.h:1102
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Hadamard(Stream stream, float scale)
    Definition primitives.h:1109
    -
    Definition primitives.h:1128
    +
    Hadamard(Stream stream, float scale)
    Definition primitives.h:1104
    +
    Definition primitives.h:1123
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Imag(Stream stream)
    Definition primitives.h:1130
    -
    Definition primitives.h:2185
    +
    Imag(Stream stream)
    Definition primitives.h:1125
    +
    Definition primitives.h:2181
    void eval_gpu(const std::vector< array > &inputs, array &output) override
    -
    Inverse(Stream stream, bool tri, bool upper)
    Definition primitives.h:2187
    +
    Inverse(Stream stream, bool tri, bool upper)
    Definition primitives.h:2183
    void eval_cpu(const std::vector< array > &inputs, array &output) override
    -
    Definition primitives.h:1159
    -
    LessEqual(Stream stream)
    Definition primitives.h:1161
    +
    Definition primitives.h:1154
    +
    LessEqual(Stream stream)
    Definition primitives.h:1156
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:1142
    +
    Definition primitives.h:1137
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Less(Stream stream)
    Definition primitives.h:1144
    -
    Definition primitives.h:1176
    +
    Less(Stream stream)
    Definition primitives.h:1139
    +
    Definition primitives.h:1171
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Load(Stream stream, std::shared_ptr< io::Reader > reader, size_t offset, bool swap_endianness=false)
    Definition primitives.h:1178
    +
    Load(Stream stream, std::shared_ptr< io::Reader > reader, size_t offset, bool swap_endianness=false)
    Definition primitives.h:1173
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:1242
    +
    Definition primitives.h:1237
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Log1p(Stream stream)
    Definition primitives.h:1244
    -
    Definition primitives.h:1309
    +
    Log1p(Stream stream)
    Definition primitives.h:1239
    +
    Definition primitives.h:1304
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    LogAddExp(Stream stream)
    Definition primitives.h:1311
    -
    Definition primitives.h:1208
    -
    Base
    Definition primitives.h:1210
    -
    Log(Stream stream, Base base)
    Definition primitives.h:1212
    +
    LogAddExp(Stream stream)
    Definition primitives.h:1306
    +
    Definition primitives.h:1203
    +
    Base
    Definition primitives.h:1205
    +
    Log(Stream stream, Base base)
    Definition primitives.h:1207
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:1275
    +
    Definition primitives.h:1270
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    LogicalAnd(Stream stream)
    Definition primitives.h:1277
    +
    LogicalAnd(Stream stream)
    Definition primitives.h:1272
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:1258
    +
    Definition primitives.h:1253
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    LogicalNot(Stream stream)
    Definition primitives.h:1260
    +
    LogicalNot(Stream stream)
    Definition primitives.h:1255
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:1292
    +
    Definition primitives.h:1287
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    LogicalOr(Stream stream)
    Definition primitives.h:1294
    +
    LogicalOr(Stream stream)
    Definition primitives.h:1289
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:1326
    +
    Definition primitives.h:1321
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    std::vector< array > vjp(const std::vector< array > &primals, const std::vector< array > &cotangents, const std::vector< int > &argnums, const std::vector< array > &outputs) override
    The vector-Jacobian product.
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Matmul(Stream stream)
    Definition primitives.h:1328
    -
    Definition primitives.h:1344
    -
    Maximum(Stream stream)
    Definition primitives.h:1346
    +
    Matmul(Stream stream)
    Definition primitives.h:1323
    +
    Definition primitives.h:1340
    +
    Maximum(Stream stream)
    Definition primitives.h:1342
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:1361
    +
    Definition primitives.h:1357
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Minimum(Stream stream)
    Definition primitives.h:1363
    -
    Definition primitives.h:1378
    +
    Minimum(Stream stream)
    Definition primitives.h:1359
    +
    Definition primitives.h:1374
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Multiply(Stream stream)
    Definition primitives.h:1380
    -
    Definition primitives.h:1395
    +
    Multiply(Stream stream)
    Definition primitives.h:1376
    +
    Definition primitives.h:1391
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Negative(Stream stream)
    Definition primitives.h:1397
    +
    Negative(Stream stream)
    Definition primitives.h:1393
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:1412
    +
    Definition primitives.h:1408
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    NotEqual(Stream stream)
    Definition primitives.h:1414
    -
    Definition primitives.h:1429
    +
    NotEqual(Stream stream)
    Definition primitives.h:1410
    +
    Definition primitives.h:1425
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    NumberOfElements(Stream stream, std::vector< int > axes, bool inverted, Dtype dtype)
    Definition primitives.h:1431
    +
    NumberOfElements(Stream stream, std::vector< int > axes, bool inverted, Dtype dtype)
    Definition primitives.h:1427
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:1460
    +
    Definition primitives.h:1455
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Pad(Stream stream, const std::vector< int > &axes, const std::vector< int > &low_pad_size, const std::vector< int > &high_pad_size)
    Definition primitives.h:1462
    +
    Pad(Stream stream, const std::vector< int > &axes, const std::vector< int > &low_pad_size, const std::vector< int > &high_pad_size)
    Definition primitives.h:1457
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:1488
    +
    Definition primitives.h:1483
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Partition(Stream stream, int kth, int axis)
    Definition primitives.h:1490
    +
    Partition(Stream stream, int kth, int axis)
    Definition primitives.h:1485
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:1509
    +
    Definition primitives.h:1504
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Power(Stream stream)
    Definition primitives.h:1511
    +
    Power(Stream stream)
    Definition primitives.h:1506
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    Definition primitives.h:48
    virtual void eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs)=0
    A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the out...
    @@ -2952,155 +2928,155 @@ $(function(){ initResizable(false); });
    Primitive & operator=(Primitive &&other)=delete
    virtual bool is_equivalent(const Primitive &other) const
    Equivalence check defaults to false unless overridden by the primitive.
    Definition primitives.h:107
    Primitive & operator=(const Primitive &other)=delete
    -
    virtual std::vector< std::vector< int > > output_shapes(const std::vector< array > &inputs)
    Get the output shapes of the primitive.
    const Device & device()
    The device the primitive will run on.
    Definition primitives.h:53
    virtual std::vector< array > jvp(const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums)
    The Jacobian-vector product.
    +
    virtual std::vector< Shape > output_shapes(const std::vector< array > &inputs)
    Get the output shapes of the primitive.
    virtual std::pair< std::vector< array >, std::vector< int > > vmap(const std::vector< array > &inputs, const std::vector< int > &axes)
    The primitive must know how to vectorize itself across the given axes.
    virtual void eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs)=0
    virtual void print(std::ostream &os)=0
    Print the primitive.
    Primitive(Stream stream)
    Definition primitives.h:50
    -
    Definition primitives.h:2152
    -
    QRF(Stream stream)
    Definition primitives.h:2154
    +
    Definition primitives.h:2148
    +
    QRF(Stream stream)
    Definition primitives.h:2150
    void eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the out...
    void eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    -
    Definition primitives.h:1526
    +
    Definition primitives.h:1521
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    QuantizedMatmul(Stream stream, int group_size, int bits, bool transpose)
    Definition primitives.h:1528
    +
    QuantizedMatmul(Stream stream, int group_size, int bits, bool transpose)
    Definition primitives.h:1523
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:1578
    +
    Definition primitives.h:1574
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    RandomBits(Stream stream, const std::vector< int > &shape, int width)
    Definition primitives.h:1580
    -
    Definition primitives.h:1597
    +
    RandomBits(Stream stream, const Shape &shape, int width)
    Definition primitives.h:1576
    +
    Definition primitives.h:1593
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Real(Stream stream)
    Definition primitives.h:1599
    -
    Definition primitives.h:1638
    -
    Reduce(Stream stream, ReduceType reduce_type, const std::vector< int > &axes)
    Definition primitives.h:1642
    -
    ReduceType
    Definition primitives.h:1640
    -
    @ And
    Definition primitives.h:1640
    +
    Real(Stream stream)
    Definition primitives.h:1595
    +
    Definition primitives.h:1634
    +
    Reduce(Stream stream, ReduceType reduce_type, const std::vector< int > &axes)
    Definition primitives.h:1638
    +
    ReduceType
    Definition primitives.h:1636
    +
    @ And
    Definition primitives.h:1636
    bool is_equivalent(const Primitive &other) const override
    Equivalence check defaults to false unless overridden by the primitive.
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:882
    -
    Remainder(Stream stream)
    Definition primitives.h:884
    +
    Definition primitives.h:876
    +
    Remainder(Stream stream)
    Definition primitives.h:878
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:1611
    +
    Definition primitives.h:1607
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Reshape(Stream stream, const std::vector< int > &shape)
    Definition primitives.h:1613
    -
    Definition primitives.h:1693
    -
    Round(Stream stream)
    Definition primitives.h:1695
    +
    Reshape(Stream stream, const Shape &shape)
    Definition primitives.h:1609
    +
    Definition primitives.h:1688
    +
    Round(Stream stream)
    Definition primitives.h:1690
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:2168
    +
    Definition primitives.h:2164
    void eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the out...
    void eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    -
    SVD(Stream stream)
    Definition primitives.h:2170
    -
    Definition primitives.h:1710
    +
    SVD(Stream stream)
    Definition primitives.h:2166
    +
    Definition primitives.h:1705
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    ReduceType
    Definition primitives.h:1712
    -
    @ Max
    Definition primitives.h:1712
    +
    ReduceType
    Definition primitives.h:1707
    +
    @ Max
    Definition primitives.h:1707
    bool is_equivalent(const Primitive &other) const override
    Equivalence check defaults to false unless overridden by the primitive.
    -
    Scan(Stream stream, ReduceType reduce_type, int axis, bool reverse, bool inclusive)
    Definition primitives.h:1714
    +
    Scan(Stream stream, ReduceType reduce_type, int axis, bool reverse, bool inclusive)
    Definition primitives.h:1709
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:1760
    +
    Definition primitives.h:1755
    bool is_equivalent(const Primitive &other) const override
    Equivalence check defaults to false unless overridden by the primitive.
    -
    ReduceType
    Definition primitives.h:1762
    -
    @ Max
    Definition primitives.h:1762
    +
    ReduceType
    Definition primitives.h:1757
    +
    @ Max
    Definition primitives.h:1757
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    void print(std::ostream &os) override
    Print the primitive.
    Definition primitives.h:1776
    +
    void print(std::ostream &os) override
    Print the primitive.
    Definition primitives.h:1771
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Scatter(Stream stream, ReduceType reduce_type, const std::vector< int > &axes)
    Definition primitives.h:1764
    -
    Definition primitives.h:865
    +
    Scatter(Stream stream, ReduceType reduce_type, const std::vector< int > &axes)
    Definition primitives.h:1759
    +
    Definition primitives.h:859
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Select(Stream stream)
    Definition primitives.h:867
    +
    Select(Stream stream)
    Definition primitives.h:861
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:1803
    -
    Sigmoid(Stream stream)
    Definition primitives.h:1805
    +
    Definition primitives.h:1798
    +
    Sigmoid(Stream stream)
    Definition primitives.h:1800
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:1820
    +
    Definition primitives.h:1815
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Sign(Stream stream)
    Definition primitives.h:1822
    -
    Definition primitives.h:1837
    -
    Sin(Stream stream)
    Definition primitives.h:1839
    +
    Sign(Stream stream)
    Definition primitives.h:1817
    +
    Definition primitives.h:1832
    +
    Sin(Stream stream)
    Definition primitives.h:1834
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:1854
    -
    Sinh(Stream stream)
    Definition primitives.h:1856
    +
    Definition primitives.h:1849
    +
    Sinh(Stream stream)
    Definition primitives.h:1851
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:1871
    +
    Definition primitives.h:1866
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Slice(Stream stream, const std::vector< int > &start_indices, const std::vector< int > &end_indices, const std::vector< int > &strides)
    Definition primitives.h:1873
    +
    Slice(Stream stream, const std::vector< int > &start_indices, const std::vector< int > &end_indices, const std::vector< int > &strides)
    Definition primitives.h:1868
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:1899
    -
    SliceUpdate(Stream stream, const std::vector< int > &start_indices, const std::vector< int > &end_indices, const std::vector< int > &strides)
    Definition primitives.h:1901
    +
    Definition primitives.h:1894
    +
    SliceUpdate(Stream stream, const std::vector< int > &start_indices, const std::vector< int > &end_indices, const std::vector< int > &strides)
    Definition primitives.h:1896
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:1929
    +
    Definition primitives.h:1924
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Softmax(Stream stream, bool precise)
    Definition primitives.h:1931
    +
    Softmax(Stream stream, bool precise)
    Definition primitives.h:1926
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:1949
    +
    Definition primitives.h:1944
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Sort(Stream stream, int axis)
    Definition primitives.h:1951
    -
    Definition primitives.h:1969
    +
    Sort(Stream stream, int axis)
    Definition primitives.h:1946
    +
    Definition primitives.h:1964
    void eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    -
    Split(Stream stream, const std::vector< int > &indices, int axis)
    Definition primitives.h:1971
    +
    Split(Stream stream, const std::vector< int > &indices, int axis)
    Definition primitives.h:1966
    void eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the out...
    -
    Definition primitives.h:2008
    +
    Definition primitives.h:2003
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Sqrt(Stream stream, bool recip=false)
    Definition primitives.h:2010
    +
    Sqrt(Stream stream, bool recip=false)
    Definition primitives.h:2005
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:1991
    +
    Definition primitives.h:1986
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Square(Stream stream)
    Definition primitives.h:1993
    -
    Definition primitives.h:2034
    +
    Square(Stream stream)
    Definition primitives.h:1988
    +
    Definition primitives.h:2029
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    StopGradient(Stream stream)
    Definition primitives.h:2036
    -
    Definition primitives.h:2050
    +
    StopGradient(Stream stream)
    Definition primitives.h:2031
    +
    Definition primitives.h:2045
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Subtract(Stream stream)
    Definition primitives.h:2052
    -
    Definition primitives.h:2067
    -
    Tan(Stream stream)
    Definition primitives.h:2069
    +
    Subtract(Stream stream)
    Definition primitives.h:2047
    +
    Definition primitives.h:2062
    +
    Tan(Stream stream)
    Definition primitives.h:2064
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:2084
    +
    Definition primitives.h:2079
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Tanh(Stream stream)
    Definition primitives.h:2086
    +
    Tanh(Stream stream)
    Definition primitives.h:2081
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:2132
    -
    Transpose(Stream stream, const std::vector< int > &axes)
    Definition primitives.h:2134
    +
    Definition primitives.h:2127
    +
    Transpose(Stream stream, const std::vector< int > &axes)
    Definition primitives.h:2129
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Definition primitives.h:127
    +
    Definition primitives.h:126
    UnaryPrimitive & operator=(const UnaryPrimitive &other)=delete
    -
    UnaryPrimitive(Stream stream)
    An abstract base class for a primitive with a single output.
    Definition primitives.h:132
    +
    UnaryPrimitive(Stream stream)
    An abstract base class for a primitive with a single output.
    Definition primitives.h:131
    virtual void eval_gpu(const std::vector< array > &inputs, array &output)=0
    UnaryPrimitive(UnaryPrimitive &&other)=delete
    virtual void eval_cpu(const std::vector< array > &inputs, array &output)=0
    -
    void eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    Definition primitives.h:142
    +
    void eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    Definition primitives.h:141
    UnaryPrimitive(const UnaryPrimitive &other)=delete
    -
    void eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the out...
    Definition primitives.h:137
    +
    void eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) override
    A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the out...
    Definition primitives.h:136
    UnaryPrimitive & operator=(UnaryPrimitive &&other)=delete
    virtual ~UnaryPrimitive()=default
    -
    Definition primitives.h:2101
    +
    Definition primitives.h:2096
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Uniform(Stream stream)
    Definition primitives.h:2103
    -
    Definition primitives.h:2116
    +
    Uniform(Stream stream)
    Definition primitives.h:2098
    +
    Definition primitives.h:2111
    void eval_cpu(const std::vector< array > &inputs, array &out) override
    -
    View(Stream stream, Dtype dtype)
    Definition primitives.h:2118
    +
    View(Stream stream, Dtype dtype)
    Definition primitives.h:2113
    void eval_gpu(const std::vector< array > &inputs, array &out) override
    -
    Definition array.h:20
    +
    Definition array.h:23
    Op op
    Definition binary.h:129
    array std(const array &a, bool keepdims, int ddof=0, StreamOrDevice s={})
    Computes the standard deviation of the elements of an array.
    @@ -3112,7 +3088,9 @@ $(function(){ initResizable(false); });
    std::pair< std::vector< array >, std::vector< array > > jvp(const std::function< std::vector< array >(const std::vector< array > &)> &fun, const std::vector< array > &primals, const std::vector< array > &tangents)
    Computes the output and Jacobian-vector product (JVP) of a function.
    std::pair< std::vector< array >, std::vector< array > > vjp(const std::function< std::vector< array >(const std::vector< array > &)> &fun, const std::vector< array > &primals, const std::vector< array > &cotangents)
    Computes the output and vector-Jacobian product (VJP) of a function.
    void eval(std::vector< array > outputs)
    +
    std::vector< int32_t > Shape
    Definition array.h:20
    std::function< array(const array &)> vmap(const std::function< array(const array &)> &fun, int in_axis=0, int out_axis=0)
    Automatically vectorize a unary function over the requested axes.
    +
    std::vector< size_t > Strides
    Definition array.h:21
    #define DEFINE_DEFAULT_IS_EQUIVALENT()
    Definition primitives.h:34
    #define DEFINE_PRINT(PRIMITIVE)
    Definition primitives.h:29
    #define DEFINE_INPUT_OUTPUT_SHAPE()
    Definition primitives.h:39
    diff --git a/docs/build/html/python/_autosummary/mlx.core.Device.html b/docs/build/html/python/_autosummary/mlx.core.Device.html index ff880fcf0..4d6d3454f 100644 --- a/docs/build/html/python/_autosummary/mlx.core.Device.html +++ b/docs/build/html/python/_autosummary/mlx.core.Device.html @@ -8,7 +8,7 @@ - mlx.core.Device — MLX 0.21.0 documentation + mlx.core.Device — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.Dtype.html b/docs/build/html/python/_autosummary/mlx.core.Dtype.html index 84df170e2..12b15e872 100644 --- a/docs/build/html/python/_autosummary/mlx.core.Dtype.html +++ b/docs/build/html/python/_autosummary/mlx.core.Dtype.html @@ -8,7 +8,7 @@ - mlx.core.Dtype — MLX 0.21.0 documentation + mlx.core.Dtype — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.DtypeCategory.html b/docs/build/html/python/_autosummary/mlx.core.DtypeCategory.html index 0f28cb1ff..540129e4f 100644 --- a/docs/build/html/python/_autosummary/mlx.core.DtypeCategory.html +++ b/docs/build/html/python/_autosummary/mlx.core.DtypeCategory.html @@ -8,7 +8,7 @@ - mlx.core.DtypeCategory — MLX 0.21.0 documentation + mlx.core.DtypeCategory — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.abs.html b/docs/build/html/python/_autosummary/mlx.core.abs.html index 0edbba635..1a4395beb 100644 --- a/docs/build/html/python/_autosummary/mlx.core.abs.html +++ b/docs/build/html/python/_autosummary/mlx.core.abs.html @@ -8,7 +8,7 @@ - mlx.core.abs — MLX 0.21.0 documentation + mlx.core.abs — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.add.html b/docs/build/html/python/_autosummary/mlx.core.add.html index 46acf931b..1be64def1 100644 --- a/docs/build/html/python/_autosummary/mlx.core.add.html +++ b/docs/build/html/python/_autosummary/mlx.core.add.html @@ -8,7 +8,7 @@ - mlx.core.add — MLX 0.21.0 documentation + mlx.core.add — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.addmm.html b/docs/build/html/python/_autosummary/mlx.core.addmm.html index e1bac246f..bb90b2b18 100644 --- a/docs/build/html/python/_autosummary/mlx.core.addmm.html +++ b/docs/build/html/python/_autosummary/mlx.core.addmm.html @@ -8,7 +8,7 @@ - mlx.core.addmm — MLX 0.21.0 documentation + mlx.core.addmm — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.all.html b/docs/build/html/python/_autosummary/mlx.core.all.html index b7dd55e18..e7186c49e 100644 --- a/docs/build/html/python/_autosummary/mlx.core.all.html +++ b/docs/build/html/python/_autosummary/mlx.core.all.html @@ -8,7 +8,7 @@ - mlx.core.all — MLX 0.21.0 documentation + mlx.core.all — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.allclose.html b/docs/build/html/python/_autosummary/mlx.core.allclose.html index c69d590f1..19c2eeb2c 100644 --- a/docs/build/html/python/_autosummary/mlx.core.allclose.html +++ b/docs/build/html/python/_autosummary/mlx.core.allclose.html @@ -8,7 +8,7 @@ - mlx.core.allclose — MLX 0.21.0 documentation + mlx.core.allclose — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.any.html b/docs/build/html/python/_autosummary/mlx.core.any.html index f1472dbf3..bce1bd2fb 100644 --- a/docs/build/html/python/_autosummary/mlx.core.any.html +++ b/docs/build/html/python/_autosummary/mlx.core.any.html @@ -8,7 +8,7 @@ - mlx.core.any — MLX 0.21.0 documentation + mlx.core.any — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.arange.html b/docs/build/html/python/_autosummary/mlx.core.arange.html index 3766992ec..b45be45b1 100644 --- a/docs/build/html/python/_autosummary/mlx.core.arange.html +++ b/docs/build/html/python/_autosummary/mlx.core.arange.html @@ -8,7 +8,7 @@ - mlx.core.arange — MLX 0.21.0 documentation + mlx.core.arange — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.arccos.html b/docs/build/html/python/_autosummary/mlx.core.arccos.html index 59ae6cdb8..55461ebf1 100644 --- a/docs/build/html/python/_autosummary/mlx.core.arccos.html +++ b/docs/build/html/python/_autosummary/mlx.core.arccos.html @@ -8,7 +8,7 @@ - mlx.core.arccos — MLX 0.21.0 documentation + mlx.core.arccos — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.arccosh.html b/docs/build/html/python/_autosummary/mlx.core.arccosh.html index aa0ab59d6..4a7b5014b 100644 --- a/docs/build/html/python/_autosummary/mlx.core.arccosh.html +++ b/docs/build/html/python/_autosummary/mlx.core.arccosh.html @@ -8,7 +8,7 @@ - mlx.core.arccosh — MLX 0.21.0 documentation + mlx.core.arccosh — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.arcsin.html b/docs/build/html/python/_autosummary/mlx.core.arcsin.html index 4b5d7b57b..6cc1d685a 100644 --- a/docs/build/html/python/_autosummary/mlx.core.arcsin.html +++ b/docs/build/html/python/_autosummary/mlx.core.arcsin.html @@ -8,7 +8,7 @@ - mlx.core.arcsin — MLX 0.21.0 documentation + mlx.core.arcsin — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.arcsinh.html b/docs/build/html/python/_autosummary/mlx.core.arcsinh.html index 0d0ef608f..ec655f3f8 100644 --- a/docs/build/html/python/_autosummary/mlx.core.arcsinh.html +++ b/docs/build/html/python/_autosummary/mlx.core.arcsinh.html @@ -8,7 +8,7 @@ - mlx.core.arcsinh — MLX 0.21.0 documentation + mlx.core.arcsinh — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.arctan.html b/docs/build/html/python/_autosummary/mlx.core.arctan.html index eac1b8fd4..15a38192d 100644 --- a/docs/build/html/python/_autosummary/mlx.core.arctan.html +++ b/docs/build/html/python/_autosummary/mlx.core.arctan.html @@ -8,7 +8,7 @@ - mlx.core.arctan — MLX 0.21.0 documentation + mlx.core.arctan — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.arctan2.html b/docs/build/html/python/_autosummary/mlx.core.arctan2.html index c93c32892..79dd70dc6 100644 --- a/docs/build/html/python/_autosummary/mlx.core.arctan2.html +++ b/docs/build/html/python/_autosummary/mlx.core.arctan2.html @@ -8,7 +8,7 @@ - mlx.core.arctan2 — MLX 0.21.0 documentation + mlx.core.arctan2 — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.arctanh.html b/docs/build/html/python/_autosummary/mlx.core.arctanh.html index 22b8db91c..d8404c528 100644 --- a/docs/build/html/python/_autosummary/mlx.core.arctanh.html +++ b/docs/build/html/python/_autosummary/mlx.core.arctanh.html @@ -8,7 +8,7 @@ - mlx.core.arctanh — MLX 0.21.0 documentation + mlx.core.arctanh — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.argmax.html b/docs/build/html/python/_autosummary/mlx.core.argmax.html index 290bb4161..dcde9e8dd 100644 --- a/docs/build/html/python/_autosummary/mlx.core.argmax.html +++ b/docs/build/html/python/_autosummary/mlx.core.argmax.html @@ -8,7 +8,7 @@ - mlx.core.argmax — MLX 0.21.0 documentation + mlx.core.argmax — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.argmin.html b/docs/build/html/python/_autosummary/mlx.core.argmin.html index 1df0424e4..ca03a59f3 100644 --- a/docs/build/html/python/_autosummary/mlx.core.argmin.html +++ b/docs/build/html/python/_autosummary/mlx.core.argmin.html @@ -8,7 +8,7 @@ - mlx.core.argmin — MLX 0.21.0 documentation + mlx.core.argmin — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.argpartition.html b/docs/build/html/python/_autosummary/mlx.core.argpartition.html index d10427fab..61791238e 100644 --- a/docs/build/html/python/_autosummary/mlx.core.argpartition.html +++ b/docs/build/html/python/_autosummary/mlx.core.argpartition.html @@ -8,7 +8,7 @@ - mlx.core.argpartition — MLX 0.21.0 documentation + mlx.core.argpartition — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.argsort.html b/docs/build/html/python/_autosummary/mlx.core.argsort.html index b98398486..acd371ec1 100644 --- a/docs/build/html/python/_autosummary/mlx.core.argsort.html +++ b/docs/build/html/python/_autosummary/mlx.core.argsort.html @@ -8,7 +8,7 @@ - mlx.core.argsort — MLX 0.21.0 documentation + mlx.core.argsort — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.T.html b/docs/build/html/python/_autosummary/mlx.core.array.T.html index 9fd367af6..f6c99100d 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.T.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.T.html @@ -8,7 +8,7 @@ - mlx.core.array.T — MLX 0.21.0 documentation + mlx.core.array.T — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.abs.html b/docs/build/html/python/_autosummary/mlx.core.array.abs.html index 6075ece26..be76136ff 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.abs.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.abs.html @@ -8,7 +8,7 @@ - mlx.core.array.abs — MLX 0.21.0 documentation + mlx.core.array.abs — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.all.html b/docs/build/html/python/_autosummary/mlx.core.array.all.html index 1dbde8ff2..ccef55c99 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.all.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.all.html @@ -8,7 +8,7 @@ - mlx.core.array.all — MLX 0.21.0 documentation + mlx.core.array.all — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.any.html b/docs/build/html/python/_autosummary/mlx.core.array.any.html index f2f8bb881..7d7200fd6 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.any.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.any.html @@ -8,7 +8,7 @@ - mlx.core.array.any — MLX 0.21.0 documentation + mlx.core.array.any — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.argmax.html b/docs/build/html/python/_autosummary/mlx.core.array.argmax.html index 8bfc2aa74..ba0a89783 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.argmax.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.argmax.html @@ -8,7 +8,7 @@ - mlx.core.array.argmax — MLX 0.21.0 documentation + mlx.core.array.argmax — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.argmin.html b/docs/build/html/python/_autosummary/mlx.core.array.argmin.html index e95fd586a..a5b6295b2 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.argmin.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.argmin.html @@ -8,7 +8,7 @@ - mlx.core.array.argmin — MLX 0.21.0 documentation + mlx.core.array.argmin — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.astype.html b/docs/build/html/python/_autosummary/mlx.core.array.astype.html index da06c777c..f0f79ea3c 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.astype.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.astype.html @@ -8,7 +8,7 @@ - mlx.core.array.astype — MLX 0.21.0 documentation + mlx.core.array.astype — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.at.html b/docs/build/html/python/_autosummary/mlx.core.array.at.html index fbd2a504b..5c6ef2944 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.at.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.at.html @@ -8,7 +8,7 @@ - mlx.core.array.at — MLX 0.21.0 documentation + mlx.core.array.at — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.conj.html b/docs/build/html/python/_autosummary/mlx.core.array.conj.html index 27d0ced20..6ec84b5df 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.conj.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.conj.html @@ -8,7 +8,7 @@ - mlx.core.array.conj — MLX 0.21.0 documentation + mlx.core.array.conj — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.cos.html b/docs/build/html/python/_autosummary/mlx.core.array.cos.html index 452c646a5..731e97ca6 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.cos.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.cos.html @@ -8,7 +8,7 @@ - mlx.core.array.cos — MLX 0.21.0 documentation + mlx.core.array.cos — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.cummax.html b/docs/build/html/python/_autosummary/mlx.core.array.cummax.html index e08ca16fa..ab7661c58 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.cummax.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.cummax.html @@ -8,7 +8,7 @@ - mlx.core.array.cummax — MLX 0.21.0 documentation + mlx.core.array.cummax — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.cummin.html b/docs/build/html/python/_autosummary/mlx.core.array.cummin.html index 38cf2a26a..473fbdd4a 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.cummin.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.cummin.html @@ -8,7 +8,7 @@ - mlx.core.array.cummin — MLX 0.21.0 documentation + mlx.core.array.cummin — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.cumprod.html b/docs/build/html/python/_autosummary/mlx.core.array.cumprod.html index 4cdb34853..9f43a9096 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.cumprod.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.cumprod.html @@ -8,7 +8,7 @@ - mlx.core.array.cumprod — MLX 0.21.0 documentation + mlx.core.array.cumprod — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.cumsum.html b/docs/build/html/python/_autosummary/mlx.core.array.cumsum.html index 31a318bca..2dc848a6b 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.cumsum.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.cumsum.html @@ -8,7 +8,7 @@ - mlx.core.array.cumsum — MLX 0.21.0 documentation + mlx.core.array.cumsum — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.diag.html b/docs/build/html/python/_autosummary/mlx.core.array.diag.html index b0af6c341..8e3288087 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.diag.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.diag.html @@ -8,7 +8,7 @@ - mlx.core.array.diag — MLX 0.21.0 documentation + mlx.core.array.diag — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.diagonal.html b/docs/build/html/python/_autosummary/mlx.core.array.diagonal.html index 23fb14a7a..69e6fb193 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.diagonal.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.diagonal.html @@ -8,7 +8,7 @@ - mlx.core.array.diagonal — MLX 0.21.0 documentation + mlx.core.array.diagonal — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.dtype.html b/docs/build/html/python/_autosummary/mlx.core.array.dtype.html index ecab8d722..1760f16ad 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.dtype.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.dtype.html @@ -8,7 +8,7 @@ - mlx.core.array.dtype — MLX 0.21.0 documentation + mlx.core.array.dtype — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.exp.html b/docs/build/html/python/_autosummary/mlx.core.array.exp.html index 2a29a331c..bf01ad37a 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.exp.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.exp.html @@ -8,7 +8,7 @@ - mlx.core.array.exp — MLX 0.21.0 documentation + mlx.core.array.exp — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.flatten.html b/docs/build/html/python/_autosummary/mlx.core.array.flatten.html index 7320fa855..c6b5babc1 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.flatten.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.flatten.html @@ -8,7 +8,7 @@ - mlx.core.array.flatten — MLX 0.21.0 documentation + mlx.core.array.flatten — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.html b/docs/build/html/python/_autosummary/mlx.core.array.html index 887b4f5b6..17eefba12 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.html @@ -8,7 +8,7 @@ - mlx.core.array — MLX 0.21.0 documentation + mlx.core.array — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.item.html b/docs/build/html/python/_autosummary/mlx.core.array.item.html index 74d3f557e..9649b7458 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.item.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.item.html @@ -8,7 +8,7 @@ - mlx.core.array.item — MLX 0.21.0 documentation + mlx.core.array.item — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.itemsize.html b/docs/build/html/python/_autosummary/mlx.core.array.itemsize.html index 109aae10b..3c32715b7 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.itemsize.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.itemsize.html @@ -8,7 +8,7 @@ - mlx.core.array.itemsize — MLX 0.21.0 documentation + mlx.core.array.itemsize — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.log.html b/docs/build/html/python/_autosummary/mlx.core.array.log.html index 8db6bcec0..d5aa89434 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.log.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.log.html @@ -8,7 +8,7 @@ - mlx.core.array.log — MLX 0.21.0 documentation + mlx.core.array.log — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.log10.html b/docs/build/html/python/_autosummary/mlx.core.array.log10.html index f4998d263..209fb6ba1 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.log10.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.log10.html @@ -8,7 +8,7 @@ - mlx.core.array.log10 — MLX 0.21.0 documentation + mlx.core.array.log10 — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.log1p.html b/docs/build/html/python/_autosummary/mlx.core.array.log1p.html index 5e3febb6d..10015acc4 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.log1p.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.log1p.html @@ -8,7 +8,7 @@ - mlx.core.array.log1p — MLX 0.21.0 documentation + mlx.core.array.log1p — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.log2.html b/docs/build/html/python/_autosummary/mlx.core.array.log2.html index 4827e3d4c..b2eea6542 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.log2.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.log2.html @@ -8,7 +8,7 @@ - mlx.core.array.log2 — MLX 0.21.0 documentation + mlx.core.array.log2 — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.logsumexp.html b/docs/build/html/python/_autosummary/mlx.core.array.logsumexp.html index 70d0cab55..55c6af273 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.logsumexp.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.logsumexp.html @@ -8,7 +8,7 @@ - mlx.core.array.logsumexp — MLX 0.21.0 documentation + mlx.core.array.logsumexp — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.max.html b/docs/build/html/python/_autosummary/mlx.core.array.max.html index dd533e845..1de307d30 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.max.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.max.html @@ -8,7 +8,7 @@ - mlx.core.array.max — MLX 0.21.0 documentation + mlx.core.array.max — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.mean.html b/docs/build/html/python/_autosummary/mlx.core.array.mean.html index 43748a896..cce3bb973 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.mean.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.mean.html @@ -8,7 +8,7 @@ - mlx.core.array.mean — MLX 0.21.0 documentation + mlx.core.array.mean — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.min.html b/docs/build/html/python/_autosummary/mlx.core.array.min.html index 981e63d70..02dd11098 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.min.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.min.html @@ -8,7 +8,7 @@ - mlx.core.array.min — MLX 0.21.0 documentation + mlx.core.array.min — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.moveaxis.html b/docs/build/html/python/_autosummary/mlx.core.array.moveaxis.html index 60b4d88bb..b3f12959c 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.moveaxis.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.moveaxis.html @@ -8,7 +8,7 @@ - mlx.core.array.moveaxis — MLX 0.21.0 documentation + mlx.core.array.moveaxis — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.nbytes.html b/docs/build/html/python/_autosummary/mlx.core.array.nbytes.html index 890e8ab91..37b9343cd 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.nbytes.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.nbytes.html @@ -8,7 +8,7 @@ - mlx.core.array.nbytes — MLX 0.21.0 documentation + mlx.core.array.nbytes — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.ndim.html b/docs/build/html/python/_autosummary/mlx.core.array.ndim.html index 88495c6f1..5374595d3 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.ndim.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.ndim.html @@ -8,7 +8,7 @@ - mlx.core.array.ndim — MLX 0.21.0 documentation + mlx.core.array.ndim — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.prod.html b/docs/build/html/python/_autosummary/mlx.core.array.prod.html index aa2138436..c938762bc 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.prod.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.prod.html @@ -8,7 +8,7 @@ - mlx.core.array.prod — MLX 0.21.0 documentation + mlx.core.array.prod — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.reciprocal.html b/docs/build/html/python/_autosummary/mlx.core.array.reciprocal.html index 8a60615ba..a69f7fdbb 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.reciprocal.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.reciprocal.html @@ -8,7 +8,7 @@ - mlx.core.array.reciprocal — MLX 0.21.0 documentation + mlx.core.array.reciprocal — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.reshape.html b/docs/build/html/python/_autosummary/mlx.core.array.reshape.html index 268c43c62..084753347 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.reshape.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.reshape.html @@ -8,7 +8,7 @@ - mlx.core.array.reshape — MLX 0.21.0 documentation + mlx.core.array.reshape — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.round.html b/docs/build/html/python/_autosummary/mlx.core.array.round.html index b525be193..83a8ca606 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.round.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.round.html @@ -8,7 +8,7 @@ - mlx.core.array.round — MLX 0.21.0 documentation + mlx.core.array.round — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.rsqrt.html b/docs/build/html/python/_autosummary/mlx.core.array.rsqrt.html index 56b0ddc03..b82b2e59f 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.rsqrt.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.rsqrt.html @@ -8,7 +8,7 @@ - mlx.core.array.rsqrt — MLX 0.21.0 documentation + mlx.core.array.rsqrt — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.shape.html b/docs/build/html/python/_autosummary/mlx.core.array.shape.html index b19b0029e..95c1993b8 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.shape.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.shape.html @@ -8,7 +8,7 @@ - mlx.core.array.shape — MLX 0.21.0 documentation + mlx.core.array.shape — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.sin.html b/docs/build/html/python/_autosummary/mlx.core.array.sin.html index 0a2332212..99ad9cf59 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.sin.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.sin.html @@ -8,7 +8,7 @@ - mlx.core.array.sin — MLX 0.21.0 documentation + mlx.core.array.sin — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.size.html b/docs/build/html/python/_autosummary/mlx.core.array.size.html index ba1427708..c615a9e3e 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.size.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.size.html @@ -8,7 +8,7 @@ - mlx.core.array.size — MLX 0.21.0 documentation + mlx.core.array.size — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.split.html b/docs/build/html/python/_autosummary/mlx.core.array.split.html index 52bc08cbf..a060e6817 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.split.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.split.html @@ -8,7 +8,7 @@ - mlx.core.array.split — MLX 0.21.0 documentation + mlx.core.array.split — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.sqrt.html b/docs/build/html/python/_autosummary/mlx.core.array.sqrt.html index 081facb95..3543ba4a6 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.sqrt.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.sqrt.html @@ -8,7 +8,7 @@ - mlx.core.array.sqrt — MLX 0.21.0 documentation + mlx.core.array.sqrt — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.square.html b/docs/build/html/python/_autosummary/mlx.core.array.square.html index 10c1f54f0..2a4d9a6b8 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.square.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.square.html @@ -8,7 +8,7 @@ - mlx.core.array.square — MLX 0.21.0 documentation + mlx.core.array.square — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.squeeze.html b/docs/build/html/python/_autosummary/mlx.core.array.squeeze.html index 6d1e91b7e..d206b729b 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.squeeze.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.squeeze.html @@ -8,7 +8,7 @@ - mlx.core.array.squeeze — MLX 0.21.0 documentation + mlx.core.array.squeeze — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.std.html b/docs/build/html/python/_autosummary/mlx.core.array.std.html index 424da05f0..be79d28d7 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.std.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.std.html @@ -8,7 +8,7 @@ - mlx.core.array.std — MLX 0.21.0 documentation + mlx.core.array.std — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.sum.html b/docs/build/html/python/_autosummary/mlx.core.array.sum.html index e1b12a6c6..adfe861a7 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.sum.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.sum.html @@ -8,7 +8,7 @@ - mlx.core.array.sum — MLX 0.21.0 documentation + mlx.core.array.sum — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.swapaxes.html b/docs/build/html/python/_autosummary/mlx.core.array.swapaxes.html index bac030d8e..efe9b2d3c 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.swapaxes.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.swapaxes.html @@ -8,7 +8,7 @@ - mlx.core.array.swapaxes — MLX 0.21.0 documentation + mlx.core.array.swapaxes — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.tolist.html b/docs/build/html/python/_autosummary/mlx.core.array.tolist.html index 0dfcf51a0..3ece5832f 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.tolist.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.tolist.html @@ -8,7 +8,7 @@ - mlx.core.array.tolist — MLX 0.21.0 documentation + mlx.core.array.tolist — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.transpose.html b/docs/build/html/python/_autosummary/mlx.core.array.transpose.html index 498049319..f7d6c26bb 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.transpose.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.transpose.html @@ -8,7 +8,7 @@ - mlx.core.array.transpose — MLX 0.21.0 documentation + mlx.core.array.transpose — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.var.html b/docs/build/html/python/_autosummary/mlx.core.array.var.html index dc7854cb8..45f04c010 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.var.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.var.html @@ -8,7 +8,7 @@ - mlx.core.array.var — MLX 0.21.0 documentation + mlx.core.array.var — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array.view.html b/docs/build/html/python/_autosummary/mlx.core.array.view.html index da0efcf15..e1646c0e1 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array.view.html +++ b/docs/build/html/python/_autosummary/mlx.core.array.view.html @@ -8,7 +8,7 @@ - mlx.core.array.view — MLX 0.21.0 documentation + mlx.core.array.view — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.array_equal.html b/docs/build/html/python/_autosummary/mlx.core.array_equal.html index a7d1e2271..283517e8d 100644 --- a/docs/build/html/python/_autosummary/mlx.core.array_equal.html +++ b/docs/build/html/python/_autosummary/mlx.core.array_equal.html @@ -8,7 +8,7 @@ - mlx.core.array_equal — MLX 0.21.0 documentation + mlx.core.array_equal — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.as_strided.html b/docs/build/html/python/_autosummary/mlx.core.as_strided.html index b230f5957..1dc99218d 100644 --- a/docs/build/html/python/_autosummary/mlx.core.as_strided.html +++ b/docs/build/html/python/_autosummary/mlx.core.as_strided.html @@ -8,7 +8,7 @@ - mlx.core.as_strided — MLX 0.21.0 documentation + mlx.core.as_strided — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.atleast_1d.html b/docs/build/html/python/_autosummary/mlx.core.atleast_1d.html index 54dbaaa59..89354dcf2 100644 --- a/docs/build/html/python/_autosummary/mlx.core.atleast_1d.html +++ b/docs/build/html/python/_autosummary/mlx.core.atleast_1d.html @@ -8,7 +8,7 @@ - mlx.core.atleast_1d — MLX 0.21.0 documentation + mlx.core.atleast_1d — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.atleast_2d.html b/docs/build/html/python/_autosummary/mlx.core.atleast_2d.html index d4c71f158..f315d8120 100644 --- a/docs/build/html/python/_autosummary/mlx.core.atleast_2d.html +++ b/docs/build/html/python/_autosummary/mlx.core.atleast_2d.html @@ -8,7 +8,7 @@ - mlx.core.atleast_2d — MLX 0.21.0 documentation + mlx.core.atleast_2d — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.atleast_3d.html b/docs/build/html/python/_autosummary/mlx.core.atleast_3d.html index 866f2fe87..ed2f12468 100644 --- a/docs/build/html/python/_autosummary/mlx.core.atleast_3d.html +++ b/docs/build/html/python/_autosummary/mlx.core.atleast_3d.html @@ -8,7 +8,7 @@ - mlx.core.atleast_3d — MLX 0.21.0 documentation + mlx.core.atleast_3d — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.bitwise_and.html b/docs/build/html/python/_autosummary/mlx.core.bitwise_and.html index 774d4f60b..76073c3f0 100644 --- a/docs/build/html/python/_autosummary/mlx.core.bitwise_and.html +++ b/docs/build/html/python/_autosummary/mlx.core.bitwise_and.html @@ -8,7 +8,7 @@ - mlx.core.bitwise_and — MLX 0.21.0 documentation + mlx.core.bitwise_and — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.bitwise_or.html b/docs/build/html/python/_autosummary/mlx.core.bitwise_or.html index a32708932..93d1519c2 100644 --- a/docs/build/html/python/_autosummary/mlx.core.bitwise_or.html +++ b/docs/build/html/python/_autosummary/mlx.core.bitwise_or.html @@ -8,7 +8,7 @@ - mlx.core.bitwise_or — MLX 0.21.0 documentation + mlx.core.bitwise_or — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.bitwise_xor.html b/docs/build/html/python/_autosummary/mlx.core.bitwise_xor.html index 064502332..5fc9ab283 100644 --- a/docs/build/html/python/_autosummary/mlx.core.bitwise_xor.html +++ b/docs/build/html/python/_autosummary/mlx.core.bitwise_xor.html @@ -8,7 +8,7 @@ - mlx.core.bitwise_xor — MLX 0.21.0 documentation + mlx.core.bitwise_xor — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.block_masked_mm.html b/docs/build/html/python/_autosummary/mlx.core.block_masked_mm.html index edf5ad7c7..33e67d14a 100644 --- a/docs/build/html/python/_autosummary/mlx.core.block_masked_mm.html +++ b/docs/build/html/python/_autosummary/mlx.core.block_masked_mm.html @@ -8,7 +8,7 @@ - mlx.core.block_masked_mm — MLX 0.21.0 documentation + mlx.core.block_masked_mm — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.broadcast_to.html b/docs/build/html/python/_autosummary/mlx.core.broadcast_to.html index e47056925..cffe44b45 100644 --- a/docs/build/html/python/_autosummary/mlx.core.broadcast_to.html +++ b/docs/build/html/python/_autosummary/mlx.core.broadcast_to.html @@ -8,7 +8,7 @@ - mlx.core.broadcast_to — MLX 0.21.0 documentation + mlx.core.broadcast_to — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.ceil.html b/docs/build/html/python/_autosummary/mlx.core.ceil.html index 5f679d624..8189f60ea 100644 --- a/docs/build/html/python/_autosummary/mlx.core.ceil.html +++ b/docs/build/html/python/_autosummary/mlx.core.ceil.html @@ -8,7 +8,7 @@ - mlx.core.ceil — MLX 0.21.0 documentation + mlx.core.ceil — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.clip.html b/docs/build/html/python/_autosummary/mlx.core.clip.html index 8bca4c6af..4d714a24e 100644 --- a/docs/build/html/python/_autosummary/mlx.core.clip.html +++ b/docs/build/html/python/_autosummary/mlx.core.clip.html @@ -8,7 +8,7 @@ - mlx.core.clip — MLX 0.21.0 documentation + mlx.core.clip — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.compile.html b/docs/build/html/python/_autosummary/mlx.core.compile.html index a081abcdb..11aa701ad 100644 --- a/docs/build/html/python/_autosummary/mlx.core.compile.html +++ b/docs/build/html/python/_autosummary/mlx.core.compile.html @@ -8,7 +8,7 @@ - mlx.core.compile — MLX 0.21.0 documentation + mlx.core.compile — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.concatenate.html b/docs/build/html/python/_autosummary/mlx.core.concatenate.html index 68619f039..6544e36bf 100644 --- a/docs/build/html/python/_autosummary/mlx.core.concatenate.html +++ b/docs/build/html/python/_autosummary/mlx.core.concatenate.html @@ -8,7 +8,7 @@ - mlx.core.concatenate — MLX 0.21.0 documentation + mlx.core.concatenate — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.conj.html b/docs/build/html/python/_autosummary/mlx.core.conj.html index 2f3c5c3e1..3d3bac111 100644 --- a/docs/build/html/python/_autosummary/mlx.core.conj.html +++ b/docs/build/html/python/_autosummary/mlx.core.conj.html @@ -8,7 +8,7 @@ - mlx.core.conj — MLX 0.21.0 documentation + mlx.core.conj — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.conjugate.html b/docs/build/html/python/_autosummary/mlx.core.conjugate.html index 96a641c47..88c4046ed 100644 --- a/docs/build/html/python/_autosummary/mlx.core.conjugate.html +++ b/docs/build/html/python/_autosummary/mlx.core.conjugate.html @@ -8,7 +8,7 @@ - mlx.core.conjugate — MLX 0.21.0 documentation + mlx.core.conjugate — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.conv1d.html b/docs/build/html/python/_autosummary/mlx.core.conv1d.html index 7756c0853..7f530049c 100644 --- a/docs/build/html/python/_autosummary/mlx.core.conv1d.html +++ b/docs/build/html/python/_autosummary/mlx.core.conv1d.html @@ -8,7 +8,7 @@ - mlx.core.conv1d — MLX 0.21.0 documentation + mlx.core.conv1d — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.conv2d.html b/docs/build/html/python/_autosummary/mlx.core.conv2d.html index 9309ab73e..7ff7b9e0d 100644 --- a/docs/build/html/python/_autosummary/mlx.core.conv2d.html +++ b/docs/build/html/python/_autosummary/mlx.core.conv2d.html @@ -8,7 +8,7 @@ - mlx.core.conv2d — MLX 0.21.0 documentation + mlx.core.conv2d — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.conv3d.html b/docs/build/html/python/_autosummary/mlx.core.conv3d.html index 20d142702..d3227b6fc 100644 --- a/docs/build/html/python/_autosummary/mlx.core.conv3d.html +++ b/docs/build/html/python/_autosummary/mlx.core.conv3d.html @@ -8,7 +8,7 @@ - mlx.core.conv3d — MLX 0.21.0 documentation + mlx.core.conv3d — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.conv_general.html b/docs/build/html/python/_autosummary/mlx.core.conv_general.html index 5013c6f7d..75f23003c 100644 --- a/docs/build/html/python/_autosummary/mlx.core.conv_general.html +++ b/docs/build/html/python/_autosummary/mlx.core.conv_general.html @@ -8,7 +8,7 @@ - mlx.core.conv_general — MLX 0.21.0 documentation + mlx.core.conv_general — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.conv_transpose1d.html b/docs/build/html/python/_autosummary/mlx.core.conv_transpose1d.html index 5fd2b8e07..aa4d572fa 100644 --- a/docs/build/html/python/_autosummary/mlx.core.conv_transpose1d.html +++ b/docs/build/html/python/_autosummary/mlx.core.conv_transpose1d.html @@ -8,7 +8,7 @@ - mlx.core.conv_transpose1d — MLX 0.21.0 documentation + mlx.core.conv_transpose1d — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.conv_transpose2d.html b/docs/build/html/python/_autosummary/mlx.core.conv_transpose2d.html index 58e7d920b..fd914c01d 100644 --- a/docs/build/html/python/_autosummary/mlx.core.conv_transpose2d.html +++ b/docs/build/html/python/_autosummary/mlx.core.conv_transpose2d.html @@ -8,7 +8,7 @@ - mlx.core.conv_transpose2d — MLX 0.21.0 documentation + mlx.core.conv_transpose2d — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.conv_transpose3d.html b/docs/build/html/python/_autosummary/mlx.core.conv_transpose3d.html index 1a429936f..7110737cc 100644 --- a/docs/build/html/python/_autosummary/mlx.core.conv_transpose3d.html +++ b/docs/build/html/python/_autosummary/mlx.core.conv_transpose3d.html @@ -8,7 +8,7 @@ - mlx.core.conv_transpose3d — MLX 0.21.0 documentation + mlx.core.conv_transpose3d — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.convolve.html b/docs/build/html/python/_autosummary/mlx.core.convolve.html index 24d4ae240..c2bb78aa3 100644 --- a/docs/build/html/python/_autosummary/mlx.core.convolve.html +++ b/docs/build/html/python/_autosummary/mlx.core.convolve.html @@ -8,7 +8,7 @@ - mlx.core.convolve — MLX 0.21.0 documentation + mlx.core.convolve — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.cos.html b/docs/build/html/python/_autosummary/mlx.core.cos.html index b1c041860..a882479ce 100644 --- a/docs/build/html/python/_autosummary/mlx.core.cos.html +++ b/docs/build/html/python/_autosummary/mlx.core.cos.html @@ -8,7 +8,7 @@ - mlx.core.cos — MLX 0.21.0 documentation + mlx.core.cos — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.cosh.html b/docs/build/html/python/_autosummary/mlx.core.cosh.html index 7c3f2c7b1..df8b51d69 100644 --- a/docs/build/html/python/_autosummary/mlx.core.cosh.html +++ b/docs/build/html/python/_autosummary/mlx.core.cosh.html @@ -8,7 +8,7 @@ - mlx.core.cosh — MLX 0.21.0 documentation + mlx.core.cosh — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.cummax.html b/docs/build/html/python/_autosummary/mlx.core.cummax.html index bf8765ca7..5556da02c 100644 --- a/docs/build/html/python/_autosummary/mlx.core.cummax.html +++ b/docs/build/html/python/_autosummary/mlx.core.cummax.html @@ -8,7 +8,7 @@ - mlx.core.cummax — MLX 0.21.0 documentation + mlx.core.cummax — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.cummin.html b/docs/build/html/python/_autosummary/mlx.core.cummin.html index 23025f942..e8511d257 100644 --- a/docs/build/html/python/_autosummary/mlx.core.cummin.html +++ b/docs/build/html/python/_autosummary/mlx.core.cummin.html @@ -8,7 +8,7 @@ - mlx.core.cummin — MLX 0.21.0 documentation + mlx.core.cummin — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.cumprod.html b/docs/build/html/python/_autosummary/mlx.core.cumprod.html index 87d53ef6f..da6e5b41c 100644 --- a/docs/build/html/python/_autosummary/mlx.core.cumprod.html +++ b/docs/build/html/python/_autosummary/mlx.core.cumprod.html @@ -8,7 +8,7 @@ - mlx.core.cumprod — MLX 0.21.0 documentation + mlx.core.cumprod — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.cumsum.html b/docs/build/html/python/_autosummary/mlx.core.cumsum.html index d7d9f0f5d..1ac67bbcd 100644 --- a/docs/build/html/python/_autosummary/mlx.core.cumsum.html +++ b/docs/build/html/python/_autosummary/mlx.core.cumsum.html @@ -8,7 +8,7 @@ - mlx.core.cumsum — MLX 0.21.0 documentation + mlx.core.cumsum — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.custom_function.html b/docs/build/html/python/_autosummary/mlx.core.custom_function.html index ff20c514c..84476583c 100644 --- a/docs/build/html/python/_autosummary/mlx.core.custom_function.html +++ b/docs/build/html/python/_autosummary/mlx.core.custom_function.html @@ -8,7 +8,7 @@ - mlx.core.custom_function — MLX 0.21.0 documentation + mlx.core.custom_function — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.default_device.html b/docs/build/html/python/_autosummary/mlx.core.default_device.html index 04e99c394..437efce23 100644 --- a/docs/build/html/python/_autosummary/mlx.core.default_device.html +++ b/docs/build/html/python/_autosummary/mlx.core.default_device.html @@ -8,7 +8,7 @@ - mlx.core.default_device — MLX 0.21.0 documentation + mlx.core.default_device — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.default_stream.html b/docs/build/html/python/_autosummary/mlx.core.default_stream.html index 768562fa2..fa98b866a 100644 --- a/docs/build/html/python/_autosummary/mlx.core.default_stream.html +++ b/docs/build/html/python/_autosummary/mlx.core.default_stream.html @@ -8,7 +8,7 @@ - mlx.core.default_stream — MLX 0.21.0 documentation + mlx.core.default_stream — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.degrees.html b/docs/build/html/python/_autosummary/mlx.core.degrees.html index e948c82d7..16a810415 100644 --- a/docs/build/html/python/_autosummary/mlx.core.degrees.html +++ b/docs/build/html/python/_autosummary/mlx.core.degrees.html @@ -8,7 +8,7 @@ - mlx.core.degrees — MLX 0.21.0 documentation + mlx.core.degrees — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.dequantize.html b/docs/build/html/python/_autosummary/mlx.core.dequantize.html index 55b834591..1a71f0ab0 100644 --- a/docs/build/html/python/_autosummary/mlx.core.dequantize.html +++ b/docs/build/html/python/_autosummary/mlx.core.dequantize.html @@ -8,7 +8,7 @@ - mlx.core.dequantize — MLX 0.21.0 documentation + mlx.core.dequantize — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.diag.html b/docs/build/html/python/_autosummary/mlx.core.diag.html index 33d1a8047..4db23b545 100644 --- a/docs/build/html/python/_autosummary/mlx.core.diag.html +++ b/docs/build/html/python/_autosummary/mlx.core.diag.html @@ -8,7 +8,7 @@ - mlx.core.diag — MLX 0.21.0 documentation + mlx.core.diag — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.diagonal.html b/docs/build/html/python/_autosummary/mlx.core.diagonal.html index c7473c799..2cebbdffe 100644 --- a/docs/build/html/python/_autosummary/mlx.core.diagonal.html +++ b/docs/build/html/python/_autosummary/mlx.core.diagonal.html @@ -8,7 +8,7 @@ - mlx.core.diagonal — MLX 0.21.0 documentation + mlx.core.diagonal — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.disable_compile.html b/docs/build/html/python/_autosummary/mlx.core.disable_compile.html index b6de85f32..0eeded6ca 100644 --- a/docs/build/html/python/_autosummary/mlx.core.disable_compile.html +++ b/docs/build/html/python/_autosummary/mlx.core.disable_compile.html @@ -8,7 +8,7 @@ - mlx.core.disable_compile — MLX 0.21.0 documentation + mlx.core.disable_compile — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.distributed.Group.html b/docs/build/html/python/_autosummary/mlx.core.distributed.Group.html index 94d2fb680..7f4194ad7 100644 --- a/docs/build/html/python/_autosummary/mlx.core.distributed.Group.html +++ b/docs/build/html/python/_autosummary/mlx.core.distributed.Group.html @@ -8,7 +8,7 @@ - mlx.core.distributed.Group — MLX 0.21.0 documentation + mlx.core.distributed.Group — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.distributed.all_gather.html b/docs/build/html/python/_autosummary/mlx.core.distributed.all_gather.html index 7ab351c4a..c29035b76 100644 --- a/docs/build/html/python/_autosummary/mlx.core.distributed.all_gather.html +++ b/docs/build/html/python/_autosummary/mlx.core.distributed.all_gather.html @@ -8,7 +8,7 @@ - mlx.core.distributed.all_gather — MLX 0.21.0 documentation + mlx.core.distributed.all_gather — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.distributed.all_sum.html b/docs/build/html/python/_autosummary/mlx.core.distributed.all_sum.html index cd3bc6982..da4ec5fe1 100644 --- a/docs/build/html/python/_autosummary/mlx.core.distributed.all_sum.html +++ b/docs/build/html/python/_autosummary/mlx.core.distributed.all_sum.html @@ -8,7 +8,7 @@ - mlx.core.distributed.all_sum — MLX 0.21.0 documentation + mlx.core.distributed.all_sum — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.distributed.init.html b/docs/build/html/python/_autosummary/mlx.core.distributed.init.html index b4a83ce5f..95090cf2c 100644 --- a/docs/build/html/python/_autosummary/mlx.core.distributed.init.html +++ b/docs/build/html/python/_autosummary/mlx.core.distributed.init.html @@ -8,7 +8,7 @@ - mlx.core.distributed.init — MLX 0.21.0 documentation + mlx.core.distributed.init — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.distributed.is_available.html b/docs/build/html/python/_autosummary/mlx.core.distributed.is_available.html index ef1eac2b4..3f566451e 100644 --- a/docs/build/html/python/_autosummary/mlx.core.distributed.is_available.html +++ b/docs/build/html/python/_autosummary/mlx.core.distributed.is_available.html @@ -8,7 +8,7 @@ - mlx.core.distributed.is_available — MLX 0.21.0 documentation + mlx.core.distributed.is_available — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.distributed.recv.html b/docs/build/html/python/_autosummary/mlx.core.distributed.recv.html index 604cdddf9..8bab79f7d 100644 --- a/docs/build/html/python/_autosummary/mlx.core.distributed.recv.html +++ b/docs/build/html/python/_autosummary/mlx.core.distributed.recv.html @@ -8,7 +8,7 @@ - mlx.core.distributed.recv — MLX 0.21.0 documentation + mlx.core.distributed.recv — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.distributed.recv_like.html b/docs/build/html/python/_autosummary/mlx.core.distributed.recv_like.html index e21db6291..6cc21a124 100644 --- a/docs/build/html/python/_autosummary/mlx.core.distributed.recv_like.html +++ b/docs/build/html/python/_autosummary/mlx.core.distributed.recv_like.html @@ -8,7 +8,7 @@ - mlx.core.distributed.recv_like — MLX 0.21.0 documentation + mlx.core.distributed.recv_like — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.distributed.send.html b/docs/build/html/python/_autosummary/mlx.core.distributed.send.html index b5a1d9234..3c174106b 100644 --- a/docs/build/html/python/_autosummary/mlx.core.distributed.send.html +++ b/docs/build/html/python/_autosummary/mlx.core.distributed.send.html @@ -8,7 +8,7 @@ - mlx.core.distributed.send — MLX 0.21.0 documentation + mlx.core.distributed.send — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.divide.html b/docs/build/html/python/_autosummary/mlx.core.divide.html index d84684d3f..1185ac9d8 100644 --- a/docs/build/html/python/_autosummary/mlx.core.divide.html +++ b/docs/build/html/python/_autosummary/mlx.core.divide.html @@ -8,7 +8,7 @@ - mlx.core.divide — MLX 0.21.0 documentation + mlx.core.divide — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.divmod.html b/docs/build/html/python/_autosummary/mlx.core.divmod.html index 222182000..ac8a36732 100644 --- a/docs/build/html/python/_autosummary/mlx.core.divmod.html +++ b/docs/build/html/python/_autosummary/mlx.core.divmod.html @@ -8,7 +8,7 @@ - mlx.core.divmod — MLX 0.21.0 documentation + mlx.core.divmod — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.einsum.html b/docs/build/html/python/_autosummary/mlx.core.einsum.html index de9ac682e..b304e45b5 100644 --- a/docs/build/html/python/_autosummary/mlx.core.einsum.html +++ b/docs/build/html/python/_autosummary/mlx.core.einsum.html @@ -8,7 +8,7 @@ - mlx.core.einsum — MLX 0.21.0 documentation + mlx.core.einsum — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.einsum_path.html b/docs/build/html/python/_autosummary/mlx.core.einsum_path.html index b8b89f8fb..14d71da53 100644 --- a/docs/build/html/python/_autosummary/mlx.core.einsum_path.html +++ b/docs/build/html/python/_autosummary/mlx.core.einsum_path.html @@ -8,7 +8,7 @@ - mlx.core.einsum_path — MLX 0.21.0 documentation + mlx.core.einsum_path — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.enable_compile.html b/docs/build/html/python/_autosummary/mlx.core.enable_compile.html index 0e13be2d3..d0d940b04 100644 --- a/docs/build/html/python/_autosummary/mlx.core.enable_compile.html +++ b/docs/build/html/python/_autosummary/mlx.core.enable_compile.html @@ -8,7 +8,7 @@ - mlx.core.enable_compile — MLX 0.21.0 documentation + mlx.core.enable_compile — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.equal.html b/docs/build/html/python/_autosummary/mlx.core.equal.html index 0e746d96a..c8cf30500 100644 --- a/docs/build/html/python/_autosummary/mlx.core.equal.html +++ b/docs/build/html/python/_autosummary/mlx.core.equal.html @@ -8,7 +8,7 @@ - mlx.core.equal — MLX 0.21.0 documentation + mlx.core.equal — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.erf.html b/docs/build/html/python/_autosummary/mlx.core.erf.html index 46f818d5f..06a9a387b 100644 --- a/docs/build/html/python/_autosummary/mlx.core.erf.html +++ b/docs/build/html/python/_autosummary/mlx.core.erf.html @@ -8,7 +8,7 @@ - mlx.core.erf — MLX 0.21.0 documentation + mlx.core.erf — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/python/_autosummary/mlx.core.erfinv.html b/docs/build/html/python/_autosummary/mlx.core.erfinv.html index b7e8aa973..2538998f1 100644 --- a/docs/build/html/python/_autosummary/mlx.core.erfinv.html +++ b/docs/build/html/python/_autosummary/mlx.core.erfinv.html @@ -8,7 +8,7 @@ - mlx.core.erfinv — MLX 0.21.0 documentation + mlx.core.erfinv — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.eval.html b/docs/build/html/python/_autosummary/mlx.core.eval.html index 457160b9d..f65c6948f 100644 --- a/docs/build/html/python/_autosummary/mlx.core.eval.html +++ b/docs/build/html/python/_autosummary/mlx.core.eval.html @@ -8,7 +8,7 @@ - mlx.core.eval — MLX 0.21.0 documentation + mlx.core.eval — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.exp.html b/docs/build/html/python/_autosummary/mlx.core.exp.html index 354d179d7..b1ef818c1 100644 --- a/docs/build/html/python/_autosummary/mlx.core.exp.html +++ b/docs/build/html/python/_autosummary/mlx.core.exp.html @@ -8,7 +8,7 @@ - mlx.core.exp — MLX 0.21.0 documentation + mlx.core.exp — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.expand_dims.html b/docs/build/html/python/_autosummary/mlx.core.expand_dims.html index 8575dd099..48719bc3c 100644 --- a/docs/build/html/python/_autosummary/mlx.core.expand_dims.html +++ b/docs/build/html/python/_autosummary/mlx.core.expand_dims.html @@ -8,7 +8,7 @@ - mlx.core.expand_dims — MLX 0.21.0 documentation + mlx.core.expand_dims — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.expm1.html b/docs/build/html/python/_autosummary/mlx.core.expm1.html index b5975ef0f..e84909600 100644 --- a/docs/build/html/python/_autosummary/mlx.core.expm1.html +++ b/docs/build/html/python/_autosummary/mlx.core.expm1.html @@ -8,7 +8,7 @@ - mlx.core.expm1 — MLX 0.21.0 documentation + mlx.core.expm1 — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.eye.html b/docs/build/html/python/_autosummary/mlx.core.eye.html index 2ab1d703e..1e28d32a8 100644 --- a/docs/build/html/python/_autosummary/mlx.core.eye.html +++ b/docs/build/html/python/_autosummary/mlx.core.eye.html @@ -8,7 +8,7 @@ - mlx.core.eye — MLX 0.21.0 documentation + mlx.core.eye — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.fast.layer_norm.html b/docs/build/html/python/_autosummary/mlx.core.fast.layer_norm.html index 3f04d8c85..fe05a4ac2 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fast.layer_norm.html +++ b/docs/build/html/python/_autosummary/mlx.core.fast.layer_norm.html @@ -8,7 +8,7 @@ - mlx.core.fast.layer_norm — MLX 0.21.0 documentation + mlx.core.fast.layer_norm — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.fast.metal_kernel.html b/docs/build/html/python/_autosummary/mlx.core.fast.metal_kernel.html index 727c2f48e..104ced4dc 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fast.metal_kernel.html +++ b/docs/build/html/python/_autosummary/mlx.core.fast.metal_kernel.html @@ -8,7 +8,7 @@ - mlx.core.fast.metal_kernel — MLX 0.21.0 documentation + mlx.core.fast.metal_kernel — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.fast.rms_norm.html b/docs/build/html/python/_autosummary/mlx.core.fast.rms_norm.html index c1392fe47..fa61778be 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fast.rms_norm.html +++ b/docs/build/html/python/_autosummary/mlx.core.fast.rms_norm.html @@ -8,7 +8,7 @@ - mlx.core.fast.rms_norm — MLX 0.21.0 documentation + mlx.core.fast.rms_norm — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.fast.rope.html b/docs/build/html/python/_autosummary/mlx.core.fast.rope.html index 67698d35e..742d1cb4d 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fast.rope.html +++ b/docs/build/html/python/_autosummary/mlx.core.fast.rope.html @@ -8,7 +8,7 @@ - mlx.core.fast.rope — MLX 0.21.0 documentation + mlx.core.fast.rope — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.fast.scaled_dot_product_attention.html b/docs/build/html/python/_autosummary/mlx.core.fast.scaled_dot_product_attention.html index 17c65c442..1e9e12eb3 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fast.scaled_dot_product_attention.html +++ b/docs/build/html/python/_autosummary/mlx.core.fast.scaled_dot_product_attention.html @@ -8,7 +8,7 @@ - mlx.core.fast.scaled_dot_product_attention — MLX 0.21.0 documentation + mlx.core.fast.scaled_dot_product_attention — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.fft.fft.html b/docs/build/html/python/_autosummary/mlx.core.fft.fft.html index b040467ed..1fd771a88 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fft.fft.html +++ b/docs/build/html/python/_autosummary/mlx.core.fft.fft.html @@ -8,7 +8,7 @@ - mlx.core.fft.fft — MLX 0.21.0 documentation + mlx.core.fft.fft — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.fft.fft2.html b/docs/build/html/python/_autosummary/mlx.core.fft.fft2.html index 3f91a21ef..0746a0afa 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fft.fft2.html +++ b/docs/build/html/python/_autosummary/mlx.core.fft.fft2.html @@ -8,7 +8,7 @@ - mlx.core.fft.fft2 — MLX 0.21.0 documentation + mlx.core.fft.fft2 — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.fft.fftn.html b/docs/build/html/python/_autosummary/mlx.core.fft.fftn.html index d165e2323..ac6261ab3 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fft.fftn.html +++ b/docs/build/html/python/_autosummary/mlx.core.fft.fftn.html @@ -8,7 +8,7 @@ - mlx.core.fft.fftn — MLX 0.21.0 documentation + mlx.core.fft.fftn — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.fft.ifft.html b/docs/build/html/python/_autosummary/mlx.core.fft.ifft.html index 7e633dcca..193b479d5 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fft.ifft.html +++ b/docs/build/html/python/_autosummary/mlx.core.fft.ifft.html @@ -8,7 +8,7 @@ - mlx.core.fft.ifft — MLX 0.21.0 documentation + mlx.core.fft.ifft — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.fft.ifft2.html b/docs/build/html/python/_autosummary/mlx.core.fft.ifft2.html index 750a8a98e..25214f20f 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fft.ifft2.html +++ b/docs/build/html/python/_autosummary/mlx.core.fft.ifft2.html @@ -8,7 +8,7 @@ - mlx.core.fft.ifft2 — MLX 0.21.0 documentation + mlx.core.fft.ifft2 — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.fft.ifftn.html b/docs/build/html/python/_autosummary/mlx.core.fft.ifftn.html index f5e5b2f25..2ae5470ac 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fft.ifftn.html +++ b/docs/build/html/python/_autosummary/mlx.core.fft.ifftn.html @@ -8,7 +8,7 @@ - mlx.core.fft.ifftn — MLX 0.21.0 documentation + mlx.core.fft.ifftn — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.fft.irfft.html b/docs/build/html/python/_autosummary/mlx.core.fft.irfft.html index dec9d88ae..919fea674 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fft.irfft.html +++ b/docs/build/html/python/_autosummary/mlx.core.fft.irfft.html @@ -8,7 +8,7 @@ - mlx.core.fft.irfft — MLX 0.21.0 documentation + mlx.core.fft.irfft — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.fft.irfft2.html b/docs/build/html/python/_autosummary/mlx.core.fft.irfft2.html index 5e61afe7d..93e2d2203 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fft.irfft2.html +++ b/docs/build/html/python/_autosummary/mlx.core.fft.irfft2.html @@ -8,7 +8,7 @@ - mlx.core.fft.irfft2 — MLX 0.21.0 documentation + mlx.core.fft.irfft2 — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.fft.irfftn.html b/docs/build/html/python/_autosummary/mlx.core.fft.irfftn.html index c67bc7bc7..d1faaca18 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fft.irfftn.html +++ b/docs/build/html/python/_autosummary/mlx.core.fft.irfftn.html @@ -8,7 +8,7 @@ - mlx.core.fft.irfftn — MLX 0.21.0 documentation + mlx.core.fft.irfftn — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.fft.rfft.html b/docs/build/html/python/_autosummary/mlx.core.fft.rfft.html index bbe18751d..4b5325787 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fft.rfft.html +++ b/docs/build/html/python/_autosummary/mlx.core.fft.rfft.html @@ -8,7 +8,7 @@ - mlx.core.fft.rfft — MLX 0.21.0 documentation + mlx.core.fft.rfft — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.fft.rfft2.html b/docs/build/html/python/_autosummary/mlx.core.fft.rfft2.html index 83bb49c07..1596179b4 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fft.rfft2.html +++ b/docs/build/html/python/_autosummary/mlx.core.fft.rfft2.html @@ -8,7 +8,7 @@ - mlx.core.fft.rfft2 — MLX 0.21.0 documentation + mlx.core.fft.rfft2 — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.fft.rfftn.html b/docs/build/html/python/_autosummary/mlx.core.fft.rfftn.html index fc752df0d..6b7548349 100644 --- a/docs/build/html/python/_autosummary/mlx.core.fft.rfftn.html +++ b/docs/build/html/python/_autosummary/mlx.core.fft.rfftn.html @@ -8,7 +8,7 @@ - mlx.core.fft.rfftn — MLX 0.21.0 documentation + mlx.core.fft.rfftn — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.flatten.html b/docs/build/html/python/_autosummary/mlx.core.flatten.html index 6a02a304d..38cd58349 100644 --- a/docs/build/html/python/_autosummary/mlx.core.flatten.html +++ b/docs/build/html/python/_autosummary/mlx.core.flatten.html @@ -8,7 +8,7 @@ - mlx.core.flatten — MLX 0.21.0 documentation + mlx.core.flatten — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.floor.html b/docs/build/html/python/_autosummary/mlx.core.floor.html index 3133de92f..848cbd314 100644 --- a/docs/build/html/python/_autosummary/mlx.core.floor.html +++ b/docs/build/html/python/_autosummary/mlx.core.floor.html @@ -8,7 +8,7 @@ - mlx.core.floor — MLX 0.21.0 documentation + mlx.core.floor — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.floor_divide.html b/docs/build/html/python/_autosummary/mlx.core.floor_divide.html index 46f020f64..2673c3d34 100644 --- a/docs/build/html/python/_autosummary/mlx.core.floor_divide.html +++ b/docs/build/html/python/_autosummary/mlx.core.floor_divide.html @@ -8,7 +8,7 @@ - mlx.core.floor_divide — MLX 0.21.0 documentation + mlx.core.floor_divide — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.full.html b/docs/build/html/python/_autosummary/mlx.core.full.html index 8c8b67d24..41066415f 100644 --- a/docs/build/html/python/_autosummary/mlx.core.full.html +++ b/docs/build/html/python/_autosummary/mlx.core.full.html @@ -8,7 +8,7 @@ - mlx.core.full — MLX 0.21.0 documentation + mlx.core.full — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.gather_mm.html b/docs/build/html/python/_autosummary/mlx.core.gather_mm.html index dbf6052b6..9b306c1d5 100644 --- a/docs/build/html/python/_autosummary/mlx.core.gather_mm.html +++ b/docs/build/html/python/_autosummary/mlx.core.gather_mm.html @@ -8,7 +8,7 @@ - mlx.core.gather_mm — MLX 0.21.0 documentation + mlx.core.gather_mm — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.gather_qmm.html b/docs/build/html/python/_autosummary/mlx.core.gather_qmm.html index fe599fe23..e9e1dde88 100644 --- a/docs/build/html/python/_autosummary/mlx.core.gather_qmm.html +++ b/docs/build/html/python/_autosummary/mlx.core.gather_qmm.html @@ -8,7 +8,7 @@ - mlx.core.gather_qmm — MLX 0.21.0 documentation + mlx.core.gather_qmm — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.grad.html b/docs/build/html/python/_autosummary/mlx.core.grad.html index 05b0eb694..e12ffd4b9 100644 --- a/docs/build/html/python/_autosummary/mlx.core.grad.html +++ b/docs/build/html/python/_autosummary/mlx.core.grad.html @@ -8,7 +8,7 @@ - mlx.core.grad — MLX 0.21.0 documentation + mlx.core.grad — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.greater.html b/docs/build/html/python/_autosummary/mlx.core.greater.html index 0c9db7f9c..2cf290807 100644 --- a/docs/build/html/python/_autosummary/mlx.core.greater.html +++ b/docs/build/html/python/_autosummary/mlx.core.greater.html @@ -8,7 +8,7 @@ - mlx.core.greater — MLX 0.21.0 documentation + mlx.core.greater — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.greater_equal.html b/docs/build/html/python/_autosummary/mlx.core.greater_equal.html index c50e31dfb..1db4ef56a 100644 --- a/docs/build/html/python/_autosummary/mlx.core.greater_equal.html +++ b/docs/build/html/python/_autosummary/mlx.core.greater_equal.html @@ -8,7 +8,7 @@ - mlx.core.greater_equal — MLX 0.21.0 documentation + mlx.core.greater_equal — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.hadamard_transform.html b/docs/build/html/python/_autosummary/mlx.core.hadamard_transform.html index a1190f54d..dc41f08b0 100644 --- a/docs/build/html/python/_autosummary/mlx.core.hadamard_transform.html +++ b/docs/build/html/python/_autosummary/mlx.core.hadamard_transform.html @@ -8,7 +8,7 @@ - mlx.core.hadamard_transform — MLX 0.21.0 documentation + mlx.core.hadamard_transform — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.identity.html b/docs/build/html/python/_autosummary/mlx.core.identity.html index 127234cfa..ea8fb8c98 100644 --- a/docs/build/html/python/_autosummary/mlx.core.identity.html +++ b/docs/build/html/python/_autosummary/mlx.core.identity.html @@ -8,7 +8,7 @@ - mlx.core.identity — MLX 0.21.0 documentation + mlx.core.identity — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.imag.html b/docs/build/html/python/_autosummary/mlx.core.imag.html index 56c8e67b1..a626444b3 100644 --- a/docs/build/html/python/_autosummary/mlx.core.imag.html +++ b/docs/build/html/python/_autosummary/mlx.core.imag.html @@ -8,7 +8,7 @@ - mlx.core.imag — MLX 0.21.0 documentation + mlx.core.imag — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.inner.html b/docs/build/html/python/_autosummary/mlx.core.inner.html index 2371e2211..168f82285 100644 --- a/docs/build/html/python/_autosummary/mlx.core.inner.html +++ b/docs/build/html/python/_autosummary/mlx.core.inner.html @@ -8,7 +8,7 @@ - mlx.core.inner — MLX 0.21.0 documentation + mlx.core.inner — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.isclose.html b/docs/build/html/python/_autosummary/mlx.core.isclose.html index 50c41fb6c..2a753367a 100644 --- a/docs/build/html/python/_autosummary/mlx.core.isclose.html +++ b/docs/build/html/python/_autosummary/mlx.core.isclose.html @@ -8,7 +8,7 @@ - mlx.core.isclose — MLX 0.21.0 documentation + mlx.core.isclose — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.isfinite.html b/docs/build/html/python/_autosummary/mlx.core.isfinite.html index 23ef27ef3..9a9fc22ab 100644 --- a/docs/build/html/python/_autosummary/mlx.core.isfinite.html +++ b/docs/build/html/python/_autosummary/mlx.core.isfinite.html @@ -8,7 +8,7 @@ - mlx.core.isfinite — MLX 0.21.0 documentation + mlx.core.isfinite — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.isinf.html b/docs/build/html/python/_autosummary/mlx.core.isinf.html index db2d1cb8b..ba9143c5a 100644 --- a/docs/build/html/python/_autosummary/mlx.core.isinf.html +++ b/docs/build/html/python/_autosummary/mlx.core.isinf.html @@ -8,7 +8,7 @@ - mlx.core.isinf — MLX 0.21.0 documentation + mlx.core.isinf — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.isnan.html b/docs/build/html/python/_autosummary/mlx.core.isnan.html index 78d6fec31..c11aeb9be 100644 --- a/docs/build/html/python/_autosummary/mlx.core.isnan.html +++ b/docs/build/html/python/_autosummary/mlx.core.isnan.html @@ -8,7 +8,7 @@ - mlx.core.isnan — MLX 0.21.0 documentation + mlx.core.isnan — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.isneginf.html b/docs/build/html/python/_autosummary/mlx.core.isneginf.html index 85528dca1..dcfb367a6 100644 --- a/docs/build/html/python/_autosummary/mlx.core.isneginf.html +++ b/docs/build/html/python/_autosummary/mlx.core.isneginf.html @@ -8,7 +8,7 @@ - mlx.core.isneginf — MLX 0.21.0 documentation + mlx.core.isneginf — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.isposinf.html b/docs/build/html/python/_autosummary/mlx.core.isposinf.html index 6d366a24f..95e9fc7e6 100644 --- a/docs/build/html/python/_autosummary/mlx.core.isposinf.html +++ b/docs/build/html/python/_autosummary/mlx.core.isposinf.html @@ -8,7 +8,7 @@ - mlx.core.isposinf — MLX 0.21.0 documentation + mlx.core.isposinf — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.issubdtype.html b/docs/build/html/python/_autosummary/mlx.core.issubdtype.html index 29746498d..7210f1ac9 100644 --- a/docs/build/html/python/_autosummary/mlx.core.issubdtype.html +++ b/docs/build/html/python/_autosummary/mlx.core.issubdtype.html @@ -8,7 +8,7 @@ - mlx.core.issubdtype — MLX 0.21.0 documentation + mlx.core.issubdtype — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.jvp.html b/docs/build/html/python/_autosummary/mlx.core.jvp.html index ac833fa0d..55a55d449 100644 --- a/docs/build/html/python/_autosummary/mlx.core.jvp.html +++ b/docs/build/html/python/_autosummary/mlx.core.jvp.html @@ -8,7 +8,7 @@ - mlx.core.jvp — MLX 0.21.0 documentation + mlx.core.jvp — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.left_shift.html b/docs/build/html/python/_autosummary/mlx.core.left_shift.html index 4d44d35bc..0f2fc7b59 100644 --- a/docs/build/html/python/_autosummary/mlx.core.left_shift.html +++ b/docs/build/html/python/_autosummary/mlx.core.left_shift.html @@ -8,7 +8,7 @@ - mlx.core.left_shift — MLX 0.21.0 documentation + mlx.core.left_shift — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.less.html b/docs/build/html/python/_autosummary/mlx.core.less.html index 9b0ab9018..5570b37ca 100644 --- a/docs/build/html/python/_autosummary/mlx.core.less.html +++ b/docs/build/html/python/_autosummary/mlx.core.less.html @@ -8,7 +8,7 @@ - mlx.core.less — MLX 0.21.0 documentation + mlx.core.less — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.less_equal.html b/docs/build/html/python/_autosummary/mlx.core.less_equal.html index ea7e87236..665bcf4c5 100644 --- a/docs/build/html/python/_autosummary/mlx.core.less_equal.html +++ b/docs/build/html/python/_autosummary/mlx.core.less_equal.html @@ -8,7 +8,7 @@ - mlx.core.less_equal — MLX 0.21.0 documentation + mlx.core.less_equal — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.linalg.cholesky.html b/docs/build/html/python/_autosummary/mlx.core.linalg.cholesky.html index 39d7bcba2..7f5548360 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linalg.cholesky.html +++ b/docs/build/html/python/_autosummary/mlx.core.linalg.cholesky.html @@ -8,7 +8,7 @@ - mlx.core.linalg.cholesky — MLX 0.21.0 documentation + mlx.core.linalg.cholesky — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.linalg.cholesky_inv.html b/docs/build/html/python/_autosummary/mlx.core.linalg.cholesky_inv.html index 6db52db0f..c4b628fed 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linalg.cholesky_inv.html +++ b/docs/build/html/python/_autosummary/mlx.core.linalg.cholesky_inv.html @@ -8,7 +8,7 @@ - mlx.core.linalg.cholesky_inv — MLX 0.21.0 documentation + mlx.core.linalg.cholesky_inv — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.linalg.cross.html b/docs/build/html/python/_autosummary/mlx.core.linalg.cross.html index fbf8dd71e..2a4128712 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linalg.cross.html +++ b/docs/build/html/python/_autosummary/mlx.core.linalg.cross.html @@ -8,7 +8,7 @@ - mlx.core.linalg.cross — MLX 0.21.0 documentation + mlx.core.linalg.cross — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.linalg.eigh.html b/docs/build/html/python/_autosummary/mlx.core.linalg.eigh.html index f3c935135..aa025d50e 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linalg.eigh.html +++ b/docs/build/html/python/_autosummary/mlx.core.linalg.eigh.html @@ -8,7 +8,7 @@ - mlx.core.linalg.eigh — MLX 0.21.0 documentation + mlx.core.linalg.eigh — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.linalg.eigvalsh.html b/docs/build/html/python/_autosummary/mlx.core.linalg.eigvalsh.html index ff88174c8..9aaff240e 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linalg.eigvalsh.html +++ b/docs/build/html/python/_autosummary/mlx.core.linalg.eigvalsh.html @@ -8,7 +8,7 @@ - mlx.core.linalg.eigvalsh — MLX 0.21.0 documentation + mlx.core.linalg.eigvalsh — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.linalg.inv.html b/docs/build/html/python/_autosummary/mlx.core.linalg.inv.html index 21107cab4..7b19d836b 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linalg.inv.html +++ b/docs/build/html/python/_autosummary/mlx.core.linalg.inv.html @@ -8,7 +8,7 @@ - mlx.core.linalg.inv — MLX 0.21.0 documentation + mlx.core.linalg.inv — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.linalg.norm.html b/docs/build/html/python/_autosummary/mlx.core.linalg.norm.html index bcf97ca91..ba0531853 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linalg.norm.html +++ b/docs/build/html/python/_autosummary/mlx.core.linalg.norm.html @@ -8,7 +8,7 @@ - mlx.core.linalg.norm — MLX 0.21.0 documentation + mlx.core.linalg.norm — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.linalg.qr.html b/docs/build/html/python/_autosummary/mlx.core.linalg.qr.html index bc9715c41..8a515a8b0 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linalg.qr.html +++ b/docs/build/html/python/_autosummary/mlx.core.linalg.qr.html @@ -8,7 +8,7 @@ - mlx.core.linalg.qr — MLX 0.21.0 documentation + mlx.core.linalg.qr — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.linalg.svd.html b/docs/build/html/python/_autosummary/mlx.core.linalg.svd.html index d0b08c368..bc6710446 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linalg.svd.html +++ b/docs/build/html/python/_autosummary/mlx.core.linalg.svd.html @@ -8,7 +8,7 @@ - mlx.core.linalg.svd — MLX 0.21.0 documentation + mlx.core.linalg.svd — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.linalg.tri_inv.html b/docs/build/html/python/_autosummary/mlx.core.linalg.tri_inv.html index d570221b7..19bf63cf9 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linalg.tri_inv.html +++ b/docs/build/html/python/_autosummary/mlx.core.linalg.tri_inv.html @@ -8,7 +8,7 @@ - mlx.core.linalg.tri_inv — MLX 0.21.0 documentation + mlx.core.linalg.tri_inv — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.linspace.html b/docs/build/html/python/_autosummary/mlx.core.linspace.html index e777279c1..5e5216e30 100644 --- a/docs/build/html/python/_autosummary/mlx.core.linspace.html +++ b/docs/build/html/python/_autosummary/mlx.core.linspace.html @@ -8,7 +8,7 @@ - mlx.core.linspace — MLX 0.21.0 documentation + mlx.core.linspace — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.load.html b/docs/build/html/python/_autosummary/mlx.core.load.html index b8e6fe8a2..f97fa5ecd 100644 --- a/docs/build/html/python/_autosummary/mlx.core.load.html +++ b/docs/build/html/python/_autosummary/mlx.core.load.html @@ -8,7 +8,7 @@ - mlx.core.load — MLX 0.21.0 documentation + mlx.core.load — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.log.html b/docs/build/html/python/_autosummary/mlx.core.log.html index 7da9fd9e3..424693867 100644 --- a/docs/build/html/python/_autosummary/mlx.core.log.html +++ b/docs/build/html/python/_autosummary/mlx.core.log.html @@ -8,7 +8,7 @@ - mlx.core.log — MLX 0.21.0 documentation + mlx.core.log — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.log10.html b/docs/build/html/python/_autosummary/mlx.core.log10.html index 6b89cbd2b..160caf347 100644 --- a/docs/build/html/python/_autosummary/mlx.core.log10.html +++ b/docs/build/html/python/_autosummary/mlx.core.log10.html @@ -8,7 +8,7 @@ - mlx.core.log10 — MLX 0.21.0 documentation + mlx.core.log10 — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.log1p.html b/docs/build/html/python/_autosummary/mlx.core.log1p.html index 7c4eaab8f..7ac903f23 100644 --- a/docs/build/html/python/_autosummary/mlx.core.log1p.html +++ b/docs/build/html/python/_autosummary/mlx.core.log1p.html @@ -8,7 +8,7 @@ - mlx.core.log1p — MLX 0.21.0 documentation + mlx.core.log1p — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.log2.html b/docs/build/html/python/_autosummary/mlx.core.log2.html index 402aee173..44b7bc6fe 100644 --- a/docs/build/html/python/_autosummary/mlx.core.log2.html +++ b/docs/build/html/python/_autosummary/mlx.core.log2.html @@ -8,7 +8,7 @@ - mlx.core.log2 — MLX 0.21.0 documentation + mlx.core.log2 — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.logaddexp.html b/docs/build/html/python/_autosummary/mlx.core.logaddexp.html index fa8d3693b..d1a083025 100644 --- a/docs/build/html/python/_autosummary/mlx.core.logaddexp.html +++ b/docs/build/html/python/_autosummary/mlx.core.logaddexp.html @@ -8,7 +8,7 @@ - mlx.core.logaddexp — MLX 0.21.0 documentation + mlx.core.logaddexp — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.logical_and.html b/docs/build/html/python/_autosummary/mlx.core.logical_and.html index b42d4c20f..c3f9e591a 100644 --- a/docs/build/html/python/_autosummary/mlx.core.logical_and.html +++ b/docs/build/html/python/_autosummary/mlx.core.logical_and.html @@ -8,7 +8,7 @@ - mlx.core.logical_and — MLX 0.21.0 documentation + mlx.core.logical_and — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.logical_not.html b/docs/build/html/python/_autosummary/mlx.core.logical_not.html index d7b68e15a..2fc15e49c 100644 --- a/docs/build/html/python/_autosummary/mlx.core.logical_not.html +++ b/docs/build/html/python/_autosummary/mlx.core.logical_not.html @@ -8,7 +8,7 @@ - mlx.core.logical_not — MLX 0.21.0 documentation + mlx.core.logical_not — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.logical_or.html b/docs/build/html/python/_autosummary/mlx.core.logical_or.html index 7e3d12077..a85e9e524 100644 --- a/docs/build/html/python/_autosummary/mlx.core.logical_or.html +++ b/docs/build/html/python/_autosummary/mlx.core.logical_or.html @@ -8,7 +8,7 @@ - mlx.core.logical_or — MLX 0.21.0 documentation + mlx.core.logical_or — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.logsumexp.html b/docs/build/html/python/_autosummary/mlx.core.logsumexp.html index e366a1406..c0863ea8b 100644 --- a/docs/build/html/python/_autosummary/mlx.core.logsumexp.html +++ b/docs/build/html/python/_autosummary/mlx.core.logsumexp.html @@ -8,7 +8,7 @@ - mlx.core.logsumexp — MLX 0.21.0 documentation + mlx.core.logsumexp — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.matmul.html b/docs/build/html/python/_autosummary/mlx.core.matmul.html index a4d6cdcf5..4c5633075 100644 --- a/docs/build/html/python/_autosummary/mlx.core.matmul.html +++ b/docs/build/html/python/_autosummary/mlx.core.matmul.html @@ -8,7 +8,7 @@ - mlx.core.matmul — MLX 0.21.0 documentation + mlx.core.matmul — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.max.html b/docs/build/html/python/_autosummary/mlx.core.max.html index 2d753fd73..74c7dc086 100644 --- a/docs/build/html/python/_autosummary/mlx.core.max.html +++ b/docs/build/html/python/_autosummary/mlx.core.max.html @@ -8,7 +8,7 @@ - mlx.core.max — MLX 0.21.0 documentation + mlx.core.max — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.maximum.html b/docs/build/html/python/_autosummary/mlx.core.maximum.html index 905a56796..aad6b84c4 100644 --- a/docs/build/html/python/_autosummary/mlx.core.maximum.html +++ b/docs/build/html/python/_autosummary/mlx.core.maximum.html @@ -8,7 +8,7 @@ - mlx.core.maximum — MLX 0.21.0 documentation + mlx.core.maximum — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.mean.html b/docs/build/html/python/_autosummary/mlx.core.mean.html index 407e1355f..4eff73f42 100644 --- a/docs/build/html/python/_autosummary/mlx.core.mean.html +++ b/docs/build/html/python/_autosummary/mlx.core.mean.html @@ -8,7 +8,7 @@ - mlx.core.mean — MLX 0.21.0 documentation + mlx.core.mean — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.meshgrid.html b/docs/build/html/python/_autosummary/mlx.core.meshgrid.html index 4f1b4bd51..787269d43 100644 --- a/docs/build/html/python/_autosummary/mlx.core.meshgrid.html +++ b/docs/build/html/python/_autosummary/mlx.core.meshgrid.html @@ -8,7 +8,7 @@ - mlx.core.meshgrid — MLX 0.21.0 documentation + mlx.core.meshgrid — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.metal.clear_cache.html b/docs/build/html/python/_autosummary/mlx.core.metal.clear_cache.html index 61af65008..afac32636 100644 --- a/docs/build/html/python/_autosummary/mlx.core.metal.clear_cache.html +++ b/docs/build/html/python/_autosummary/mlx.core.metal.clear_cache.html @@ -8,7 +8,7 @@ - mlx.core.metal.clear_cache — MLX 0.21.0 documentation + mlx.core.metal.clear_cache — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.metal.device_info.html b/docs/build/html/python/_autosummary/mlx.core.metal.device_info.html index f902a2f72..7a0458f1d 100644 --- a/docs/build/html/python/_autosummary/mlx.core.metal.device_info.html +++ b/docs/build/html/python/_autosummary/mlx.core.metal.device_info.html @@ -8,7 +8,7 @@ - mlx.core.metal.device_info — MLX 0.21.0 documentation + mlx.core.metal.device_info — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.metal.get_active_memory.html b/docs/build/html/python/_autosummary/mlx.core.metal.get_active_memory.html index d7df40722..1543b9f1c 100644 --- a/docs/build/html/python/_autosummary/mlx.core.metal.get_active_memory.html +++ b/docs/build/html/python/_autosummary/mlx.core.metal.get_active_memory.html @@ -8,7 +8,7 @@ - mlx.core.metal.get_active_memory — MLX 0.21.0 documentation + mlx.core.metal.get_active_memory — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.metal.get_cache_memory.html b/docs/build/html/python/_autosummary/mlx.core.metal.get_cache_memory.html index e862a4369..8263cf40b 100644 --- a/docs/build/html/python/_autosummary/mlx.core.metal.get_cache_memory.html +++ b/docs/build/html/python/_autosummary/mlx.core.metal.get_cache_memory.html @@ -8,7 +8,7 @@ - mlx.core.metal.get_cache_memory — MLX 0.21.0 documentation + mlx.core.metal.get_cache_memory — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.metal.get_peak_memory.html b/docs/build/html/python/_autosummary/mlx.core.metal.get_peak_memory.html index 405fc9ee8..ce85ea60f 100644 --- a/docs/build/html/python/_autosummary/mlx.core.metal.get_peak_memory.html +++ b/docs/build/html/python/_autosummary/mlx.core.metal.get_peak_memory.html @@ -8,7 +8,7 @@ - mlx.core.metal.get_peak_memory — MLX 0.21.0 documentation + mlx.core.metal.get_peak_memory — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.metal.is_available.html b/docs/build/html/python/_autosummary/mlx.core.metal.is_available.html index 9f569225f..250014ad0 100644 --- a/docs/build/html/python/_autosummary/mlx.core.metal.is_available.html +++ b/docs/build/html/python/_autosummary/mlx.core.metal.is_available.html @@ -8,7 +8,7 @@ - mlx.core.metal.is_available — MLX 0.21.0 documentation + mlx.core.metal.is_available — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.metal.reset_peak_memory.html b/docs/build/html/python/_autosummary/mlx.core.metal.reset_peak_memory.html index 08b8899e1..570330661 100644 --- a/docs/build/html/python/_autosummary/mlx.core.metal.reset_peak_memory.html +++ b/docs/build/html/python/_autosummary/mlx.core.metal.reset_peak_memory.html @@ -8,7 +8,7 @@ - mlx.core.metal.reset_peak_memory — MLX 0.21.0 documentation + mlx.core.metal.reset_peak_memory — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.metal.set_cache_limit.html b/docs/build/html/python/_autosummary/mlx.core.metal.set_cache_limit.html index eceee3b82..3b94d1d58 100644 --- a/docs/build/html/python/_autosummary/mlx.core.metal.set_cache_limit.html +++ b/docs/build/html/python/_autosummary/mlx.core.metal.set_cache_limit.html @@ -8,7 +8,7 @@ - mlx.core.metal.set_cache_limit — MLX 0.21.0 documentation + mlx.core.metal.set_cache_limit — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.metal.set_memory_limit.html b/docs/build/html/python/_autosummary/mlx.core.metal.set_memory_limit.html index b9274bd50..af42a182b 100644 --- a/docs/build/html/python/_autosummary/mlx.core.metal.set_memory_limit.html +++ b/docs/build/html/python/_autosummary/mlx.core.metal.set_memory_limit.html @@ -8,7 +8,7 @@ - mlx.core.metal.set_memory_limit — MLX 0.21.0 documentation + mlx.core.metal.set_memory_limit — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.metal.set_wired_limit.html b/docs/build/html/python/_autosummary/mlx.core.metal.set_wired_limit.html index a128c02c4..1ba347df2 100644 --- a/docs/build/html/python/_autosummary/mlx.core.metal.set_wired_limit.html +++ b/docs/build/html/python/_autosummary/mlx.core.metal.set_wired_limit.html @@ -8,7 +8,7 @@ - mlx.core.metal.set_wired_limit — MLX 0.21.0 documentation + mlx.core.metal.set_wired_limit — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.metal.start_capture.html b/docs/build/html/python/_autosummary/mlx.core.metal.start_capture.html index 92164abe9..a4682914a 100644 --- a/docs/build/html/python/_autosummary/mlx.core.metal.start_capture.html +++ b/docs/build/html/python/_autosummary/mlx.core.metal.start_capture.html @@ -8,7 +8,7 @@ - mlx.core.metal.start_capture — MLX 0.21.0 documentation + mlx.core.metal.start_capture — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.metal.stop_capture.html b/docs/build/html/python/_autosummary/mlx.core.metal.stop_capture.html index c6235717f..16f0df7f9 100644 --- a/docs/build/html/python/_autosummary/mlx.core.metal.stop_capture.html +++ b/docs/build/html/python/_autosummary/mlx.core.metal.stop_capture.html @@ -8,7 +8,7 @@ - mlx.core.metal.stop_capture — MLX 0.21.0 documentation + mlx.core.metal.stop_capture — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.min.html b/docs/build/html/python/_autosummary/mlx.core.min.html index 79ab3f5eb..0443cc77b 100644 --- a/docs/build/html/python/_autosummary/mlx.core.min.html +++ b/docs/build/html/python/_autosummary/mlx.core.min.html @@ -8,7 +8,7 @@ - mlx.core.min — MLX 0.21.0 documentation + mlx.core.min — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.minimum.html b/docs/build/html/python/_autosummary/mlx.core.minimum.html index d5c62cd7a..2bf7ea9f4 100644 --- a/docs/build/html/python/_autosummary/mlx.core.minimum.html +++ b/docs/build/html/python/_autosummary/mlx.core.minimum.html @@ -8,7 +8,7 @@ - mlx.core.minimum — MLX 0.21.0 documentation + mlx.core.minimum — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.moveaxis.html b/docs/build/html/python/_autosummary/mlx.core.moveaxis.html index 752e47586..1e74e71c5 100644 --- a/docs/build/html/python/_autosummary/mlx.core.moveaxis.html +++ b/docs/build/html/python/_autosummary/mlx.core.moveaxis.html @@ -8,7 +8,7 @@ - mlx.core.moveaxis — MLX 0.21.0 documentation + mlx.core.moveaxis — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.multiply.html b/docs/build/html/python/_autosummary/mlx.core.multiply.html index e5e047015..cc2d32990 100644 --- a/docs/build/html/python/_autosummary/mlx.core.multiply.html +++ b/docs/build/html/python/_autosummary/mlx.core.multiply.html @@ -8,7 +8,7 @@ - mlx.core.multiply — MLX 0.21.0 documentation + mlx.core.multiply — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.nan_to_num.html b/docs/build/html/python/_autosummary/mlx.core.nan_to_num.html index 6aa383ae5..20fe58499 100644 --- a/docs/build/html/python/_autosummary/mlx.core.nan_to_num.html +++ b/docs/build/html/python/_autosummary/mlx.core.nan_to_num.html @@ -8,7 +8,7 @@ - mlx.core.nan_to_num — MLX 0.21.0 documentation + mlx.core.nan_to_num — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.negative.html b/docs/build/html/python/_autosummary/mlx.core.negative.html index 604582f8a..bbb2ad39e 100644 --- a/docs/build/html/python/_autosummary/mlx.core.negative.html +++ b/docs/build/html/python/_autosummary/mlx.core.negative.html @@ -8,7 +8,7 @@ - mlx.core.negative — MLX 0.21.0 documentation + mlx.core.negative — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.new_stream.html b/docs/build/html/python/_autosummary/mlx.core.new_stream.html index 6966b0650..4cca5fc74 100644 --- a/docs/build/html/python/_autosummary/mlx.core.new_stream.html +++ b/docs/build/html/python/_autosummary/mlx.core.new_stream.html @@ -8,7 +8,7 @@ - mlx.core.new_stream — MLX 0.21.0 documentation + mlx.core.new_stream — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.not_equal.html b/docs/build/html/python/_autosummary/mlx.core.not_equal.html index 34088ed97..89b905560 100644 --- a/docs/build/html/python/_autosummary/mlx.core.not_equal.html +++ b/docs/build/html/python/_autosummary/mlx.core.not_equal.html @@ -8,7 +8,7 @@ - mlx.core.not_equal — MLX 0.21.0 documentation + mlx.core.not_equal — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.ones.html b/docs/build/html/python/_autosummary/mlx.core.ones.html index 6a636b60d..dd6b59785 100644 --- a/docs/build/html/python/_autosummary/mlx.core.ones.html +++ b/docs/build/html/python/_autosummary/mlx.core.ones.html @@ -8,7 +8,7 @@ - mlx.core.ones — MLX 0.21.0 documentation + mlx.core.ones — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.ones_like.html b/docs/build/html/python/_autosummary/mlx.core.ones_like.html index 2d70f7ea8..00f33a555 100644 --- a/docs/build/html/python/_autosummary/mlx.core.ones_like.html +++ b/docs/build/html/python/_autosummary/mlx.core.ones_like.html @@ -8,7 +8,7 @@ - mlx.core.ones_like — MLX 0.21.0 documentation + mlx.core.ones_like — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.outer.html b/docs/build/html/python/_autosummary/mlx.core.outer.html index 3b42da8af..454d969aa 100644 --- a/docs/build/html/python/_autosummary/mlx.core.outer.html +++ b/docs/build/html/python/_autosummary/mlx.core.outer.html @@ -8,7 +8,7 @@ - mlx.core.outer — MLX 0.21.0 documentation + mlx.core.outer — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.pad.html b/docs/build/html/python/_autosummary/mlx.core.pad.html index 257261da7..01e1a3d5e 100644 --- a/docs/build/html/python/_autosummary/mlx.core.pad.html +++ b/docs/build/html/python/_autosummary/mlx.core.pad.html @@ -8,7 +8,7 @@ - mlx.core.pad — MLX 0.21.0 documentation + mlx.core.pad — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.partition.html b/docs/build/html/python/_autosummary/mlx.core.partition.html index f0d0bf52a..428511e4b 100644 --- a/docs/build/html/python/_autosummary/mlx.core.partition.html +++ b/docs/build/html/python/_autosummary/mlx.core.partition.html @@ -8,7 +8,7 @@ - mlx.core.partition — MLX 0.21.0 documentation + mlx.core.partition — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.power.html b/docs/build/html/python/_autosummary/mlx.core.power.html index f1156b4f7..674ea387f 100644 --- a/docs/build/html/python/_autosummary/mlx.core.power.html +++ b/docs/build/html/python/_autosummary/mlx.core.power.html @@ -8,7 +8,7 @@ - mlx.core.power — MLX 0.21.0 documentation + mlx.core.power — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.prod.html b/docs/build/html/python/_autosummary/mlx.core.prod.html index c58ee3680..836816738 100644 --- a/docs/build/html/python/_autosummary/mlx.core.prod.html +++ b/docs/build/html/python/_autosummary/mlx.core.prod.html @@ -8,7 +8,7 @@ - mlx.core.prod — MLX 0.21.0 documentation + mlx.core.prod — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.put_along_axis.html b/docs/build/html/python/_autosummary/mlx.core.put_along_axis.html index 1ea8c032f..27482190f 100644 --- a/docs/build/html/python/_autosummary/mlx.core.put_along_axis.html +++ b/docs/build/html/python/_autosummary/mlx.core.put_along_axis.html @@ -8,7 +8,7 @@ - mlx.core.put_along_axis — MLX 0.21.0 documentation + mlx.core.put_along_axis — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.quantize.html b/docs/build/html/python/_autosummary/mlx.core.quantize.html index 062ad8279..c49b3d9dc 100644 --- a/docs/build/html/python/_autosummary/mlx.core.quantize.html +++ b/docs/build/html/python/_autosummary/mlx.core.quantize.html @@ -8,7 +8,7 @@ - mlx.core.quantize — MLX 0.21.0 documentation + mlx.core.quantize — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.quantized_matmul.html b/docs/build/html/python/_autosummary/mlx.core.quantized_matmul.html index 199dab1b6..339e3574d 100644 --- a/docs/build/html/python/_autosummary/mlx.core.quantized_matmul.html +++ b/docs/build/html/python/_autosummary/mlx.core.quantized_matmul.html @@ -8,7 +8,7 @@ - mlx.core.quantized_matmul — MLX 0.21.0 documentation + mlx.core.quantized_matmul — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.radians.html b/docs/build/html/python/_autosummary/mlx.core.radians.html index e40c69c83..803c7fa0b 100644 --- a/docs/build/html/python/_autosummary/mlx.core.radians.html +++ b/docs/build/html/python/_autosummary/mlx.core.radians.html @@ -8,7 +8,7 @@ - mlx.core.radians — MLX 0.21.0 documentation + mlx.core.radians — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.random.bernoulli.html b/docs/build/html/python/_autosummary/mlx.core.random.bernoulli.html index a778d2b41..d974e162f 100644 --- a/docs/build/html/python/_autosummary/mlx.core.random.bernoulli.html +++ b/docs/build/html/python/_autosummary/mlx.core.random.bernoulli.html @@ -8,7 +8,7 @@ - mlx.core.random.bernoulli — MLX 0.21.0 documentation + mlx.core.random.bernoulli — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.random.categorical.html b/docs/build/html/python/_autosummary/mlx.core.random.categorical.html index 090a397ba..2107c479a 100644 --- a/docs/build/html/python/_autosummary/mlx.core.random.categorical.html +++ b/docs/build/html/python/_autosummary/mlx.core.random.categorical.html @@ -8,7 +8,7 @@ - mlx.core.random.categorical — MLX 0.21.0 documentation + mlx.core.random.categorical — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.random.gumbel.html b/docs/build/html/python/_autosummary/mlx.core.random.gumbel.html index 3b5641897..6a4651879 100644 --- a/docs/build/html/python/_autosummary/mlx.core.random.gumbel.html +++ b/docs/build/html/python/_autosummary/mlx.core.random.gumbel.html @@ -8,7 +8,7 @@ - mlx.core.random.gumbel — MLX 0.21.0 documentation + mlx.core.random.gumbel — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.random.key.html b/docs/build/html/python/_autosummary/mlx.core.random.key.html index d8ed1563e..d0ddcb014 100644 --- a/docs/build/html/python/_autosummary/mlx.core.random.key.html +++ b/docs/build/html/python/_autosummary/mlx.core.random.key.html @@ -8,7 +8,7 @@ - mlx.core.random.key — MLX 0.21.0 documentation + mlx.core.random.key — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.random.laplace.html b/docs/build/html/python/_autosummary/mlx.core.random.laplace.html index debc0b904..685273a84 100644 --- a/docs/build/html/python/_autosummary/mlx.core.random.laplace.html +++ b/docs/build/html/python/_autosummary/mlx.core.random.laplace.html @@ -8,7 +8,7 @@ - mlx.core.random.laplace — MLX 0.21.0 documentation + mlx.core.random.laplace — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.random.multivariate_normal.html b/docs/build/html/python/_autosummary/mlx.core.random.multivariate_normal.html index aa1e1130d..545a9f598 100644 --- a/docs/build/html/python/_autosummary/mlx.core.random.multivariate_normal.html +++ b/docs/build/html/python/_autosummary/mlx.core.random.multivariate_normal.html @@ -8,7 +8,7 @@ - mlx.core.random.multivariate_normal — MLX 0.21.0 documentation + mlx.core.random.multivariate_normal — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.random.normal.html b/docs/build/html/python/_autosummary/mlx.core.random.normal.html index 18f71685b..808728c12 100644 --- a/docs/build/html/python/_autosummary/mlx.core.random.normal.html +++ b/docs/build/html/python/_autosummary/mlx.core.random.normal.html @@ -8,7 +8,7 @@ - mlx.core.random.normal — MLX 0.21.0 documentation + mlx.core.random.normal — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.random.permutation.html b/docs/build/html/python/_autosummary/mlx.core.random.permutation.html index 06e5a06e6..759935eb2 100644 --- a/docs/build/html/python/_autosummary/mlx.core.random.permutation.html +++ b/docs/build/html/python/_autosummary/mlx.core.random.permutation.html @@ -8,7 +8,7 @@ - mlx.core.random.permutation — MLX 0.21.0 documentation + mlx.core.random.permutation — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.random.randint.html b/docs/build/html/python/_autosummary/mlx.core.random.randint.html index 6cf230065..faeb69188 100644 --- a/docs/build/html/python/_autosummary/mlx.core.random.randint.html +++ b/docs/build/html/python/_autosummary/mlx.core.random.randint.html @@ -8,7 +8,7 @@ - mlx.core.random.randint — MLX 0.21.0 documentation + mlx.core.random.randint — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.random.seed.html b/docs/build/html/python/_autosummary/mlx.core.random.seed.html index 3439b8a01..6a4c0c865 100644 --- a/docs/build/html/python/_autosummary/mlx.core.random.seed.html +++ b/docs/build/html/python/_autosummary/mlx.core.random.seed.html @@ -8,7 +8,7 @@ - mlx.core.random.seed — MLX 0.21.0 documentation + mlx.core.random.seed — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.random.split.html b/docs/build/html/python/_autosummary/mlx.core.random.split.html index 98639b5d0..ea3055072 100644 --- a/docs/build/html/python/_autosummary/mlx.core.random.split.html +++ b/docs/build/html/python/_autosummary/mlx.core.random.split.html @@ -8,7 +8,7 @@ - mlx.core.random.split — MLX 0.21.0 documentation + mlx.core.random.split — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.random.truncated_normal.html b/docs/build/html/python/_autosummary/mlx.core.random.truncated_normal.html index 71ddd9e17..604d8ea77 100644 --- a/docs/build/html/python/_autosummary/mlx.core.random.truncated_normal.html +++ b/docs/build/html/python/_autosummary/mlx.core.random.truncated_normal.html @@ -8,7 +8,7 @@ - mlx.core.random.truncated_normal — MLX 0.21.0 documentation + mlx.core.random.truncated_normal — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.random.uniform.html b/docs/build/html/python/_autosummary/mlx.core.random.uniform.html index f24e47032..35e72fb1b 100644 --- a/docs/build/html/python/_autosummary/mlx.core.random.uniform.html +++ b/docs/build/html/python/_autosummary/mlx.core.random.uniform.html @@ -8,7 +8,7 @@ - mlx.core.random.uniform — MLX 0.21.0 documentation + mlx.core.random.uniform — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.real.html b/docs/build/html/python/_autosummary/mlx.core.real.html index 97f14bbe1..601951971 100644 --- a/docs/build/html/python/_autosummary/mlx.core.real.html +++ b/docs/build/html/python/_autosummary/mlx.core.real.html @@ -8,7 +8,7 @@ - mlx.core.real — MLX 0.21.0 documentation + mlx.core.real — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.reciprocal.html b/docs/build/html/python/_autosummary/mlx.core.reciprocal.html index 916942806..8dc582902 100644 --- a/docs/build/html/python/_autosummary/mlx.core.reciprocal.html +++ b/docs/build/html/python/_autosummary/mlx.core.reciprocal.html @@ -8,7 +8,7 @@ - mlx.core.reciprocal — MLX 0.21.0 documentation + mlx.core.reciprocal — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.remainder.html b/docs/build/html/python/_autosummary/mlx.core.remainder.html index 623e2c84a..1c4d856f9 100644 --- a/docs/build/html/python/_autosummary/mlx.core.remainder.html +++ b/docs/build/html/python/_autosummary/mlx.core.remainder.html @@ -8,7 +8,7 @@ - mlx.core.remainder — MLX 0.21.0 documentation + mlx.core.remainder — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.repeat.html b/docs/build/html/python/_autosummary/mlx.core.repeat.html index 2e35cc60a..a381ab0ae 100644 --- a/docs/build/html/python/_autosummary/mlx.core.repeat.html +++ b/docs/build/html/python/_autosummary/mlx.core.repeat.html @@ -8,7 +8,7 @@ - mlx.core.repeat — MLX 0.21.0 documentation + mlx.core.repeat — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.reshape.html b/docs/build/html/python/_autosummary/mlx.core.reshape.html index 1529bd888..6a03ca6fe 100644 --- a/docs/build/html/python/_autosummary/mlx.core.reshape.html +++ b/docs/build/html/python/_autosummary/mlx.core.reshape.html @@ -8,7 +8,7 @@ - mlx.core.reshape — MLX 0.21.0 documentation + mlx.core.reshape — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.right_shift.html b/docs/build/html/python/_autosummary/mlx.core.right_shift.html index d4602616a..0550009d4 100644 --- a/docs/build/html/python/_autosummary/mlx.core.right_shift.html +++ b/docs/build/html/python/_autosummary/mlx.core.right_shift.html @@ -8,7 +8,7 @@ - mlx.core.right_shift — MLX 0.21.0 documentation + mlx.core.right_shift — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.roll.html b/docs/build/html/python/_autosummary/mlx.core.roll.html index 0f022bcb5..6d0eacf28 100644 --- a/docs/build/html/python/_autosummary/mlx.core.roll.html +++ b/docs/build/html/python/_autosummary/mlx.core.roll.html @@ -8,7 +8,7 @@ - mlx.core.roll — MLX 0.21.0 documentation + mlx.core.roll — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.round.html b/docs/build/html/python/_autosummary/mlx.core.round.html index 4eddc4a49..cdba47dc5 100644 --- a/docs/build/html/python/_autosummary/mlx.core.round.html +++ b/docs/build/html/python/_autosummary/mlx.core.round.html @@ -8,7 +8,7 @@ - mlx.core.round — MLX 0.21.0 documentation + mlx.core.round — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.rsqrt.html b/docs/build/html/python/_autosummary/mlx.core.rsqrt.html index faf229dbc..63991c409 100644 --- a/docs/build/html/python/_autosummary/mlx.core.rsqrt.html +++ b/docs/build/html/python/_autosummary/mlx.core.rsqrt.html @@ -8,7 +8,7 @@ - mlx.core.rsqrt — MLX 0.21.0 documentation + mlx.core.rsqrt — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.save.html b/docs/build/html/python/_autosummary/mlx.core.save.html index a64cbd5d0..8d1763beb 100644 --- a/docs/build/html/python/_autosummary/mlx.core.save.html +++ b/docs/build/html/python/_autosummary/mlx.core.save.html @@ -8,7 +8,7 @@ - mlx.core.save — MLX 0.21.0 documentation + mlx.core.save — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.save_gguf.html b/docs/build/html/python/_autosummary/mlx.core.save_gguf.html index eb47b6049..c394e489d 100644 --- a/docs/build/html/python/_autosummary/mlx.core.save_gguf.html +++ b/docs/build/html/python/_autosummary/mlx.core.save_gguf.html @@ -8,7 +8,7 @@ - mlx.core.save_gguf — MLX 0.21.0 documentation + mlx.core.save_gguf — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.save_safetensors.html b/docs/build/html/python/_autosummary/mlx.core.save_safetensors.html index 1c1abf5bc..e81a3095d 100644 --- a/docs/build/html/python/_autosummary/mlx.core.save_safetensors.html +++ b/docs/build/html/python/_autosummary/mlx.core.save_safetensors.html @@ -8,7 +8,7 @@ - mlx.core.save_safetensors — MLX 0.21.0 documentation + mlx.core.save_safetensors — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.savez.html b/docs/build/html/python/_autosummary/mlx.core.savez.html index 9180168bf..c536b9c8f 100644 --- a/docs/build/html/python/_autosummary/mlx.core.savez.html +++ b/docs/build/html/python/_autosummary/mlx.core.savez.html @@ -8,7 +8,7 @@ - mlx.core.savez — MLX 0.21.0 documentation + mlx.core.savez — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.savez_compressed.html b/docs/build/html/python/_autosummary/mlx.core.savez_compressed.html index 5d3b133cc..54574bc94 100644 --- a/docs/build/html/python/_autosummary/mlx.core.savez_compressed.html +++ b/docs/build/html/python/_autosummary/mlx.core.savez_compressed.html @@ -8,7 +8,7 @@ - mlx.core.savez_compressed — MLX 0.21.0 documentation + mlx.core.savez_compressed — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.set_default_device.html b/docs/build/html/python/_autosummary/mlx.core.set_default_device.html index 3d9e5dda3..65f9b2319 100644 --- a/docs/build/html/python/_autosummary/mlx.core.set_default_device.html +++ b/docs/build/html/python/_autosummary/mlx.core.set_default_device.html @@ -8,7 +8,7 @@ - mlx.core.set_default_device — MLX 0.21.0 documentation + mlx.core.set_default_device — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.set_default_stream.html b/docs/build/html/python/_autosummary/mlx.core.set_default_stream.html index 3837bce68..88c706a03 100644 --- a/docs/build/html/python/_autosummary/mlx.core.set_default_stream.html +++ b/docs/build/html/python/_autosummary/mlx.core.set_default_stream.html @@ -8,7 +8,7 @@ - mlx.core.set_default_stream — MLX 0.21.0 documentation + mlx.core.set_default_stream — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.sigmoid.html b/docs/build/html/python/_autosummary/mlx.core.sigmoid.html index e440fb688..61dee60f7 100644 --- a/docs/build/html/python/_autosummary/mlx.core.sigmoid.html +++ b/docs/build/html/python/_autosummary/mlx.core.sigmoid.html @@ -8,7 +8,7 @@ - mlx.core.sigmoid — MLX 0.21.0 documentation + mlx.core.sigmoid — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.sign.html b/docs/build/html/python/_autosummary/mlx.core.sign.html index 326d2b7aa..1929e425c 100644 --- a/docs/build/html/python/_autosummary/mlx.core.sign.html +++ b/docs/build/html/python/_autosummary/mlx.core.sign.html @@ -8,7 +8,7 @@ - mlx.core.sign — MLX 0.21.0 documentation + mlx.core.sign — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.sin.html b/docs/build/html/python/_autosummary/mlx.core.sin.html index ea1bf29b2..2a78d84eb 100644 --- a/docs/build/html/python/_autosummary/mlx.core.sin.html +++ b/docs/build/html/python/_autosummary/mlx.core.sin.html @@ -8,7 +8,7 @@ - mlx.core.sin — MLX 0.21.0 documentation + mlx.core.sin — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.sinh.html b/docs/build/html/python/_autosummary/mlx.core.sinh.html index 72ea18f3c..70be4aa94 100644 --- a/docs/build/html/python/_autosummary/mlx.core.sinh.html +++ b/docs/build/html/python/_autosummary/mlx.core.sinh.html @@ -8,7 +8,7 @@ - mlx.core.sinh — MLX 0.21.0 documentation + mlx.core.sinh — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.softmax.html b/docs/build/html/python/_autosummary/mlx.core.softmax.html index 8143ce0c4..fb4b77095 100644 --- a/docs/build/html/python/_autosummary/mlx.core.softmax.html +++ b/docs/build/html/python/_autosummary/mlx.core.softmax.html @@ -8,7 +8,7 @@ - mlx.core.softmax — MLX 0.21.0 documentation + mlx.core.softmax — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.sort.html b/docs/build/html/python/_autosummary/mlx.core.sort.html index 2178bc208..efcef00b5 100644 --- a/docs/build/html/python/_autosummary/mlx.core.sort.html +++ b/docs/build/html/python/_autosummary/mlx.core.sort.html @@ -8,7 +8,7 @@ - mlx.core.sort — MLX 0.21.0 documentation + mlx.core.sort — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.split.html b/docs/build/html/python/_autosummary/mlx.core.split.html index d4d5a2ad9..9d668f39c 100644 --- a/docs/build/html/python/_autosummary/mlx.core.split.html +++ b/docs/build/html/python/_autosummary/mlx.core.split.html @@ -8,7 +8,7 @@ - mlx.core.split — MLX 0.21.0 documentation + mlx.core.split — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.sqrt.html b/docs/build/html/python/_autosummary/mlx.core.sqrt.html index 049f15b9c..7e83bcc4a 100644 --- a/docs/build/html/python/_autosummary/mlx.core.sqrt.html +++ b/docs/build/html/python/_autosummary/mlx.core.sqrt.html @@ -8,7 +8,7 @@ - mlx.core.sqrt — MLX 0.21.0 documentation + mlx.core.sqrt — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.square.html b/docs/build/html/python/_autosummary/mlx.core.square.html index afd87c2b6..2aa362ab3 100644 --- a/docs/build/html/python/_autosummary/mlx.core.square.html +++ b/docs/build/html/python/_autosummary/mlx.core.square.html @@ -8,7 +8,7 @@ - mlx.core.square — MLX 0.21.0 documentation + mlx.core.square — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.squeeze.html b/docs/build/html/python/_autosummary/mlx.core.squeeze.html index b931d91c0..cf372f343 100644 --- a/docs/build/html/python/_autosummary/mlx.core.squeeze.html +++ b/docs/build/html/python/_autosummary/mlx.core.squeeze.html @@ -8,7 +8,7 @@ - mlx.core.squeeze — MLX 0.21.0 documentation + mlx.core.squeeze — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.stack.html b/docs/build/html/python/_autosummary/mlx.core.stack.html index de1b8e82f..6bf21472e 100644 --- a/docs/build/html/python/_autosummary/mlx.core.stack.html +++ b/docs/build/html/python/_autosummary/mlx.core.stack.html @@ -8,7 +8,7 @@ - mlx.core.stack — MLX 0.21.0 documentation + mlx.core.stack — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.std.html b/docs/build/html/python/_autosummary/mlx.core.std.html index e8c2cdd72..5fc811a27 100644 --- a/docs/build/html/python/_autosummary/mlx.core.std.html +++ b/docs/build/html/python/_autosummary/mlx.core.std.html @@ -8,7 +8,7 @@ - mlx.core.std — MLX 0.21.0 documentation + mlx.core.std — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.stop_gradient.html b/docs/build/html/python/_autosummary/mlx.core.stop_gradient.html index aed67e20f..2b168f5a1 100644 --- a/docs/build/html/python/_autosummary/mlx.core.stop_gradient.html +++ b/docs/build/html/python/_autosummary/mlx.core.stop_gradient.html @@ -8,7 +8,7 @@ - mlx.core.stop_gradient — MLX 0.21.0 documentation + mlx.core.stop_gradient — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.stream.html b/docs/build/html/python/_autosummary/mlx.core.stream.html index 5240a01fb..f55932152 100644 --- a/docs/build/html/python/_autosummary/mlx.core.stream.html +++ b/docs/build/html/python/_autosummary/mlx.core.stream.html @@ -8,7 +8,7 @@ - mlx.core.stream — MLX 0.21.0 documentation + mlx.core.stream — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.subtract.html b/docs/build/html/python/_autosummary/mlx.core.subtract.html index e61c94a51..50dc20c5b 100644 --- a/docs/build/html/python/_autosummary/mlx.core.subtract.html +++ b/docs/build/html/python/_autosummary/mlx.core.subtract.html @@ -8,7 +8,7 @@ - mlx.core.subtract — MLX 0.21.0 documentation + mlx.core.subtract — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.sum.html b/docs/build/html/python/_autosummary/mlx.core.sum.html index c4ad7a65b..76e802cb6 100644 --- a/docs/build/html/python/_autosummary/mlx.core.sum.html +++ b/docs/build/html/python/_autosummary/mlx.core.sum.html @@ -8,7 +8,7 @@ - mlx.core.sum — MLX 0.21.0 documentation + mlx.core.sum — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.swapaxes.html b/docs/build/html/python/_autosummary/mlx.core.swapaxes.html index 2e0de6a74..24afbfb6d 100644 --- a/docs/build/html/python/_autosummary/mlx.core.swapaxes.html +++ b/docs/build/html/python/_autosummary/mlx.core.swapaxes.html @@ -8,7 +8,7 @@ - mlx.core.swapaxes — MLX 0.21.0 documentation + mlx.core.swapaxes — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.synchronize.html b/docs/build/html/python/_autosummary/mlx.core.synchronize.html index cfa0d2b86..2e8ece7cf 100644 --- a/docs/build/html/python/_autosummary/mlx.core.synchronize.html +++ b/docs/build/html/python/_autosummary/mlx.core.synchronize.html @@ -8,7 +8,7 @@ - mlx.core.synchronize — MLX 0.21.0 documentation + mlx.core.synchronize — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.take.html b/docs/build/html/python/_autosummary/mlx.core.take.html index 89a73d77a..ddc07305a 100644 --- a/docs/build/html/python/_autosummary/mlx.core.take.html +++ b/docs/build/html/python/_autosummary/mlx.core.take.html @@ -8,7 +8,7 @@ - mlx.core.take — MLX 0.21.0 documentation + mlx.core.take — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.take_along_axis.html b/docs/build/html/python/_autosummary/mlx.core.take_along_axis.html index 3eeea1ceb..5a6324f20 100644 --- a/docs/build/html/python/_autosummary/mlx.core.take_along_axis.html +++ b/docs/build/html/python/_autosummary/mlx.core.take_along_axis.html @@ -8,7 +8,7 @@ - mlx.core.take_along_axis — MLX 0.21.0 documentation + mlx.core.take_along_axis — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.tan.html b/docs/build/html/python/_autosummary/mlx.core.tan.html index 4ca135839..2cf7574e3 100644 --- a/docs/build/html/python/_autosummary/mlx.core.tan.html +++ b/docs/build/html/python/_autosummary/mlx.core.tan.html @@ -8,7 +8,7 @@ - mlx.core.tan — MLX 0.21.0 documentation + mlx.core.tan — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.tanh.html b/docs/build/html/python/_autosummary/mlx.core.tanh.html index 8dc142955..a3cbfe825 100644 --- a/docs/build/html/python/_autosummary/mlx.core.tanh.html +++ b/docs/build/html/python/_autosummary/mlx.core.tanh.html @@ -8,7 +8,7 @@ - mlx.core.tanh — MLX 0.21.0 documentation + mlx.core.tanh — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.tensordot.html b/docs/build/html/python/_autosummary/mlx.core.tensordot.html index b64ef0565..d48de6488 100644 --- a/docs/build/html/python/_autosummary/mlx.core.tensordot.html +++ b/docs/build/html/python/_autosummary/mlx.core.tensordot.html @@ -8,7 +8,7 @@ - mlx.core.tensordot — MLX 0.21.0 documentation + mlx.core.tensordot — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.tile.html b/docs/build/html/python/_autosummary/mlx.core.tile.html index 87ac74c16..682eb3e92 100644 --- a/docs/build/html/python/_autosummary/mlx.core.tile.html +++ b/docs/build/html/python/_autosummary/mlx.core.tile.html @@ -8,7 +8,7 @@ - mlx.core.tile — MLX 0.21.0 documentation + mlx.core.tile — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.topk.html b/docs/build/html/python/_autosummary/mlx.core.topk.html index b2410d020..b92f40dc4 100644 --- a/docs/build/html/python/_autosummary/mlx.core.topk.html +++ b/docs/build/html/python/_autosummary/mlx.core.topk.html @@ -8,7 +8,7 @@ - mlx.core.topk — MLX 0.21.0 documentation + mlx.core.topk — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.trace.html b/docs/build/html/python/_autosummary/mlx.core.trace.html index ff19ad578..e6c15e94d 100644 --- a/docs/build/html/python/_autosummary/mlx.core.trace.html +++ b/docs/build/html/python/_autosummary/mlx.core.trace.html @@ -8,7 +8,7 @@ - mlx.core.trace — MLX 0.21.0 documentation + mlx.core.trace — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.transpose.html b/docs/build/html/python/_autosummary/mlx.core.transpose.html index 6b6f8f760..1fe060d7d 100644 --- a/docs/build/html/python/_autosummary/mlx.core.transpose.html +++ b/docs/build/html/python/_autosummary/mlx.core.transpose.html @@ -8,7 +8,7 @@ - mlx.core.transpose — MLX 0.21.0 documentation + mlx.core.transpose — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.tri.html b/docs/build/html/python/_autosummary/mlx.core.tri.html index f795c230f..f258aa340 100644 --- a/docs/build/html/python/_autosummary/mlx.core.tri.html +++ b/docs/build/html/python/_autosummary/mlx.core.tri.html @@ -8,7 +8,7 @@ - mlx.core.tri — MLX 0.21.0 documentation + mlx.core.tri — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.tril.html b/docs/build/html/python/_autosummary/mlx.core.tril.html index 4de21ff78..5781dd269 100644 --- a/docs/build/html/python/_autosummary/mlx.core.tril.html +++ b/docs/build/html/python/_autosummary/mlx.core.tril.html @@ -8,7 +8,7 @@ - mlx.core.tril — MLX 0.21.0 documentation + mlx.core.tril — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.triu.html b/docs/build/html/python/_autosummary/mlx.core.triu.html index ea3797fe9..ee4cb17a1 100644 --- a/docs/build/html/python/_autosummary/mlx.core.triu.html +++ b/docs/build/html/python/_autosummary/mlx.core.triu.html @@ -8,7 +8,7 @@ - mlx.core.triu — MLX 0.21.0 documentation + mlx.core.triu — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.value_and_grad.html b/docs/build/html/python/_autosummary/mlx.core.value_and_grad.html index 97a5c09f7..f65314a0e 100644 --- a/docs/build/html/python/_autosummary/mlx.core.value_and_grad.html +++ b/docs/build/html/python/_autosummary/mlx.core.value_and_grad.html @@ -8,7 +8,7 @@ - mlx.core.value_and_grad — MLX 0.21.0 documentation + mlx.core.value_and_grad — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.var.html b/docs/build/html/python/_autosummary/mlx.core.var.html index 1032ee0bd..4cc377b09 100644 --- a/docs/build/html/python/_autosummary/mlx.core.var.html +++ b/docs/build/html/python/_autosummary/mlx.core.var.html @@ -8,7 +8,7 @@ - mlx.core.var — MLX 0.21.0 documentation + mlx.core.var — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.view.html b/docs/build/html/python/_autosummary/mlx.core.view.html index 1689f53a8..c72e416d0 100644 --- a/docs/build/html/python/_autosummary/mlx.core.view.html +++ b/docs/build/html/python/_autosummary/mlx.core.view.html @@ -8,7 +8,7 @@ - mlx.core.view — MLX 0.21.0 documentation + mlx.core.view — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.vjp.html b/docs/build/html/python/_autosummary/mlx.core.vjp.html index 11b92db8e..b234f5ece 100644 --- a/docs/build/html/python/_autosummary/mlx.core.vjp.html +++ b/docs/build/html/python/_autosummary/mlx.core.vjp.html @@ -8,7 +8,7 @@ - mlx.core.vjp — MLX 0.21.0 documentation + mlx.core.vjp — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.vmap.html b/docs/build/html/python/_autosummary/mlx.core.vmap.html index 93c10e501..940007aed 100644 --- a/docs/build/html/python/_autosummary/mlx.core.vmap.html +++ b/docs/build/html/python/_autosummary/mlx.core.vmap.html @@ -8,7 +8,7 @@ - mlx.core.vmap — MLX 0.21.0 documentation + mlx.core.vmap — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.where.html b/docs/build/html/python/_autosummary/mlx.core.where.html index a64a3b50a..a6bc0da93 100644 --- a/docs/build/html/python/_autosummary/mlx.core.where.html +++ b/docs/build/html/python/_autosummary/mlx.core.where.html @@ -8,7 +8,7 @@ - mlx.core.where — MLX 0.21.0 documentation + mlx.core.where — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.zeros.html b/docs/build/html/python/_autosummary/mlx.core.zeros.html index de6306b3b..13cddbadd 100644 --- a/docs/build/html/python/_autosummary/mlx.core.zeros.html +++ b/docs/build/html/python/_autosummary/mlx.core.zeros.html @@ -8,7 +8,7 @@ - mlx.core.zeros — MLX 0.21.0 documentation + mlx.core.zeros — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.core.zeros_like.html b/docs/build/html/python/_autosummary/mlx.core.zeros_like.html index 00b237fcf..00e136264 100644 --- a/docs/build/html/python/_autosummary/mlx.core.zeros_like.html +++ b/docs/build/html/python/_autosummary/mlx.core.zeros_like.html @@ -8,7 +8,7 @@ - mlx.core.zeros_like — MLX 0.21.0 documentation + mlx.core.zeros_like — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.nn.quantize.html b/docs/build/html/python/_autosummary/mlx.nn.quantize.html index 1590da631..6b4c9c1fd 100644 --- a/docs/build/html/python/_autosummary/mlx.nn.quantize.html +++ b/docs/build/html/python/_autosummary/mlx.nn.quantize.html @@ -8,7 +8,7 @@ - mlx.nn.quantize — MLX 0.21.0 documentation + mlx.nn.quantize — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home @@ -866,7 +866,7 @@

    mlx.nn.quantize#

    -quantize(model: Module, group_size: int = 64, bits: int = 4, class_predicate: Callable | None = None)#
    +quantize(model: Module, group_size: int = 64, bits: int = 4, class_predicate: Callable[[str, Module], bool | dict] | None = None)#

    Quantize the sub-modules of a module according to a predicate.

    By default all layers that define a to_quantized(group_size, bits) method will be quantized. Both Linear and Embedding layers @@ -880,10 +880,11 @@ will be quantized. Note also, the module is updated in-place.

  • bits (int) – The number of bits per parameter (see mlx.core.quantize()). Default: 4.

  • class_predicate (Optional[Callable]) – A callable which receives the -Module path and Module itself and returns True if -it should be quantized and False otherwise. If None, then -all layers that define a to_quantized(group_size, bits) method -are quantized. Default: None.

  • +Module path and Module itself and returns True or a +dict of params for to_quantized if it should be quantized and +False otherwise. If None, then all layers that define a +to_quantized(group_size, bits) method are quantized. +Default: None.

    diff --git a/docs/build/html/python/_autosummary/mlx.nn.value_and_grad.html b/docs/build/html/python/_autosummary/mlx.nn.value_and_grad.html index 1db6357bc..4fc7834ae 100644 --- a/docs/build/html/python/_autosummary/mlx.nn.value_and_grad.html +++ b/docs/build/html/python/_autosummary/mlx.nn.value_and_grad.html @@ -8,7 +8,7 @@ - mlx.nn.value_and_grad — MLX 0.21.0 documentation + mlx.nn.value_and_grad — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.optimizers.clip_grad_norm.html b/docs/build/html/python/_autosummary/mlx.optimizers.clip_grad_norm.html index beb942b1e..4ec36c081 100644 --- a/docs/build/html/python/_autosummary/mlx.optimizers.clip_grad_norm.html +++ b/docs/build/html/python/_autosummary/mlx.optimizers.clip_grad_norm.html @@ -8,7 +8,7 @@ - mlx.optimizers.clip_grad_norm — MLX 0.21.0 documentation + mlx.optimizers.clip_grad_norm — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.utils.tree_flatten.html b/docs/build/html/python/_autosummary/mlx.utils.tree_flatten.html index bce5080db..8cab8dea9 100644 --- a/docs/build/html/python/_autosummary/mlx.utils.tree_flatten.html +++ b/docs/build/html/python/_autosummary/mlx.utils.tree_flatten.html @@ -8,7 +8,7 @@ - mlx.utils.tree_flatten — MLX 0.21.0 documentation + mlx.utils.tree_flatten — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.utils.tree_map.html b/docs/build/html/python/_autosummary/mlx.utils.tree_map.html index 78daab29d..c94c6c73b 100644 --- a/docs/build/html/python/_autosummary/mlx.utils.tree_map.html +++ b/docs/build/html/python/_autosummary/mlx.utils.tree_map.html @@ -8,7 +8,7 @@ - mlx.utils.tree_map — MLX 0.21.0 documentation + mlx.utils.tree_map — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.utils.tree_map_with_path.html b/docs/build/html/python/_autosummary/mlx.utils.tree_map_with_path.html index 6a9a3c210..191ebbdef 100644 --- a/docs/build/html/python/_autosummary/mlx.utils.tree_map_with_path.html +++ b/docs/build/html/python/_autosummary/mlx.utils.tree_map_with_path.html @@ -8,7 +8,7 @@ - mlx.utils.tree_map_with_path — MLX 0.21.0 documentation + mlx.utils.tree_map_with_path — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.utils.tree_reduce.html b/docs/build/html/python/_autosummary/mlx.utils.tree_reduce.html index 3570b4266..46744304b 100644 --- a/docs/build/html/python/_autosummary/mlx.utils.tree_reduce.html +++ b/docs/build/html/python/_autosummary/mlx.utils.tree_reduce.html @@ -8,7 +8,7 @@ - mlx.utils.tree_reduce — MLX 0.21.0 documentation + mlx.utils.tree_reduce — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/mlx.utils.tree_unflatten.html b/docs/build/html/python/_autosummary/mlx.utils.tree_unflatten.html index 61309f4fd..48e164373 100644 --- a/docs/build/html/python/_autosummary/mlx.utils.tree_unflatten.html +++ b/docs/build/html/python/_autosummary/mlx.utils.tree_unflatten.html @@ -8,7 +8,7 @@ - mlx.utils.tree_unflatten — MLX 0.21.0 documentation + mlx.utils.tree_unflatten — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/_autosummary/stream_class.html b/docs/build/html/python/_autosummary/stream_class.html index 6600af163..af08c5771 100644 --- a/docs/build/html/python/_autosummary/stream_class.html +++ b/docs/build/html/python/_autosummary/stream_class.html @@ -8,7 +8,7 @@ - mlx.core.Stream — MLX 0.21.0 documentation + mlx.core.Stream — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home @@ -873,13 +873,13 @@

    A stream for running operations on a given device.

    -__init__(self, index: int, device: Device) None#
    +__init__(*args, **kwargs)#

    Methods

    - + diff --git a/docs/build/html/python/array.html b/docs/build/html/python/array.html index 64bd5bb4c..c8d5fed4c 100644 --- a/docs/build/html/python/array.html +++ b/docs/build/html/python/array.html @@ -8,7 +8,7 @@ - Array — MLX 0.21.0 documentation + Array — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/data_types.html b/docs/build/html/python/data_types.html index f3d768073..e4085e610 100644 --- a/docs/build/html/python/data_types.html +++ b/docs/build/html/python/data_types.html @@ -8,7 +8,7 @@ - Data Types — MLX 0.21.0 documentation + Data Types — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/devices_and_streams.html b/docs/build/html/python/devices_and_streams.html index e7a828196..77d10bb8b 100644 --- a/docs/build/html/python/devices_and_streams.html +++ b/docs/build/html/python/devices_and_streams.html @@ -8,7 +8,7 @@ - Devices and Streams — MLX 0.21.0 documentation + Devices and Streams — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/distributed.html b/docs/build/html/python/distributed.html index 55787a80e..9e48be33b 100644 --- a/docs/build/html/python/distributed.html +++ b/docs/build/html/python/distributed.html @@ -8,7 +8,7 @@ - Distributed Communication — MLX 0.21.0 documentation + Distributed Communication — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/fast.html b/docs/build/html/python/fast.html index c27b9023e..37c30e5a3 100644 --- a/docs/build/html/python/fast.html +++ b/docs/build/html/python/fast.html @@ -8,7 +8,7 @@ - Fast — MLX 0.21.0 documentation + Fast — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/fft.html b/docs/build/html/python/fft.html index 256538c7d..01b6488ea 100644 --- a/docs/build/html/python/fft.html +++ b/docs/build/html/python/fft.html @@ -8,7 +8,7 @@ - FFT — MLX 0.21.0 documentation + FFT — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/linalg.html b/docs/build/html/python/linalg.html index 8c27548b7..3a5b0e0ef 100644 --- a/docs/build/html/python/linalg.html +++ b/docs/build/html/python/linalg.html @@ -8,7 +8,7 @@ - Linear Algebra — MLX 0.21.0 documentation + Linear Algebra — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/metal.html b/docs/build/html/python/metal.html index eae7ebda6..1b519d16e 100644 --- a/docs/build/html/python/metal.html +++ b/docs/build/html/python/metal.html @@ -8,7 +8,7 @@ - Metal — MLX 0.21.0 documentation + Metal — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn.html b/docs/build/html/python/nn.html index afa53bd05..309de68cb 100644 --- a/docs/build/html/python/nn.html +++ b/docs/build/html/python/nn.html @@ -8,7 +8,7 @@ - Neural Networks — MLX 0.21.0 documentation + Neural Networks — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.ALiBi.html b/docs/build/html/python/nn/_autosummary/mlx.nn.ALiBi.html index 48e8650d9..b458e2728 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.ALiBi.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.ALiBi.html @@ -8,7 +8,7 @@ - mlx.nn.ALiBi — MLX 0.21.0 documentation + mlx.nn.ALiBi — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.AvgPool1d.html b/docs/build/html/python/nn/_autosummary/mlx.nn.AvgPool1d.html index 762afeb6f..b514a17f9 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.AvgPool1d.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.AvgPool1d.html @@ -8,7 +8,7 @@ - mlx.nn.AvgPool1d — MLX 0.21.0 documentation + mlx.nn.AvgPool1d — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.AvgPool2d.html b/docs/build/html/python/nn/_autosummary/mlx.nn.AvgPool2d.html index 4ecff76d7..e10d91655 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.AvgPool2d.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.AvgPool2d.html @@ -8,7 +8,7 @@ - mlx.nn.AvgPool2d — MLX 0.21.0 documentation + mlx.nn.AvgPool2d — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.AvgPool3d.html b/docs/build/html/python/nn/_autosummary/mlx.nn.AvgPool3d.html index 0a744a047..76818e7a0 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.AvgPool3d.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.AvgPool3d.html @@ -8,7 +8,7 @@ - mlx.nn.AvgPool3d — MLX 0.21.0 documentation + mlx.nn.AvgPool3d — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.BatchNorm.html b/docs/build/html/python/nn/_autosummary/mlx.nn.BatchNorm.html index c9058c077..b96f24a26 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.BatchNorm.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.BatchNorm.html @@ -8,7 +8,7 @@ - mlx.nn.BatchNorm — MLX 0.21.0 documentation + mlx.nn.BatchNorm — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.CELU.html b/docs/build/html/python/nn/_autosummary/mlx.nn.CELU.html index 2cfbaf981..4c8f69e65 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.CELU.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.CELU.html @@ -8,7 +8,7 @@ - mlx.nn.CELU — MLX 0.21.0 documentation + mlx.nn.CELU — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Conv1d.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Conv1d.html index a8129fe82..b782de723 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Conv1d.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Conv1d.html @@ -8,7 +8,7 @@ - mlx.nn.Conv1d — MLX 0.21.0 documentation + mlx.nn.Conv1d — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Conv2d.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Conv2d.html index 99c2f5b25..c63f2bdb3 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Conv2d.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Conv2d.html @@ -8,7 +8,7 @@ - mlx.nn.Conv2d — MLX 0.21.0 documentation + mlx.nn.Conv2d — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Conv3d.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Conv3d.html index 4cd2ff2b1..82d53059b 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Conv3d.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Conv3d.html @@ -8,7 +8,7 @@ - mlx.nn.Conv3d — MLX 0.21.0 documentation + mlx.nn.Conv3d — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.ConvTranspose1d.html b/docs/build/html/python/nn/_autosummary/mlx.nn.ConvTranspose1d.html index dd149a60a..6e6413b1d 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.ConvTranspose1d.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.ConvTranspose1d.html @@ -8,7 +8,7 @@ - mlx.nn.ConvTranspose1d — MLX 0.21.0 documentation + mlx.nn.ConvTranspose1d — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.ConvTranspose2d.html b/docs/build/html/python/nn/_autosummary/mlx.nn.ConvTranspose2d.html index 70e389478..b79027865 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.ConvTranspose2d.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.ConvTranspose2d.html @@ -8,7 +8,7 @@ - mlx.nn.ConvTranspose2d — MLX 0.21.0 documentation + mlx.nn.ConvTranspose2d — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.ConvTranspose3d.html b/docs/build/html/python/nn/_autosummary/mlx.nn.ConvTranspose3d.html index 798ce3d7d..c8a168ac1 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.ConvTranspose3d.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.ConvTranspose3d.html @@ -8,7 +8,7 @@ - mlx.nn.ConvTranspose3d — MLX 0.21.0 documentation + mlx.nn.ConvTranspose3d — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Dropout.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Dropout.html index 85bcffd50..39c999fb7 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Dropout.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Dropout.html @@ -8,7 +8,7 @@ - mlx.nn.Dropout — MLX 0.21.0 documentation + mlx.nn.Dropout — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Dropout2d.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Dropout2d.html index 2a5fa07cf..cbf52a460 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Dropout2d.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Dropout2d.html @@ -8,7 +8,7 @@ - mlx.nn.Dropout2d — MLX 0.21.0 documentation + mlx.nn.Dropout2d — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Dropout3d.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Dropout3d.html index 76d0ab41a..1edcc5491 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Dropout3d.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Dropout3d.html @@ -8,7 +8,7 @@ - mlx.nn.Dropout3d — MLX 0.21.0 documentation + mlx.nn.Dropout3d — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.ELU.html b/docs/build/html/python/nn/_autosummary/mlx.nn.ELU.html index 13bc9464a..76ace032c 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.ELU.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.ELU.html @@ -8,7 +8,7 @@ - mlx.nn.ELU — MLX 0.21.0 documentation + mlx.nn.ELU — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Embedding.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Embedding.html index aecf5c76e..295cc02b9 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Embedding.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Embedding.html @@ -8,7 +8,7 @@ - mlx.nn.Embedding — MLX 0.21.0 documentation + mlx.nn.Embedding — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.GELU.html b/docs/build/html/python/nn/_autosummary/mlx.nn.GELU.html index 5f48216cc..0f13fb494 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.GELU.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.GELU.html @@ -8,7 +8,7 @@ - mlx.nn.GELU — MLX 0.21.0 documentation + mlx.nn.GELU — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.GLU.html b/docs/build/html/python/nn/_autosummary/mlx.nn.GLU.html index 0782c6644..ec872db2a 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.GLU.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.GLU.html @@ -8,7 +8,7 @@ - mlx.nn.GLU — MLX 0.21.0 documentation + mlx.nn.GLU — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.GRU.html b/docs/build/html/python/nn/_autosummary/mlx.nn.GRU.html index 774445ca5..37df89db7 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.GRU.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.GRU.html @@ -8,7 +8,7 @@ - mlx.nn.GRU — MLX 0.21.0 documentation + mlx.nn.GRU — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.GroupNorm.html b/docs/build/html/python/nn/_autosummary/mlx.nn.GroupNorm.html index 22f18d7d3..e0bf8aeed 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.GroupNorm.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.GroupNorm.html @@ -8,7 +8,7 @@ - mlx.nn.GroupNorm — MLX 0.21.0 documentation + mlx.nn.GroupNorm — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.HardShrink.html b/docs/build/html/python/nn/_autosummary/mlx.nn.HardShrink.html index aa37d5054..d30d2335f 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.HardShrink.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.HardShrink.html @@ -8,7 +8,7 @@ - mlx.nn.HardShrink — MLX 0.21.0 documentation + mlx.nn.HardShrink — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.HardTanh.html b/docs/build/html/python/nn/_autosummary/mlx.nn.HardTanh.html index 89e9fa0a9..59ea847bd 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.HardTanh.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.HardTanh.html @@ -8,7 +8,7 @@ - mlx.nn.HardTanh — MLX 0.21.0 documentation + mlx.nn.HardTanh — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Hardswish.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Hardswish.html index 28aa440e4..f15bf2538 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Hardswish.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Hardswish.html @@ -8,7 +8,7 @@ - mlx.nn.Hardswish — MLX 0.21.0 documentation + mlx.nn.Hardswish — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.InstanceNorm.html b/docs/build/html/python/nn/_autosummary/mlx.nn.InstanceNorm.html index c2dfe360f..920225ad7 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.InstanceNorm.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.InstanceNorm.html @@ -8,7 +8,7 @@ - mlx.nn.InstanceNorm — MLX 0.21.0 documentation + mlx.nn.InstanceNorm — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.LSTM.html b/docs/build/html/python/nn/_autosummary/mlx.nn.LSTM.html index ae82553f9..e8e0a8379 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.LSTM.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.LSTM.html @@ -8,7 +8,7 @@ - mlx.nn.LSTM — MLX 0.21.0 documentation + mlx.nn.LSTM — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.LayerNorm.html b/docs/build/html/python/nn/_autosummary/mlx.nn.LayerNorm.html index 70f7b85a1..e2c420751 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.LayerNorm.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.LayerNorm.html @@ -8,7 +8,7 @@ - mlx.nn.LayerNorm — MLX 0.21.0 documentation + mlx.nn.LayerNorm — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.LeakyReLU.html b/docs/build/html/python/nn/_autosummary/mlx.nn.LeakyReLU.html index abc49b8c3..6de92882f 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.LeakyReLU.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.LeakyReLU.html @@ -8,7 +8,7 @@ - mlx.nn.LeakyReLU — MLX 0.21.0 documentation + mlx.nn.LeakyReLU — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Linear.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Linear.html index 9844d84ab..3fb50621a 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Linear.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Linear.html @@ -8,7 +8,7 @@ - mlx.nn.Linear — MLX 0.21.0 documentation + mlx.nn.Linear — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.LogSigmoid.html b/docs/build/html/python/nn/_autosummary/mlx.nn.LogSigmoid.html index 36ee5b93f..a2708082c 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.LogSigmoid.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.LogSigmoid.html @@ -8,7 +8,7 @@ - mlx.nn.LogSigmoid — MLX 0.21.0 documentation + mlx.nn.LogSigmoid — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.LogSoftmax.html b/docs/build/html/python/nn/_autosummary/mlx.nn.LogSoftmax.html index 41ee622d5..31d0840e4 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.LogSoftmax.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.LogSoftmax.html @@ -8,7 +8,7 @@ - mlx.nn.LogSoftmax — MLX 0.21.0 documentation + mlx.nn.LogSoftmax — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.MaxPool1d.html b/docs/build/html/python/nn/_autosummary/mlx.nn.MaxPool1d.html index e4966cb1e..743fa39fb 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.MaxPool1d.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.MaxPool1d.html @@ -8,7 +8,7 @@ - mlx.nn.MaxPool1d — MLX 0.21.0 documentation + mlx.nn.MaxPool1d — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.MaxPool2d.html b/docs/build/html/python/nn/_autosummary/mlx.nn.MaxPool2d.html index 6b940f164..72b8f6588 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.MaxPool2d.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.MaxPool2d.html @@ -8,7 +8,7 @@ - mlx.nn.MaxPool2d — MLX 0.21.0 documentation + mlx.nn.MaxPool2d — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.MaxPool3d.html b/docs/build/html/python/nn/_autosummary/mlx.nn.MaxPool3d.html index c1bd13f32..102a5f9d8 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.MaxPool3d.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.MaxPool3d.html @@ -8,7 +8,7 @@ - mlx.nn.MaxPool3d — MLX 0.21.0 documentation + mlx.nn.MaxPool3d — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Mish.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Mish.html index d31270c35..4c8fd6cca 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Mish.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Mish.html @@ -8,7 +8,7 @@ - mlx.nn.Mish — MLX 0.21.0 documentation + mlx.nn.Mish — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.apply.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.apply.html index e1c31c646..16f8d9d5e 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.apply.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.apply.html @@ -8,7 +8,7 @@ - mlx.nn.Module.apply — MLX 0.21.0 documentation + mlx.nn.Module.apply — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.apply_to_modules.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.apply_to_modules.html index 4b9d3b5db..b1725d3f6 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.apply_to_modules.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.apply_to_modules.html @@ -8,7 +8,7 @@ - mlx.nn.Module.apply_to_modules — MLX 0.21.0 documentation + mlx.nn.Module.apply_to_modules — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.children.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.children.html index b000446e0..6cae089a5 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.children.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.children.html @@ -8,7 +8,7 @@ - mlx.nn.Module.children — MLX 0.21.0 documentation + mlx.nn.Module.children — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.eval.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.eval.html index 7227830d1..74e79b613 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.eval.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.eval.html @@ -8,7 +8,7 @@ - mlx.nn.Module.eval — MLX 0.21.0 documentation + mlx.nn.Module.eval — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.filter_and_map.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.filter_and_map.html index b5dd1e4e6..5ba572199 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.filter_and_map.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.filter_and_map.html @@ -8,7 +8,7 @@ - mlx.nn.Module.filter_and_map — MLX 0.21.0 documentation + mlx.nn.Module.filter_and_map — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.freeze.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.freeze.html index 83221a7c1..e5c23b8d9 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.freeze.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.freeze.html @@ -8,7 +8,7 @@ - mlx.nn.Module.freeze — MLX 0.21.0 documentation + mlx.nn.Module.freeze — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.leaf_modules.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.leaf_modules.html index 799c3718f..d670c1e34 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.leaf_modules.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.leaf_modules.html @@ -8,7 +8,7 @@ - mlx.nn.Module.leaf_modules — MLX 0.21.0 documentation + mlx.nn.Module.leaf_modules — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.load_weights.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.load_weights.html index f8c3a25ab..6f1a4b638 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.load_weights.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.load_weights.html @@ -8,7 +8,7 @@ - mlx.nn.Module.load_weights — MLX 0.21.0 documentation + mlx.nn.Module.load_weights — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.modules.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.modules.html index 48d4b6192..a76b730dd 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.modules.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.modules.html @@ -8,7 +8,7 @@ - mlx.nn.Module.modules — MLX 0.21.0 documentation + mlx.nn.Module.modules — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.named_modules.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.named_modules.html index a334c79dd..14a30f2d4 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.named_modules.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.named_modules.html @@ -8,7 +8,7 @@ - mlx.nn.Module.named_modules — MLX 0.21.0 documentation + mlx.nn.Module.named_modules — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.parameters.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.parameters.html index 62825d8b4..c322866b6 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.parameters.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.parameters.html @@ -8,7 +8,7 @@ - mlx.nn.Module.parameters — MLX 0.21.0 documentation + mlx.nn.Module.parameters — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.save_weights.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.save_weights.html index 6e0115384..8d2c1111e 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.save_weights.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.save_weights.html @@ -8,7 +8,7 @@ - mlx.nn.Module.save_weights — MLX 0.21.0 documentation + mlx.nn.Module.save_weights — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.set_dtype.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.set_dtype.html index 499f7de56..f2884de3b 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.set_dtype.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.set_dtype.html @@ -8,7 +8,7 @@ - mlx.nn.Module.set_dtype — MLX 0.21.0 documentation + mlx.nn.Module.set_dtype — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.state.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.state.html index 902f7b626..4e2baabab 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.state.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.state.html @@ -8,7 +8,7 @@ - mlx.nn.Module.state — MLX 0.21.0 documentation + mlx.nn.Module.state — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.train.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.train.html index 24cce0132..2b74d1715 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.train.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.train.html @@ -8,7 +8,7 @@ - mlx.nn.Module.train — MLX 0.21.0 documentation + mlx.nn.Module.train — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.trainable_parameters.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.trainable_parameters.html index e8a61e710..f011c37be 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.trainable_parameters.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.trainable_parameters.html @@ -8,7 +8,7 @@ - mlx.nn.Module.trainable_parameters — MLX 0.21.0 documentation + mlx.nn.Module.trainable_parameters — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.training.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.training.html index 0a59a1cbe..bee52889f 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.training.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.training.html @@ -8,7 +8,7 @@ - mlx.nn.Module.training — MLX 0.21.0 documentation + mlx.nn.Module.training — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.unfreeze.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.unfreeze.html index 66d16983f..a32ee2176 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.unfreeze.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.unfreeze.html @@ -8,7 +8,7 @@ - mlx.nn.Module.unfreeze — MLX 0.21.0 documentation + mlx.nn.Module.unfreeze — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.update.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.update.html index 6e3168cc7..0558eb0ca 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.update.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.update.html @@ -8,7 +8,7 @@ - mlx.nn.Module.update — MLX 0.21.0 documentation + mlx.nn.Module.update — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.update_modules.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.update_modules.html index e213b30a1..0b0e95544 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Module.update_modules.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Module.update_modules.html @@ -8,7 +8,7 @@ - mlx.nn.Module.update_modules — MLX 0.21.0 documentation + mlx.nn.Module.update_modules — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.MultiHeadAttention.html b/docs/build/html/python/nn/_autosummary/mlx.nn.MultiHeadAttention.html index 0951d2165..e88840607 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.MultiHeadAttention.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.MultiHeadAttention.html @@ -8,7 +8,7 @@ - mlx.nn.MultiHeadAttention — MLX 0.21.0 documentation + mlx.nn.MultiHeadAttention — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.PReLU.html b/docs/build/html/python/nn/_autosummary/mlx.nn.PReLU.html index 3836d66f9..ade1bccea 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.PReLU.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.PReLU.html @@ -8,7 +8,7 @@ - mlx.nn.PReLU — MLX 0.21.0 documentation + mlx.nn.PReLU — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.QuantizedEmbedding.html b/docs/build/html/python/nn/_autosummary/mlx.nn.QuantizedEmbedding.html index 66d4abb8e..5ed975469 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.QuantizedEmbedding.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.QuantizedEmbedding.html @@ -8,7 +8,7 @@ - mlx.nn.QuantizedEmbedding — MLX 0.21.0 documentation + mlx.nn.QuantizedEmbedding — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.QuantizedLinear.html b/docs/build/html/python/nn/_autosummary/mlx.nn.QuantizedLinear.html index d26ff9795..d393de602 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.QuantizedLinear.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.QuantizedLinear.html @@ -8,7 +8,7 @@ - mlx.nn.QuantizedLinear — MLX 0.21.0 documentation + mlx.nn.QuantizedLinear — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.RMSNorm.html b/docs/build/html/python/nn/_autosummary/mlx.nn.RMSNorm.html index 76b5531d6..57caab71a 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.RMSNorm.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.RMSNorm.html @@ -8,7 +8,7 @@ - mlx.nn.RMSNorm — MLX 0.21.0 documentation + mlx.nn.RMSNorm — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.RNN.html b/docs/build/html/python/nn/_autosummary/mlx.nn.RNN.html index 29e0c2d6c..8ed1a86fe 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.RNN.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.RNN.html @@ -8,7 +8,7 @@ - mlx.nn.RNN — MLX 0.21.0 documentation + mlx.nn.RNN — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.ReLU.html b/docs/build/html/python/nn/_autosummary/mlx.nn.ReLU.html index 0ec51dd81..a09395e5a 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.ReLU.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.ReLU.html @@ -8,7 +8,7 @@ - mlx.nn.ReLU — MLX 0.21.0 documentation + mlx.nn.ReLU — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.ReLU6.html b/docs/build/html/python/nn/_autosummary/mlx.nn.ReLU6.html index a28ac22ef..bb52a5592 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.ReLU6.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.ReLU6.html @@ -8,7 +8,7 @@ - mlx.nn.ReLU6 — MLX 0.21.0 documentation + mlx.nn.ReLU6 — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.RoPE.html b/docs/build/html/python/nn/_autosummary/mlx.nn.RoPE.html index 479a981c1..6b0c5f415 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.RoPE.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.RoPE.html @@ -8,7 +8,7 @@ - mlx.nn.RoPE — MLX 0.21.0 documentation + mlx.nn.RoPE — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.SELU.html b/docs/build/html/python/nn/_autosummary/mlx.nn.SELU.html index 6b69eb2ed..3d5031f6d 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.SELU.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.SELU.html @@ -8,7 +8,7 @@ - mlx.nn.SELU — MLX 0.21.0 documentation + mlx.nn.SELU — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Sequential.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Sequential.html index d2f8c49da..5b1b26040 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Sequential.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Sequential.html @@ -8,7 +8,7 @@ - mlx.nn.Sequential — MLX 0.21.0 documentation + mlx.nn.Sequential — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.SiLU.html b/docs/build/html/python/nn/_autosummary/mlx.nn.SiLU.html index 6a004c01a..66b283f33 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.SiLU.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.SiLU.html @@ -8,7 +8,7 @@ - mlx.nn.SiLU — MLX 0.21.0 documentation + mlx.nn.SiLU — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Sigmoid.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Sigmoid.html index 5c1326527..3452419cc 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Sigmoid.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Sigmoid.html @@ -8,7 +8,7 @@ - mlx.nn.Sigmoid — MLX 0.21.0 documentation + mlx.nn.Sigmoid — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.SinusoidalPositionalEncoding.html b/docs/build/html/python/nn/_autosummary/mlx.nn.SinusoidalPositionalEncoding.html index 08872ef64..d64211def 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.SinusoidalPositionalEncoding.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.SinusoidalPositionalEncoding.html @@ -8,7 +8,7 @@ - mlx.nn.SinusoidalPositionalEncoding — MLX 0.21.0 documentation + mlx.nn.SinusoidalPositionalEncoding — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Softmax.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Softmax.html index a392a2baa..bdac84ceb 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Softmax.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Softmax.html @@ -8,7 +8,7 @@ - mlx.nn.Softmax — MLX 0.21.0 documentation + mlx.nn.Softmax — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Softmin.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Softmin.html index 60b68bda7..e4727b062 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Softmin.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Softmin.html @@ -8,7 +8,7 @@ - mlx.nn.Softmin — MLX 0.21.0 documentation + mlx.nn.Softmin — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Softplus.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Softplus.html index 61a7b4b9c..ab2911f03 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Softplus.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Softplus.html @@ -8,7 +8,7 @@ - mlx.nn.Softplus — MLX 0.21.0 documentation + mlx.nn.Softplus — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Softshrink.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Softshrink.html index dfdf9f2fa..7cd626f45 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Softshrink.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Softshrink.html @@ -8,7 +8,7 @@ - mlx.nn.Softshrink — MLX 0.21.0 documentation + mlx.nn.Softshrink — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Softsign.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Softsign.html index 95ece6203..0197b7b6e 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Softsign.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Softsign.html @@ -8,7 +8,7 @@ - mlx.nn.Softsign — MLX 0.21.0 documentation + mlx.nn.Softsign — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Step.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Step.html index 6b79d2b14..9baf2f2bd 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Step.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Step.html @@ -8,7 +8,7 @@ - mlx.nn.Step — MLX 0.21.0 documentation + mlx.nn.Step — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Tanh.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Tanh.html index 634538f47..184b862b6 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Tanh.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Tanh.html @@ -8,7 +8,7 @@ - mlx.nn.Tanh — MLX 0.21.0 documentation + mlx.nn.Tanh — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Transformer.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Transformer.html index 55a667654..da09da34a 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Transformer.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Transformer.html @@ -8,7 +8,7 @@ - mlx.nn.Transformer — MLX 0.21.0 documentation + mlx.nn.Transformer — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.Upsample.html b/docs/build/html/python/nn/_autosummary/mlx.nn.Upsample.html index 2efd1b5cc..d84767ebb 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.Upsample.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.Upsample.html @@ -8,7 +8,7 @@ - mlx.nn.Upsample — MLX 0.21.0 documentation + mlx.nn.Upsample — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.init.constant.html b/docs/build/html/python/nn/_autosummary/mlx.nn.init.constant.html index 5542f139d..379815021 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.init.constant.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.init.constant.html @@ -8,7 +8,7 @@ - mlx.nn.init.constant — MLX 0.21.0 documentation + mlx.nn.init.constant — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.init.glorot_normal.html b/docs/build/html/python/nn/_autosummary/mlx.nn.init.glorot_normal.html index ab915a167..6e27331b1 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.init.glorot_normal.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.init.glorot_normal.html @@ -8,7 +8,7 @@ - mlx.nn.init.glorot_normal — MLX 0.21.0 documentation + mlx.nn.init.glorot_normal — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.init.glorot_uniform.html b/docs/build/html/python/nn/_autosummary/mlx.nn.init.glorot_uniform.html index 0a6ab3e09..7e70f36ce 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.init.glorot_uniform.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.init.glorot_uniform.html @@ -8,7 +8,7 @@ - mlx.nn.init.glorot_uniform — MLX 0.21.0 documentation + mlx.nn.init.glorot_uniform — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.init.he_normal.html b/docs/build/html/python/nn/_autosummary/mlx.nn.init.he_normal.html index 5dbea1045..47658d720 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.init.he_normal.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.init.he_normal.html @@ -8,7 +8,7 @@ - mlx.nn.init.he_normal — MLX 0.21.0 documentation + mlx.nn.init.he_normal — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.init.he_uniform.html b/docs/build/html/python/nn/_autosummary/mlx.nn.init.he_uniform.html index 29474534b..b5febdd73 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.init.he_uniform.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.init.he_uniform.html @@ -8,7 +8,7 @@ - mlx.nn.init.he_uniform — MLX 0.21.0 documentation + mlx.nn.init.he_uniform — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.init.identity.html b/docs/build/html/python/nn/_autosummary/mlx.nn.init.identity.html index beca6ab6e..6c84394cd 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.init.identity.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.init.identity.html @@ -8,7 +8,7 @@ - mlx.nn.init.identity — MLX 0.21.0 documentation + mlx.nn.init.identity — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.init.normal.html b/docs/build/html/python/nn/_autosummary/mlx.nn.init.normal.html index 71431a740..911b568aa 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.init.normal.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.init.normal.html @@ -8,7 +8,7 @@ - mlx.nn.init.normal — MLX 0.21.0 documentation + mlx.nn.init.normal — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary/mlx.nn.init.uniform.html b/docs/build/html/python/nn/_autosummary/mlx.nn.init.uniform.html index db68625ab..fdc68e84e 100644 --- a/docs/build/html/python/nn/_autosummary/mlx.nn.init.uniform.html +++ b/docs/build/html/python/nn/_autosummary/mlx.nn.init.uniform.html @@ -8,7 +8,7 @@ - mlx.nn.init.uniform — MLX 0.21.0 documentation + mlx.nn.init.uniform — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.celu.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.celu.html index dd784037f..cc06a22e3 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.celu.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.celu.html @@ -8,7 +8,7 @@ - mlx.nn.celu — MLX 0.21.0 documentation + mlx.nn.celu — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.elu.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.elu.html index 860592e4a..76663fbb0 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.elu.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.elu.html @@ -8,7 +8,7 @@ - mlx.nn.elu — MLX 0.21.0 documentation + mlx.nn.elu — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.gelu.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.gelu.html index 68726795b..92d1068c9 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.gelu.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.gelu.html @@ -8,7 +8,7 @@ - mlx.nn.gelu — MLX 0.21.0 documentation + mlx.nn.gelu — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.gelu_approx.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.gelu_approx.html index ff7ad66f5..dfe30fc7b 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.gelu_approx.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.gelu_approx.html @@ -8,7 +8,7 @@ - mlx.nn.gelu_approx — MLX 0.21.0 documentation + mlx.nn.gelu_approx — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.gelu_fast_approx.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.gelu_fast_approx.html index de376385f..5074818d1 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.gelu_fast_approx.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.gelu_fast_approx.html @@ -8,7 +8,7 @@ - mlx.nn.gelu_fast_approx — MLX 0.21.0 documentation + mlx.nn.gelu_fast_approx — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.glu.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.glu.html index 777b762ea..ce053256f 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.glu.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.glu.html @@ -8,7 +8,7 @@ - mlx.nn.glu — MLX 0.21.0 documentation + mlx.nn.glu — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.hard_shrink.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.hard_shrink.html index 19e54485d..6a23c8d37 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.hard_shrink.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.hard_shrink.html @@ -8,7 +8,7 @@ - mlx.nn.hard_shrink — MLX 0.21.0 documentation + mlx.nn.hard_shrink — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.hard_tanh.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.hard_tanh.html index c204c54aa..9e1b9090f 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.hard_tanh.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.hard_tanh.html @@ -8,7 +8,7 @@ - mlx.nn.hard_tanh — MLX 0.21.0 documentation + mlx.nn.hard_tanh — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.hardswish.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.hardswish.html index d2ecf4822..0bb5c398b 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.hardswish.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.hardswish.html @@ -8,7 +8,7 @@ - mlx.nn.hardswish — MLX 0.21.0 documentation + mlx.nn.hardswish — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.leaky_relu.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.leaky_relu.html index 64d3cc571..b49179bab 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.leaky_relu.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.leaky_relu.html @@ -8,7 +8,7 @@ - mlx.nn.leaky_relu — MLX 0.21.0 documentation + mlx.nn.leaky_relu — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.log_sigmoid.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.log_sigmoid.html index 51b9a9872..9e27e5957 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.log_sigmoid.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.log_sigmoid.html @@ -8,7 +8,7 @@ - mlx.nn.log_sigmoid — MLX 0.21.0 documentation + mlx.nn.log_sigmoid — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.log_softmax.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.log_softmax.html index 0c8f04a97..7fe946acd 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.log_softmax.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.log_softmax.html @@ -8,7 +8,7 @@ - mlx.nn.log_softmax — MLX 0.21.0 documentation + mlx.nn.log_softmax — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.binary_cross_entropy.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.binary_cross_entropy.html index 7a359861d..80c8ca33d 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.binary_cross_entropy.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.binary_cross_entropy.html @@ -8,7 +8,7 @@ - mlx.nn.losses.binary_cross_entropy — MLX 0.21.0 documentation + mlx.nn.losses.binary_cross_entropy — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.cosine_similarity_loss.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.cosine_similarity_loss.html index c6e23f6bb..49ba9701a 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.cosine_similarity_loss.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.cosine_similarity_loss.html @@ -8,7 +8,7 @@ - mlx.nn.losses.cosine_similarity_loss — MLX 0.21.0 documentation + mlx.nn.losses.cosine_similarity_loss — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.cross_entropy.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.cross_entropy.html index 0752aa7c6..e9a94626c 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.cross_entropy.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.cross_entropy.html @@ -8,7 +8,7 @@ - mlx.nn.losses.cross_entropy — MLX 0.21.0 documentation + mlx.nn.losses.cross_entropy — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.gaussian_nll_loss.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.gaussian_nll_loss.html index 05ec94449..24198facd 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.gaussian_nll_loss.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.gaussian_nll_loss.html @@ -8,7 +8,7 @@ - mlx.nn.losses.gaussian_nll_loss — MLX 0.21.0 documentation + mlx.nn.losses.gaussian_nll_loss — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.hinge_loss.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.hinge_loss.html index 683b0f9a4..9e025e31a 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.hinge_loss.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.hinge_loss.html @@ -8,7 +8,7 @@ - mlx.nn.losses.hinge_loss — MLX 0.21.0 documentation + mlx.nn.losses.hinge_loss — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.huber_loss.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.huber_loss.html index a6627b7c5..4c8c3ddc9 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.huber_loss.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.huber_loss.html @@ -8,7 +8,7 @@ - mlx.nn.losses.huber_loss — MLX 0.21.0 documentation + mlx.nn.losses.huber_loss — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.kl_div_loss.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.kl_div_loss.html index 971c11929..6d9b806c1 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.kl_div_loss.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.kl_div_loss.html @@ -8,7 +8,7 @@ - mlx.nn.losses.kl_div_loss — MLX 0.21.0 documentation + mlx.nn.losses.kl_div_loss — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.l1_loss.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.l1_loss.html index cc0497871..727ee724c 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.l1_loss.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.l1_loss.html @@ -8,7 +8,7 @@ - mlx.nn.losses.l1_loss — MLX 0.21.0 documentation + mlx.nn.losses.l1_loss — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.log_cosh_loss.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.log_cosh_loss.html index 7e04217e4..19afc1103 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.log_cosh_loss.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.log_cosh_loss.html @@ -8,7 +8,7 @@ - mlx.nn.losses.log_cosh_loss — MLX 0.21.0 documentation + mlx.nn.losses.log_cosh_loss — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.margin_ranking_loss.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.margin_ranking_loss.html index 10d1c64f8..70a9f53a7 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.margin_ranking_loss.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.margin_ranking_loss.html @@ -8,7 +8,7 @@ - mlx.nn.losses.margin_ranking_loss — MLX 0.21.0 documentation + mlx.nn.losses.margin_ranking_loss — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.mse_loss.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.mse_loss.html index c2c1128ed..e0f140bb7 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.mse_loss.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.mse_loss.html @@ -8,7 +8,7 @@ - mlx.nn.losses.mse_loss — MLX 0.21.0 documentation + mlx.nn.losses.mse_loss — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.nll_loss.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.nll_loss.html index d514134ba..8816ec4a9 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.nll_loss.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.nll_loss.html @@ -8,7 +8,7 @@ - mlx.nn.losses.nll_loss — MLX 0.21.0 documentation + mlx.nn.losses.nll_loss — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.smooth_l1_loss.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.smooth_l1_loss.html index db573a9b3..7166a5d96 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.smooth_l1_loss.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.smooth_l1_loss.html @@ -8,7 +8,7 @@ - mlx.nn.losses.smooth_l1_loss — MLX 0.21.0 documentation + mlx.nn.losses.smooth_l1_loss — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.triplet_loss.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.triplet_loss.html index 568ece30e..874617dee 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.triplet_loss.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.losses.triplet_loss.html @@ -8,7 +8,7 @@ - mlx.nn.losses.triplet_loss — MLX 0.21.0 documentation + mlx.nn.losses.triplet_loss — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.mish.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.mish.html index ffbeae9ed..8b75dddd0 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.mish.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.mish.html @@ -8,7 +8,7 @@ - mlx.nn.mish — MLX 0.21.0 documentation + mlx.nn.mish — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.prelu.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.prelu.html index 978588293..439ae353c 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.prelu.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.prelu.html @@ -8,7 +8,7 @@ - mlx.nn.prelu — MLX 0.21.0 documentation + mlx.nn.prelu — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.relu.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.relu.html index af4cd6f8b..34a78a4da 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.relu.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.relu.html @@ -8,7 +8,7 @@ - mlx.nn.relu — MLX 0.21.0 documentation + mlx.nn.relu — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.relu6.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.relu6.html index 9ac117097..f8982001f 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.relu6.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.relu6.html @@ -8,7 +8,7 @@ - mlx.nn.relu6 — MLX 0.21.0 documentation + mlx.nn.relu6 — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.selu.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.selu.html index b1375a673..ffee962a5 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.selu.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.selu.html @@ -8,7 +8,7 @@ - mlx.nn.selu — MLX 0.21.0 documentation + mlx.nn.selu — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.sigmoid.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.sigmoid.html index 140916c61..6b8cfbcb3 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.sigmoid.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.sigmoid.html @@ -8,7 +8,7 @@ - mlx.nn.sigmoid — MLX 0.21.0 documentation + mlx.nn.sigmoid — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.silu.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.silu.html index cb1d71541..ea3b33503 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.silu.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.silu.html @@ -8,7 +8,7 @@ - mlx.nn.silu — MLX 0.21.0 documentation + mlx.nn.silu — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.softmax.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.softmax.html index ec4f035b2..2fe72c109 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.softmax.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.softmax.html @@ -8,7 +8,7 @@ - mlx.nn.softmax — MLX 0.21.0 documentation + mlx.nn.softmax — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.softmin.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.softmin.html index a33c66275..f8bbf464d 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.softmin.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.softmin.html @@ -8,7 +8,7 @@ - mlx.nn.softmin — MLX 0.21.0 documentation + mlx.nn.softmin — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.softplus.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.softplus.html index c786292b7..38b95779d 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.softplus.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.softplus.html @@ -8,7 +8,7 @@ - mlx.nn.softplus — MLX 0.21.0 documentation + mlx.nn.softplus — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.softshrink.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.softshrink.html index 3fe365074..176af9d81 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.softshrink.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.softshrink.html @@ -8,7 +8,7 @@ - mlx.nn.softshrink — MLX 0.21.0 documentation + mlx.nn.softshrink — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.step.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.step.html index ea4bccaa1..ac60802a1 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.step.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.step.html @@ -8,7 +8,7 @@ - mlx.nn.step — MLX 0.21.0 documentation + mlx.nn.step — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.tanh.html b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.tanh.html index d7bf4d498..731718378 100644 --- a/docs/build/html/python/nn/_autosummary_functions/mlx.nn.tanh.html +++ b/docs/build/html/python/nn/_autosummary_functions/mlx.nn.tanh.html @@ -8,7 +8,7 @@ - mlx.nn.tanh — MLX 0.21.0 documentation + mlx.nn.tanh — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/functions.html b/docs/build/html/python/nn/functions.html index 6bcb3e2d2..4954f5649 100644 --- a/docs/build/html/python/nn/functions.html +++ b/docs/build/html/python/nn/functions.html @@ -8,7 +8,7 @@ - Functions — MLX 0.21.0 documentation + Functions — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/init.html b/docs/build/html/python/nn/init.html index 67d369607..ddf2e937a 100644 --- a/docs/build/html/python/nn/init.html +++ b/docs/build/html/python/nn/init.html @@ -8,7 +8,7 @@ - Initializers — MLX 0.21.0 documentation + Initializers — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/layers.html b/docs/build/html/python/nn/layers.html index 5724cd061..23f203235 100644 --- a/docs/build/html/python/nn/layers.html +++ b/docs/build/html/python/nn/layers.html @@ -8,7 +8,7 @@ - Layers — MLX 0.21.0 documentation + Layers — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/losses.html b/docs/build/html/python/nn/losses.html index 16b007d23..c85ff8dbe 100644 --- a/docs/build/html/python/nn/losses.html +++ b/docs/build/html/python/nn/losses.html @@ -8,7 +8,7 @@ - Loss Functions — MLX 0.21.0 documentation + Loss Functions — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/nn/module.html b/docs/build/html/python/nn/module.html index 157a77583..390b6ba3a 100644 --- a/docs/build/html/python/nn/module.html +++ b/docs/build/html/python/nn/module.html @@ -8,7 +8,7 @@ - Module — MLX 0.21.0 documentation + Module — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/ops.html b/docs/build/html/python/ops.html index 539ded7da..ce36c0e7c 100644 --- a/docs/build/html/python/ops.html +++ b/docs/build/html/python/ops.html @@ -8,7 +8,7 @@ - Operations — MLX 0.21.0 documentation + Operations — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/optimizers.html b/docs/build/html/python/optimizers.html index c512a138e..503c1b042 100644 --- a/docs/build/html/python/optimizers.html +++ b/docs/build/html/python/optimizers.html @@ -8,7 +8,7 @@ - Optimizers — MLX 0.21.0 documentation + Optimizers — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.AdaDelta.html b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.AdaDelta.html index 167d5cdcc..73fc251b1 100644 --- a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.AdaDelta.html +++ b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.AdaDelta.html @@ -8,7 +8,7 @@ - mlx.optimizers.AdaDelta — MLX 0.21.0 documentation + mlx.optimizers.AdaDelta — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Adafactor.html b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Adafactor.html index e37f18c37..e8eb78843 100644 --- a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Adafactor.html +++ b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Adafactor.html @@ -8,7 +8,7 @@ - mlx.optimizers.Adafactor — MLX 0.21.0 documentation + mlx.optimizers.Adafactor — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Adagrad.html b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Adagrad.html index 1bdbab44b..6cfc980c5 100644 --- a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Adagrad.html +++ b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Adagrad.html @@ -8,7 +8,7 @@ - mlx.optimizers.Adagrad — MLX 0.21.0 documentation + mlx.optimizers.Adagrad — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Adam.html b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Adam.html index 8387ba6db..4efdf4dbb 100644 --- a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Adam.html +++ b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Adam.html @@ -8,7 +8,7 @@ - mlx.optimizers.Adam — MLX 0.21.0 documentation + mlx.optimizers.Adam — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home @@ -867,10 +867,8 @@

    mlx.optimizers.Adam#

    -class Adam(learning_rate: float | Callable[[array], array], betas: List[float] = [0.9, 0.999], eps: float = 1e-08)#
    -

    The Adam optimizer [1].

    -

    Our Adam implementation follows the original paper and omits the bias -correction in the first and second moment estimates. In detail,

    +class Adam(learning_rate: float | Callable[[array], array], betas: List[float] = [0.9, 0.999], eps: float = 1e-08, bias_correction: bool = False)# +

    The Adam optimizer [1]. In detail,

    [1]: Kingma, D.P. and Ba, J., 2015. Adam: A method for stochastic optimization. ICLR 2015.

    @@ -886,13 +884,15 @@ w_{t+1} &= w_t - \lambda \frac{m_{t+1}}{\sqrt{v_{t+1} + \epsilon}}\end{split gradient and its square. Default: (0.9, 0.999)

  • eps (float, optional) – The term \(\epsilon\) added to the denominator to improve numerical stability. Default: 1e-8

  • +
  • bias_correction (bool, optional) – If set to True, bias correction +is applied. Default: False

  • Methods

    __init__(self, index, device)

    __init__(*args, **kwargs)

    - + diff --git a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.AdamW.html b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.AdamW.html index d064cce2a..10d305a78 100644 --- a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.AdamW.html +++ b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.AdamW.html @@ -8,7 +8,7 @@ - mlx.optimizers.AdamW — MLX 0.21.0 documentation + mlx.optimizers.AdamW — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home @@ -867,11 +867,9 @@

    mlx.optimizers.AdamW#

    -class AdamW(learning_rate: float | Callable[[array], array], betas: List[float] = [0.9, 0.999], eps: float = 1e-08, weight_decay: float = 0.01)#
    -

    The AdamW optimizer [1].

    -

    Following the above convention, in contrast with [1], we do not use bias -correction in the first and second moments for AdamW. We update the weights -with a weight_decay (\(\lambda\)) value:

    +class AdamW(learning_rate: float | Callable[[array], array], betas: List[float] = [0.9, 0.999], eps: float = 1e-08, weight_decay: float = 0.01, bias_correction: bool = False)# +

    The AdamW optimizer [1]. We update the weights with a weight_decay +(\(\lambda\)) value:

    [1]: Loshchilov, I. and Hutter, F., 2019. Decoupled weight decay regularization. ICLR 2019.

    @@ -889,6 +887,8 @@ gradient and its square. Default: 1e-8

  • weight_decay (float, optional) – The weight decay \(\lambda\). Default: 0.

  • +
  • bias_correction (bool, optional) – If set to True, bias correction +is applied. Default: False

  • diff --git a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Adamax.html b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Adamax.html index 5a0c4585a..5928f141e 100644 --- a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Adamax.html +++ b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Adamax.html @@ -8,7 +8,7 @@ - mlx.optimizers.Adamax — MLX 0.21.0 documentation + mlx.optimizers.Adamax — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Lion.html b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Lion.html index 36c98ad07..a3ceb37b2 100644 --- a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Lion.html +++ b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Lion.html @@ -8,7 +8,7 @@ - mlx.optimizers.Lion — MLX 0.21.0 documentation + mlx.optimizers.Lion — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Optimizer.apply_gradients.html b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Optimizer.apply_gradients.html index 437527ffc..b60c3b394 100644 --- a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Optimizer.apply_gradients.html +++ b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Optimizer.apply_gradients.html @@ -8,7 +8,7 @@ - mlx.optimizers.Optimizer.apply_gradients — MLX 0.21.0 documentation + mlx.optimizers.Optimizer.apply_gradients — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Optimizer.init.html b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Optimizer.init.html index 2dbf4cba5..f33064b0b 100644 --- a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Optimizer.init.html +++ b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Optimizer.init.html @@ -8,7 +8,7 @@ - mlx.optimizers.Optimizer.init — MLX 0.21.0 documentation + mlx.optimizers.Optimizer.init — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Optimizer.state.html b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Optimizer.state.html index 434586016..d87b88f63 100644 --- a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Optimizer.state.html +++ b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Optimizer.state.html @@ -8,7 +8,7 @@ - mlx.optimizers.Optimizer.state — MLX 0.21.0 documentation + mlx.optimizers.Optimizer.state — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Optimizer.update.html b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Optimizer.update.html index bffeb270f..472af10a6 100644 --- a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Optimizer.update.html +++ b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.Optimizer.update.html @@ -8,7 +8,7 @@ - mlx.optimizers.Optimizer.update — MLX 0.21.0 documentation + mlx.optimizers.Optimizer.update — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.RMSprop.html b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.RMSprop.html index ebb608198..d46a36d92 100644 --- a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.RMSprop.html +++ b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.RMSprop.html @@ -8,7 +8,7 @@ - mlx.optimizers.RMSprop — MLX 0.21.0 documentation + mlx.optimizers.RMSprop — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.SGD.html b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.SGD.html index 74dfdbdb5..e9dd0e3e7 100644 --- a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.SGD.html +++ b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.SGD.html @@ -8,7 +8,7 @@ - mlx.optimizers.SGD — MLX 0.21.0 documentation + mlx.optimizers.SGD — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.cosine_decay.html b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.cosine_decay.html index c46a28db9..45f70a16f 100644 --- a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.cosine_decay.html +++ b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.cosine_decay.html @@ -8,7 +8,7 @@ - mlx.optimizers.cosine_decay — MLX 0.21.0 documentation + mlx.optimizers.cosine_decay — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.exponential_decay.html b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.exponential_decay.html index 21f7f3555..ff22b4da2 100644 --- a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.exponential_decay.html +++ b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.exponential_decay.html @@ -8,7 +8,7 @@ - mlx.optimizers.exponential_decay — MLX 0.21.0 documentation + mlx.optimizers.exponential_decay — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.join_schedules.html b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.join_schedules.html index 3df4fbea4..b2cf3e326 100644 --- a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.join_schedules.html +++ b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.join_schedules.html @@ -8,7 +8,7 @@ - mlx.optimizers.join_schedules — MLX 0.21.0 documentation + mlx.optimizers.join_schedules — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.linear_schedule.html b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.linear_schedule.html index 807bed1f0..06b887851 100644 --- a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.linear_schedule.html +++ b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.linear_schedule.html @@ -8,7 +8,7 @@ - mlx.optimizers.linear_schedule — MLX 0.21.0 documentation + mlx.optimizers.linear_schedule — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.step_decay.html b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.step_decay.html index 3b9c5b4ee..9c079468a 100644 --- a/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.step_decay.html +++ b/docs/build/html/python/optimizers/_autosummary/mlx.optimizers.step_decay.html @@ -8,7 +8,7 @@ - mlx.optimizers.step_decay — MLX 0.21.0 documentation + mlx.optimizers.step_decay — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/optimizers/common_optimizers.html b/docs/build/html/python/optimizers/common_optimizers.html index 6dc07a35d..9b863623c 100644 --- a/docs/build/html/python/optimizers/common_optimizers.html +++ b/docs/build/html/python/optimizers/common_optimizers.html @@ -8,7 +8,7 @@ - Common Optimizers — MLX 0.21.0 documentation + Common Optimizers — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home @@ -872,10 +872,10 @@ - + - + diff --git a/docs/build/html/python/optimizers/optimizer.html b/docs/build/html/python/optimizers/optimizer.html index 5aa499585..067eedcbe 100644 --- a/docs/build/html/python/optimizers/optimizer.html +++ b/docs/build/html/python/optimizers/optimizer.html @@ -8,7 +8,7 @@ - Optimizer — MLX 0.21.0 documentation + Optimizer — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/optimizers/schedulers.html b/docs/build/html/python/optimizers/schedulers.html index e5c19102b..1a604ad50 100644 --- a/docs/build/html/python/optimizers/schedulers.html +++ b/docs/build/html/python/optimizers/schedulers.html @@ -8,7 +8,7 @@ - Schedulers — MLX 0.21.0 documentation + Schedulers — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/random.html b/docs/build/html/python/random.html index 2d606a547..d92b39a04 100644 --- a/docs/build/html/python/random.html +++ b/docs/build/html/python/random.html @@ -8,7 +8,7 @@ - Random — MLX 0.21.0 documentation + Random — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/transforms.html b/docs/build/html/python/transforms.html index ccedbe16f..7a6cbf196 100644 --- a/docs/build/html/python/transforms.html +++ b/docs/build/html/python/transforms.html @@ -8,7 +8,7 @@ - Transforms — MLX 0.21.0 documentation + Transforms — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/python/tree_utils.html b/docs/build/html/python/tree_utils.html index be8a0239a..8b0b4d2c1 100644 --- a/docs/build/html/python/tree_utils.html +++ b/docs/build/html/python/tree_utils.html @@ -8,7 +8,7 @@ - Tree Utils — MLX 0.21.0 documentation + Tree Utils — MLX 0.21.1 documentation @@ -39,7 +39,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -130,8 +130,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home diff --git a/docs/build/html/quantized_8h_source.html b/docs/build/html/quantized_8h_source.html index 4562088ee..136481a0e 100644 --- a/docs/build/html/quantized_8h_source.html +++ b/docs/build/html/quantized_8h_source.html @@ -976,1335 +976,1337 @@ $(function(){ initResizable(false); });
    854 constexpr int power_of_2_bits = (bits & (bits - 1)) == 0;
    855 constexpr int num_simdgroups = 2;
    856 constexpr int pack_factor = bits == 3 ? 8 : bits == 6 ? 4 : 32 / bits;
    -
    857 constexpr int bytes_per_pack = power_of_2_bits ? 4 : 3;
    +
    857 constexpr int bytes_per_pack = power_of_2_bits ? 1 : 3;
    858 constexpr int tn = 32 / pack_factor;
    859 constexpr int block_size = SIMD_SIZE;
    860
    -
    861 const device uint8_t* ws = (const device uint8_t*)w;
    -
    862
    -
    863 typedef float U;
    -
    864 typedef struct {
    -
    865 uint8_t wi[tn * bytes_per_pack];
    -
    866 } vec_w;
    -
    867
    -
    868 thread vec_w w_local;
    -
    869 thread U result[tn * pack_factor] = {0};
    -
    870 thread U scale = 1;
    -
    871 thread U bias = 0;
    -
    872 thread U x_local = 0;
    -
    873
    -
    874 // Adjust positions
    -
    875 const int out_vec_size_w = out_vec_size * bytes_per_pack / pack_factor;
    -
    876 const int out_vec_size_g = out_vec_size / group_size;
    -
    877 int out_col = pack_factor * tn * (tid.x * num_simdgroups + simd_gid);
    -
    878 ws += out_col * bytes_per_pack / pack_factor + simd_lid * out_vec_size_w;
    -
    879 scales += out_col / group_size + simd_lid * out_vec_size_g;
    -
    880 biases += out_col / group_size + simd_lid * out_vec_size_g;
    -
    881 x += tid.y * in_vec_size + simd_lid;
    -
    882 y += tid.y * out_vec_size + out_col;
    -
    883
    -
    884 if (out_col >= out_vec_size) {
    -
    885 return;
    -
    886 }
    -
    887
    -
    888 // Loop over in_vec in blocks of block_size
    -
    889 int remaining = in_vec_size % block_size;
    -
    890 if (remaining == 0) {
    -
    891 for (int i = 0; i < in_vec_size; i += block_size) {
    -
    892 x_local = *x;
    -
    893 scale = *scales;
    -
    894 bias = *biases;
    -
    895 w_local = *((device vec_w*)ws);
    - -
    897 (thread uint8_t*)&w_local, x_local, scale, bias, result);
    -
    898
    -
    899 x += block_size;
    -
    900 scales += block_size * out_vec_size_g;
    -
    901 biases += block_size * out_vec_size_g;
    -
    902 ws += block_size * out_vec_size_w;
    -
    903 }
    -
    904 } else {
    -
    905 for (int i = block_size; i < in_vec_size; i += block_size) {
    -
    906 x_local = *x;
    -
    907 scale = *scales;
    -
    908 bias = *biases;
    -
    909 w_local = *((device vec_w*)ws);
    -
    910
    - -
    912 (thread uint8_t*)&w_local, x_local, scale, bias, result);
    -
    913
    -
    914 x += block_size;
    -
    915 scales += block_size * out_vec_size_g;
    -
    916 biases += block_size * out_vec_size_g;
    -
    917 ws += block_size * out_vec_size_w;
    -
    918 }
    -
    919 if (static_cast<int>(simd_lid) < remaining) {
    -
    920 x_local = *x;
    -
    921 scale = *scales;
    -
    922 bias = *biases;
    -
    923 w_local = *((device vec_w*)ws);
    -
    924 } else {
    -
    925 x_local = 0;
    -
    926 scale = 0;
    -
    927 bias = 0;
    -
    928 }
    - -
    930 (thread uint8_t*)&w_local, x_local, scale, bias, result);
    -
    931 }
    -
    932
    -
    933// Accumulate in the simdgroup
    -
    934#pragma clang loop unroll(full)
    -
    935 for (int k = 0; k < tn * pack_factor; k++) {
    -
    936 result[k] = simd_sum(result[k]);
    -
    937 }
    -
    938
    -
    939 // Store the result
    -
    940 if (simd_lid == 0) {
    -
    941#pragma clang loop unroll(full)
    -
    942 for (int k = 0; k < tn * pack_factor; k++) {
    -
    943 y[k] = static_cast<T>(result[k]);
    -
    944 }
    -
    945 }
    -
    946}
    +
    861 using W_T =
    + +
    863 const device W_T* ws = (const device W_T*)w;
    +
    864
    +
    865 typedef float U;
    +
    866 typedef struct {
    +
    867 W_T wi[tn * bytes_per_pack];
    +
    868 } vec_w;
    +
    869
    +
    870 thread vec_w w_local;
    +
    871 thread U result[tn * pack_factor] = {0};
    +
    872 thread U scale = 1;
    +
    873 thread U bias = 0;
    +
    874 thread U x_local = 0;
    +
    875
    +
    876 // Adjust positions
    +
    877 const int out_vec_size_w = out_vec_size * bytes_per_pack / pack_factor;
    +
    878 const int out_vec_size_g = out_vec_size / group_size;
    +
    879 int out_col = pack_factor * tn * (tid.x * num_simdgroups + simd_gid);
    +
    880 ws += out_col * bytes_per_pack / pack_factor + simd_lid * out_vec_size_w;
    +
    881 scales += out_col / group_size + simd_lid * out_vec_size_g;
    +
    882 biases += out_col / group_size + simd_lid * out_vec_size_g;
    +
    883 x += tid.y * in_vec_size + simd_lid;
    +
    884 y += tid.y * out_vec_size + out_col;
    +
    885
    +
    886 if (out_col >= out_vec_size) {
    +
    887 return;
    +
    888 }
    +
    889
    +
    890 // Loop over in_vec in blocks of block_size
    +
    891 int remaining = in_vec_size % block_size;
    +
    892 if (remaining == 0) {
    +
    893 for (int i = 0; i < in_vec_size; i += block_size) {
    +
    894 x_local = *x;
    +
    895 scale = *scales;
    +
    896 bias = *biases;
    +
    897 w_local = *((device vec_w*)ws);
    + +
    899 (thread uint8_t*)&w_local, x_local, scale, bias, result);
    +
    900
    +
    901 x += block_size;
    +
    902 scales += block_size * out_vec_size_g;
    +
    903 biases += block_size * out_vec_size_g;
    +
    904 ws += block_size * out_vec_size_w;
    +
    905 }
    +
    906 } else {
    +
    907 for (int i = block_size; i < in_vec_size; i += block_size) {
    +
    908 x_local = *x;
    +
    909 scale = *scales;
    +
    910 bias = *biases;
    +
    911 w_local = *((device vec_w*)ws);
    +
    912
    + +
    914 (thread uint8_t*)&w_local, x_local, scale, bias, result);
    +
    915
    +
    916 x += block_size;
    +
    917 scales += block_size * out_vec_size_g;
    +
    918 biases += block_size * out_vec_size_g;
    +
    919 ws += block_size * out_vec_size_w;
    +
    920 }
    +
    921 if (static_cast<int>(simd_lid) < remaining) {
    +
    922 x_local = *x;
    +
    923 scale = *scales;
    +
    924 bias = *biases;
    +
    925 w_local = *((device vec_w*)ws);
    +
    926 } else {
    +
    927 x_local = 0;
    +
    928 scale = 0;
    +
    929 bias = 0;
    +
    930 }
    + +
    932 (thread uint8_t*)&w_local, x_local, scale, bias, result);
    +
    933 }
    +
    934
    +
    935// Accumulate in the simdgroup
    +
    936#pragma clang loop unroll(full)
    +
    937 for (int k = 0; k < tn * pack_factor; k++) {
    +
    938 result[k] = simd_sum(result[k]);
    +
    939 }
    +
    940
    +
    941 // Store the result
    +
    942 if (simd_lid == 0) {
    +
    943#pragma clang loop unroll(full)
    +
    944 for (int k = 0; k < tn * pack_factor; k++) {
    +
    945 y[k] = static_cast<T>(result[k]);
    +
    946 }
    +
    947 }
    +
    948}
    -
    947
    -
    948template <
    -
    949 typename T,
    -
    950 const int group_size,
    -
    951 const int bits,
    -
    952 const bool aligned_N,
    -
    953 const int BM = 32,
    -
    954 const int BK = 32,
    -
    955 const int BN = 32>
    -
    -
    956METAL_FUNC void qmm_t_impl(
    -
    957 const device uint32_t* w,
    -
    958 const device T* scales,
    -
    959 const device T* biases,
    -
    960 const device T* x,
    -
    961 device T* y,
    -
    962 threadgroup T* Xs,
    -
    963 threadgroup T* Ws,
    -
    964 const constant int& K,
    -
    965 const constant int& N,
    -
    966 const constant int& M,
    -
    967 uint3 tid [[threadgroup_position_in_grid]],
    -
    968 uint lid [[thread_index_in_threadgroup]],
    -
    969 uint simd_gid [[simdgroup_index_in_threadgroup]],
    -
    970 uint simd_lid [[thread_index_in_simdgroup]]) {
    -
    971 static_assert(BK >= SIMD_SIZE, "BK should be larger than SIMD_SIZE");
    -
    972 static_assert(BK % SIMD_SIZE == 0, "BK should be divisible by SIMD_SIZE");
    -
    973
    -
    974 (void)lid;
    +
    949
    +
    950template <
    +
    951 typename T,
    +
    952 const int group_size,
    +
    953 const int bits,
    +
    954 const bool aligned_N,
    +
    955 const int BM = 32,
    +
    956 const int BK = 32,
    +
    957 const int BN = 32>
    +
    +
    958METAL_FUNC void qmm_t_impl(
    +
    959 const device uint32_t* w,
    +
    960 const device T* scales,
    +
    961 const device T* biases,
    +
    962 const device T* x,
    +
    963 device T* y,
    +
    964 threadgroup T* Xs,
    +
    965 threadgroup T* Ws,
    +
    966 const constant int& K,
    +
    967 const constant int& N,
    +
    968 const constant int& M,
    +
    969 uint3 tid [[threadgroup_position_in_grid]],
    +
    970 uint lid [[thread_index_in_threadgroup]],
    +
    971 uint simd_gid [[simdgroup_index_in_threadgroup]],
    +
    972 uint simd_lid [[thread_index_in_simdgroup]]) {
    +
    973 static_assert(BK >= SIMD_SIZE, "BK should be larger than SIMD_SIZE");
    +
    974 static_assert(BK % SIMD_SIZE == 0, "BK should be divisible by SIMD_SIZE");
    975
    -
    976 constexpr int WM = 2;
    -
    977 constexpr int WN = 2;
    -
    978 constexpr int pack_factor = bits == 3 ? 8 : bits == 6 ? 4 : 8 / bits;
    -
    979 constexpr int BK_padded = (BK + 16 / sizeof(T));
    -
    980 constexpr int bytes_per_pack = (bits == 3 || bits == 6) ? 3 : 1;
    -
    981
    -
    982 // Instantiate the appropriate BlockMMA and Loader
    -
    983 using mma_t = mlx::steel::
    -
    984 BlockMMA<T, T, BM, BN, BK, WM, WN, false, true, BK_padded, BK_padded>;
    -
    985 using loader_x_t =
    - -
    987 using loader_w_t = QuantizedBlockLoader<
    -
    988 T,
    -
    989 BN,
    -
    990 BK,
    -
    991 BK_padded,
    -
    992 1,
    -
    993 WM * WN * SIMD_SIZE,
    -
    994 group_size,
    -
    995 bits>;
    -
    996
    -
    997 // Set the block
    -
    998 const int K_w = K * bytes_per_pack / pack_factor;
    -
    999 const int K_g = K / group_size;
    -
    1000 const int y_row = tid.y * BM;
    -
    1001 const int y_col = tid.x * BN;
    -
    1002
    -
    1003 auto wl = (const device uint8_t*)w;
    +
    976 (void)lid;
    +
    977
    +
    978 constexpr int WM = 2;
    +
    979 constexpr int WN = 2;
    +
    980 constexpr int pack_factor = bits == 3 ? 8 : bits == 6 ? 4 : 8 / bits;
    +
    981 constexpr int BK_padded = (BK + 16 / sizeof(T));
    +
    982 constexpr int bytes_per_pack = (bits == 3 || bits == 6) ? 3 : 1;
    +
    983
    +
    984 // Instantiate the appropriate BlockMMA and Loader
    +
    985 using mma_t = mlx::steel::
    +
    986 BlockMMA<T, T, BM, BN, BK, WM, WN, false, true, BK_padded, BK_padded>;
    +
    987 using loader_x_t =
    + +
    989 using loader_w_t = QuantizedBlockLoader<
    +
    990 T,
    +
    991 BN,
    +
    992 BK,
    +
    993 BK_padded,
    +
    994 1,
    +
    995 WM * WN * SIMD_SIZE,
    +
    996 group_size,
    +
    997 bits>;
    +
    998
    +
    999 // Set the block
    +
    1000 const int K_w = K * bytes_per_pack / pack_factor;
    +
    1001 const int K_g = K / group_size;
    +
    1002 const int y_row = tid.y * BM;
    +
    1003 const int y_col = tid.x * BN;
    1004
    -
    1005 x += y_row * K;
    -
    1006 wl += y_col * K_w;
    -
    1007 scales += y_col * K_g;
    -
    1008 biases += y_col * K_g;
    -
    1009 y += y_row * N + y_col;
    -
    1010
    -
    1011 // Make the x loader and mma operation
    -
    1012 const short num_els = min(BM, M - y_row);
    -
    1013 const short num_outs = min(BN, N - y_col);
    -
    1014 loader_x_t loader_x(x, K, Xs, simd_gid, simd_lid);
    -
    1015 loader_w_t loader_w(wl, scales, biases, K, Ws, simd_gid, simd_lid);
    -
    1016 mma_t mma_op(simd_gid, simd_lid);
    -
    1017
    -
    1018 if (num_els < BM) {
    -
    1019 if (!aligned_N && num_outs < BN) {
    -
    1020 for (int k = 0; k < K; k += BK) {
    -
    1021 threadgroup_barrier(mem_flags::mem_threadgroup);
    -
    1022 loader_x.load_safe(short2(BK, num_els));
    -
    1023 loader_w.load_safe(short2(BK, num_outs));
    -
    1024 threadgroup_barrier(mem_flags::mem_threadgroup);
    -
    1025 mma_op.mma(Xs, Ws);
    -
    1026 loader_x.next();
    -
    1027 loader_w.next();
    -
    1028 }
    -
    1029 } else {
    -
    1030 for (int k = 0; k < K; k += BK) {
    -
    1031 threadgroup_barrier(mem_flags::mem_threadgroup);
    -
    1032 loader_x.load_safe(short2(BK, num_els));
    -
    1033 loader_w.load_unsafe();
    -
    1034 threadgroup_barrier(mem_flags::mem_threadgroup);
    -
    1035 mma_op.mma(Xs, Ws);
    -
    1036 loader_x.next();
    -
    1037 loader_w.next();
    -
    1038 }
    -
    1039 }
    -
    1040 } else {
    -
    1041 if (!aligned_N && num_outs < BN) {
    -
    1042 for (int k = 0; k < K; k += BK) {
    -
    1043 threadgroup_barrier(mem_flags::mem_threadgroup);
    -
    1044 loader_x.load_unsafe();
    -
    1045 loader_w.load_safe(short2(BK, num_outs));
    -
    1046 threadgroup_barrier(mem_flags::mem_threadgroup);
    -
    1047 mma_op.mma(Xs, Ws);
    -
    1048 loader_x.next();
    -
    1049 loader_w.next();
    -
    1050 }
    -
    1051 } else {
    -
    1052 for (int k = 0; k < K; k += BK) {
    -
    1053 threadgroup_barrier(mem_flags::mem_threadgroup);
    -
    1054 loader_x.load_unsafe();
    -
    1055 loader_w.load_unsafe();
    -
    1056 threadgroup_barrier(mem_flags::mem_threadgroup);
    -
    1057
    -
    1058 mma_op.mma(Xs, Ws);
    -
    1059 loader_x.next();
    -
    1060 loader_w.next();
    -
    1061 }
    -
    1062 }
    -
    1063 }
    -
    1064
    -
    1065 // Store results to device memory
    -
    1066 threadgroup_barrier(mem_flags::mem_threadgroup);
    -
    1067 if (num_els < BM || num_outs < BN) {
    -
    1068 mma_op.store_result_safe(y, N, short2(num_outs, num_els));
    -
    1069 } else {
    -
    1070 mma_op.store_result(y, N);
    -
    1071 }
    -
    1072}
    +
    1005 auto wl = (const device uint8_t*)w;
    +
    1006
    +
    1007 x += y_row * K;
    +
    1008 wl += y_col * K_w;
    +
    1009 scales += y_col * K_g;
    +
    1010 biases += y_col * K_g;
    +
    1011 y += y_row * N + y_col;
    +
    1012
    +
    1013 // Make the x loader and mma operation
    +
    1014 const short num_els = min(BM, M - y_row);
    +
    1015 const short num_outs = min(BN, N - y_col);
    +
    1016 loader_x_t loader_x(x, K, Xs, simd_gid, simd_lid);
    +
    1017 loader_w_t loader_w(wl, scales, biases, K, Ws, simd_gid, simd_lid);
    +
    1018 mma_t mma_op(simd_gid, simd_lid);
    +
    1019
    +
    1020 if (num_els < BM) {
    +
    1021 if (!aligned_N && num_outs < BN) {
    +
    1022 for (int k = 0; k < K; k += BK) {
    +
    1023 threadgroup_barrier(mem_flags::mem_threadgroup);
    +
    1024 loader_x.load_safe(short2(BK, num_els));
    +
    1025 loader_w.load_safe(short2(BK, num_outs));
    +
    1026 threadgroup_barrier(mem_flags::mem_threadgroup);
    +
    1027 mma_op.mma(Xs, Ws);
    +
    1028 loader_x.next();
    +
    1029 loader_w.next();
    +
    1030 }
    +
    1031 } else {
    +
    1032 for (int k = 0; k < K; k += BK) {
    +
    1033 threadgroup_barrier(mem_flags::mem_threadgroup);
    +
    1034 loader_x.load_safe(short2(BK, num_els));
    +
    1035 loader_w.load_unsafe();
    +
    1036 threadgroup_barrier(mem_flags::mem_threadgroup);
    +
    1037 mma_op.mma(Xs, Ws);
    +
    1038 loader_x.next();
    +
    1039 loader_w.next();
    +
    1040 }
    +
    1041 }
    +
    1042 } else {
    +
    1043 if (!aligned_N && num_outs < BN) {
    +
    1044 for (int k = 0; k < K; k += BK) {
    +
    1045 threadgroup_barrier(mem_flags::mem_threadgroup);
    +
    1046 loader_x.load_unsafe();
    +
    1047 loader_w.load_safe(short2(BK, num_outs));
    +
    1048 threadgroup_barrier(mem_flags::mem_threadgroup);
    +
    1049 mma_op.mma(Xs, Ws);
    +
    1050 loader_x.next();
    +
    1051 loader_w.next();
    +
    1052 }
    +
    1053 } else {
    +
    1054 for (int k = 0; k < K; k += BK) {
    +
    1055 threadgroup_barrier(mem_flags::mem_threadgroup);
    +
    1056 loader_x.load_unsafe();
    +
    1057 loader_w.load_unsafe();
    +
    1058 threadgroup_barrier(mem_flags::mem_threadgroup);
    +
    1059
    +
    1060 mma_op.mma(Xs, Ws);
    +
    1061 loader_x.next();
    +
    1062 loader_w.next();
    +
    1063 }
    +
    1064 }
    +
    1065 }
    +
    1066
    +
    1067 // Store results to device memory
    +
    1068 threadgroup_barrier(mem_flags::mem_threadgroup);
    +
    1069 if (num_els < BM || num_outs < BN) {
    +
    1070 mma_op.store_result_safe(y, N, short2(num_outs, num_els));
    +
    1071 } else {
    +
    1072 mma_op.store_result(y, N);
    +
    1073 }
    +
    1074}
    -
    1073
    -
    1074template <
    -
    1075 typename T,
    -
    1076 const int group_size,
    -
    1077 const int bits,
    -
    1078 const int BM = 32,
    -
    1079 const int BK = 32,
    -
    1080 const int BN = 32>
    -
    -
    1081METAL_FUNC void qmm_n_impl(
    -
    1082 const device uint32_t* w,
    -
    1083 const device T* scales,
    -
    1084 const device T* biases,
    -
    1085 const device T* x,
    -
    1086 device T* y,
    -
    1087 threadgroup T* Xs,
    -
    1088 threadgroup T* Ws,
    -
    1089 const constant int& K,
    -
    1090 const constant int& N,
    -
    1091 const constant int& M,
    -
    1092 uint3 tid [[threadgroup_position_in_grid]],
    -
    1093 uint lid [[thread_index_in_threadgroup]],
    -
    1094 uint simd_gid [[simdgroup_index_in_threadgroup]],
    -
    1095 uint simd_lid [[thread_index_in_simdgroup]]) {
    -
    1096 static_assert(BK >= SIMD_SIZE, "BK should be larger than SIMD_SIZE");
    -
    1097 static_assert(BK % SIMD_SIZE == 0, "BK should be divisible by SIMD_SIZE");
    -
    1098
    -
    1099 (void)lid;
    +
    1075
    +
    1076template <
    +
    1077 typename T,
    +
    1078 const int group_size,
    +
    1079 const int bits,
    +
    1080 const int BM = 32,
    +
    1081 const int BK = 32,
    +
    1082 const int BN = 32>
    +
    +
    1083METAL_FUNC void qmm_n_impl(
    +
    1084 const device uint32_t* w,
    +
    1085 const device T* scales,
    +
    1086 const device T* biases,
    +
    1087 const device T* x,
    +
    1088 device T* y,
    +
    1089 threadgroup T* Xs,
    +
    1090 threadgroup T* Ws,
    +
    1091 const constant int& K,
    +
    1092 const constant int& N,
    +
    1093 const constant int& M,
    +
    1094 uint3 tid [[threadgroup_position_in_grid]],
    +
    1095 uint lid [[thread_index_in_threadgroup]],
    +
    1096 uint simd_gid [[simdgroup_index_in_threadgroup]],
    +
    1097 uint simd_lid [[thread_index_in_simdgroup]]) {
    +
    1098 static_assert(BK >= SIMD_SIZE, "BK should be larger than SIMD_SIZE");
    +
    1099 static_assert(BK % SIMD_SIZE == 0, "BK should be divisible by SIMD_SIZE");
    1100
    -
    1101 constexpr int WM = 2;
    -
    1102 constexpr int WN = 2;
    -
    1103 constexpr int pack_factor = bits == 3 ? 8 : bits == 6 ? 4 : 8 / bits;
    -
    1104 constexpr int BK_padded = (BK + 16 / sizeof(T));
    -
    1105 constexpr int BN_padded = (BN + 16 / sizeof(T));
    -
    1106 constexpr int power_of_2_bits = (bits & (bits - 1)) == 0;
    -
    1107 constexpr int bytes_per_pack = power_of_2_bits ? 1 : 3;
    -
    1108
    -
    1109 // Instantiate the appropriate BlockMMA and Loader
    -
    1110 using mma_t = mlx::steel::
    -
    1111 BlockMMA<T, T, BM, BN, BK, WM, WN, false, false, BK_padded, BN_padded>;
    -
    1112 using loader_x_t = mlx::steel::
    -
    1113 BlockLoader<T, BM, BK, BK_padded, 1, WM * WN * SIMD_SIZE, 1, 4>;
    -
    1114 using loader_w_t = QuantizedBlockLoader<
    -
    1115 T,
    -
    1116 BK,
    -
    1117 BN,
    -
    1118 BN_padded,
    -
    1119 0,
    -
    1120 WM * WN * SIMD_SIZE,
    -
    1121 group_size,
    -
    1122 bits>;
    -
    1123
    -
    1124 auto wl = (const device uint8_t*)w;
    +
    1101 (void)lid;
    +
    1102
    +
    1103 constexpr int WM = 2;
    +
    1104 constexpr int WN = 2;
    +
    1105 constexpr int pack_factor = bits == 3 ? 8 : bits == 6 ? 4 : 8 / bits;
    +
    1106 constexpr int BK_padded = (BK + 16 / sizeof(T));
    +
    1107 constexpr int BN_padded = (BN + 16 / sizeof(T));
    +
    1108 constexpr int power_of_2_bits = (bits & (bits - 1)) == 0;
    +
    1109 constexpr int bytes_per_pack = power_of_2_bits ? 1 : 3;
    +
    1110
    +
    1111 // Instantiate the appropriate BlockMMA and Loader
    +
    1112 using mma_t = mlx::steel::
    +
    1113 BlockMMA<T, T, BM, BN, BK, WM, WN, false, false, BK_padded, BN_padded>;
    +
    1114 using loader_x_t = mlx::steel::
    +
    1115 BlockLoader<T, BM, BK, BK_padded, 1, WM * WN * SIMD_SIZE, 1, 4>;
    +
    1116 using loader_w_t = QuantizedBlockLoader<
    +
    1117 T,
    +
    1118 BK,
    +
    1119 BN,
    +
    1120 BN_padded,
    +
    1121 0,
    +
    1122 WM * WN * SIMD_SIZE,
    +
    1123 group_size,
    +
    1124 bits>;
    1125
    -
    1126 // Set the block
    -
    1127 const int y_row = tid.y * BM;
    -
    1128 const int y_col = tid.x * BN;
    -
    1129 x += y_row * K;
    -
    1130 wl += y_col * bytes_per_pack / pack_factor;
    -
    1131 scales += y_col / group_size;
    -
    1132 biases += y_col / group_size;
    -
    1133 y += y_row * N + y_col;
    -
    1134
    -
    1135 // Make the x loader and mma operation
    -
    1136 const short num_els = min(BM, M - y_row);
    -
    1137 loader_x_t loader_x(x, K, Xs, simd_gid, simd_lid);
    -
    1138 loader_w_t loader_w(wl, scales, biases, N, Ws, simd_gid, simd_lid);
    -
    1139 mma_t mma_op(simd_gid, simd_lid);
    -
    1140
    -
    1141 if (num_els < BM) {
    -
    1142 if ((K % BK) != 0) {
    -
    1143 const int k_blocks = K / BK;
    -
    1144 for (int k = 0; k < k_blocks; k++) {
    -
    1145 threadgroup_barrier(mem_flags::mem_threadgroup);
    -
    1146 loader_x.load_safe(short2(BK, num_els));
    -
    1147 loader_w.load_unsafe();
    -
    1148 threadgroup_barrier(mem_flags::mem_threadgroup);
    -
    1149 mma_op.mma(Xs, Ws);
    -
    1150 loader_x.next();
    -
    1151 loader_w.next();
    -
    1152 }
    -
    1153 const short num_k = K - k_blocks * BK;
    -
    1154 threadgroup_barrier(mem_flags::mem_threadgroup);
    -
    1155 loader_x.load_safe(short2(num_k, num_els));
    -
    1156 loader_w.load_safe(short2(BN, num_k));
    -
    1157 threadgroup_barrier(mem_flags::mem_threadgroup);
    -
    1158 mma_op.mma(Xs, Ws);
    -
    1159 } else {
    -
    1160 for (int k = 0; k < K; k += BK) {
    -
    1161 threadgroup_barrier(mem_flags::mem_threadgroup);
    -
    1162 loader_x.load_safe(short2(BK, num_els));
    -
    1163 loader_w.load_unsafe();
    -
    1164 threadgroup_barrier(mem_flags::mem_threadgroup);
    -
    1165 mma_op.mma(Xs, Ws);
    -
    1166 loader_x.next();
    -
    1167 loader_w.next();
    -
    1168 }
    -
    1169 }
    -
    1170 } else {
    -
    1171 if ((K % BK) != 0) {
    -
    1172 const int k_blocks = K / BK;
    -
    1173 for (int k = 0; k < k_blocks; k++) {
    -
    1174 threadgroup_barrier(mem_flags::mem_threadgroup);
    -
    1175 loader_x.load_unsafe();
    -
    1176 loader_w.load_unsafe();
    -
    1177 threadgroup_barrier(mem_flags::mem_threadgroup);
    -
    1178 mma_op.mma(Xs, Ws);
    -
    1179 loader_x.next();
    -
    1180 loader_w.next();
    -
    1181 }
    -
    1182 const short num_k = K - k_blocks * BK;
    -
    1183 threadgroup_barrier(mem_flags::mem_threadgroup);
    -
    1184 loader_x.load_safe(short2(num_k, BM));
    -
    1185 loader_w.load_safe(short2(BN, num_k));
    -
    1186 threadgroup_barrier(mem_flags::mem_threadgroup);
    -
    1187 mma_op.mma(Xs, Ws);
    -
    1188 } else {
    -
    1189 for (int k = 0; k < K; k += BK) {
    -
    1190 threadgroup_barrier(mem_flags::mem_threadgroup);
    -
    1191 loader_x.load_unsafe();
    -
    1192 loader_w.load_unsafe();
    -
    1193 threadgroup_barrier(mem_flags::mem_threadgroup);
    -
    1194 mma_op.mma(Xs, Ws);
    -
    1195 loader_x.next();
    -
    1196 loader_w.next();
    -
    1197 }
    -
    1198 }
    -
    1199 }
    -
    1200
    -
    1201 // Store results to device memory
    -
    1202 threadgroup_barrier(mem_flags::mem_threadgroup);
    -
    1203 if (num_els < BM) {
    -
    1204 mma_op.store_result_safe(y, N, short2(BN, num_els));
    -
    1205 } else {
    -
    1206 mma_op.store_result(y, N);
    -
    1207 }
    -
    1208}
    +
    1126 auto wl = (const device uint8_t*)w;
    +
    1127
    +
    1128 // Set the block
    +
    1129 const int y_row = tid.y * BM;
    +
    1130 const int y_col = tid.x * BN;
    +
    1131 x += y_row * K;
    +
    1132 wl += y_col * bytes_per_pack / pack_factor;
    +
    1133 scales += y_col / group_size;
    +
    1134 biases += y_col / group_size;
    +
    1135 y += y_row * N + y_col;
    +
    1136
    +
    1137 // Make the x loader and mma operation
    +
    1138 const short num_els = min(BM, M - y_row);
    +
    1139 loader_x_t loader_x(x, K, Xs, simd_gid, simd_lid);
    +
    1140 loader_w_t loader_w(wl, scales, biases, N, Ws, simd_gid, simd_lid);
    +
    1141 mma_t mma_op(simd_gid, simd_lid);
    +
    1142
    +
    1143 if (num_els < BM) {
    +
    1144 if ((K % BK) != 0) {
    +
    1145 const int k_blocks = K / BK;
    +
    1146 for (int k = 0; k < k_blocks; k++) {
    +
    1147 threadgroup_barrier(mem_flags::mem_threadgroup);
    +
    1148 loader_x.load_safe(short2(BK, num_els));
    +
    1149 loader_w.load_unsafe();
    +
    1150 threadgroup_barrier(mem_flags::mem_threadgroup);
    +
    1151 mma_op.mma(Xs, Ws);
    +
    1152 loader_x.next();
    +
    1153 loader_w.next();
    +
    1154 }
    +
    1155 const short num_k = K - k_blocks * BK;
    +
    1156 threadgroup_barrier(mem_flags::mem_threadgroup);
    +
    1157 loader_x.load_safe(short2(num_k, num_els));
    +
    1158 loader_w.load_safe(short2(BN, num_k));
    +
    1159 threadgroup_barrier(mem_flags::mem_threadgroup);
    +
    1160 mma_op.mma(Xs, Ws);
    +
    1161 } else {
    +
    1162 for (int k = 0; k < K; k += BK) {
    +
    1163 threadgroup_barrier(mem_flags::mem_threadgroup);
    +
    1164 loader_x.load_safe(short2(BK, num_els));
    +
    1165 loader_w.load_unsafe();
    +
    1166 threadgroup_barrier(mem_flags::mem_threadgroup);
    +
    1167 mma_op.mma(Xs, Ws);
    +
    1168 loader_x.next();
    +
    1169 loader_w.next();
    +
    1170 }
    +
    1171 }
    +
    1172 } else {
    +
    1173 if ((K % BK) != 0) {
    +
    1174 const int k_blocks = K / BK;
    +
    1175 for (int k = 0; k < k_blocks; k++) {
    +
    1176 threadgroup_barrier(mem_flags::mem_threadgroup);
    +
    1177 loader_x.load_unsafe();
    +
    1178 loader_w.load_unsafe();
    +
    1179 threadgroup_barrier(mem_flags::mem_threadgroup);
    +
    1180 mma_op.mma(Xs, Ws);
    +
    1181 loader_x.next();
    +
    1182 loader_w.next();
    +
    1183 }
    +
    1184 const short num_k = K - k_blocks * BK;
    +
    1185 threadgroup_barrier(mem_flags::mem_threadgroup);
    +
    1186 loader_x.load_safe(short2(num_k, BM));
    +
    1187 loader_w.load_safe(short2(BN, num_k));
    +
    1188 threadgroup_barrier(mem_flags::mem_threadgroup);
    +
    1189 mma_op.mma(Xs, Ws);
    +
    1190 } else {
    +
    1191 for (int k = 0; k < K; k += BK) {
    +
    1192 threadgroup_barrier(mem_flags::mem_threadgroup);
    +
    1193 loader_x.load_unsafe();
    +
    1194 loader_w.load_unsafe();
    +
    1195 threadgroup_barrier(mem_flags::mem_threadgroup);
    +
    1196 mma_op.mma(Xs, Ws);
    +
    1197 loader_x.next();
    +
    1198 loader_w.next();
    +
    1199 }
    +
    1200 }
    +
    1201 }
    +
    1202
    +
    1203 // Store results to device memory
    +
    1204 threadgroup_barrier(mem_flags::mem_threadgroup);
    +
    1205 if (num_els < BM) {
    +
    1206 mma_op.store_result_safe(y, N, short2(BN, num_els));
    +
    1207 } else {
    +
    1208 mma_op.store_result(y, N);
    +
    1209 }
    +
    1210}
    -
    1209
    -
    1210template <typename T>
    -
    - -
    1212 const device T*& x,
    -
    1213 const device uint32_t*& w,
    -
    1214 const device T*& scales,
    -
    1215 const device T*& biases,
    -
    1216 device T*& y,
    -
    1217 int output_stride,
    -
    1218 const constant int& x_batch_ndims,
    -
    1219 const constant int* x_shape,
    -
    1220 const constant size_t* x_strides,
    -
    1221 const constant int& w_batch_ndims,
    -
    1222 const constant int* w_shape,
    -
    1223 const constant size_t* w_strides,
    -
    1224 const constant size_t* s_strides,
    -
    1225 const constant size_t* b_strides,
    -
    1226 uint3 tid [[threadgroup_position_in_grid]]) {
    -
    1227 // Set the input/output matrices
    -
    1228 uint32_t x_idx = tid.z;
    -
    1229 uint32_t w_idx = tid.z;
    -
    1230 if (x_batch_ndims == 1) {
    -
    1231 x += x_idx * x_strides[0];
    -
    1232 } else {
    -
    1233 x += elem_to_loc(x_idx, x_shape, x_strides, x_batch_ndims);
    -
    1234 }
    -
    1235 if (w_batch_ndims == 1) {
    -
    1236 w += w_idx * w_strides[0];
    -
    1237 scales += w_idx * s_strides[0];
    -
    1238 biases += w_idx * b_strides[0];
    -
    1239 } else {
    -
    1240 ulong3 idx = elem_to_loc_broadcast(
    -
    1241 w_idx, w_shape, w_strides, s_strides, b_strides, w_batch_ndims);
    -
    1242 w += idx.x;
    -
    1243 scales += idx.y;
    -
    1244 biases += idx.z;
    -
    1245 }
    -
    1246 y += tid.z * output_stride;
    -
    1247}
    +
    1211
    +
    1212template <typename T>
    +
    + +
    1214 const device T*& x,
    +
    1215 const device uint32_t*& w,
    +
    1216 const device T*& scales,
    +
    1217 const device T*& biases,
    +
    1218 device T*& y,
    +
    1219 int output_stride,
    +
    1220 const constant int& x_batch_ndims,
    +
    1221 const constant int* x_shape,
    +
    1222 const constant size_t* x_strides,
    +
    1223 const constant int& w_batch_ndims,
    +
    1224 const constant int* w_shape,
    +
    1225 const constant size_t* w_strides,
    +
    1226 const constant size_t* s_strides,
    +
    1227 const constant size_t* b_strides,
    +
    1228 uint3 tid [[threadgroup_position_in_grid]]) {
    +
    1229 // Set the input/output matrices
    +
    1230 uint32_t x_idx = tid.z;
    +
    1231 uint32_t w_idx = tid.z;
    +
    1232 if (x_batch_ndims == 1) {
    +
    1233 x += x_idx * x_strides[0];
    +
    1234 } else {
    +
    1235 x += elem_to_loc(x_idx, x_shape, x_strides, x_batch_ndims);
    +
    1236 }
    +
    1237 if (w_batch_ndims == 1) {
    +
    1238 w += w_idx * w_strides[0];
    +
    1239 scales += w_idx * s_strides[0];
    +
    1240 biases += w_idx * b_strides[0];
    +
    1241 } else {
    +
    1242 ulong3 idx = elem_to_loc_broadcast(
    +
    1243 w_idx, w_shape, w_strides, s_strides, b_strides, w_batch_ndims);
    +
    1244 w += idx.x;
    +
    1245 scales += idx.y;
    +
    1246 biases += idx.z;
    +
    1247 }
    +
    1248 y += tid.z * output_stride;
    +
    1249}
    -
    1248
    -
    1249template <typename T>
    -
    - -
    1251 const device T*& x,
    -
    1252 const device uint32_t*& w,
    -
    1253 const device T*& scales,
    -
    1254 const device T*& biases,
    -
    1255 const device uint32_t* lhs_indices,
    -
    1256 const device uint32_t* rhs_indices,
    -
    1257 device T*& y,
    -
    1258 int output_stride,
    -
    1259 const constant int& batch_ndims,
    -
    1260 const constant int* batch_shape,
    -
    1261 const constant size_t* lhs_strides,
    -
    1262 const constant size_t* rhs_strides,
    -
    1263 const constant int& x_batch_ndims,
    -
    1264 const constant int* x_shape,
    -
    1265 const constant size_t* x_strides,
    -
    1266 const constant int& w_batch_ndims,
    -
    1267 const constant int* w_shape,
    -
    1268 const constant size_t* w_strides,
    -
    1269 const constant size_t* s_strides,
    -
    1270 const constant size_t* b_strides,
    -
    1271 uint3 tid [[threadgroup_position_in_grid]]) {
    -
    1272 // Set the input/output matrices
    -
    1273 uint32_t x_idx;
    -
    1274 uint32_t w_idx;
    -
    1275 if (batch_ndims == 1) {
    -
    1276 x_idx = lhs_indices[tid.z * lhs_strides[0]];
    -
    1277 w_idx = rhs_indices[tid.z * rhs_strides[0]];
    -
    1278 } else {
    -
    1279 ulong2 idx = elem_to_loc_broadcast(
    -
    1280 tid.z, batch_shape, lhs_strides, rhs_strides, batch_ndims);
    -
    1281 x_idx = lhs_indices[idx.x];
    -
    1282 w_idx = rhs_indices[idx.y];
    -
    1283 }
    -
    1284 if (x_batch_ndims == 1) {
    -
    1285 x += x_idx * x_strides[0];
    -
    1286 } else {
    -
    1287 x += elem_to_loc(x_idx, x_shape, x_strides, x_batch_ndims);
    -
    1288 }
    -
    1289 if (w_batch_ndims == 1) {
    -
    1290 w += w_idx * w_strides[0];
    -
    1291 scales += w_idx * s_strides[0];
    -
    1292 biases += w_idx * b_strides[0];
    -
    1293 } else {
    -
    1294 ulong3 idx = elem_to_loc_broadcast(
    -
    1295 w_idx, w_shape, w_strides, s_strides, b_strides, w_batch_ndims);
    -
    1296 w += idx.x;
    -
    1297 scales += idx.y;
    -
    1298 biases += idx.z;
    -
    1299 }
    -
    1300 y += tid.z * output_stride;
    -
    1301}
    +
    1250
    +
    1251template <typename T>
    +
    + +
    1253 const device T*& x,
    +
    1254 const device uint32_t*& w,
    +
    1255 const device T*& scales,
    +
    1256 const device T*& biases,
    +
    1257 const device uint32_t* lhs_indices,
    +
    1258 const device uint32_t* rhs_indices,
    +
    1259 device T*& y,
    +
    1260 int output_stride,
    +
    1261 const constant int& batch_ndims,
    +
    1262 const constant int* batch_shape,
    +
    1263 const constant size_t* lhs_strides,
    +
    1264 const constant size_t* rhs_strides,
    +
    1265 const constant int& x_batch_ndims,
    +
    1266 const constant int* x_shape,
    +
    1267 const constant size_t* x_strides,
    +
    1268 const constant int& w_batch_ndims,
    +
    1269 const constant int* w_shape,
    +
    1270 const constant size_t* w_strides,
    +
    1271 const constant size_t* s_strides,
    +
    1272 const constant size_t* b_strides,
    +
    1273 uint3 tid [[threadgroup_position_in_grid]]) {
    +
    1274 // Set the input/output matrices
    +
    1275 uint32_t x_idx;
    +
    1276 uint32_t w_idx;
    +
    1277 if (batch_ndims == 1) {
    +
    1278 x_idx = lhs_indices[tid.z * lhs_strides[0]];
    +
    1279 w_idx = rhs_indices[tid.z * rhs_strides[0]];
    +
    1280 } else {
    +
    1281 ulong2 idx = elem_to_loc_broadcast(
    +
    1282 tid.z, batch_shape, lhs_strides, rhs_strides, batch_ndims);
    +
    1283 x_idx = lhs_indices[idx.x];
    +
    1284 w_idx = rhs_indices[idx.y];
    +
    1285 }
    +
    1286 if (x_batch_ndims == 1) {
    +
    1287 x += x_idx * x_strides[0];
    +
    1288 } else {
    +
    1289 x += elem_to_loc(x_idx, x_shape, x_strides, x_batch_ndims);
    +
    1290 }
    +
    1291 if (w_batch_ndims == 1) {
    +
    1292 w += w_idx * w_strides[0];
    +
    1293 scales += w_idx * s_strides[0];
    +
    1294 biases += w_idx * b_strides[0];
    +
    1295 } else {
    +
    1296 ulong3 idx = elem_to_loc_broadcast(
    +
    1297 w_idx, w_shape, w_strides, s_strides, b_strides, w_batch_ndims);
    +
    1298 w += idx.x;
    +
    1299 scales += idx.y;
    +
    1300 biases += idx.z;
    +
    1301 }
    +
    1302 y += tid.z * output_stride;
    +
    1303}
    -
    1302
    -
    1303template <typename T, int group_size, int bits, int D, bool batched>
    -
    -
    1304[[kernel]] void qmv_quad(
    -
    1305 const device uint32_t* w [[buffer(0)]],
    -
    1306 const device T* scales [[buffer(1)]],
    -
    1307 const device T* biases [[buffer(2)]],
    -
    1308 const device T* x [[buffer(3)]],
    -
    1309 device T* y [[buffer(4)]],
    -
    1310 const constant int& in_vec_size [[buffer(5)]],
    -
    1311 const constant int& out_vec_size [[buffer(6)]],
    -
    1312 const constant int& x_batch_ndims [[buffer(7)]],
    -
    1313 const constant int* x_shape [[buffer(8)]],
    -
    1314 const constant size_t* x_strides [[buffer(9)]],
    -
    1315 const constant int& w_batch_ndims [[buffer(10)]],
    -
    1316 const constant int* w_shape [[buffer(11)]],
    -
    1317 const constant size_t* w_strides [[buffer(12)]],
    -
    1318 const constant size_t* s_strides [[buffer(13)]],
    -
    1319 const constant size_t* b_strides [[buffer(14)]],
    -
    1320 uint3 tid [[threadgroup_position_in_grid]],
    -
    1321 uint quad_gid [[quadgroup_index_in_threadgroup]],
    -
    1322 uint quad_lid [[thread_index_in_quadgroup]]) {
    -
    1323 if (batched) {
    - -
    1325 x,
    -
    1326 w,
    -
    1327 scales,
    -
    1328 biases,
    -
    1329 y,
    -
    1330 out_vec_size,
    -
    1331 x_batch_ndims,
    -
    1332 x_shape,
    -
    1333 x_strides,
    -
    1334 w_batch_ndims,
    -
    1335 w_shape,
    -
    1336 w_strides,
    -
    1337 s_strides,
    -
    1338 b_strides,
    -
    1339 tid);
    -
    1340 }
    - -
    1342 w,
    -
    1343 scales,
    -
    1344 biases,
    -
    1345 x,
    -
    1346 y,
    -
    1347 in_vec_size,
    -
    1348 out_vec_size,
    -
    1349 tid,
    -
    1350 quad_gid,
    -
    1351 quad_lid);
    -
    1352}
    +
    1304
    +
    1305template <typename T, int group_size, int bits, int D, bool batched>
    +
    +
    1306[[kernel]] void qmv_quad(
    +
    1307 const device uint32_t* w [[buffer(0)]],
    +
    1308 const device T* scales [[buffer(1)]],
    +
    1309 const device T* biases [[buffer(2)]],
    +
    1310 const device T* x [[buffer(3)]],
    +
    1311 device T* y [[buffer(4)]],
    +
    1312 const constant int& in_vec_size [[buffer(5)]],
    +
    1313 const constant int& out_vec_size [[buffer(6)]],
    +
    1314 const constant int& x_batch_ndims [[buffer(7)]],
    +
    1315 const constant int* x_shape [[buffer(8)]],
    +
    1316 const constant size_t* x_strides [[buffer(9)]],
    +
    1317 const constant int& w_batch_ndims [[buffer(10)]],
    +
    1318 const constant int* w_shape [[buffer(11)]],
    +
    1319 const constant size_t* w_strides [[buffer(12)]],
    +
    1320 const constant size_t* s_strides [[buffer(13)]],
    +
    1321 const constant size_t* b_strides [[buffer(14)]],
    +
    1322 uint3 tid [[threadgroup_position_in_grid]],
    +
    1323 uint quad_gid [[quadgroup_index_in_threadgroup]],
    +
    1324 uint quad_lid [[thread_index_in_quadgroup]]) {
    +
    1325 if (batched) {
    + +
    1327 x,
    +
    1328 w,
    +
    1329 scales,
    +
    1330 biases,
    +
    1331 y,
    +
    1332 out_vec_size,
    +
    1333 x_batch_ndims,
    +
    1334 x_shape,
    +
    1335 x_strides,
    +
    1336 w_batch_ndims,
    +
    1337 w_shape,
    +
    1338 w_strides,
    +
    1339 s_strides,
    +
    1340 b_strides,
    +
    1341 tid);
    +
    1342 }
    + +
    1344 w,
    +
    1345 scales,
    +
    1346 biases,
    +
    1347 x,
    +
    1348 y,
    +
    1349 in_vec_size,
    +
    1350 out_vec_size,
    +
    1351 tid,
    +
    1352 quad_gid,
    +
    1353 quad_lid);
    +
    1354}
    -
    1353
    -
    1354template <typename T, int group_size, int bits, bool batched>
    -
    -
    1355[[kernel]] void qmv_fast(
    -
    1356 const device uint32_t* w [[buffer(0)]],
    -
    1357 const device T* scales [[buffer(1)]],
    -
    1358 const device T* biases [[buffer(2)]],
    -
    1359 const device T* x [[buffer(3)]],
    -
    1360 device T* y [[buffer(4)]],
    -
    1361 const constant int& in_vec_size [[buffer(5)]],
    -
    1362 const constant int& out_vec_size [[buffer(6)]],
    -
    1363 const constant int& x_batch_ndims [[buffer(7)]],
    -
    1364 const constant int* x_shape [[buffer(8)]],
    -
    1365 const constant size_t* x_strides [[buffer(9)]],
    -
    1366 const constant int& w_batch_ndims [[buffer(10)]],
    -
    1367 const constant int* w_shape [[buffer(11)]],
    -
    1368 const constant size_t* w_strides [[buffer(12)]],
    -
    1369 const constant size_t* s_strides [[buffer(13)]],
    -
    1370 const constant size_t* b_strides [[buffer(14)]],
    -
    1371 uint3 tid [[threadgroup_position_in_grid]],
    -
    1372 uint simd_gid [[simdgroup_index_in_threadgroup]],
    -
    1373 uint simd_lid [[thread_index_in_simdgroup]]) {
    -
    1374 if (batched) {
    - -
    1376 x,
    -
    1377 w,
    -
    1378 scales,
    -
    1379 biases,
    -
    1380 y,
    -
    1381 out_vec_size,
    -
    1382 x_batch_ndims,
    -
    1383 x_shape,
    -
    1384 x_strides,
    -
    1385 w_batch_ndims,
    -
    1386 w_shape,
    -
    1387 w_strides,
    -
    1388 s_strides,
    -
    1389 b_strides,
    -
    1390 tid);
    -
    1391 }
    - -
    1393 w,
    -
    1394 scales,
    -
    1395 biases,
    -
    1396 x,
    -
    1397 y,
    -
    1398 in_vec_size,
    -
    1399 out_vec_size,
    -
    1400 tid,
    -
    1401 simd_gid,
    -
    1402 simd_lid);
    -
    1403}
    +
    1355
    +
    1356template <typename T, int group_size, int bits, bool batched>
    +
    +
    1357[[kernel]] void qmv_fast(
    +
    1358 const device uint32_t* w [[buffer(0)]],
    +
    1359 const device T* scales [[buffer(1)]],
    +
    1360 const device T* biases [[buffer(2)]],
    +
    1361 const device T* x [[buffer(3)]],
    +
    1362 device T* y [[buffer(4)]],
    +
    1363 const constant int& in_vec_size [[buffer(5)]],
    +
    1364 const constant int& out_vec_size [[buffer(6)]],
    +
    1365 const constant int& x_batch_ndims [[buffer(7)]],
    +
    1366 const constant int* x_shape [[buffer(8)]],
    +
    1367 const constant size_t* x_strides [[buffer(9)]],
    +
    1368 const constant int& w_batch_ndims [[buffer(10)]],
    +
    1369 const constant int* w_shape [[buffer(11)]],
    +
    1370 const constant size_t* w_strides [[buffer(12)]],
    +
    1371 const constant size_t* s_strides [[buffer(13)]],
    +
    1372 const constant size_t* b_strides [[buffer(14)]],
    +
    1373 uint3 tid [[threadgroup_position_in_grid]],
    +
    1374 uint simd_gid [[simdgroup_index_in_threadgroup]],
    +
    1375 uint simd_lid [[thread_index_in_simdgroup]]) {
    +
    1376 if (batched) {
    + +
    1378 x,
    +
    1379 w,
    +
    1380 scales,
    +
    1381 biases,
    +
    1382 y,
    +
    1383 out_vec_size,
    +
    1384 x_batch_ndims,
    +
    1385 x_shape,
    +
    1386 x_strides,
    +
    1387 w_batch_ndims,
    +
    1388 w_shape,
    +
    1389 w_strides,
    +
    1390 s_strides,
    +
    1391 b_strides,
    +
    1392 tid);
    +
    1393 }
    + +
    1395 w,
    +
    1396 scales,
    +
    1397 biases,
    +
    1398 x,
    +
    1399 y,
    +
    1400 in_vec_size,
    +
    1401 out_vec_size,
    +
    1402 tid,
    +
    1403 simd_gid,
    +
    1404 simd_lid);
    +
    1405}
    -
    1404
    -
    1405template <typename T, const int group_size, const int bits, bool batched>
    -
    -
    1406[[kernel]] void qmv(
    -
    1407 const device uint32_t* w [[buffer(0)]],
    -
    1408 const device T* scales [[buffer(1)]],
    -
    1409 const device T* biases [[buffer(2)]],
    -
    1410 const device T* x [[buffer(3)]],
    -
    1411 device T* y [[buffer(4)]],
    -
    1412 const constant int& in_vec_size [[buffer(5)]],
    -
    1413 const constant int& out_vec_size [[buffer(6)]],
    -
    1414 const constant int& x_batch_ndims [[buffer(7)]],
    -
    1415 const constant int* x_shape [[buffer(8)]],
    -
    1416 const constant size_t* x_strides [[buffer(9)]],
    -
    1417 const constant int& w_batch_ndims [[buffer(10)]],
    -
    1418 const constant int* w_shape [[buffer(11)]],
    -
    1419 const constant size_t* w_strides [[buffer(12)]],
    -
    1420 const constant size_t* s_strides [[buffer(13)]],
    -
    1421 const constant size_t* b_strides [[buffer(14)]],
    -
    1422 uint3 tid [[threadgroup_position_in_grid]],
    -
    1423 uint simd_gid [[simdgroup_index_in_threadgroup]],
    -
    1424 uint simd_lid [[thread_index_in_simdgroup]]) {
    -
    1425 if (batched) {
    - -
    1427 x,
    -
    1428 w,
    -
    1429 scales,
    -
    1430 biases,
    -
    1431 y,
    -
    1432 out_vec_size,
    -
    1433 x_batch_ndims,
    -
    1434 x_shape,
    -
    1435 x_strides,
    -
    1436 w_batch_ndims,
    -
    1437 w_shape,
    -
    1438 w_strides,
    -
    1439 s_strides,
    -
    1440 b_strides,
    -
    1441 tid);
    -
    1442 }
    - -
    1444 w,
    -
    1445 scales,
    -
    1446 biases,
    -
    1447 x,
    -
    1448 y,
    -
    1449 in_vec_size,
    -
    1450 out_vec_size,
    -
    1451 tid,
    -
    1452 simd_gid,
    -
    1453 simd_lid);
    -
    1454}
    +
    1406
    +
    1407template <typename T, const int group_size, const int bits, bool batched>
    +
    +
    1408[[kernel]] void qmv(
    +
    1409 const device uint32_t* w [[buffer(0)]],
    +
    1410 const device T* scales [[buffer(1)]],
    +
    1411 const device T* biases [[buffer(2)]],
    +
    1412 const device T* x [[buffer(3)]],
    +
    1413 device T* y [[buffer(4)]],
    +
    1414 const constant int& in_vec_size [[buffer(5)]],
    +
    1415 const constant int& out_vec_size [[buffer(6)]],
    +
    1416 const constant int& x_batch_ndims [[buffer(7)]],
    +
    1417 const constant int* x_shape [[buffer(8)]],
    +
    1418 const constant size_t* x_strides [[buffer(9)]],
    +
    1419 const constant int& w_batch_ndims [[buffer(10)]],
    +
    1420 const constant int* w_shape [[buffer(11)]],
    +
    1421 const constant size_t* w_strides [[buffer(12)]],
    +
    1422 const constant size_t* s_strides [[buffer(13)]],
    +
    1423 const constant size_t* b_strides [[buffer(14)]],
    +
    1424 uint3 tid [[threadgroup_position_in_grid]],
    +
    1425 uint simd_gid [[simdgroup_index_in_threadgroup]],
    +
    1426 uint simd_lid [[thread_index_in_simdgroup]]) {
    +
    1427 if (batched) {
    + +
    1429 x,
    +
    1430 w,
    +
    1431 scales,
    +
    1432 biases,
    +
    1433 y,
    +
    1434 out_vec_size,
    +
    1435 x_batch_ndims,
    +
    1436 x_shape,
    +
    1437 x_strides,
    +
    1438 w_batch_ndims,
    +
    1439 w_shape,
    +
    1440 w_strides,
    +
    1441 s_strides,
    +
    1442 b_strides,
    +
    1443 tid);
    +
    1444 }
    + +
    1446 w,
    +
    1447 scales,
    +
    1448 biases,
    +
    1449 x,
    +
    1450 y,
    +
    1451 in_vec_size,
    +
    1452 out_vec_size,
    +
    1453 tid,
    +
    1454 simd_gid,
    +
    1455 simd_lid);
    +
    1456}
    -
    1455
    -
    1456template <typename T, const int group_size, const int bits, bool batched>
    -
    -
    1457[[kernel]] void qvm(
    -
    1458 const device uint32_t* w [[buffer(0)]],
    -
    1459 const device T* scales [[buffer(1)]],
    -
    1460 const device T* biases [[buffer(2)]],
    -
    1461 const device T* x [[buffer(3)]],
    -
    1462 device T* y [[buffer(4)]],
    -
    1463 const constant int& in_vec_size [[buffer(5)]],
    -
    1464 const constant int& out_vec_size [[buffer(6)]],
    -
    1465 const constant int& x_batch_ndims [[buffer(7)]],
    -
    1466 const constant int* x_shape [[buffer(8)]],
    -
    1467 const constant size_t* x_strides [[buffer(9)]],
    -
    1468 const constant int& w_batch_ndims [[buffer(10)]],
    -
    1469 const constant int* w_shape [[buffer(11)]],
    -
    1470 const constant size_t* w_strides [[buffer(12)]],
    -
    1471 const constant size_t* s_strides [[buffer(13)]],
    -
    1472 const constant size_t* b_strides [[buffer(14)]],
    -
    1473 uint3 tid [[threadgroup_position_in_grid]],
    -
    1474 uint simd_gid [[simdgroup_index_in_threadgroup]],
    -
    1475 uint simd_lid [[thread_index_in_simdgroup]]) {
    -
    1476 if (batched) {
    - -
    1478 x,
    -
    1479 w,
    -
    1480 scales,
    -
    1481 biases,
    -
    1482 y,
    -
    1483 out_vec_size,
    -
    1484 x_batch_ndims,
    -
    1485 x_shape,
    -
    1486 x_strides,
    -
    1487 w_batch_ndims,
    -
    1488 w_shape,
    -
    1489 w_strides,
    -
    1490 s_strides,
    -
    1491 b_strides,
    -
    1492 tid);
    -
    1493 }
    - -
    1495 w,
    -
    1496 scales,
    -
    1497 biases,
    -
    1498 x,
    -
    1499 y,
    -
    1500 in_vec_size,
    -
    1501 out_vec_size,
    -
    1502 tid,
    -
    1503 simd_gid,
    -
    1504 simd_lid);
    -
    1505}
    +
    1457
    +
    1458template <typename T, const int group_size, const int bits, bool batched>
    +
    +
    1459[[kernel]] void qvm(
    +
    1460 const device uint32_t* w [[buffer(0)]],
    +
    1461 const device T* scales [[buffer(1)]],
    +
    1462 const device T* biases [[buffer(2)]],
    +
    1463 const device T* x [[buffer(3)]],
    +
    1464 device T* y [[buffer(4)]],
    +
    1465 const constant int& in_vec_size [[buffer(5)]],
    +
    1466 const constant int& out_vec_size [[buffer(6)]],
    +
    1467 const constant int& x_batch_ndims [[buffer(7)]],
    +
    1468 const constant int* x_shape [[buffer(8)]],
    +
    1469 const constant size_t* x_strides [[buffer(9)]],
    +
    1470 const constant int& w_batch_ndims [[buffer(10)]],
    +
    1471 const constant int* w_shape [[buffer(11)]],
    +
    1472 const constant size_t* w_strides [[buffer(12)]],
    +
    1473 const constant size_t* s_strides [[buffer(13)]],
    +
    1474 const constant size_t* b_strides [[buffer(14)]],
    +
    1475 uint3 tid [[threadgroup_position_in_grid]],
    +
    1476 uint simd_gid [[simdgroup_index_in_threadgroup]],
    +
    1477 uint simd_lid [[thread_index_in_simdgroup]]) {
    +
    1478 if (batched) {
    + +
    1480 x,
    +
    1481 w,
    +
    1482 scales,
    +
    1483 biases,
    +
    1484 y,
    +
    1485 out_vec_size,
    +
    1486 x_batch_ndims,
    +
    1487 x_shape,
    +
    1488 x_strides,
    +
    1489 w_batch_ndims,
    +
    1490 w_shape,
    +
    1491 w_strides,
    +
    1492 s_strides,
    +
    1493 b_strides,
    +
    1494 tid);
    +
    1495 }
    + +
    1497 w,
    +
    1498 scales,
    +
    1499 biases,
    +
    1500 x,
    +
    1501 y,
    +
    1502 in_vec_size,
    +
    1503 out_vec_size,
    +
    1504 tid,
    +
    1505 simd_gid,
    +
    1506 simd_lid);
    +
    1507}
    -
    1506
    -
    1507template <typename T, const int group_size, const int bits, int split_k = 32>
    -
    -
    1508[[kernel]] void qvm_split_k(
    -
    1509 const device uint32_t* w [[buffer(0)]],
    -
    1510 const device T* scales [[buffer(1)]],
    -
    1511 const device T* biases [[buffer(2)]],
    -
    1512 const device T* x [[buffer(3)]],
    -
    1513 device T* y [[buffer(4)]],
    -
    1514 const constant int& in_vec_size [[buffer(5)]],
    -
    1515 const constant int& out_vec_size [[buffer(6)]],
    -
    1516 const constant int& x_batch_ndims [[buffer(7)]],
    -
    1517 const constant int* x_shape [[buffer(8)]],
    -
    1518 const constant size_t* x_strides [[buffer(9)]],
    -
    1519 const constant int& w_batch_ndims [[buffer(10)]],
    -
    1520 const constant int* w_shape [[buffer(11)]],
    -
    1521 const constant size_t* w_strides [[buffer(12)]],
    -
    1522 const constant size_t* s_strides [[buffer(13)]],
    -
    1523 const constant size_t* b_strides [[buffer(14)]],
    -
    1524 const constant int& final_block_size [[buffer(15)]],
    -
    1525 uint3 tid [[threadgroup_position_in_grid]],
    -
    1526 uint simd_gid [[simdgroup_index_in_threadgroup]],
    -
    1527 uint simd_lid [[thread_index_in_simdgroup]]) {
    - -
    1529 x,
    -
    1530 w,
    -
    1531 scales,
    -
    1532 biases,
    -
    1533 y,
    -
    1534 out_vec_size,
    -
    1535 x_batch_ndims,
    -
    1536 x_shape,
    -
    1537 x_strides,
    -
    1538 w_batch_ndims,
    -
    1539 w_shape,
    -
    1540 w_strides,
    -
    1541 s_strides,
    -
    1542 b_strides,
    -
    1543 tid);
    -
    1544
    -
    1545 // When (in_vec_size % split_k != 0) the final block needs to be smaller
    -
    1546 int in_vec_size_adj =
    -
    1547 tid.z % split_k == split_k - 1 ? final_block_size : in_vec_size;
    -
    1548
    - -
    1550 w,
    -
    1551 scales,
    -
    1552 biases,
    -
    1553 x,
    -
    1554 y,
    -
    1555 in_vec_size_adj,
    -
    1556 out_vec_size,
    -
    1557 tid,
    -
    1558 simd_gid,
    -
    1559 simd_lid);
    -
    1560}
    +
    1508
    +
    1509template <typename T, const int group_size, const int bits, int split_k = 32>
    +
    +
    1510[[kernel]] void qvm_split_k(
    +
    1511 const device uint32_t* w [[buffer(0)]],
    +
    1512 const device T* scales [[buffer(1)]],
    +
    1513 const device T* biases [[buffer(2)]],
    +
    1514 const device T* x [[buffer(3)]],
    +
    1515 device T* y [[buffer(4)]],
    +
    1516 const constant int& in_vec_size [[buffer(5)]],
    +
    1517 const constant int& out_vec_size [[buffer(6)]],
    +
    1518 const constant int& x_batch_ndims [[buffer(7)]],
    +
    1519 const constant int* x_shape [[buffer(8)]],
    +
    1520 const constant size_t* x_strides [[buffer(9)]],
    +
    1521 const constant int& w_batch_ndims [[buffer(10)]],
    +
    1522 const constant int* w_shape [[buffer(11)]],
    +
    1523 const constant size_t* w_strides [[buffer(12)]],
    +
    1524 const constant size_t* s_strides [[buffer(13)]],
    +
    1525 const constant size_t* b_strides [[buffer(14)]],
    +
    1526 const constant int& final_block_size [[buffer(15)]],
    +
    1527 uint3 tid [[threadgroup_position_in_grid]],
    +
    1528 uint simd_gid [[simdgroup_index_in_threadgroup]],
    +
    1529 uint simd_lid [[thread_index_in_simdgroup]]) {
    + +
    1531 x,
    +
    1532 w,
    +
    1533 scales,
    +
    1534 biases,
    +
    1535 y,
    +
    1536 out_vec_size,
    +
    1537 x_batch_ndims,
    +
    1538 x_shape,
    +
    1539 x_strides,
    +
    1540 w_batch_ndims,
    +
    1541 w_shape,
    +
    1542 w_strides,
    +
    1543 s_strides,
    +
    1544 b_strides,
    +
    1545 tid);
    +
    1546
    +
    1547 // When (in_vec_size % split_k != 0) the final block needs to be smaller
    +
    1548 int in_vec_size_adj =
    +
    1549 tid.z % split_k == split_k - 1 ? final_block_size : in_vec_size;
    +
    1550
    + +
    1552 w,
    +
    1553 scales,
    +
    1554 biases,
    +
    1555 x,
    +
    1556 y,
    +
    1557 in_vec_size_adj,
    +
    1558 out_vec_size,
    +
    1559 tid,
    +
    1560 simd_gid,
    +
    1561 simd_lid);
    +
    1562}
    -
    1561
    -
    1562template <
    -
    1563 typename T,
    -
    1564 const int group_size,
    -
    1565 const int bits,
    -
    1566 const bool aligned_N,
    -
    1567 const bool batched,
    -
    1568 const int BM = 32,
    -
    1569 const int BK = 32,
    -
    1570 const int BN = 32>
    -
    -
    1571[[kernel]] void qmm_t(
    -
    1572 const device uint32_t* w [[buffer(0)]],
    -
    1573 const device T* scales [[buffer(1)]],
    -
    1574 const device T* biases [[buffer(2)]],
    -
    1575 const device T* x [[buffer(3)]],
    -
    1576 device T* y [[buffer(4)]],
    -
    1577 const constant int& K [[buffer(5)]],
    -
    1578 const constant int& N [[buffer(6)]],
    -
    1579 const constant int& M [[buffer(7)]],
    -
    1580 const constant int& x_batch_ndims [[buffer(8)]],
    -
    1581 const constant int* x_shape [[buffer(9)]],
    -
    1582 const constant size_t* x_strides [[buffer(10)]],
    -
    1583 const constant int& w_batch_ndims [[buffer(11)]],
    -
    1584 const constant int* w_shape [[buffer(12)]],
    -
    1585 const constant size_t* w_strides [[buffer(13)]],
    -
    1586 const constant size_t* s_strides [[buffer(14)]],
    -
    1587 const constant size_t* b_strides [[buffer(15)]],
    -
    1588 uint3 tid [[threadgroup_position_in_grid]],
    -
    1589 uint lid [[thread_index_in_threadgroup]],
    -
    1590 uint simd_gid [[simdgroup_index_in_threadgroup]],
    -
    1591 uint simd_lid [[thread_index_in_simdgroup]]) {
    -
    1592 (void)lid;
    -
    1593
    -
    1594 constexpr int BK_padded = (BK + 16 / sizeof(T));
    +
    1563
    +
    1564template <
    +
    1565 typename T,
    +
    1566 const int group_size,
    +
    1567 const int bits,
    +
    1568 const bool aligned_N,
    +
    1569 const bool batched,
    +
    1570 const int BM = 32,
    +
    1571 const int BK = 32,
    +
    1572 const int BN = 32>
    +
    +
    1573[[kernel]] void qmm_t(
    +
    1574 const device uint32_t* w [[buffer(0)]],
    +
    1575 const device T* scales [[buffer(1)]],
    +
    1576 const device T* biases [[buffer(2)]],
    +
    1577 const device T* x [[buffer(3)]],
    +
    1578 device T* y [[buffer(4)]],
    +
    1579 const constant int& K [[buffer(5)]],
    +
    1580 const constant int& N [[buffer(6)]],
    +
    1581 const constant int& M [[buffer(7)]],
    +
    1582 const constant int& x_batch_ndims [[buffer(8)]],
    +
    1583 const constant int* x_shape [[buffer(9)]],
    +
    1584 const constant size_t* x_strides [[buffer(10)]],
    +
    1585 const constant int& w_batch_ndims [[buffer(11)]],
    +
    1586 const constant int* w_shape [[buffer(12)]],
    +
    1587 const constant size_t* w_strides [[buffer(13)]],
    +
    1588 const constant size_t* s_strides [[buffer(14)]],
    +
    1589 const constant size_t* b_strides [[buffer(15)]],
    +
    1590 uint3 tid [[threadgroup_position_in_grid]],
    +
    1591 uint lid [[thread_index_in_threadgroup]],
    +
    1592 uint simd_gid [[simdgroup_index_in_threadgroup]],
    +
    1593 uint simd_lid [[thread_index_in_simdgroup]]) {
    +
    1594 (void)lid;
    1595
    -
    1596 threadgroup T Xs[BM * BK_padded];
    -
    1597 threadgroup T Ws[BN * BK_padded];
    -
    1598
    -
    1599 if (batched) {
    - -
    1601 x,
    -
    1602 w,
    -
    1603 scales,
    -
    1604 biases,
    -
    1605 y,
    -
    1606 M * N,
    -
    1607 x_batch_ndims,
    -
    1608 x_shape,
    -
    1609 x_strides,
    -
    1610 w_batch_ndims,
    -
    1611 w_shape,
    -
    1612 w_strides,
    -
    1613 s_strides,
    -
    1614 b_strides,
    -
    1615 tid);
    -
    1616 }
    - -
    1618 w, scales, biases, x, y, Xs, Ws, K, N, M, tid, lid, simd_gid, simd_lid);
    -
    1619}
    +
    1596 constexpr int BK_padded = (BK + 16 / sizeof(T));
    +
    1597
    +
    1598 threadgroup T Xs[BM * BK_padded];
    +
    1599 threadgroup T Ws[BN * BK_padded];
    +
    1600
    +
    1601 if (batched) {
    + +
    1603 x,
    +
    1604 w,
    +
    1605 scales,
    +
    1606 biases,
    +
    1607 y,
    +
    1608 M * N,
    +
    1609 x_batch_ndims,
    +
    1610 x_shape,
    +
    1611 x_strides,
    +
    1612 w_batch_ndims,
    +
    1613 w_shape,
    +
    1614 w_strides,
    +
    1615 s_strides,
    +
    1616 b_strides,
    +
    1617 tid);
    +
    1618 }
    + +
    1620 w, scales, biases, x, y, Xs, Ws, K, N, M, tid, lid, simd_gid, simd_lid);
    +
    1621}
    -
    1620
    -
    1621template <
    -
    1622 typename T,
    -
    1623 const int group_size,
    -
    1624 const int bits,
    -
    1625 const bool batched,
    -
    1626 const int BM = 32,
    -
    1627 const int BK = 32,
    -
    1628 const int BN = 32>
    -
    -
    1629[[kernel]] void qmm_n(
    -
    1630 const device uint32_t* w [[buffer(0)]],
    -
    1631 const device T* scales [[buffer(1)]],
    -
    1632 const device T* biases [[buffer(2)]],
    -
    1633 const device T* x [[buffer(3)]],
    -
    1634 device T* y [[buffer(4)]],
    -
    1635 const constant int& K [[buffer(5)]],
    -
    1636 const constant int& N [[buffer(6)]],
    -
    1637 const constant int& M [[buffer(7)]],
    -
    1638 const constant int& x_batch_ndims [[buffer(8)]],
    -
    1639 const constant int* x_shape [[buffer(9)]],
    -
    1640 const constant size_t* x_strides [[buffer(10)]],
    -
    1641 const constant int& w_batch_ndims [[buffer(11)]],
    -
    1642 const constant int* w_shape [[buffer(12)]],
    -
    1643 const constant size_t* w_strides [[buffer(13)]],
    -
    1644 const constant size_t* s_strides [[buffer(14)]],
    -
    1645 const constant size_t* b_strides [[buffer(15)]],
    -
    1646 uint3 tid [[threadgroup_position_in_grid]],
    -
    1647 uint lid [[thread_index_in_threadgroup]],
    -
    1648 uint simd_gid [[simdgroup_index_in_threadgroup]],
    -
    1649 uint simd_lid [[thread_index_in_simdgroup]]) {
    -
    1650 (void)lid;
    -
    1651
    -
    1652 constexpr int BK_padded = (BK + 16 / sizeof(T));
    -
    1653 constexpr int BN_padded = (BN + 16 / sizeof(T));
    -
    1654
    -
    1655 threadgroup T Xs[BM * BK_padded];
    -
    1656 threadgroup T Ws[BK * BN_padded];
    -
    1657
    -
    1658 if (batched) {
    - -
    1660 x,
    -
    1661 w,
    -
    1662 scales,
    -
    1663 biases,
    -
    1664 y,
    -
    1665 M * N,
    -
    1666 x_batch_ndims,
    -
    1667 x_shape,
    -
    1668 x_strides,
    -
    1669 w_batch_ndims,
    -
    1670 w_shape,
    -
    1671 w_strides,
    -
    1672 s_strides,
    -
    1673 b_strides,
    -
    1674 tid);
    -
    1675 }
    -
    1676
    - -
    1678 w, scales, biases, x, y, Xs, Ws, K, N, M, tid, lid, simd_gid, simd_lid);
    -
    1679}
    +
    1622
    +
    1623template <
    +
    1624 typename T,
    +
    1625 const int group_size,
    +
    1626 const int bits,
    +
    1627 const bool batched,
    +
    1628 const int BM = 32,
    +
    1629 const int BK = 32,
    +
    1630 const int BN = 32>
    +
    +
    1631[[kernel]] void qmm_n(
    +
    1632 const device uint32_t* w [[buffer(0)]],
    +
    1633 const device T* scales [[buffer(1)]],
    +
    1634 const device T* biases [[buffer(2)]],
    +
    1635 const device T* x [[buffer(3)]],
    +
    1636 device T* y [[buffer(4)]],
    +
    1637 const constant int& K [[buffer(5)]],
    +
    1638 const constant int& N [[buffer(6)]],
    +
    1639 const constant int& M [[buffer(7)]],
    +
    1640 const constant int& x_batch_ndims [[buffer(8)]],
    +
    1641 const constant int* x_shape [[buffer(9)]],
    +
    1642 const constant size_t* x_strides [[buffer(10)]],
    +
    1643 const constant int& w_batch_ndims [[buffer(11)]],
    +
    1644 const constant int* w_shape [[buffer(12)]],
    +
    1645 const constant size_t* w_strides [[buffer(13)]],
    +
    1646 const constant size_t* s_strides [[buffer(14)]],
    +
    1647 const constant size_t* b_strides [[buffer(15)]],
    +
    1648 uint3 tid [[threadgroup_position_in_grid]],
    +
    1649 uint lid [[thread_index_in_threadgroup]],
    +
    1650 uint simd_gid [[simdgroup_index_in_threadgroup]],
    +
    1651 uint simd_lid [[thread_index_in_simdgroup]]) {
    +
    1652 (void)lid;
    +
    1653
    +
    1654 constexpr int BK_padded = (BK + 16 / sizeof(T));
    +
    1655 constexpr int BN_padded = (BN + 16 / sizeof(T));
    +
    1656
    +
    1657 threadgroup T Xs[BM * BK_padded];
    +
    1658 threadgroup T Ws[BK * BN_padded];
    +
    1659
    +
    1660 if (batched) {
    + +
    1662 x,
    +
    1663 w,
    +
    1664 scales,
    +
    1665 biases,
    +
    1666 y,
    +
    1667 M * N,
    +
    1668 x_batch_ndims,
    +
    1669 x_shape,
    +
    1670 x_strides,
    +
    1671 w_batch_ndims,
    +
    1672 w_shape,
    +
    1673 w_strides,
    +
    1674 s_strides,
    +
    1675 b_strides,
    +
    1676 tid);
    +
    1677 }
    +
    1678
    + +
    1680 w, scales, biases, x, y, Xs, Ws, K, N, M, tid, lid, simd_gid, simd_lid);
    +
    1681}
    -
    1680
    -
    1681template <typename T, int group_size, int bits>
    -
    -
    1682[[kernel]] void bs_qmv_fast(
    -
    1683 const device uint32_t* w [[buffer(0)]],
    -
    1684 const device T* scales [[buffer(1)]],
    -
    1685 const device T* biases [[buffer(2)]],
    -
    1686 const device T* x [[buffer(3)]],
    -
    1687 device T* y [[buffer(4)]],
    -
    1688 const constant int& in_vec_size [[buffer(5)]],
    -
    1689 const constant int& out_vec_size [[buffer(6)]],
    -
    1690 const constant int& x_batch_ndims [[buffer(7)]],
    -
    1691 const constant int* x_shape [[buffer(8)]],
    -
    1692 const constant size_t* x_strides [[buffer(9)]],
    -
    1693 const constant int& w_batch_ndims [[buffer(10)]],
    -
    1694 const constant int* w_shape [[buffer(11)]],
    -
    1695 const constant size_t* w_strides [[buffer(12)]],
    -
    1696 const constant size_t* s_strides [[buffer(13)]],
    -
    1697 const constant size_t* b_strides [[buffer(14)]],
    -
    1698 const constant int& batch_ndims [[buffer(15)]],
    -
    1699 const constant int* batch_shape [[buffer(16)]],
    -
    1700 const device uint32_t* lhs_indices [[buffer(17)]],
    -
    1701 const device uint32_t* rhs_indices [[buffer(18)]],
    -
    1702 const constant size_t* lhs_strides [[buffer(19)]],
    -
    1703 const constant size_t* rhs_strides [[buffer(20)]],
    -
    1704 uint3 tid [[threadgroup_position_in_grid]],
    -
    1705 uint simd_gid [[simdgroup_index_in_threadgroup]],
    -
    1706 uint simd_lid [[thread_index_in_simdgroup]]) {
    - -
    1708 x,
    -
    1709 w,
    -
    1710 scales,
    -
    1711 biases,
    -
    1712 lhs_indices,
    -
    1713 rhs_indices,
    -
    1714 y,
    -
    1715 out_vec_size,
    -
    1716 batch_ndims,
    -
    1717 batch_shape,
    -
    1718 lhs_strides,
    -
    1719 rhs_strides,
    -
    1720 x_batch_ndims,
    -
    1721 x_shape,
    -
    1722 x_strides,
    -
    1723 w_batch_ndims,
    -
    1724 w_shape,
    -
    1725 w_strides,
    -
    1726 s_strides,
    -
    1727 b_strides,
    -
    1728 tid);
    - -
    1730 w,
    -
    1731 scales,
    -
    1732 biases,
    -
    1733 x,
    -
    1734 y,
    -
    1735 in_vec_size,
    -
    1736 out_vec_size,
    -
    1737 tid,
    -
    1738 simd_gid,
    -
    1739 simd_lid);
    -
    1740}
    +
    1682
    +
    1683template <typename T, int group_size, int bits>
    +
    +
    1684[[kernel]] void bs_qmv_fast(
    +
    1685 const device uint32_t* w [[buffer(0)]],
    +
    1686 const device T* scales [[buffer(1)]],
    +
    1687 const device T* biases [[buffer(2)]],
    +
    1688 const device T* x [[buffer(3)]],
    +
    1689 device T* y [[buffer(4)]],
    +
    1690 const constant int& in_vec_size [[buffer(5)]],
    +
    1691 const constant int& out_vec_size [[buffer(6)]],
    +
    1692 const constant int& x_batch_ndims [[buffer(7)]],
    +
    1693 const constant int* x_shape [[buffer(8)]],
    +
    1694 const constant size_t* x_strides [[buffer(9)]],
    +
    1695 const constant int& w_batch_ndims [[buffer(10)]],
    +
    1696 const constant int* w_shape [[buffer(11)]],
    +
    1697 const constant size_t* w_strides [[buffer(12)]],
    +
    1698 const constant size_t* s_strides [[buffer(13)]],
    +
    1699 const constant size_t* b_strides [[buffer(14)]],
    +
    1700 const constant int& batch_ndims [[buffer(15)]],
    +
    1701 const constant int* batch_shape [[buffer(16)]],
    +
    1702 const device uint32_t* lhs_indices [[buffer(17)]],
    +
    1703 const device uint32_t* rhs_indices [[buffer(18)]],
    +
    1704 const constant size_t* lhs_strides [[buffer(19)]],
    +
    1705 const constant size_t* rhs_strides [[buffer(20)]],
    +
    1706 uint3 tid [[threadgroup_position_in_grid]],
    +
    1707 uint simd_gid [[simdgroup_index_in_threadgroup]],
    +
    1708 uint simd_lid [[thread_index_in_simdgroup]]) {
    + +
    1710 x,
    +
    1711 w,
    +
    1712 scales,
    +
    1713 biases,
    +
    1714 lhs_indices,
    +
    1715 rhs_indices,
    +
    1716 y,
    +
    1717 out_vec_size,
    +
    1718 batch_ndims,
    +
    1719 batch_shape,
    +
    1720 lhs_strides,
    +
    1721 rhs_strides,
    +
    1722 x_batch_ndims,
    +
    1723 x_shape,
    +
    1724 x_strides,
    +
    1725 w_batch_ndims,
    +
    1726 w_shape,
    +
    1727 w_strides,
    +
    1728 s_strides,
    +
    1729 b_strides,
    +
    1730 tid);
    + +
    1732 w,
    +
    1733 scales,
    +
    1734 biases,
    +
    1735 x,
    +
    1736 y,
    +
    1737 in_vec_size,
    +
    1738 out_vec_size,
    +
    1739 tid,
    +
    1740 simd_gid,
    +
    1741 simd_lid);
    +
    1742}
    -
    1741
    -
    1742template <typename T, int group_size, int bits>
    -
    -
    1743[[kernel]] void bs_qmv(
    -
    1744 const device uint32_t* w [[buffer(0)]],
    -
    1745 const device T* scales [[buffer(1)]],
    -
    1746 const device T* biases [[buffer(2)]],
    -
    1747 const device T* x [[buffer(3)]],
    -
    1748 device T* y [[buffer(4)]],
    -
    1749 const constant int& in_vec_size [[buffer(5)]],
    -
    1750 const constant int& out_vec_size [[buffer(6)]],
    -
    1751 const constant int& x_batch_ndims [[buffer(7)]],
    -
    1752 const constant int* x_shape [[buffer(8)]],
    -
    1753 const constant size_t* x_strides [[buffer(9)]],
    -
    1754 const constant int& w_batch_ndims [[buffer(10)]],
    -
    1755 const constant int* w_shape [[buffer(11)]],
    -
    1756 const constant size_t* w_strides [[buffer(12)]],
    -
    1757 const constant size_t* s_strides [[buffer(13)]],
    -
    1758 const constant size_t* b_strides [[buffer(14)]],
    -
    1759 const constant int& batch_ndims [[buffer(15)]],
    -
    1760 const constant int* batch_shape [[buffer(16)]],
    -
    1761 const device uint32_t* lhs_indices [[buffer(17)]],
    -
    1762 const device uint32_t* rhs_indices [[buffer(18)]],
    -
    1763 const constant size_t* lhs_strides [[buffer(19)]],
    -
    1764 const constant size_t* rhs_strides [[buffer(20)]],
    -
    1765 uint3 tid [[threadgroup_position_in_grid]],
    -
    1766 uint simd_gid [[simdgroup_index_in_threadgroup]],
    -
    1767 uint simd_lid [[thread_index_in_simdgroup]]) {
    - -
    1769 x,
    -
    1770 w,
    -
    1771 scales,
    -
    1772 biases,
    -
    1773 lhs_indices,
    -
    1774 rhs_indices,
    -
    1775 y,
    -
    1776 out_vec_size,
    -
    1777 batch_ndims,
    -
    1778 batch_shape,
    -
    1779 lhs_strides,
    -
    1780 rhs_strides,
    -
    1781 x_batch_ndims,
    -
    1782 x_shape,
    -
    1783 x_strides,
    -
    1784 w_batch_ndims,
    -
    1785 w_shape,
    -
    1786 w_strides,
    -
    1787 s_strides,
    -
    1788 b_strides,
    -
    1789 tid);
    - -
    1791 w,
    -
    1792 scales,
    -
    1793 biases,
    -
    1794 x,
    -
    1795 y,
    -
    1796 in_vec_size,
    -
    1797 out_vec_size,
    -
    1798 tid,
    -
    1799 simd_gid,
    -
    1800 simd_lid);
    -
    1801}
    +
    1743
    +
    1744template <typename T, int group_size, int bits>
    +
    +
    1745[[kernel]] void bs_qmv(
    +
    1746 const device uint32_t* w [[buffer(0)]],
    +
    1747 const device T* scales [[buffer(1)]],
    +
    1748 const device T* biases [[buffer(2)]],
    +
    1749 const device T* x [[buffer(3)]],
    +
    1750 device T* y [[buffer(4)]],
    +
    1751 const constant int& in_vec_size [[buffer(5)]],
    +
    1752 const constant int& out_vec_size [[buffer(6)]],
    +
    1753 const constant int& x_batch_ndims [[buffer(7)]],
    +
    1754 const constant int* x_shape [[buffer(8)]],
    +
    1755 const constant size_t* x_strides [[buffer(9)]],
    +
    1756 const constant int& w_batch_ndims [[buffer(10)]],
    +
    1757 const constant int* w_shape [[buffer(11)]],
    +
    1758 const constant size_t* w_strides [[buffer(12)]],
    +
    1759 const constant size_t* s_strides [[buffer(13)]],
    +
    1760 const constant size_t* b_strides [[buffer(14)]],
    +
    1761 const constant int& batch_ndims [[buffer(15)]],
    +
    1762 const constant int* batch_shape [[buffer(16)]],
    +
    1763 const device uint32_t* lhs_indices [[buffer(17)]],
    +
    1764 const device uint32_t* rhs_indices [[buffer(18)]],
    +
    1765 const constant size_t* lhs_strides [[buffer(19)]],
    +
    1766 const constant size_t* rhs_strides [[buffer(20)]],
    +
    1767 uint3 tid [[threadgroup_position_in_grid]],
    +
    1768 uint simd_gid [[simdgroup_index_in_threadgroup]],
    +
    1769 uint simd_lid [[thread_index_in_simdgroup]]) {
    + +
    1771 x,
    +
    1772 w,
    +
    1773 scales,
    +
    1774 biases,
    +
    1775 lhs_indices,
    +
    1776 rhs_indices,
    +
    1777 y,
    +
    1778 out_vec_size,
    +
    1779 batch_ndims,
    +
    1780 batch_shape,
    +
    1781 lhs_strides,
    +
    1782 rhs_strides,
    +
    1783 x_batch_ndims,
    +
    1784 x_shape,
    +
    1785 x_strides,
    +
    1786 w_batch_ndims,
    +
    1787 w_shape,
    +
    1788 w_strides,
    +
    1789 s_strides,
    +
    1790 b_strides,
    +
    1791 tid);
    + +
    1793 w,
    +
    1794 scales,
    +
    1795 biases,
    +
    1796 x,
    +
    1797 y,
    +
    1798 in_vec_size,
    +
    1799 out_vec_size,
    +
    1800 tid,
    +
    1801 simd_gid,
    +
    1802 simd_lid);
    +
    1803}
    -
    1802
    -
    1803template <typename T, int group_size, int bits>
    -
    -
    1804[[kernel]] void bs_qvm(
    -
    1805 const device uint32_t* w [[buffer(0)]],
    -
    1806 const device T* scales [[buffer(1)]],
    -
    1807 const device T* biases [[buffer(2)]],
    -
    1808 const device T* x [[buffer(3)]],
    -
    1809 device T* y [[buffer(4)]],
    -
    1810 const constant int& in_vec_size [[buffer(5)]],
    -
    1811 const constant int& out_vec_size [[buffer(6)]],
    -
    1812 const constant int& x_batch_ndims [[buffer(7)]],
    -
    1813 const constant int* x_shape [[buffer(8)]],
    -
    1814 const constant size_t* x_strides [[buffer(9)]],
    -
    1815 const constant int& w_batch_ndims [[buffer(10)]],
    -
    1816 const constant int* w_shape [[buffer(11)]],
    -
    1817 const constant size_t* w_strides [[buffer(12)]],
    -
    1818 const constant size_t* s_strides [[buffer(13)]],
    -
    1819 const constant size_t* b_strides [[buffer(14)]],
    -
    1820 const constant int& batch_ndims [[buffer(15)]],
    -
    1821 const constant int* batch_shape [[buffer(16)]],
    -
    1822 const device uint32_t* lhs_indices [[buffer(17)]],
    -
    1823 const device uint32_t* rhs_indices [[buffer(18)]],
    -
    1824 const constant size_t* lhs_strides [[buffer(19)]],
    -
    1825 const constant size_t* rhs_strides [[buffer(20)]],
    -
    1826 uint3 tid [[threadgroup_position_in_grid]],
    -
    1827 uint simd_gid [[simdgroup_index_in_threadgroup]],
    -
    1828 uint simd_lid [[thread_index_in_simdgroup]]) {
    - -
    1830 x,
    -
    1831 w,
    -
    1832 scales,
    -
    1833 biases,
    -
    1834 lhs_indices,
    -
    1835 rhs_indices,
    -
    1836 y,
    -
    1837 out_vec_size,
    -
    1838 batch_ndims,
    -
    1839 batch_shape,
    -
    1840 lhs_strides,
    -
    1841 rhs_strides,
    -
    1842 x_batch_ndims,
    -
    1843 x_shape,
    -
    1844 x_strides,
    -
    1845 w_batch_ndims,
    -
    1846 w_shape,
    -
    1847 w_strides,
    -
    1848 s_strides,
    -
    1849 b_strides,
    -
    1850 tid);
    - -
    1852 w,
    -
    1853 scales,
    -
    1854 biases,
    -
    1855 x,
    -
    1856 y,
    -
    1857 in_vec_size,
    -
    1858 out_vec_size,
    -
    1859 tid,
    -
    1860 simd_gid,
    -
    1861 simd_lid);
    -
    1862}
    +
    1804
    +
    1805template <typename T, int group_size, int bits>
    +
    +
    1806[[kernel]] void bs_qvm(
    +
    1807 const device uint32_t* w [[buffer(0)]],
    +
    1808 const device T* scales [[buffer(1)]],
    +
    1809 const device T* biases [[buffer(2)]],
    +
    1810 const device T* x [[buffer(3)]],
    +
    1811 device T* y [[buffer(4)]],
    +
    1812 const constant int& in_vec_size [[buffer(5)]],
    +
    1813 const constant int& out_vec_size [[buffer(6)]],
    +
    1814 const constant int& x_batch_ndims [[buffer(7)]],
    +
    1815 const constant int* x_shape [[buffer(8)]],
    +
    1816 const constant size_t* x_strides [[buffer(9)]],
    +
    1817 const constant int& w_batch_ndims [[buffer(10)]],
    +
    1818 const constant int* w_shape [[buffer(11)]],
    +
    1819 const constant size_t* w_strides [[buffer(12)]],
    +
    1820 const constant size_t* s_strides [[buffer(13)]],
    +
    1821 const constant size_t* b_strides [[buffer(14)]],
    +
    1822 const constant int& batch_ndims [[buffer(15)]],
    +
    1823 const constant int* batch_shape [[buffer(16)]],
    +
    1824 const device uint32_t* lhs_indices [[buffer(17)]],
    +
    1825 const device uint32_t* rhs_indices [[buffer(18)]],
    +
    1826 const constant size_t* lhs_strides [[buffer(19)]],
    +
    1827 const constant size_t* rhs_strides [[buffer(20)]],
    +
    1828 uint3 tid [[threadgroup_position_in_grid]],
    +
    1829 uint simd_gid [[simdgroup_index_in_threadgroup]],
    +
    1830 uint simd_lid [[thread_index_in_simdgroup]]) {
    + +
    1832 x,
    +
    1833 w,
    +
    1834 scales,
    +
    1835 biases,
    +
    1836 lhs_indices,
    +
    1837 rhs_indices,
    +
    1838 y,
    +
    1839 out_vec_size,
    +
    1840 batch_ndims,
    +
    1841 batch_shape,
    +
    1842 lhs_strides,
    +
    1843 rhs_strides,
    +
    1844 x_batch_ndims,
    +
    1845 x_shape,
    +
    1846 x_strides,
    +
    1847 w_batch_ndims,
    +
    1848 w_shape,
    +
    1849 w_strides,
    +
    1850 s_strides,
    +
    1851 b_strides,
    +
    1852 tid);
    + +
    1854 w,
    +
    1855 scales,
    +
    1856 biases,
    +
    1857 x,
    +
    1858 y,
    +
    1859 in_vec_size,
    +
    1860 out_vec_size,
    +
    1861 tid,
    +
    1862 simd_gid,
    +
    1863 simd_lid);
    +
    1864}
    -
    1863
    -
    1864template <
    -
    1865 typename T,
    -
    1866 const int group_size,
    -
    1867 const int bits,
    -
    1868 const bool aligned_N,
    -
    1869 const int BM = 32,
    -
    1870 const int BK = 32,
    -
    1871 const int BN = 32>
    -
    -
    1872[[kernel]] void bs_qmm_t(
    -
    1873 const device uint32_t* w [[buffer(0)]],
    -
    1874 const device T* scales [[buffer(1)]],
    -
    1875 const device T* biases [[buffer(2)]],
    -
    1876 const device T* x [[buffer(3)]],
    -
    1877 device T* y [[buffer(4)]],
    -
    1878 const constant int& K [[buffer(5)]],
    -
    1879 const constant int& N [[buffer(6)]],
    -
    1880 const constant int& M [[buffer(7)]],
    -
    1881 const constant int& x_batch_ndims [[buffer(8)]],
    -
    1882 const constant int* x_shape [[buffer(9)]],
    -
    1883 const constant size_t* x_strides [[buffer(10)]],
    -
    1884 const constant int& w_batch_ndims [[buffer(11)]],
    -
    1885 const constant int* w_shape [[buffer(12)]],
    -
    1886 const constant size_t* w_strides [[buffer(13)]],
    -
    1887 const constant size_t* s_strides [[buffer(14)]],
    -
    1888 const constant size_t* b_strides [[buffer(15)]],
    -
    1889 const constant int& batch_ndims [[buffer(16)]],
    -
    1890 const constant int* batch_shape [[buffer(17)]],
    -
    1891 const device uint32_t* lhs_indices [[buffer(18)]],
    -
    1892 const device uint32_t* rhs_indices [[buffer(19)]],
    -
    1893 const constant size_t* lhs_strides [[buffer(20)]],
    -
    1894 const constant size_t* rhs_strides [[buffer(21)]],
    -
    1895 uint3 tid [[threadgroup_position_in_grid]],
    -
    1896 uint lid [[thread_index_in_threadgroup]],
    -
    1897 uint simd_gid [[simdgroup_index_in_threadgroup]],
    -
    1898 uint simd_lid [[thread_index_in_simdgroup]]) {
    -
    1899 (void)lid;
    -
    1900
    -
    1901 constexpr int BK_padded = (BK + 16 / sizeof(T));
    +
    1865
    +
    1866template <
    +
    1867 typename T,
    +
    1868 const int group_size,
    +
    1869 const int bits,
    +
    1870 const bool aligned_N,
    +
    1871 const int BM = 32,
    +
    1872 const int BK = 32,
    +
    1873 const int BN = 32>
    +
    +
    1874[[kernel]] void bs_qmm_t(
    +
    1875 const device uint32_t* w [[buffer(0)]],
    +
    1876 const device T* scales [[buffer(1)]],
    +
    1877 const device T* biases [[buffer(2)]],
    +
    1878 const device T* x [[buffer(3)]],
    +
    1879 device T* y [[buffer(4)]],
    +
    1880 const constant int& K [[buffer(5)]],
    +
    1881 const constant int& N [[buffer(6)]],
    +
    1882 const constant int& M [[buffer(7)]],
    +
    1883 const constant int& x_batch_ndims [[buffer(8)]],
    +
    1884 const constant int* x_shape [[buffer(9)]],
    +
    1885 const constant size_t* x_strides [[buffer(10)]],
    +
    1886 const constant int& w_batch_ndims [[buffer(11)]],
    +
    1887 const constant int* w_shape [[buffer(12)]],
    +
    1888 const constant size_t* w_strides [[buffer(13)]],
    +
    1889 const constant size_t* s_strides [[buffer(14)]],
    +
    1890 const constant size_t* b_strides [[buffer(15)]],
    +
    1891 const constant int& batch_ndims [[buffer(16)]],
    +
    1892 const constant int* batch_shape [[buffer(17)]],
    +
    1893 const device uint32_t* lhs_indices [[buffer(18)]],
    +
    1894 const device uint32_t* rhs_indices [[buffer(19)]],
    +
    1895 const constant size_t* lhs_strides [[buffer(20)]],
    +
    1896 const constant size_t* rhs_strides [[buffer(21)]],
    +
    1897 uint3 tid [[threadgroup_position_in_grid]],
    +
    1898 uint lid [[thread_index_in_threadgroup]],
    +
    1899 uint simd_gid [[simdgroup_index_in_threadgroup]],
    +
    1900 uint simd_lid [[thread_index_in_simdgroup]]) {
    +
    1901 (void)lid;
    1902
    -
    1903 threadgroup T Xs[BM * BK_padded];
    -
    1904 threadgroup T Ws[BN * BK_padded];
    -
    1905
    - -
    1907 x,
    -
    1908 w,
    -
    1909 scales,
    -
    1910 biases,
    -
    1911 lhs_indices,
    -
    1912 rhs_indices,
    -
    1913 y,
    -
    1914 M * N,
    -
    1915 batch_ndims,
    -
    1916 batch_shape,
    -
    1917 lhs_strides,
    -
    1918 rhs_strides,
    -
    1919 x_batch_ndims,
    -
    1920 x_shape,
    -
    1921 x_strides,
    -
    1922 w_batch_ndims,
    -
    1923 w_shape,
    -
    1924 w_strides,
    -
    1925 s_strides,
    -
    1926 b_strides,
    -
    1927 tid);
    - -
    1929 w, scales, biases, x, y, Xs, Ws, K, N, M, tid, lid, simd_gid, simd_lid);
    -
    1930}
    +
    1903 constexpr int BK_padded = (BK + 16 / sizeof(T));
    +
    1904
    +
    1905 threadgroup T Xs[BM * BK_padded];
    +
    1906 threadgroup T Ws[BN * BK_padded];
    +
    1907
    + +
    1909 x,
    +
    1910 w,
    +
    1911 scales,
    +
    1912 biases,
    +
    1913 lhs_indices,
    +
    1914 rhs_indices,
    +
    1915 y,
    +
    1916 M * N,
    +
    1917 batch_ndims,
    +
    1918 batch_shape,
    +
    1919 lhs_strides,
    +
    1920 rhs_strides,
    +
    1921 x_batch_ndims,
    +
    1922 x_shape,
    +
    1923 x_strides,
    +
    1924 w_batch_ndims,
    +
    1925 w_shape,
    +
    1926 w_strides,
    +
    1927 s_strides,
    +
    1928 b_strides,
    +
    1929 tid);
    + +
    1931 w, scales, biases, x, y, Xs, Ws, K, N, M, tid, lid, simd_gid, simd_lid);
    +
    1932}
    -
    1931
    -
    1932template <
    -
    1933 typename T,
    -
    1934 const int group_size,
    -
    1935 const int bits,
    -
    1936 const int BM = 32,
    -
    1937 const int BK = 32,
    -
    1938 const int BN = 32>
    -
    -
    1939[[kernel]] void bs_qmm_n(
    -
    1940 const device uint32_t* w [[buffer(0)]],
    -
    1941 const device T* scales [[buffer(1)]],
    -
    1942 const device T* biases [[buffer(2)]],
    -
    1943 const device T* x [[buffer(3)]],
    -
    1944 device T* y [[buffer(4)]],
    -
    1945 const constant int& K [[buffer(5)]],
    -
    1946 const constant int& N [[buffer(6)]],
    -
    1947 const constant int& M [[buffer(7)]],
    -
    1948 const constant int& x_batch_ndims [[buffer(8)]],
    -
    1949 const constant int* x_shape [[buffer(9)]],
    -
    1950 const constant size_t* x_strides [[buffer(10)]],
    -
    1951 const constant int& w_batch_ndims [[buffer(11)]],
    -
    1952 const constant int* w_shape [[buffer(12)]],
    -
    1953 const constant size_t* w_strides [[buffer(13)]],
    -
    1954 const constant size_t* s_strides [[buffer(14)]],
    -
    1955 const constant size_t* b_strides [[buffer(15)]],
    -
    1956 const constant int& batch_ndims [[buffer(16)]],
    -
    1957 const constant int* batch_shape [[buffer(17)]],
    -
    1958 const device uint32_t* lhs_indices [[buffer(18)]],
    -
    1959 const device uint32_t* rhs_indices [[buffer(19)]],
    -
    1960 const constant size_t* lhs_strides [[buffer(20)]],
    -
    1961 const constant size_t* rhs_strides [[buffer(21)]],
    -
    1962 uint3 tid [[threadgroup_position_in_grid]],
    -
    1963 uint lid [[thread_index_in_threadgroup]],
    -
    1964 uint simd_gid [[simdgroup_index_in_threadgroup]],
    -
    1965 uint simd_lid [[thread_index_in_simdgroup]]) {
    -
    1966 (void)lid;
    -
    1967
    -
    1968 constexpr int BK_padded = (BK + 16 / sizeof(T));
    -
    1969 constexpr int BN_padded = (BN + 16 / sizeof(T));
    -
    1970
    -
    1971 threadgroup T Xs[BM * BK_padded];
    -
    1972 threadgroup T Ws[BK * BN_padded];
    -
    1973
    - -
    1975 x,
    -
    1976 w,
    -
    1977 scales,
    -
    1978 biases,
    -
    1979 lhs_indices,
    -
    1980 rhs_indices,
    -
    1981 y,
    -
    1982 M * N,
    -
    1983 batch_ndims,
    -
    1984 batch_shape,
    -
    1985 lhs_strides,
    -
    1986 rhs_strides,
    -
    1987 x_batch_ndims,
    -
    1988 x_shape,
    -
    1989 x_strides,
    -
    1990 w_batch_ndims,
    -
    1991 w_shape,
    -
    1992 w_strides,
    -
    1993 s_strides,
    -
    1994 b_strides,
    -
    1995 tid);
    - -
    1997 w, scales, biases, x, y, Xs, Ws, K, N, M, tid, lid, simd_gid, simd_lid);
    -
    1998}
    +
    1933
    +
    1934template <
    +
    1935 typename T,
    +
    1936 const int group_size,
    +
    1937 const int bits,
    +
    1938 const int BM = 32,
    +
    1939 const int BK = 32,
    +
    1940 const int BN = 32>
    +
    +
    1941[[kernel]] void bs_qmm_n(
    +
    1942 const device uint32_t* w [[buffer(0)]],
    +
    1943 const device T* scales [[buffer(1)]],
    +
    1944 const device T* biases [[buffer(2)]],
    +
    1945 const device T* x [[buffer(3)]],
    +
    1946 device T* y [[buffer(4)]],
    +
    1947 const constant int& K [[buffer(5)]],
    +
    1948 const constant int& N [[buffer(6)]],
    +
    1949 const constant int& M [[buffer(7)]],
    +
    1950 const constant int& x_batch_ndims [[buffer(8)]],
    +
    1951 const constant int* x_shape [[buffer(9)]],
    +
    1952 const constant size_t* x_strides [[buffer(10)]],
    +
    1953 const constant int& w_batch_ndims [[buffer(11)]],
    +
    1954 const constant int* w_shape [[buffer(12)]],
    +
    1955 const constant size_t* w_strides [[buffer(13)]],
    +
    1956 const constant size_t* s_strides [[buffer(14)]],
    +
    1957 const constant size_t* b_strides [[buffer(15)]],
    +
    1958 const constant int& batch_ndims [[buffer(16)]],
    +
    1959 const constant int* batch_shape [[buffer(17)]],
    +
    1960 const device uint32_t* lhs_indices [[buffer(18)]],
    +
    1961 const device uint32_t* rhs_indices [[buffer(19)]],
    +
    1962 const constant size_t* lhs_strides [[buffer(20)]],
    +
    1963 const constant size_t* rhs_strides [[buffer(21)]],
    +
    1964 uint3 tid [[threadgroup_position_in_grid]],
    +
    1965 uint lid [[thread_index_in_threadgroup]],
    +
    1966 uint simd_gid [[simdgroup_index_in_threadgroup]],
    +
    1967 uint simd_lid [[thread_index_in_simdgroup]]) {
    +
    1968 (void)lid;
    +
    1969
    +
    1970 constexpr int BK_padded = (BK + 16 / sizeof(T));
    +
    1971 constexpr int BN_padded = (BN + 16 / sizeof(T));
    +
    1972
    +
    1973 threadgroup T Xs[BM * BK_padded];
    +
    1974 threadgroup T Ws[BK * BN_padded];
    +
    1975
    + +
    1977 x,
    +
    1978 w,
    +
    1979 scales,
    +
    1980 biases,
    +
    1981 lhs_indices,
    +
    1982 rhs_indices,
    +
    1983 y,
    +
    1984 M * N,
    +
    1985 batch_ndims,
    +
    1986 batch_shape,
    +
    1987 lhs_strides,
    +
    1988 rhs_strides,
    +
    1989 x_batch_ndims,
    +
    1990 x_shape,
    +
    1991 x_strides,
    +
    1992 w_batch_ndims,
    +
    1993 w_shape,
    +
    1994 w_strides,
    +
    1995 s_strides,
    +
    1996 b_strides,
    +
    1997 tid);
    + +
    1999 w, scales, biases, x, y, Xs, Ws, K, N, M, tid, lid, simd_gid, simd_lid);
    +
    2000}
    -
    1999
    -
    2000template <typename T, const int group_size, const int bits>
    -
    -
    2001[[kernel]] void affine_quantize(
    -
    2002 const device T* w [[buffer(0)]],
    -
    2003 device uint8_t* out [[buffer(1)]],
    -
    2004 device T* scales [[buffer(2)]],
    -
    2005 device T* biases [[buffer(3)]],
    -
    2006 uint2 index [[thread_position_in_grid]],
    -
    2007 uint2 grid_dim [[threads_per_grid]]) {
    -
    2008 constexpr T eps = T(1e-7);
    -
    2009 constexpr int simd_size = 32;
    -
    2010 constexpr T n_bins = (1 << bits) - 1;
    -
    2011 constexpr int packs_per_int = bits == 3 ? 8 : bits == 6 ? 4 : 8 / bits;
    -
    2012 constexpr int values_per_reduce = group_size / simd_size;
    -
    2013 constexpr int writes_per_reduce = packs_per_int / values_per_reduce;
    -
    2014 constexpr int writes_per_pack =
    -
    2015 writes_per_reduce > 1 ? 1 : values_per_reduce / packs_per_int;
    -
    2016 constexpr int power_of_2_bits = (bits & (bits - 1)) == 0;
    -
    2017 constexpr int bytes_per_pack = power_of_2_bits ? 1 : 3;
    -
    2018
    -
    2019 static_assert(
    -
    2020 group_size % simd_size == 0,
    -
    2021 "Group size must be divisible by simd size.");
    -
    2022
    -
    2023 size_t offset = index.x + grid_dim.x * size_t(index.y);
    -
    2024 size_t in_index = offset * values_per_reduce;
    -
    2025 size_t out_index = power_of_2_bits
    -
    2026 ? offset * writes_per_pack
    -
    2027 : offset * bytes_per_pack / writes_per_reduce;
    -
    2028
    -
    2029 T w_thread[values_per_reduce];
    -
    2030 T w_min = Limits<T>::max;
    -
    2031 T w_max = 0;
    -
    2032
    -
    2033#pragma clang loop unroll(full)
    -
    2034 for (int i = 0; i < values_per_reduce; i++) {
    -
    2035 T val = w[in_index + i];
    -
    2036 w_thread[i] = val;
    -
    2037 w_min = min(w_min, val);
    -
    2038 w_max = max(w_max, val);
    -
    2039 }
    -
    2040
    -
    2041 w_min = simd_min(w_min);
    -
    2042 w_max = simd_max(w_max);
    -
    2043
    -
    2044 T scale = max((w_max - w_min) / n_bins, eps);
    -
    2045 bool side = abs(w_min) > abs(w_max);
    -
    2046 scale = side ? scale : -scale;
    -
    2047 T edge = side ? w_min : w_max;
    -
    2048 T q0 = round(edge / scale);
    -
    2049 bool at_zero = q0 == 0.0f;
    -
    2050 scale = at_zero ? scale : edge / q0;
    -
    2051 T bias = at_zero ? T(0) : edge;
    -
    2052
    -
    2053 // Write out the scales and biases
    -
    2054 size_t gindex = in_index / group_size;
    -
    2055 if (in_index % group_size == 0) {
    -
    2056 scales[gindex] = scale;
    -
    2057 biases[gindex] = bias;
    -
    2058 }
    -
    2059
    -
    2060 // We accumulate 3 bytes worth for 3/6 bit so we need a uint32_t
    -
    2061 uint32_t output = 0;
    -
    2062
    -
    2063#pragma clang loop unroll(full)
    -
    2064 for (int i = 0; i < values_per_reduce; i++) {
    -
    2065 uint8_t val = min(round((w_thread[i] - bias) / scale), n_bins);
    -
    2066 if (bits == 8) {
    -
    2067 output = val;
    -
    2068 } else {
    -
    2069 output += val << (bits * (i % packs_per_int));
    -
    2070 }
    -
    2071
    -
    2072 if (packs_per_int < values_per_reduce &&
    -
    2073 i % packs_per_int == packs_per_int - 1) {
    -
    2074 out[out_index + i / packs_per_int] = output;
    -
    2075 output = 0;
    -
    2076 } else {
    -
    2077#pragma clang loop unroll(full)
    -
    2078 for (int j = 1; j < writes_per_reduce; j++) {
    -
    2079 uint8_t sval = simd_shuffle_down(val, j);
    -
    2080 output += sval << (bits * (j * values_per_reduce + i));
    -
    2081 }
    -
    2082 }
    -
    2083 }
    -
    2084 if (bits == 3 || bits == 6) {
    -
    2085 if (in_index % packs_per_int == 0 && out_index % bytes_per_pack == 0) {
    -
    2086 out[out_index] = output & 0xff;
    -
    2087 out[out_index + 1] = (output & 0xff00) >> 8;
    -
    2088 out[out_index + 2] = (output & 0xff0000) >> 16;
    -
    2089 }
    -
    2090 } else {
    -
    2091 if (writes_per_reduce > 0 && out_index % writes_per_reduce == 0) {
    -
    2092 out[out_index / writes_per_reduce] = output;
    -
    2093 }
    -
    2094 }
    -
    2095}
    +
    2001
    +
    2002template <typename T, const int group_size, const int bits>
    +
    +
    2003[[kernel]] void affine_quantize(
    +
    2004 const device T* w [[buffer(0)]],
    +
    2005 device uint8_t* out [[buffer(1)]],
    +
    2006 device T* scales [[buffer(2)]],
    +
    2007 device T* biases [[buffer(3)]],
    +
    2008 uint2 index [[thread_position_in_grid]],
    +
    2009 uint2 grid_dim [[threads_per_grid]]) {
    +
    2010 constexpr T eps = T(1e-7);
    +
    2011 constexpr int simd_size = 32;
    +
    2012 constexpr T n_bins = (1 << bits) - 1;
    +
    2013 constexpr int packs_per_int = bits == 3 ? 8 : bits == 6 ? 4 : 8 / bits;
    +
    2014 constexpr int values_per_reduce = group_size / simd_size;
    +
    2015 constexpr int writes_per_reduce = packs_per_int / values_per_reduce;
    +
    2016 constexpr int writes_per_pack =
    +
    2017 writes_per_reduce > 1 ? 1 : values_per_reduce / packs_per_int;
    +
    2018 constexpr int power_of_2_bits = (bits & (bits - 1)) == 0;
    +
    2019 constexpr int bytes_per_pack = power_of_2_bits ? 1 : 3;
    +
    2020
    +
    2021 static_assert(
    +
    2022 group_size % simd_size == 0,
    +
    2023 "Group size must be divisible by simd size.");
    +
    2024
    +
    2025 size_t offset = index.x + grid_dim.x * size_t(index.y);
    +
    2026 size_t in_index = offset * values_per_reduce;
    +
    2027 size_t out_index = power_of_2_bits
    +
    2028 ? offset * writes_per_pack
    +
    2029 : offset * bytes_per_pack / writes_per_reduce;
    +
    2030
    +
    2031 T w_thread[values_per_reduce];
    +
    2032 T w_min = Limits<T>::max;
    +
    2033 T w_max = 0;
    +
    2034
    +
    2035#pragma clang loop unroll(full)
    +
    2036 for (int i = 0; i < values_per_reduce; i++) {
    +
    2037 T val = w[in_index + i];
    +
    2038 w_thread[i] = val;
    +
    2039 w_min = min(w_min, val);
    +
    2040 w_max = max(w_max, val);
    +
    2041 }
    +
    2042
    +
    2043 w_min = simd_min(w_min);
    +
    2044 w_max = simd_max(w_max);
    +
    2045
    +
    2046 T scale = max((w_max - w_min) / n_bins, eps);
    +
    2047 bool side = abs(w_min) > abs(w_max);
    +
    2048 scale = side ? scale : -scale;
    +
    2049 T edge = side ? w_min : w_max;
    +
    2050 T q0 = round(edge / scale);
    +
    2051 bool at_zero = q0 == 0.0f;
    +
    2052 scale = at_zero ? scale : edge / q0;
    +
    2053 T bias = at_zero ? T(0) : edge;
    +
    2054
    +
    2055 // Write out the scales and biases
    +
    2056 size_t gindex = in_index / group_size;
    +
    2057 if (in_index % group_size == 0) {
    +
    2058 scales[gindex] = scale;
    +
    2059 biases[gindex] = bias;
    +
    2060 }
    +
    2061
    +
    2062 // We accumulate 3 bytes worth for 3/6 bit so we need a uint32_t
    +
    2063 uint32_t output = 0;
    +
    2064
    +
    2065#pragma clang loop unroll(full)
    +
    2066 for (int i = 0; i < values_per_reduce; i++) {
    +
    2067 uint8_t val = min(round((w_thread[i] - bias) / scale), n_bins);
    +
    2068 if (bits == 8) {
    +
    2069 output = val;
    +
    2070 } else {
    +
    2071 output += val << (bits * (i % packs_per_int));
    +
    2072 }
    +
    2073
    +
    2074 if (packs_per_int < values_per_reduce &&
    +
    2075 i % packs_per_int == packs_per_int - 1) {
    +
    2076 out[out_index + i / packs_per_int] = output;
    +
    2077 output = 0;
    +
    2078 } else {
    +
    2079#pragma clang loop unroll(full)
    +
    2080 for (int j = 1; j < writes_per_reduce; j++) {
    +
    2081 uint8_t sval = simd_shuffle_down(val, j);
    +
    2082 output += sval << (bits * (j * values_per_reduce + i));
    +
    2083 }
    +
    2084 }
    +
    2085 }
    +
    2086 if (bits == 3 || bits == 6) {
    +
    2087 if (in_index % packs_per_int == 0 && out_index % bytes_per_pack == 0) {
    +
    2088 out[out_index] = output & 0xff;
    +
    2089 out[out_index + 1] = (output & 0xff00) >> 8;
    +
    2090 out[out_index + 2] = (output & 0xff0000) >> 16;
    +
    2091 }
    +
    2092 } else {
    +
    2093 if (writes_per_reduce > 0 && out_index % writes_per_reduce == 0) {
    +
    2094 out[out_index / writes_per_reduce] = output;
    +
    2095 }
    +
    2096 }
    +
    2097}
    -
    2096
    -
    2097template <typename T, const int group_size, const int bits>
    -
    -
    2098[[kernel]] void affine_dequantize(
    -
    2099 const device uint8_t* w [[buffer(0)]],
    -
    2100 const device T* scales [[buffer(1)]],
    -
    2101 const device T* biases [[buffer(2)]],
    -
    2102 device T* out [[buffer(3)]],
    -
    2103 uint2 index [[thread_position_in_grid]],
    -
    2104 uint2 grid_dim [[threads_per_grid]]) {
    -
    2105 constexpr int packs_per_int = bits == 3 ? 8 : bits == 6 ? 4 : 8 / bits;
    -
    2106 constexpr int power_of_2_bits = (bits & (bits - 1)) == 0;
    -
    2107 constexpr int bytes_per_pack = power_of_2_bits ? 1 : 3;
    -
    2108
    -
    2109 size_t offset = index.x + grid_dim.x * size_t(index.y);
    -
    2110 size_t oindex = offset * packs_per_int;
    -
    2111 size_t gindex = oindex / group_size;
    -
    2112 T scale = scales[gindex];
    -
    2113 T bias = biases[gindex];
    -
    2114
    -
    2115 out += oindex;
    +
    2098
    +
    2099template <typename T, const int group_size, const int bits>
    +
    +
    2100[[kernel]] void affine_dequantize(
    +
    2101 const device uint8_t* w [[buffer(0)]],
    +
    2102 const device T* scales [[buffer(1)]],
    +
    2103 const device T* biases [[buffer(2)]],
    +
    2104 device T* out [[buffer(3)]],
    +
    2105 uint2 index [[thread_position_in_grid]],
    +
    2106 uint2 grid_dim [[threads_per_grid]]) {
    +
    2107 constexpr int packs_per_int = bits == 3 ? 8 : bits == 6 ? 4 : 8 / bits;
    +
    2108 constexpr int power_of_2_bits = (bits & (bits - 1)) == 0;
    +
    2109 constexpr int bytes_per_pack = power_of_2_bits ? 1 : 3;
    +
    2110
    +
    2111 size_t offset = index.x + grid_dim.x * size_t(index.y);
    +
    2112 size_t oindex = offset * packs_per_int;
    +
    2113 size_t gindex = oindex / group_size;
    +
    2114 T scale = scales[gindex];
    +
    2115 T bias = biases[gindex];
    2116
    -
    2117 if (bits == 3) {
    -
    2118 w += offset * bytes_per_pack;
    -
    2119 out[0] = (w[0] & 0x7) * scale + bias;
    -
    2120 out[1] = ((w[0] & 0x38) >> 3) * scale + bias;
    -
    2121 out[2] = (((w[0] & 0xc0) >> 6) + ((w[1] & 0x1) << 2)) * scale + bias;
    -
    2122 out[3] = ((w[1] & 0xe) >> 1) * scale + bias;
    -
    2123 out[4] = ((w[1] & 0x70) >> 4) * scale + bias;
    -
    2124 out[5] = (((w[1] & 0x80) >> 7) + ((w[2] & 0x3) << 1)) * scale + bias;
    -
    2125 out[6] = ((w[2] & 0x1c) >> 2) * scale + bias;
    -
    2126 out[7] = ((w[2] & 0xe0) >> 5) * scale + bias;
    -
    2127
    -
    2128 } else if (bits == 6) {
    -
    2129 w += offset * bytes_per_pack;
    -
    2130 out[0] = (w[0] & 0x3f) * scale + bias;
    -
    2131 out[1] = (((w[0] >> 6) & 0x03) + ((w[1] & 0x0f) << 2)) * scale + bias;
    -
    2132 out[2] = (((w[1] >> 4) & 0x0f) + ((w[2] & 0x03) << 4)) * scale + bias;
    -
    2133 out[3] = ((w[2] >> 2) & 0x3f) * scale + bias;
    -
    2134 } else {
    -
    2135 uint val = w[offset];
    -
    2136#pragma clang loop unroll(full)
    -
    2137 for (int i = 0; i < packs_per_int; i++) {
    -
    2138 uint8_t d;
    -
    2139 if (bits == 2) {
    -
    2140 d = (val >> (bits * i)) & 0x03;
    -
    2141 } else if (bits == 4) {
    -
    2142 d = (val >> (bits * i)) & 0x0f;
    -
    2143 } else if (bits == 8) {
    -
    2144 d = val;
    -
    2145 }
    -
    2146 out[i] = scale * d + bias;
    -
    2147 }
    -
    2148 }
    -
    2149}
    +
    2117 out += oindex;
    +
    2118
    +
    2119 if (bits == 3) {
    +
    2120 w += offset * bytes_per_pack;
    +
    2121 out[0] = (w[0] & 0x7) * scale + bias;
    +
    2122 out[1] = ((w[0] & 0x38) >> 3) * scale + bias;
    +
    2123 out[2] = (((w[0] & 0xc0) >> 6) + ((w[1] & 0x1) << 2)) * scale + bias;
    +
    2124 out[3] = ((w[1] & 0xe) >> 1) * scale + bias;
    +
    2125 out[4] = ((w[1] & 0x70) >> 4) * scale + bias;
    +
    2126 out[5] = (((w[1] & 0x80) >> 7) + ((w[2] & 0x3) << 1)) * scale + bias;
    +
    2127 out[6] = ((w[2] & 0x1c) >> 2) * scale + bias;
    +
    2128 out[7] = ((w[2] & 0xe0) >> 5) * scale + bias;
    +
    2129
    +
    2130 } else if (bits == 6) {
    +
    2131 w += offset * bytes_per_pack;
    +
    2132 out[0] = (w[0] & 0x3f) * scale + bias;
    +
    2133 out[1] = (((w[0] >> 6) & 0x03) + ((w[1] & 0x0f) << 2)) * scale + bias;
    +
    2134 out[2] = (((w[1] >> 4) & 0x0f) + ((w[2] & 0x03) << 4)) * scale + bias;
    +
    2135 out[3] = ((w[2] >> 2) & 0x3f) * scale + bias;
    +
    2136 } else {
    +
    2137 uint val = w[offset];
    +
    2138#pragma clang loop unroll(full)
    +
    2139 for (int i = 0; i < packs_per_int; i++) {
    +
    2140 uint8_t d;
    +
    2141 if (bits == 2) {
    +
    2142 d = (val >> (bits * i)) & 0x03;
    +
    2143 } else if (bits == 4) {
    +
    2144 d = (val >> (bits * i)) & 0x0f;
    +
    2145 } else if (bits == 8) {
    +
    2146 d = val;
    +
    2147 }
    +
    2148 out[i] = scale * d + bias;
    +
    2149 }
    +
    2150 }
    +
    2151}
    static constant constexpr const uint8_t simd_size
    Definition ops.h:22
    METAL_FUNC ulong2 elem_to_loc_broadcast(uint elem, constant const int *shape, constant const size_t *a_strides, constant const size_t *b_strides, int ndim)
    Definition utils.h:7
    @@ -2321,34 +2323,35 @@ $(function(){ initResizable(false); });
    array bits(const std::vector< int > &shape, int width, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})
    Generate an array with type uint32 filled with random bits.
    #define MLX_MTL_CONST
    Definition quantized.h:8
    U qdot_safe(const device uint8_t *w, const thread U *x_thread, U scale, U bias, U sum, int N)
    Definition quantized.h:225
    -
    METAL_FUNC void qmm_n_impl(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, threadgroup T *Xs, threadgroup T *Ws, const constant int &K, const constant int &N, const constant int &M, uint3 tid, uint lid, uint simd_gid, uint simd_lid)
    Definition quantized.h:1081
    +
    METAL_FUNC void qmm_n_impl(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, threadgroup T *Xs, threadgroup T *Ws, const constant int &K, const constant int &N, const constant int &M, uint3 tid, uint lid, uint simd_gid, uint simd_lid)
    Definition quantized.h:1083
    METAL_FUNC void qvm_impl(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, const int in_vec_size, const int out_vec_size, uint3 tid, uint simd_gid, uint simd_lid)
    Definition quantized.h:843
    -
    void bs_qmm_n(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, const constant int &K, const constant int &N, const constant int &M, const constant int &x_batch_ndims, const constant int *x_shape, const constant size_t *x_strides, const constant int &w_batch_ndims, const constant int *w_shape, const constant size_t *w_strides, const constant size_t *s_strides, const constant size_t *b_strides, const constant int &batch_ndims, const constant int *batch_shape, const device uint32_t *lhs_indices, const device uint32_t *rhs_indices, const constant size_t *lhs_strides, const constant size_t *rhs_strides, uint3 tid, uint lid, uint simd_gid, uint simd_lid)
    Definition quantized.h:1939
    -
    void qmm_n(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, const constant int &K, const constant int &N, const constant int &M, const constant int &x_batch_ndims, const constant int *x_shape, const constant size_t *x_strides, const constant int &w_batch_ndims, const constant int *w_shape, const constant size_t *w_strides, const constant size_t *s_strides, const constant size_t *b_strides, uint3 tid, uint lid, uint simd_gid, uint simd_lid)
    Definition quantized.h:1629
    -
    void affine_quantize(const device T *w, device uint8_t *out, device T *scales, device T *biases, uint2 index, uint2 grid_dim)
    Definition quantized.h:2001
    -
    void bs_qmv_fast(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, const constant int &in_vec_size, const constant int &out_vec_size, const constant int &x_batch_ndims, const constant int *x_shape, const constant size_t *x_strides, const constant int &w_batch_ndims, const constant int *w_shape, const constant size_t *w_strides, const constant size_t *s_strides, const constant size_t *b_strides, const constant int &batch_ndims, const constant int *batch_shape, const device uint32_t *lhs_indices, const device uint32_t *rhs_indices, const constant size_t *lhs_strides, const constant size_t *rhs_strides, uint3 tid, uint simd_gid, uint simd_lid)
    Definition quantized.h:1682
    -
    void affine_dequantize(const device uint8_t *w, const device T *scales, const device T *biases, device T *out, uint2 index, uint2 grid_dim)
    Definition quantized.h:2098
    +
    void bs_qmm_n(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, const constant int &K, const constant int &N, const constant int &M, const constant int &x_batch_ndims, const constant int *x_shape, const constant size_t *x_strides, const constant int &w_batch_ndims, const constant int *w_shape, const constant size_t *w_strides, const constant size_t *s_strides, const constant size_t *b_strides, const constant int &batch_ndims, const constant int *batch_shape, const device uint32_t *lhs_indices, const device uint32_t *rhs_indices, const constant size_t *lhs_strides, const constant size_t *rhs_strides, uint3 tid, uint lid, uint simd_gid, uint simd_lid)
    Definition quantized.h:1941
    +
    void qmm_n(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, const constant int &K, const constant int &N, const constant int &M, const constant int &x_batch_ndims, const constant int *x_shape, const constant size_t *x_strides, const constant int &w_batch_ndims, const constant int *w_shape, const constant size_t *w_strides, const constant size_t *s_strides, const constant size_t *b_strides, uint3 tid, uint lid, uint simd_gid, uint simd_lid)
    Definition quantized.h:1631
    +
    void affine_quantize(const device T *w, device uint8_t *out, device T *scales, device T *biases, uint2 index, uint2 grid_dim)
    Definition quantized.h:2003
    +
    void bs_qmv_fast(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, const constant int &in_vec_size, const constant int &out_vec_size, const constant int &x_batch_ndims, const constant int *x_shape, const constant size_t *x_strides, const constant int &w_batch_ndims, const constant int *w_shape, const constant size_t *w_strides, const constant size_t *s_strides, const constant size_t *b_strides, const constant int &batch_ndims, const constant int *batch_shape, const device uint32_t *lhs_indices, const device uint32_t *rhs_indices, const constant size_t *lhs_strides, const constant size_t *rhs_strides, uint3 tid, uint simd_gid, uint simd_lid)
    Definition quantized.h:1684
    +
    void affine_dequantize(const device uint8_t *w, const device T *scales, const device T *biases, device T *out, uint2 index, uint2 grid_dim)
    Definition quantized.h:2100
    static constant constexpr const int SIMD_SIZE
    Definition quantized.h:10
    -
    void qmv(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, const constant int &in_vec_size, const constant int &out_vec_size, const constant int &x_batch_ndims, const constant int *x_shape, const constant size_t *x_strides, const constant int &w_batch_ndims, const constant int *w_shape, const constant size_t *w_strides, const constant size_t *s_strides, const constant size_t *b_strides, uint3 tid, uint simd_gid, uint simd_lid)
    Definition quantized.h:1406
    -
    void bs_qvm(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, const constant int &in_vec_size, const constant int &out_vec_size, const constant int &x_batch_ndims, const constant int *x_shape, const constant size_t *x_strides, const constant int &w_batch_ndims, const constant int *w_shape, const constant size_t *w_strides, const constant size_t *s_strides, const constant size_t *b_strides, const constant int &batch_ndims, const constant int *batch_shape, const device uint32_t *lhs_indices, const device uint32_t *rhs_indices, const constant size_t *lhs_strides, const constant size_t *rhs_strides, uint3 tid, uint simd_gid, uint simd_lid)
    Definition quantized.h:1804
    -
    void qmv_fast(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, const constant int &in_vec_size, const constant int &out_vec_size, const constant int &x_batch_ndims, const constant int *x_shape, const constant size_t *x_strides, const constant int &w_batch_ndims, const constant int *w_shape, const constant size_t *w_strides, const constant size_t *s_strides, const constant size_t *b_strides, uint3 tid, uint simd_gid, uint simd_lid)
    Definition quantized.h:1355
    -
    void qmv_quad(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, const constant int &in_vec_size, const constant int &out_vec_size, const constant int &x_batch_ndims, const constant int *x_shape, const constant size_t *x_strides, const constant int &w_batch_ndims, const constant int *w_shape, const constant size_t *w_strides, const constant size_t *s_strides, const constant size_t *b_strides, uint3 tid, uint quad_gid, uint quad_lid)
    Definition quantized.h:1304
    +
    void qmv(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, const constant int &in_vec_size, const constant int &out_vec_size, const constant int &x_batch_ndims, const constant int *x_shape, const constant size_t *x_strides, const constant int &w_batch_ndims, const constant int *w_shape, const constant size_t *w_strides, const constant size_t *s_strides, const constant size_t *b_strides, uint3 tid, uint simd_gid, uint simd_lid)
    Definition quantized.h:1408
    +
    void bs_qvm(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, const constant int &in_vec_size, const constant int &out_vec_size, const constant int &x_batch_ndims, const constant int *x_shape, const constant size_t *x_strides, const constant int &w_batch_ndims, const constant int *w_shape, const constant size_t *w_strides, const constant size_t *s_strides, const constant size_t *b_strides, const constant int &batch_ndims, const constant int *batch_shape, const device uint32_t *lhs_indices, const device uint32_t *rhs_indices, const constant size_t *lhs_strides, const constant size_t *rhs_strides, uint3 tid, uint simd_gid, uint simd_lid)
    Definition quantized.h:1806
    +
    void qmv_fast(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, const constant int &in_vec_size, const constant int &out_vec_size, const constant int &x_batch_ndims, const constant int *x_shape, const constant size_t *x_strides, const constant int &w_batch_ndims, const constant int *w_shape, const constant size_t *w_strides, const constant size_t *s_strides, const constant size_t *b_strides, uint3 tid, uint simd_gid, uint simd_lid)
    Definition quantized.h:1357
    +
    void qmv_quad(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, const constant int &in_vec_size, const constant int &out_vec_size, const constant int &x_batch_ndims, const constant int *x_shape, const constant size_t *x_strides, const constant int &w_batch_ndims, const constant int *w_shape, const constant size_t *w_strides, const constant size_t *s_strides, const constant size_t *b_strides, uint3 tid, uint quad_gid, uint quad_lid)
    Definition quantized.h:1306
    static constant constexpr const int QUAD_SIZE
    Definition quantized.h:11
    U load_vector(const device T *x, thread U *x_thread)
    Definition quantized.h:14
    METAL_FUNC void qmv_impl(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, const constant int &in_vec_size, const constant int &out_vec_size, uint3 tid, uint simd_gid, uint simd_lid)
    Definition quantized.h:688
    U load_vector_safe(const device T *x, thread U *x_thread, int N)
    Definition quantized.h:77
    -
    void bs_qmm_t(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, const constant int &K, const constant int &N, const constant int &M, const constant int &x_batch_ndims, const constant int *x_shape, const constant size_t *x_strides, const constant int &w_batch_ndims, const constant int *w_shape, const constant size_t *w_strides, const constant size_t *s_strides, const constant size_t *b_strides, const constant int &batch_ndims, const constant int *batch_shape, const device uint32_t *lhs_indices, const device uint32_t *rhs_indices, const constant size_t *lhs_strides, const constant size_t *rhs_strides, uint3 tid, uint lid, uint simd_gid, uint simd_lid)
    Definition quantized.h:1872
    +
    void bs_qmm_t(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, const constant int &K, const constant int &N, const constant int &M, const constant int &x_batch_ndims, const constant int *x_shape, const constant size_t *x_strides, const constant int &w_batch_ndims, const constant int *w_shape, const constant size_t *w_strides, const constant size_t *s_strides, const constant size_t *b_strides, const constant int &batch_ndims, const constant int *batch_shape, const device uint32_t *lhs_indices, const device uint32_t *rhs_indices, const constant size_t *lhs_strides, const constant size_t *rhs_strides, uint3 tid, uint lid, uint simd_gid, uint simd_lid)
    Definition quantized.h:1874
    U qdot(const device uint8_t *w, const thread U *x_thread, U scale, U bias, U sum)
    Definition quantized.h:145
    -
    void qvm_split_k(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, const constant int &in_vec_size, const constant int &out_vec_size, const constant int &x_batch_ndims, const constant int *x_shape, const constant size_t *x_strides, const constant int &w_batch_ndims, const constant int *w_shape, const constant size_t *w_strides, const constant size_t *s_strides, const constant size_t *b_strides, const constant int &final_block_size, uint3 tid, uint simd_gid, uint simd_lid)
    Definition quantized.h:1508
    +
    void qvm_split_k(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, const constant int &in_vec_size, const constant int &out_vec_size, const constant int &x_batch_ndims, const constant int *x_shape, const constant size_t *x_strides, const constant int &w_batch_ndims, const constant int *w_shape, const constant size_t *w_strides, const constant size_t *s_strides, const constant size_t *b_strides, const constant int &final_block_size, uint3 tid, uint simd_gid, uint simd_lid)
    Definition quantized.h:1510
    METAL_FUNC void qmv_fast_impl(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, const constant int &in_vec_size, const constant int &out_vec_size, uint3 tid, uint simd_gid, uint simd_lid)
    Definition quantized.h:620
    -
    void qmm_t(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, const constant int &K, const constant int &N, const constant int &M, const constant int &x_batch_ndims, const constant int *x_shape, const constant size_t *x_strides, const constant int &w_batch_ndims, const constant int *w_shape, const constant size_t *w_strides, const constant size_t *s_strides, const constant size_t *b_strides, uint3 tid, uint lid, uint simd_gid, uint simd_lid)
    Definition quantized.h:1571
    -
    METAL_FUNC void adjust_matrix_offsets(const device T *&x, const device uint32_t *&w, const device T *&scales, const device T *&biases, device T *&y, int output_stride, const constant int &x_batch_ndims, const constant int *x_shape, const constant size_t *x_strides, const constant int &w_batch_ndims, const constant int *w_shape, const constant size_t *w_strides, const constant size_t *s_strides, const constant size_t *b_strides, uint3 tid)
    Definition quantized.h:1211
    -
    void bs_qmv(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, const constant int &in_vec_size, const constant int &out_vec_size, const constant int &x_batch_ndims, const constant int *x_shape, const constant size_t *x_strides, const constant int &w_batch_ndims, const constant int *w_shape, const constant size_t *w_strides, const constant size_t *s_strides, const constant size_t *b_strides, const constant int &batch_ndims, const constant int *batch_shape, const device uint32_t *lhs_indices, const device uint32_t *rhs_indices, const constant size_t *lhs_strides, const constant size_t *rhs_strides, uint3 tid, uint simd_gid, uint simd_lid)
    Definition quantized.h:1743
    +
    void qmm_t(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, const constant int &K, const constant int &N, const constant int &M, const constant int &x_batch_ndims, const constant int *x_shape, const constant size_t *x_strides, const constant int &w_batch_ndims, const constant int *w_shape, const constant size_t *w_strides, const constant size_t *s_strides, const constant size_t *b_strides, uint3 tid, uint lid, uint simd_gid, uint simd_lid)
    Definition quantized.h:1573
    +
    METAL_FUNC void adjust_matrix_offsets(const device T *&x, const device uint32_t *&w, const device T *&scales, const device T *&biases, device T *&y, int output_stride, const constant int &x_batch_ndims, const constant int *x_shape, const constant size_t *x_strides, const constant int &w_batch_ndims, const constant int *w_shape, const constant size_t *w_strides, const constant size_t *s_strides, const constant size_t *b_strides, uint3 tid)
    Definition quantized.h:1213
    +
    void bs_qmv(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, const constant int &in_vec_size, const constant int &out_vec_size, const constant int &x_batch_ndims, const constant int *x_shape, const constant size_t *x_strides, const constant int &w_batch_ndims, const constant int *w_shape, const constant size_t *w_strides, const constant size_t *s_strides, const constant size_t *b_strides, const constant int &batch_ndims, const constant int *batch_shape, const device uint32_t *lhs_indices, const device uint32_t *rhs_indices, const constant size_t *lhs_strides, const constant size_t *rhs_strides, uint3 tid, uint simd_gid, uint simd_lid)
    Definition quantized.h:1745
    METAL_FUNC void qmv_quad_impl(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, constant int &in_vec_size, const constant int &out_vec_size, uint3 tid, uint quad_gid, uint quad_lid)
    Definition quantized.h:563
    -
    void qvm(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, const constant int &in_vec_size, const constant int &out_vec_size, const constant int &x_batch_ndims, const constant int *x_shape, const constant size_t *x_strides, const constant int &w_batch_ndims, const constant int *w_shape, const constant size_t *w_strides, const constant size_t *s_strides, const constant size_t *b_strides, uint3 tid, uint simd_gid, uint simd_lid)
    Definition quantized.h:1457
    +
    void qvm(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, const constant int &in_vec_size, const constant int &out_vec_size, const constant int &x_batch_ndims, const constant int *x_shape, const constant size_t *x_strides, const constant int &w_batch_ndims, const constant int *w_shape, const constant size_t *w_strides, const constant size_t *s_strides, const constant size_t *b_strides, uint3 tid, uint simd_gid, uint simd_lid)
    Definition quantized.h:1459
    void qouter(const thread uint8_t *w, U x, U scale, U bias, thread U *result)
    Definition quantized.h:307
    void dequantize(const device uint8_t *w, U scale, U bias, threadgroup U *w_local)
    Definition quantized.h:372
    -
    METAL_FUNC void qmm_t_impl(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, threadgroup T *Xs, threadgroup T *Ws, const constant int &K, const constant int &N, const constant int &M, uint3 tid, uint lid, uint simd_gid, uint simd_lid)
    Definition quantized.h:956
    +
    METAL_FUNC void qmm_t_impl(const device uint32_t *w, const device T *scales, const device T *biases, const device T *x, device T *y, threadgroup T *Xs, threadgroup T *Ws, const constant int &K, const constant int &N, const constant int &M, uint3 tid, uint lid, uint simd_gid, uint simd_lid)
    Definition quantized.h:958
    +
    U type
    Definition utils.h:428
    Definition utils.h:23
    Definition quantized.h:443
    const int group_stride
    Definition quantized.h:464
    diff --git a/docs/build/html/random_8h_source.html b/docs/build/html/random_8h_source.html index fb8d0fb98..33fde0a57 100644 --- a/docs/build/html/random_8h_source.html +++ b/docs/build/html/random_8h_source.html @@ -378,7 +378,7 @@ $(function(){ initResizable(false); });
    269
    270} // namespace mlx::core::random
    -
    Definition array.h:20
    +
    Definition array.h:23
    Definition random.h:14
    diff --git a/docs/build/html/search.html b/docs/build/html/search.html index d1f29637b..74f0e459b 100644 --- a/docs/build/html/search.html +++ b/docs/build/html/search.html @@ -6,7 +6,7 @@ - Search - MLX 0.21.0 documentation + Search - MLX 0.21.1 documentation @@ -37,7 +37,7 @@ - + @@ -50,7 +50,7 @@ - + @@ -131,8 +131,8 @@ - MLX 0.21.0 documentation - Home - MLX 0.21.0 documentation - Home + MLX 0.21.1 documentation - Home + MLX 0.21.1 documentation - Home
    diff --git a/docs/build/html/search/all_1.js b/docs/build/html/search/all_1.js index 0b76d81d5..ac92619f1 100644 --- a/docs/build/html/search/all_1.js +++ b/docs/build/html/search/all_1.js @@ -88,16 +88,16 @@ var searchData= ['arr_3c_20pocketfft_3a_3adetail_3a_3acmplx_3c_20thigh_20_3e_20_3e_85',['arr< pocketfft::detail::cmplx< Thigh > >',['../classpocketfft_1_1detail_1_1arr.html',1,'pocketfft::detail']]], ['arr_3c_20t0_20_3e_86',['arr< T0 >',['../classpocketfft_1_1detail_1_1arr.html',1,'pocketfft::detail']]], ['arr_5finfo_87',['arr_info',['../classpocketfft_1_1detail_1_1arr__info.html',1,'pocketfft::detail::arr_info'],['../classpocketfft_1_1detail_1_1arr__info.html#a0dbddb7d86ca306159fc9ef9a453b21e',1,'pocketfft::detail::arr_info::arr_info()']]], - ['array_88',['array',['../classmlx_1_1core_1_1array.html',1,'mlx::core::array'],['../classmlx_1_1core_1_1array.html#a75fac72da3ce214fa3737df92a64b232',1,'mlx::core::array::array(T val, Dtype dtype=TypeToDtype< T >())'],['../classmlx_1_1core_1_1array.html#a6db4b8c28c767cc16ad2785ece496dca',1,'mlx::core::array::array(const std::complex< float > &val, Dtype dtype=complex64)'],['../classmlx_1_1core_1_1array.html#a3e506a53b9c7567448f7809dda680210',1,'mlx::core::array::array(It data, std::vector< int > shape, Dtype dtype=TypeToDtype< typename std::iterator_traits< It >::value_type >())'],['../classmlx_1_1core_1_1array.html#a87f170384f4fb93decf2b80ae7280f00',1,'mlx::core::array::array(std::initializer_list< T > data, Dtype dtype=TypeToDtype< T >())'],['../classmlx_1_1core_1_1array.html#a46642301da11e3eb4312c37349fbc9d7',1,'mlx::core::array::array(std::initializer_list< float > data)'],['../classmlx_1_1core_1_1array.html#a5e1812029394bfb1a706c83611286f49',1,'mlx::core::array::array(std::initializer_list< int > data, Dtype dtype)'],['../classmlx_1_1core_1_1array.html#a44e57a41819321e0d796e08cb9a06e4b',1,'mlx::core::array::array(std::initializer_list< T > data, std::vector< int > shape, Dtype dtype=TypeToDtype< T >())'],['../classmlx_1_1core_1_1array.html#a5b5f562ff14c150842cb61628e531663',1,'mlx::core::array::array(allocator::Buffer data, std::vector< int > shape, Dtype dtype, deleter_t deleter=allocator::free)'],['../classmlx_1_1core_1_1array.html#a297df274e2da5cb884257bbeffd6b187',1,'mlx::core::array::array(const array &other)=default'],['../classmlx_1_1core_1_1array.html#ab6cbccbba66cc54acda4390b19f0397c',1,'mlx::core::array::array(array &&other)=default'],['../classmlx_1_1core_1_1array.html#adaade8f4bb7f8ecc0ba07efb17cd2620',1,'mlx::core::array::array(std::vector< int > shape, Dtype dtype, std::shared_ptr< Primitive > primitive, std::vector< array > inputs)']]], + ['array_88',['array',['../classmlx_1_1core_1_1array.html',1,'mlx::core::array'],['../classmlx_1_1core_1_1array.html#a75fac72da3ce214fa3737df92a64b232',1,'mlx::core::array::array(T val, Dtype dtype=TypeToDtype< T >())'],['../classmlx_1_1core_1_1array.html#a6db4b8c28c767cc16ad2785ece496dca',1,'mlx::core::array::array(const std::complex< float > &val, Dtype dtype=complex64)'],['../classmlx_1_1core_1_1array.html#abcc030a1c2434ec75ad9425751bffdc7',1,'mlx::core::array::array(It data, Shape shape, Dtype dtype=TypeToDtype< typename std::iterator_traits< It >::value_type >())'],['../classmlx_1_1core_1_1array.html#a87f170384f4fb93decf2b80ae7280f00',1,'mlx::core::array::array(std::initializer_list< T > data, Dtype dtype=TypeToDtype< T >())'],['../classmlx_1_1core_1_1array.html#a46642301da11e3eb4312c37349fbc9d7',1,'mlx::core::array::array(std::initializer_list< float > data)'],['../classmlx_1_1core_1_1array.html#a5e1812029394bfb1a706c83611286f49',1,'mlx::core::array::array(std::initializer_list< int > data, Dtype dtype)'],['../classmlx_1_1core_1_1array.html#a89a7b0c02366ca456232d347ebb11507',1,'mlx::core::array::array(std::initializer_list< T > data, Shape shape, Dtype dtype=TypeToDtype< T >())'],['../classmlx_1_1core_1_1array.html#a485399a6680a370cabb08470306b63d4',1,'mlx::core::array::array(allocator::Buffer data, Shape shape, Dtype dtype, Deleter deleter=allocator::free)'],['../classmlx_1_1core_1_1array.html#a297df274e2da5cb884257bbeffd6b187',1,'mlx::core::array::array(const array &other)=default'],['../classmlx_1_1core_1_1array.html#ab6cbccbba66cc54acda4390b19f0397c',1,'mlx::core::array::array(array &&other)=default'],['../classmlx_1_1core_1_1array.html#abc26528271076510822e374d1668a94b',1,'mlx::core::array::array(Shape shape, Dtype dtype, std::shared_ptr< Primitive > primitive, std::vector< array > inputs)']]], ['array_20operations_89',['Core array operations',['../group__ops.html',1,'']]], ['array_2eh_90',['array.h',['../array_8h.html',1,'']]], ['array_5fequal_91',['array_equal',['../group__ops.html#ga8f3059336ee0c87207b1f8c6ab312645',1,'mlx::core::array_equal(const array &a, const array &b, bool equal_nan, StreamOrDevice s={})'],['../group__ops.html#gaf79cf0271ca0105d7b14295a90d0ed14',1,'mlx::core::array_equal(const array &a, const array &b, StreamOrDevice s={})']]], ['arrayiterator_92',['ArrayIterator',['../structmlx_1_1core_1_1array_1_1_array_iterator.html',1,'mlx::core::array::ArrayIterator'],['../structmlx_1_1core_1_1array_1_1_array_iterator.html#ad3afcb24c6db7642bbc06835f7f3e27a',1,'mlx::core::array::ArrayIterator::ArrayIterator()']]], ['as_5foffset_93',['As_offset',['../structmlx_1_1steel_1_1_block_m_m_a.html#a138ed1bbad2ca88d3a3c7d162cd36562',1,'mlx::steel::BlockMMA']]], - ['as_5fstrided_94',['as_strided',['../group__ops.html#ga8de80ecef30fc560003d40f61a38b99d',1,'mlx::core']]], + ['as_5fstrided_94',['as_strided',['../group__ops.html#ga6085b03f2662ef2a61de523fd609f3bf',1,'mlx::core']]], ['asin_95',['asin',['../namespacemetal.html#a16e843194df3fd136404bf80ba5ac95c',1,'metal::asin()'],['../namespacemetal_1_1fast.html#a769455a283da99654b6e42c3acf13eb1',1,'metal::fast::asin()'],['../namespacemetal_1_1precise.html#adc7b8b6e12e320cb32030f728dcbf438',1,'metal::precise::asin()']]], ['asinh_96',['asinh',['../namespacemetal.html#abcc3251866930cfe880f89e7473d0e63',1,'metal::asinh()'],['../namespacemetal_1_1fast.html#a4367034b7b3e14310803bb2be975a556',1,'metal::fast::asinh()'],['../namespacemetal_1_1precise.html#aaad1cdde6687c8011fbc5fda1bb13424',1,'metal::precise::asinh()']]], - ['asstrided_97',['AsStrided',['../classmlx_1_1core_1_1_as_strided.html',1,'mlx::core::AsStrided'],['../classmlx_1_1core_1_1_as_strided.html#a80c0547f72ed53374eafc57d57b5d4af',1,'mlx::core::AsStrided::AsStrided()']]], + ['asstrided_97',['AsStrided',['../classmlx_1_1core_1_1_as_strided.html',1,'mlx::core::AsStrided'],['../classmlx_1_1core_1_1_as_strided.html#aee21aadc21343fd15aacb8f2f8ac3761',1,'mlx::core::AsStrided::AsStrided()']]], ['astype_98',['AsType',['../classmlx_1_1core_1_1_as_type.html',1,'mlx::core::AsType'],['../classmlx_1_1core_1_1_as_type.html#a8c3241d402a8977bb4db037e225f5b47',1,'mlx::core::AsType::AsType()']]], ['astype_99',['astype',['../group__ops.html#ga0e58c24fc5668e5a521e5b45e8370a62',1,'mlx::core']]], ['async_5feval_100',['async_eval',['../namespacemlx_1_1core.html#a15dda19aa7fa1fc5fca35df5cf963297',1,'mlx::core']]], diff --git a/docs/build/html/search/all_12.js b/docs/build/html/search/all_12.js index c8a65d504..e6d1678ff 100644 --- a/docs/build/html/search/all_12.js +++ b/docs/build/html/search/all_12.js @@ -47,7 +47,7 @@ var searchData= ['radixfunc_44',['RadixFunc',['../backend_2metal_2kernels_2fft_8h.html#a6ba62eabfd5428644aabf89ddaa0128d',1,'fft.h']]], ['randint_45',['randint',['../namespacemlx_1_1core_1_1random.html#a7289d3791aa4e8bfe28fafef4fb40e3b',1,'mlx::core::random::randint(const array &low, const array &high, const std::vector< int > &shape, Dtype dtype=int32, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1random.html#afe20b1c6188f4c8a83203e60b70b8946',1,'mlx::core::random::randint(T low, U high, const std::vector< int > &shape, Dtype dtype=int32, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})']]], ['random_2eh_46',['random.h',['../random_8h.html',1,'']]], - ['randombits_47',['RandomBits',['../classmlx_1_1core_1_1_random_bits.html',1,'mlx::core::RandomBits'],['../classmlx_1_1core_1_1_random_bits.html#a7dd5ed03f2a4ab45d1d5e8e2b587de6b',1,'mlx::core::RandomBits::RandomBits()']]], + ['randombits_47',['RandomBits',['../classmlx_1_1core_1_1_random_bits.html',1,'mlx::core::RandomBits'],['../classmlx_1_1core_1_1_random_bits.html#acd79c5ea2d67132c98d00fa927f08e26',1,'mlx::core::RandomBits::RandomBits()']]], ['rank_48',['rank',['../structmlx_1_1core_1_1distributed_1_1_group.html#ad4a5cdab8e2209ad4825f0c63a9cbec7',1,'mlx::core::distributed::Group']]], ['raw_5fevent_49',['raw_event',['../classmlx_1_1core_1_1_event.html#af408d30df17c4771e9e2aa550cb6e921',1,'mlx::core::Event']]], ['raw_5fgroup_50',['raw_group',['../structmlx_1_1core_1_1distributed_1_1_group.html#a3285b94851cf145a2a472f60b7f7ca36',1,'mlx::core::distributed::Group']]], @@ -89,8 +89,8 @@ var searchData= ['repeat_86',['repeat',['../group__ops.html#gab49e3a687e826554ed1574186e8ae974',1,'mlx::core::repeat(const array &arr, int repeats, int axis, StreamOrDevice s={})'],['../group__ops.html#ga4f75f5d5db999f02f43ecbc6dccf3ba6',1,'mlx::core::repeat(const array &arr, int repeats, StreamOrDevice s={})']]], ['reset_87',['reset',['../structmlx_1_1core_1_1_contiguous_iterator.html#a56336d55be846426e9522f375fc11297',1,'mlx::core::ContiguousIterator']]], ['reset_5fpeak_5fmemory_88',['reset_peak_memory',['../classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a26b9c8ac7ed56c3bb7ddc194009ec5a6',1,'mlx::core::metal::MetalAllocator::reset_peak_memory()'],['../namespacemlx_1_1core_1_1metal.html#adec8bb375da6c9dd5ff625a3a8434122',1,'mlx::core::metal::reset_peak_memory()']]], - ['reshape_89',['Reshape',['../classmlx_1_1core_1_1_reshape.html',1,'mlx::core::Reshape'],['../classmlx_1_1core_1_1_reshape.html#aa7c5a6e18d0615ad36102de01929eb26',1,'mlx::core::Reshape::Reshape()']]], - ['reshape_90',['reshape',['../group__ops.html#ga7b0e3d46a39d99b1628b422049790082',1,'mlx::core']]], + ['reshape_89',['Reshape',['../classmlx_1_1core_1_1_reshape.html',1,'mlx::core::Reshape'],['../classmlx_1_1core_1_1_reshape.html#aa5a5d520b6ec6c8d9ba9d79808e36312',1,'mlx::core::Reshape::Reshape()']]], + ['reshape_90',['reshape',['../group__ops.html#ga084f03ce2b22258afb7c8b45e17af828',1,'mlx::core']]], ['residencyset_91',['ResidencySet',['../classmlx_1_1core_1_1metal_1_1_residency_set.html',1,'mlx::core::metal::ResidencySet'],['../classmlx_1_1core_1_1metal_1_1_residency_set.html#abb69d020da017a7e52e9e3903b877eec',1,'mlx::core::metal::ResidencySet::ResidencySet(MTL::Device *d)'],['../classmlx_1_1core_1_1metal_1_1_residency_set.html#aabbf8c16f269f38e4c38097b947d18b7',1,'mlx::core::metal::ResidencySet::ResidencySet(const ResidencySet &)=delete']]], ['resident_2eh_92',['resident.h',['../resident_8h.html',1,'']]], ['resize_93',['resize',['../classpocketfft_1_1detail_1_1arr.html#a8d73baaefa02dff8714e4398c83917e0',1,'pocketfft::detail::arr::resize()'],['../classmlx_1_1core_1_1metal_1_1_residency_set.html#a0364647bca4324ac41ea3900925a69b5',1,'mlx::core::metal::ResidencySet::resize()']]], @@ -112,7 +112,7 @@ var searchData= ['rms_5fnorm_109',['rms_norm',['../namespacemlx_1_1core_1_1fast.html#ac7b620275c6386f822b7aacc6b312e62',1,'mlx::core::fast']]], ['rmsnorm_110',['RMSNorm',['../classmlx_1_1core_1_1fast_1_1_r_m_s_norm.html',1,'mlx::core::fast::RMSNorm'],['../classmlx_1_1core_1_1fast_1_1_r_m_s_norm.html#a22adaff0749711263388ec151fcfebe2',1,'mlx::core::fast::RMSNorm::RMSNorm()']]], ['rmsnormvjp_111',['RMSNormVJP',['../classmlx_1_1core_1_1fast_1_1_r_m_s_norm_v_j_p.html',1,'mlx::core::fast::RMSNormVJP'],['../classmlx_1_1core_1_1fast_1_1_r_m_s_norm_v_j_p.html#aac060129b2e1af79bf388bfe705381ca',1,'mlx::core::fast::RMSNormVJP::RMSNormVJP()']]], - ['roll_112',['roll',['../group__ops.html#gac40e48c69f9c715a767912c30836e75c',1,'mlx::core::roll(const array &a, int shift, StreamOrDevice s={})'],['../group__ops.html#gab30fb942bb6ee00bb50da04033f949a9',1,'mlx::core::roll(const array &a, const std::vector< int > &shift, StreamOrDevice s={})'],['../group__ops.html#ga8694ec137165752cb6d8a36a6b7c3436',1,'mlx::core::roll(const array &a, int shift, int axis, StreamOrDevice s={})'],['../group__ops.html#ga665f502ecc96f1f4467556b784abf9ae',1,'mlx::core::roll(const array &a, int shift, const std::vector< int > &axes, StreamOrDevice s={})'],['../group__ops.html#ga4c335f86ff2a05daf8dd8aedc628aa59',1,'mlx::core::roll(const array &a, const std::vector< int > &shift, int axis, StreamOrDevice s={})'],['../group__ops.html#ga6c6fe942a8f7c573a1cb2342566f74d2',1,'mlx::core::roll(const array &a, const std::vector< int > &shift, const std::vector< int > &axes, StreamOrDevice s={})']]], + ['roll_112',['roll',['../group__ops.html#gac40e48c69f9c715a767912c30836e75c',1,'mlx::core::roll(const array &a, int shift, StreamOrDevice s={})'],['../group__ops.html#ga5011d1a5735c64e5b91afa56c7e2cc02',1,'mlx::core::roll(const array &a, const Shape &shift, StreamOrDevice s={})'],['../group__ops.html#ga8694ec137165752cb6d8a36a6b7c3436',1,'mlx::core::roll(const array &a, int shift, int axis, StreamOrDevice s={})'],['../group__ops.html#ga5e9833b1b7a1c636db6f7ad9809ce902',1,'mlx::core::roll(const array &a, int shift, const Shape &axes, StreamOrDevice s={})'],['../group__ops.html#ga79137f90bc44ac9e35f408c012701df9',1,'mlx::core::roll(const array &a, const Shape &shift, int axis, StreamOrDevice s={})'],['../group__ops.html#ga9d76930fb567a7d459ff96fb851abe36',1,'mlx::core::roll(const array &a, const Shape &shift, const std::vector< int > &axes, StreamOrDevice s={})']]], ['rope_113',['RoPE',['../classmlx_1_1core_1_1fast_1_1_ro_p_e.html',1,'mlx::core::fast::RoPE'],['../classmlx_1_1core_1_1fast_1_1_ro_p_e.html#a031fa27aeba94cfa5ccc633137a12163',1,'mlx::core::fast::RoPE::RoPE()']]], ['rope_114',['rope',['../namespacemlx_1_1core_1_1fast.html#a534ef357eae24892684a6ecd866d3fab',1,'mlx::core::fast']]], ['rot90_115',['ROT90',['../namespacepocketfft_1_1detail.html#a928bad5278df636ee47402c0a75f64ef',1,'pocketfft::detail']]], diff --git a/docs/build/html/search/all_13.js b/docs/build/html/search/all_13.js index 28a0076aa..f50c02775 100644 --- a/docs/build/html/search/all_13.js +++ b/docs/build/html/search/all_13.js @@ -7,199 +7,202 @@ var searchData= ['save_5fsafetensors_4',['save_safetensors',['../namespacemlx_1_1core.html#a9f158db20c2405557f3ebc397e876de8',1,'mlx::core::save_safetensors(std::shared_ptr< io::Writer > in_stream, std::unordered_map< std::string, array >, std::unordered_map< std::string, std::string > metadata={})'],['../namespacemlx_1_1core.html#a21e256d852d587bcdc0827831b2c5c16',1,'mlx::core::save_safetensors(std::string file, std::unordered_map< std::string, array >, std::unordered_map< std::string, std::string > metadata={})']]], ['scalar_5',['Scalar',['../namespacemlx_1_1core.html#abd84ff6c5245e4e170b2ef5247594337af60357a8d17e45793298323f1b372a74',1,'mlx::core']]], ['scale_6',['scale',['../struct_scale_op.html#a02043fac21c68fb8d6863a01f45ede4b',1,'ScaleOp::scale'],['../struct_transform_scale.html#aa56b8e107acf16fdf77006625c2b8bc6',1,'TransformScale::scale'],['../structmlx_1_1steel_1_1_attn_params.html#ad81bcd32e6ff8fec0000eca505fb6826',1,'mlx::steel::AttnParams::scale']]], - ['scaled_5fdot_5fproduct_5fattention_7',['scaled_dot_product_attention',['../namespacemlx_1_1core_1_1fast.html#a3663b50265b0a9c0cca2b5376852e059',1,'mlx::core::fast']]], - ['scaleddotproductattention_8',['ScaledDotProductAttention',['../classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention.html',1,'mlx::core::fast::ScaledDotProductAttention'],['../classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention.html#a6a904c377fffc3c193102a3123f5e706',1,'mlx::core::fast::ScaledDotProductAttention::ScaledDotProductAttention()']]], - ['scaleop_9',['ScaleOp',['../struct_scale_op.html',1,'']]], - ['scales_10',['scales',['../struct_quantized_block_loader.html#a6123e4a9209d6eacb58b2c2344ed1ecf',1,'QuantizedBlockLoader']]], - ['scan_11',['Scan',['../classmlx_1_1core_1_1_scan.html',1,'mlx::core::Scan'],['../classmlx_1_1core_1_1_scan.html#ac93e8f9c6771de825d2186ef34fa7087',1,'mlx::core::Scan::Scan()']]], - ['scan_12',['scan',['../namespacemlx_1_1core_1_1metal.html#a81c2cf124b0803098a54a78f8f6873a6',1,'mlx::core::metal']]], - ['scan_2eh_13',['scan.h',['../scan_8h.html',1,'']]], - ['scatter_14',['Scatter',['../classmlx_1_1core_1_1_scatter.html',1,'mlx::core::Scatter'],['../classmlx_1_1core_1_1_scatter.html#ac9b3eff67389ef9aa820753379ffeaa3',1,'mlx::core::Scatter::Scatter()']]], - ['scatter_15',['scatter',['../namespacemlx_1_1core_1_1metal.html#a32e902c6cd6d35fcc3119ed6685a170f',1,'mlx::core::metal::scatter()'],['../group__ops.html#gad438be8f90bae9d37c6853b8f4225d61',1,'mlx::core::scatter(const array &a, const std::vector< array > &indices, const array &updates, const std::vector< int > &axes, StreamOrDevice s={})'],['../group__ops.html#gac2c2b379a3ce959dbe1c4a68f112edfe',1,'mlx::core::scatter(const array &a, const array &indices, const array &updates, int axis, StreamOrDevice s={})']]], - ['scatter_2eh_16',['scatter.h',['../scatter_8h.html',1,'']]], - ['scatter_5fadd_17',['scatter_add',['../group__ops.html#gacd14c2b5cfebf343fc2d672722f8d174',1,'mlx::core::scatter_add(const array &a, const std::vector< array > &indices, const array &updates, const std::vector< int > &axes, StreamOrDevice s={})'],['../group__ops.html#gac13318518e5703f1273c5366eb523a5a',1,'mlx::core::scatter_add(const array &a, const array &indices, const array &updates, int axis, StreamOrDevice s={})']]], - ['scatter_5fimpl_18',['scatter_impl',['../scatter_8h.html#a0df7206d4519defb48a6275afc12f87c',1,'scatter.h']]], - ['scatter_5fkernels_19',['scatter_kernels',['../jit_2indexing_8h.html#a768c949cd650a44c6b402fc1440c1a56',1,'indexing.h']]], - ['scatter_5fmax_20',['scatter_max',['../group__ops.html#ga05881a4157cd113c9392d168a79e6673',1,'mlx::core::scatter_max(const array &a, const std::vector< array > &indices, const array &updates, const std::vector< int > &axes, StreamOrDevice s={})'],['../group__ops.html#ga9adda5f9202bb3486e4d9e1114e3a56f',1,'mlx::core::scatter_max(const array &a, const array &indices, const array &updates, int axis, StreamOrDevice s={})']]], - ['scatter_5fmin_21',['scatter_min',['../group__ops.html#ga0ca16b7579dfc899f3f7fd40245ba7c5',1,'mlx::core::scatter_min(const array &a, const std::vector< array > &indices, const array &updates, const std::vector< int > &axes, StreamOrDevice s={})'],['../group__ops.html#ga51fa762a997c243ca7a19e1ed3e83199',1,'mlx::core::scatter_min(const array &a, const array &indices, const array &updates, int axis, StreamOrDevice s={})']]], - ['scatter_5fprod_22',['scatter_prod',['../group__ops.html#ga3708b5bcb61e2c63d213c4ce6ad0ffc0',1,'mlx::core::scatter_prod(const array &a, const std::vector< array > &indices, const array &updates, const std::vector< int > &axes, StreamOrDevice s={})'],['../group__ops.html#gaf83c53c453faa9083ba27e4b97539339',1,'mlx::core::scatter_prod(const array &a, const array &indices, const array &updates, int axis, StreamOrDevice s={})']]], - ['scheduled_23',['scheduled',['../classmlx_1_1core_1_1array.html#a199726612fa8a4bcd5c2d05eadad7078af8a6f8eed2395ab89a758dec434393ae',1,'mlx::core::array']]], - ['scheduler_24',['Scheduler',['../classmlx_1_1core_1_1scheduler_1_1_scheduler.html',1,'mlx::core::scheduler::Scheduler'],['../classmlx_1_1core_1_1scheduler_1_1_scheduler.html#a3ae42aed78a2200e9d02776fcd2316ba',1,'mlx::core::scheduler::Scheduler::Scheduler()'],['../classmlx_1_1core_1_1scheduler_1_1_scheduler.html#a61a74e3628899e66dde600e24a750648',1,'mlx::core::scheduler::Scheduler::Scheduler(const Scheduler &)=delete'],['../classmlx_1_1core_1_1scheduler_1_1_scheduler.html#ac3f77b7c93220dadd0b3bb2e903b7059',1,'mlx::core::scheduler::Scheduler::Scheduler(Scheduler &&)=delete']]], - ['scheduler_25',['scheduler',['../namespacemlx_1_1core_1_1scheduler.html#ae856e468c2f7c8f8ec672522cc13730b',1,'mlx::core::scheduler']]], - ['scheduler_2eh_26',['scheduler.h',['../scheduler_8h.html',1,'']]], - ['sdpa_5fvector_27',['sdpa_vector',['../sdpa__vector_8h.html#a4bf36f16e16c1c62d9b243573568e5ae',1,'sdpa_vector.h']]], - ['sdpa_5fvector_2eh_28',['sdpa_vector.h',['../sdpa__vector_8h.html',1,'']]], - ['sdpa_5fvector_5f2pass_5f1_29',['sdpa_vector_2pass_1',['../sdpa__vector_8h.html#ae070ec482c79c5b3bd19dd03ea42ec74',1,'sdpa_vector.h']]], - ['sdpa_5fvector_5f2pass_5f2_30',['sdpa_vector_2pass_2',['../sdpa__vector_8h.html#a1368cf3618a4e03dbf743b3463205efe',1,'sdpa_vector.h']]], - ['seed_31',['seed',['../classmlx_1_1core_1_1random_1_1_key_sequence.html#a9f19c5da2031cba50d0ff996924347d8',1,'mlx::core::random::KeySequence::seed()'],['../namespacemlx_1_1core_1_1random.html#ac4ad325b613257306df74595d3d0e23b',1,'mlx::core::random::seed()']]], - ['seek_32',['seek',['../structmlx_1_1core_1_1_contiguous_iterator.html#a24719ee9e8667885d29c2ad74445520c',1,'mlx::core::ContiguousIterator::seek()'],['../classmlx_1_1core_1_1io_1_1_reader.html#acea55078bd39ccaa27a9a36f17a39cd1',1,'mlx::core::io::Reader::seek()'],['../classmlx_1_1core_1_1io_1_1_writer.html#a9c1716dda53aa36faea9c8fb1a3e34d4',1,'mlx::core::io::Writer::seek()'],['../classmlx_1_1core_1_1io_1_1_parallel_file_reader.html#a673c16b669f3cee13f387b7b0a1f39f7',1,'mlx::core::io::ParallelFileReader::seek()'],['../classmlx_1_1core_1_1io_1_1_file_writer.html#a9646f4ea048ae58719daeb588e2de433',1,'mlx::core::io::FileWriter::seek()']]], - ['select_33',['Select',['../structmlx_1_1core_1_1detail_1_1_select.html',1,'mlx::core::detail::Select'],['../classmlx_1_1core_1_1_select.html',1,'mlx::core::Select'],['../struct_select.html',1,'Select'],['../classmlx_1_1core_1_1_select.html#a6f833fe55dd68ad3726bbf9a8f75eec9',1,'mlx::core::Select::Select()']]], - ['send_34',['Send',['../classmlx_1_1core_1_1distributed_1_1_send.html',1,'mlx::core::distributed::Send'],['../classmlx_1_1core_1_1distributed_1_1_send.html#a2481dd876b14d4a13ac466cbca9c4eac',1,'mlx::core::distributed::Send::Send()']]], - ['send_35',['send',['../namespacemlx_1_1core_1_1distributed_1_1detail.html#abf33511660ac71df5fc92f2aad6c6e08',1,'mlx::core::distributed::detail::send()'],['../namespacemlx_1_1core_1_1distributed.html#a5a8360edaa3a528a3927fce4d2cf1777',1,'mlx::core::distributed::send()']]], - ['set_36',['Set',['../structpocketfft_1_1detail_1_1cmplx.html#a647fece372b64b13c4a7e5877d09a807',1,'pocketfft::detail::cmplx::Set(T r_, T i_)'],['../structpocketfft_1_1detail_1_1cmplx.html#a447d26b2e07f6e45f29d865e906c0a98',1,'pocketfft::detail::cmplx::Set(T r_)']]], - ['set_5fbytes_37',['set_bytes',['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#a9c343f791812a45c6c03a5c9f27f74d5',1,'mlx::core::metal::CommandEncoder::set_bytes(const T *v, int n, int idx)'],['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#abc52d18ea87d213c47fd26062c829849',1,'mlx::core::metal::CommandEncoder::set_bytes(const T &v, int idx)']]], - ['set_5fcache_5flimit_38',['set_cache_limit',['../classmlx_1_1core_1_1metal_1_1_metal_allocator.html#af392bced29d9e4e3f1a7cc4725d83764',1,'mlx::core::metal::MetalAllocator::set_cache_limit()'],['../namespacemlx_1_1core_1_1metal.html#ab09c9b60f1e886ab859e6a066c9a5b9d',1,'mlx::core::metal::set_cache_limit()']]], - ['set_5fcompile_5fmode_39',['set_compile_mode',['../namespacemlx_1_1core.html#a49445a55f976c4397f25ea18e1e92bef',1,'mlx::core']]], - ['set_5fcompute_5fpipeline_5fstate_40',['set_compute_pipeline_state',['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#a6d4c03a6585deedb5ccd1a1057d0c6ef',1,'mlx::core::metal::CommandEncoder']]], - ['set_5fdata_41',['set_data',['../classmlx_1_1core_1_1array.html#a631acd8e318189640b8338f9ae1a554d',1,'mlx::core::array::set_data(allocator::Buffer buffer, deleter_t d=allocator::free)'],['../classmlx_1_1core_1_1array.html#a2112af5fba37b3135cd2e6ac9e851606',1,'mlx::core::array::set_data(allocator::Buffer buffer, size_t data_size, std::vector< size_t > strides, Flags flags, deleter_t d=allocator::free)']]], - ['set_5fdefault_5fdevice_42',['set_default_device',['../namespacemlx_1_1core.html#a312a2de41367fe52caeaf8c0f596a120',1,'mlx::core']]], - ['set_5fdefault_5fstream_43',['set_default_stream',['../classmlx_1_1core_1_1scheduler_1_1_scheduler.html#a6d15314ac9cf25efc9bd1278de9a66bb',1,'mlx::core::scheduler::Scheduler::set_default_stream()'],['../namespacemlx_1_1core.html#af35a2b06517d8bb7dbb469692b4f841c',1,'mlx::core::set_default_stream()']]], - ['set_5finput_5farray_44',['set_input_array',['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#ab69ff0d7f14b9b59db4df0608193dce4',1,'mlx::core::metal::CommandEncoder']]], - ['set_5fmemory_5flimit_45',['set_memory_limit',['../classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a179e3127ef9377ce54295f771c34ba1b',1,'mlx::core::metal::MetalAllocator::set_memory_limit()'],['../namespacemlx_1_1core_1_1metal.html#a3fb2c4a237fa4bfdff798156146c4937',1,'mlx::core::metal::set_memory_limit()']]], - ['set_5foutput_5farray_46',['set_output_array',['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#a6a2e28e542eaa2886041bddd51ff6522',1,'mlx::core::metal::CommandEncoder']]], - ['set_5fresidency_5fset_47',['set_residency_set',['../classmlx_1_1core_1_1metal_1_1_device.html#a03a2f0c712660a1bd437cb16e4aba79f',1,'mlx::core::metal::Device']]], - ['set_5fsiblings_48',['set_siblings',['../classmlx_1_1core_1_1array.html#a8fccbe7a4edfd8cca168161124e263b1',1,'mlx::core::array']]], - ['set_5fstatus_49',['set_status',['../classmlx_1_1core_1_1array.html#a63598018999b49f1340b183cb303f05c',1,'mlx::core::array']]], - ['set_5ftracer_50',['set_tracer',['../classmlx_1_1core_1_1array.html#af26e6be1a9e6239471a4c24310c0c7c8',1,'mlx::core::array']]], - ['set_5fvalue_51',['set_value',['../classmlx_1_1core_1_1_event.html#a0d077b11f4b28f882b42440b7ac6d40d',1,'mlx::core::Event']]], - ['set_5fvector_5fbytes_52',['set_vector_bytes',['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#a68c3c6a036e11ec40211c09811bbed1b',1,'mlx::core::metal::CommandEncoder::set_vector_bytes(const std::vector< T > &vec, size_t nelems, int idx)'],['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#a7375adf9ee5355bcf4b7f5f210efd115',1,'mlx::core::metal::CommandEncoder::set_vector_bytes(const std::vector< T > &vec, int idx)']]], - ['set_5fwired_5flimit_53',['set_wired_limit',['../classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a84fa0347da18055bc13ba0a5c4b57253',1,'mlx::core::metal::MetalAllocator::set_wired_limit()'],['../namespacemlx_1_1core_1_1metal.html#a31eab4828d31d292bc84e07b0d961e1e',1,'mlx::core::metal::set_wired_limit()']]], - ['shape_54',['shape',['../structmlx_1_1core_1_1_reduction_plan.html#a6cfa8771fa9caf6fdcc3d74c9fca83ae',1,'mlx::core::ReductionPlan::shape'],['../structmlx_1_1steel_1_1_layout2_d.html#a23183747ab1ddbdd3f1fcac6d0faa2cd',1,'mlx::steel::Layout2D::shape'],['../structmlx_1_1core_1_1fast_1_1_custom_kernel_shape_info.html#a63db720fe0c2abc4b71e22a58a015f8a',1,'mlx::core::fast::CustomKernelShapeInfo::shape'],['../classpocketfft_1_1detail_1_1arr__info.html#accada8146cb8d3ab7facb4c1e3413ec0',1,'pocketfft::detail::arr_info::shape() const'],['../classpocketfft_1_1detail_1_1arr__info.html#ac601c660c64a4c252aa8be4ae7dfa7a8',1,'pocketfft::detail::arr_info::shape(size_t i) const'],['../classmlx_1_1core_1_1array.html#a4a2a2c8a4a5beafd723fc13f2055d55d',1,'mlx::core::array::shape() const'],['../classmlx_1_1core_1_1array.html#a51ed0c45666264dc172d06fba159eb8f',1,'mlx::core::array::shape(int dim) const']]], - ['shape2d_55',['Shape2D',['../structmlx_1_1steel_1_1_shape2_d.html',1,'mlx::steel::Shape2D< RInt, CInt >'],['../structmlx_1_1steel_1_1_shape2_d.html#a070ce70eb6d84361c7f313159c438a5c',1,'mlx::steel::Shape2D::Shape2D()']]], - ['shape_5ft_56',['shape_t',['../namespacepocketfft_1_1detail.html#a885ee37fcf564a268a5c8ca9ea8603e1',1,'pocketfft::detail']]], - ['shapes_57',['shapes',['../struct_indices.html#a5ab170f1a77636180889ddfffd4f7d2f',1,'Indices']]], - ['shapes_5fwithout_5freduction_5faxes_58',['shapes_without_reduction_axes',['../namespacemlx_1_1core.html#a44c3ea6db6553c3f6552b9ba64a69494',1,'mlx::core']]], - ['shared_5fbuffer_5fslice_59',['shared_buffer_slice',['../namespacemlx_1_1core.html#aea2a6a4eddfd4cfac89d20786059de2a',1,'mlx::core']]], - ['shp_60',['shp',['../classpocketfft_1_1detail_1_1arr__info.html#a2467e9e01de1ba4d7cd28c1af783da8d',1,'pocketfft::detail::arr_info']]], - ['shutdown_61',['shutdown',['../classpocketfft_1_1detail_1_1threading_1_1thread__pool.html#a0c7c29290fde806031c497f24c4ad411',1,'pocketfft::detail::threading::thread_pool']]], - ['siblings_62',['siblings',['../classmlx_1_1core_1_1array.html#acf80fde8f743f65ad5b4be69fcb7a74d',1,'mlx::core::array::siblings() const'],['../classmlx_1_1core_1_1array.html#a7263f23e70a580a9bc2129fbcde36e6c',1,'mlx::core::array::siblings()']]], - ['sigmoid_63',['Sigmoid',['../structmlx_1_1core_1_1detail_1_1_sigmoid.html',1,'mlx::core::detail::Sigmoid'],['../classmlx_1_1core_1_1_sigmoid.html',1,'mlx::core::Sigmoid'],['../struct_sigmoid.html',1,'Sigmoid'],['../classmlx_1_1core_1_1_sigmoid.html#a47eca99113ec19f0eb60b6a0472c592b',1,'mlx::core::Sigmoid::Sigmoid()']]], - ['sigmoid_64',['sigmoid',['../group__ops.html#ga708abf8f79609cd6831db7c38cafac0e',1,'mlx::core']]], - ['sign_65',['Sign',['../structmlx_1_1core_1_1detail_1_1_sign.html',1,'mlx::core::detail::Sign'],['../classmlx_1_1core_1_1_sign.html',1,'mlx::core::Sign'],['../struct_sign.html',1,'Sign'],['../classmlx_1_1core_1_1_sign.html#afe951e50907bc23a601ec5fa9eae5763',1,'mlx::core::Sign::Sign()']]], - ['sign_66',['sign',['../group__ops.html#ga20f1a1a8c0cd6206485f9363f3915faa',1,'mlx::core']]], - ['signal_67',['signal',['../classmlx_1_1core_1_1_event.html#a65a858445506a61be5889ae0e3651b89',1,'mlx::core::Event']]], - ['signaling_5fnan_68',['signaling_NaN',['../structmetal_1_1__numeric__limits__impl_3_01bfloat16__t_01_4.html#ad1f76a43c7d51a3765174aa6e0dd9f80',1,'metal::_numeric_limits_impl< bfloat16_t >']]], - ['signedinteger_69',['signedinteger',['../structmlx_1_1core_1_1_dtype.html#ac091c39cbd6686ef69aa1e5a2425aa2daed58b4631ff157bec9e35ed1182d2c10',1,'mlx::core::Dtype::signedinteger'],['../namespacemlx_1_1core.html#a24e1618af591d737d73729665e868001',1,'mlx::core::signedinteger']]], - ['simd_5fbroadcast_70',['simd_broadcast',['../namespacemetal.html#a498f1e85107eb5f01ba4435977f8efe0',1,'metal']]], - ['simd_5fexclusive_5fscan_71',['simd_exclusive_scan',['../struct_cum_prod_3_01bool_01_4.html#a1a86e9398bae24182b7be0a6577bf223',1,'CumProd< bool >::simd_exclusive_scan()'],['../struct_cum_max.html#ae11b67aa6c998e9a01615b2a79af4403',1,'CumMax::simd_exclusive_scan()'],['../struct_cum_min.html#a83e65017ff33018b585c043fb803773b',1,'CumMin::simd_exclusive_scan()']]], - ['simd_5fmax_72',['simd_max',['../namespacemetal.html#a048cad0aca52cb737ebf103e76bd1c49',1,'metal']]], - ['simd_5fmin_73',['simd_min',['../namespacemetal.html#ae9e2a23e00724ba2d7868bc4112b386b',1,'metal']]], - ['simd_5fprefix_5fexclusive_5fproduct_74',['simd_prefix_exclusive_product',['../namespacemetal.html#a5ca40242390b632f737e29636829b2e4',1,'metal']]], - ['simd_5fprefix_5fexclusive_5fsum_75',['simd_prefix_exclusive_sum',['../namespacemetal.html#abfbb70c7471f28bf7ff36a612ad014b2',1,'metal']]], - ['simd_5fprefix_5finclusive_5fproduct_76',['simd_prefix_inclusive_product',['../namespacemetal.html#a6ca6a7e1996228fa536e969e9e45c446',1,'metal']]], - ['simd_5fprefix_5finclusive_5fsum_77',['simd_prefix_inclusive_sum',['../namespacemetal.html#a567acb18199ac0107712eb8cb8aeb8e9',1,'metal']]], - ['simd_5fproduct_78',['simd_product',['../namespacemetal.html#ac6e883a04e2265a9790d7db76059e1b4',1,'metal']]], - ['simd_5fscan_79',['simd_scan',['../struct_cum_prod_3_01bool_01_4.html#abeb5ec4237b330e7219f4e881cf10d7a',1,'CumProd< bool >::simd_scan()'],['../struct_cum_max.html#adc9ec8bb09b4433d4c2f03022c43d781',1,'CumMax::simd_scan()'],['../struct_cum_min.html#a0a1005d91b1c90e90e2c6dbd6c296649',1,'CumMin::simd_scan()']]], - ['simd_5fshuffle_80',['simd_shuffle',['../namespacemetal.html#a259ed115bc3c58f88eb35830916b26d4',1,'metal::simd_shuffle()'],['../backend_2metal_2kernels_2utils_8h.html#a71986ecdd7d18f975dd22c3df7421ce2',1,'simd_shuffle(uint64_t data, uint16_t lane): utils.h'],['../backend_2metal_2kernels_2utils_8h.html#a3bdbdfeb7a1dde40cd3ce1df8d9213b5',1,'simd_shuffle(int64_t data, uint16_t lane): utils.h'],['../backend_2metal_2kernels_2utils_8h.html#ab4cbcdb054f9165130da91a3334da0cf',1,'simd_shuffle(bool data, uint16_t lane): utils.h'],['../backend_2metal_2kernels_2utils_8h.html#ab8175b66bcc080fb89f738143568c30b',1,'simd_shuffle(complex64_t data, uint16_t lane): utils.h']]], - ['simd_5fshuffle_5fand_5ffill_5fdown_81',['simd_shuffle_and_fill_down',['../namespacemetal.html#ae29a06f0eac636ad7af21dea5b04938b',1,'metal::simd_shuffle_and_fill_down(bfloat16_t data, bfloat16_t filling_data, ushort delta, ushort modulo)'],['../namespacemetal.html#a0ee6239fa29a5f9ee0201e0dc5ddc8e0',1,'metal::simd_shuffle_and_fill_down(bfloat16_t data, bfloat16_t filling_data, ushort delta)']]], - ['simd_5fshuffle_5fand_5ffill_5fup_82',['simd_shuffle_and_fill_up',['../namespacemetal.html#a1ca14116bf50639b214d8414b5bbaaa6',1,'metal::simd_shuffle_and_fill_up(bfloat16_t data, bfloat16_t filling_data, ushort delta, ushort modulo)'],['../namespacemetal.html#a5138d5cdc18139e135707916a243cd8e',1,'metal::simd_shuffle_and_fill_up(bfloat16_t data, bfloat16_t filling_data, ushort delta)'],['../backend_2metal_2kernels_2utils_8h.html#a5862d5ea154c9b76cf56a630cf6385b4',1,'simd_shuffle_and_fill_up(uint64_t data, uint64_t filling, uint16_t delta): utils.h'],['../backend_2metal_2kernels_2utils_8h.html#a7bb56415c5412a6a26f70a990915f064',1,'simd_shuffle_and_fill_up(int64_t data, int64_t filling, uint16_t delta): utils.h'],['../backend_2metal_2kernels_2utils_8h.html#ad55bd473647f2c6c68e65e5312c132d1',1,'simd_shuffle_and_fill_up(bool data, bool filling, uint16_t delta): utils.h'],['../backend_2metal_2kernels_2utils_8h.html#a94e02a6ae8c39cbf4cb23aa44df9dbd5',1,'simd_shuffle_and_fill_up(complex64_t data, complex64_t filling, uint16_t delta): utils.h']]], - ['simd_5fshuffle_5fdown_83',['simd_shuffle_down',['../namespacemetal.html#af6e2dd7ae087aba6abac4f0350b7611c',1,'metal::simd_shuffle_down()'],['../backend_2metal_2kernels_2utils_8h.html#aba6279624b1d30c525efee856a222b5c',1,'simd_shuffle_down(uint64_t data, uint16_t delta): utils.h'],['../backend_2metal_2kernels_2utils_8h.html#a0c1e4d782fcc56e1ab5565cef12430dd',1,'simd_shuffle_down(int64_t data, uint16_t delta): utils.h'],['../backend_2metal_2kernels_2utils_8h.html#a48ae83a8caf5c74810df60b6c6cdb062',1,'simd_shuffle_down(bool data, uint16_t delta): utils.h'],['../backend_2metal_2kernels_2utils_8h.html#ad9a671a5f9aaa729ae7a77026f16bcb0',1,'simd_shuffle_down(complex64_t data, uint16_t delta): utils.h']]], - ['simd_5fshuffle_5frotate_5fdown_84',['simd_shuffle_rotate_down',['../namespacemetal.html#a4bb203647a421032db47e73cd649841b',1,'metal']]], - ['simd_5fshuffle_5frotate_5fup_85',['simd_shuffle_rotate_up',['../namespacemetal.html#a729b22077d6c944491a6027c18ea80c9',1,'metal']]], - ['simd_5fshuffle_5fup_86',['simd_shuffle_up',['../namespacemetal.html#afe81c5fbde3f4890458b081909242c55',1,'metal::simd_shuffle_up()'],['../backend_2metal_2kernels_2utils_8h.html#a39e436e0a942912266aae7e0bd82d7c0',1,'simd_shuffle_up(uint64_t data, uint16_t delta): utils.h'],['../backend_2metal_2kernels_2utils_8h.html#a617f3857caf33c569afa6148135f8b7a',1,'simd_shuffle_up(int64_t data, uint16_t delta): utils.h'],['../backend_2metal_2kernels_2utils_8h.html#ae0f5c42020275a588234e69f1eb7a485',1,'simd_shuffle_up(bool data, uint16_t delta): utils.h'],['../backend_2metal_2kernels_2utils_8h.html#a92b455bac6a23af51c35ea83de2383eb',1,'simd_shuffle_up(complex64_t data, uint16_t delta): utils.h']]], - ['simd_5fshuffle_5fxor_87',['simd_shuffle_xor',['../namespacemetal.html#a5017efc9605e069cfb507137cd1a1852',1,'metal']]], - ['simd_5fsize_88',['SIMD_SIZE',['../quantized_8h.html#a62969a218d93680f5e35d0c61b160b99',1,'quantized.h']]], - ['simd_5fsize_89',['simd_size',['../backend_2metal_2kernels_2reduction_2ops_8h.html#a515b75d563a93d3c09ee677948dc83e3',1,'ops.h']]], - ['simd_5fsum_90',['simd_sum',['../namespacemetal.html#a85181e37a00cb4a4217f1bb25389bce5',1,'metal']]], - ['simd_5fxor_91',['simd_xor',['../namespacemetal.html#a1308decbf2d5c33d34d6be523ea1c30f',1,'metal']]], - ['simple_5fiter_92',['simple_iter',['../classpocketfft_1_1detail_1_1simple__iter.html',1,'pocketfft::detail::simple_iter'],['../classpocketfft_1_1detail_1_1simple__iter.html#a1e455c615825bebd5f1f62665027b398',1,'pocketfft::detail::simple_iter::simple_iter()']]], - ['simplevalueandgradfn_93',['SimpleValueAndGradFn',['../namespacemlx_1_1core.html#a2689b8f1181648cb1685204fea9f3066',1,'mlx::core']]], - ['sin_94',['Sin',['../structmlx_1_1core_1_1detail_1_1_sin.html',1,'mlx::core::detail::Sin'],['../classmlx_1_1core_1_1_sin.html',1,'mlx::core::Sin'],['../struct_sin.html',1,'Sin'],['../classmlx_1_1core_1_1_sin.html#a10d1ecc0ca96e79cdf55b57073d126ea',1,'mlx::core::Sin::Sin()']]], - ['sin_95',['sin',['../namespacepocketfft_1_1detail.html#a07745f4a069f811859308281b2982258',1,'pocketfft::detail::sin()'],['../namespacemetal.html#a619a159ca5f2ddfe3647d3a6bb6e804c',1,'metal::sin()'],['../namespacemetal_1_1fast.html#a3af771cfe7a135104f9d063147dba270',1,'metal::fast::sin()'],['../namespacemetal_1_1precise.html#a71acf77ffd29c56f56afae0195c98a1c',1,'metal::precise::sin()'],['../group__ops.html#gaebf0a73ad3732fba39df37826c235692',1,'mlx::core::sin()']]], - ['sincos_5f2pibyn_96',['sincos_2pibyn',['../classpocketfft_1_1detail_1_1sincos__2pibyn.html',1,'pocketfft::detail::sincos_2pibyn< T >'],['../classpocketfft_1_1detail_1_1sincos__2pibyn.html#a88518f2182d854c557edacd4ab8cbc40',1,'pocketfft::detail::sincos_2pibyn::sincos_2pibyn()']]], - ['sinh_97',['Sinh',['../structmlx_1_1core_1_1detail_1_1_sinh.html',1,'mlx::core::detail::Sinh'],['../classmlx_1_1core_1_1_sinh.html',1,'mlx::core::Sinh'],['../struct_sinh.html',1,'Sinh'],['../classmlx_1_1core_1_1_sinh.html#a4a4f6814d403c2ce5d6c574b0dca3c96',1,'mlx::core::Sinh::Sinh()']]], - ['sinh_98',['sinh',['../namespacemetal.html#a83ba4235ae350ab8880a9df09158620b',1,'metal::sinh()'],['../namespacemetal_1_1fast.html#a990d90b3440e38d1fb4ff5065c6c189b',1,'metal::fast::sinh()'],['../namespacemetal_1_1precise.html#abc8f4f59dd6e7204ab5d84f0af96331c',1,'metal::precise::sinh()'],['../group__ops.html#gaf532375c6563dbd6e329bdedf0224dd7',1,'mlx::core::sinh()']]], - ['sinpi_99',['sinpi',['../namespacemetal.html#ae9655f7fa2ba6c0625ca25fbb278e269',1,'metal::sinpi()'],['../namespacemetal_1_1fast.html#ab07a32fe544aa304577d29e0251e87b2',1,'metal::fast::sinpi()'],['../namespacemetal_1_1precise.html#a78b17dab93519d9c82c2575dafec49c9',1,'metal::precise::sinpi()']]], - ['size_100',['size',['../classpocketfft_1_1detail_1_1arr.html#a95bca00060957f540ff25b69632c6952',1,'pocketfft::detail::arr::size()'],['../classpocketfft_1_1detail_1_1arr__info.html#a003a7106f7fa59a3c55ac1f0116313a5',1,'pocketfft::detail::arr_info::size()'],['../classmlx_1_1core_1_1allocator_1_1_allocator.html#a2adf9a9c968f113dde830cc0dc27dcc6',1,'mlx::core::allocator::Allocator::size()'],['../classmlx_1_1core_1_1allocator_1_1_common_allocator.html#aafa92e8310db089b1ac72b840777e26b',1,'mlx::core::allocator::CommonAllocator::size()'],['../classmlx_1_1core_1_1array.html#a598f87161926d9e0b516860f0ea2c8f6',1,'mlx::core::array::size()'],['../classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a51f6587e8065be16f0418ca42a796e05',1,'mlx::core::metal::MetalAllocator::size()'],['../structmlx_1_1core_1_1distributed_1_1_group.html#abd96a09217e3d1bcc522888257d22cef',1,'mlx::core::distributed::Group::size()'],['../structmlx_1_1core_1_1_dtype.html#ab54051563d85212c7f0f049166bc9971',1,'mlx::core::Dtype::size()']]], - ['size_5fof_101',['size_of',['../namespacemlx_1_1core.html#add4794cc0ffe5d717fc146084a235d95',1,'mlx::core']]], - ['slice_102',['Slice',['../classmlx_1_1core_1_1_slice.html',1,'mlx::core::Slice'],['../classmlx_1_1core_1_1_slice.html#a8a38feb7bb6b72bdeebb83f053e2fd7f',1,'mlx::core::Slice::Slice()']]], - ['slice_103',['slice',['../group__ops.html#gad66135407dbb41b3c5d2cdfd51226c21',1,'mlx::core::slice(const array &a, std::vector< int > start, std::vector< int > stop, std::vector< int > strides, StreamOrDevice s={})'],['../group__ops.html#gaa97ce866c5e38b92b093e9321affcc57',1,'mlx::core::slice(const array &a, std::vector< int > start, std::vector< int > stop, StreamOrDevice s={})']]], - ['slice_5fgpu_104',['slice_gpu',['../namespacemlx_1_1core.html#a59048c5ff114c101a496bf33f62e3de9',1,'mlx::core']]], - ['slice_5fupdate_105',['slice_update',['../group__ops.html#ga3875660e4ce2c8add8bfcf8144078708',1,'mlx::core::slice_update(const array &src, const array &update, std::vector< int > start, std::vector< int > stop, std::vector< int > strides, StreamOrDevice s={})'],['../group__ops.html#ga03ffbbb4d989a463ef43f41ebf7eabef',1,'mlx::core::slice_update(const array &src, const array &update, std::vector< int > start, std::vector< int > stop, StreamOrDevice s={})']]], - ['sliceupdate_106',['SliceUpdate',['../classmlx_1_1core_1_1_slice_update.html',1,'mlx::core::SliceUpdate'],['../classmlx_1_1core_1_1_slice_update.html#aa30a7f22f557c56e1a2b5fcf44488990',1,'mlx::core::SliceUpdate::SliceUpdate()']]], - ['slicing_2eh_107',['slicing.h',['../common_2slicing_8h.html',1,'(Global Namespace)'],['../metal_2slicing_8h.html',1,'(Global Namespace)']]], - ['sm_108',['sm',['../structmlx_1_1steel_1_1_block_m_m_a.html#aa85451edf6900fd6af164d4d50889ae3',1,'mlx::steel::BlockMMA']]], - ['sn_109',['sn',['../structmlx_1_1steel_1_1_block_m_m_a.html#ade420e8b811d597345783c324c23a34a',1,'mlx::steel::BlockMMA']]], - ['softmax_110',['Softmax',['../classmlx_1_1core_1_1_softmax.html',1,'mlx::core::Softmax'],['../classmlx_1_1core_1_1_softmax.html#a4ec686aac4e06f0dfe2cbd6801af40eb',1,'mlx::core::Softmax::Softmax()']]], - ['softmax_111',['softmax',['../namespacemlx_1_1core_1_1metal.html#a4fe937c2c584fd646926057f31d54ca6',1,'mlx::core::metal::softmax()'],['../group__ops.html#ga7e9bb08b43c8fd0444b7d3c9e09dc1c6',1,'mlx::core::softmax(const array &a, const std::vector< int > &axes, bool precise=false, StreamOrDevice s={})'],['../group__ops.html#ga1ae3614d07d873892a530d14c3857d0b',1,'mlx::core::softmax(const array &a, bool precise=false, StreamOrDevice s={})'],['../group__ops.html#ga06f570d73716a24303e6de3aaba4457b',1,'mlx::core::softmax(const array &a, int axis, bool precise=false, StreamOrDevice s={})']]], - ['softmax_2eh_112',['softmax.h',['../jit_2softmax_8h.html',1,'(Global Namespace)'],['../kernels_2softmax_8h.html',1,'(Global Namespace)']]], - ['softmax_5fexp_113',['softmax_exp',['../kernels_2softmax_8h.html#a440d4031ee5e86159a4dd715e44a438b',1,'softmax.h']]], - ['softmax_5fkernels_114',['softmax_kernels',['../jit_2softmax_8h.html#a1cbfb210a9a765c6620e9f1247ccef12',1,'softmax.h']]], - ['softmax_5flooped_115',['softmax_looped',['../kernels_2softmax_8h.html#a8c47b0924ebfeebcca25f3dd17373276',1,'softmax.h']]], - ['softmax_5fn_5freads_116',['SOFTMAX_N_READS',['../defines_8h.html#a722995df24286b27b7da3d74b73f768d',1,'defines.h']]], - ['softmax_5fsingle_5frow_117',['softmax_single_row',['../kernels_2softmax_8h.html#a815fe70f879f318e5d6e99acf043f52b',1,'softmax.h']]], - ['sort_118',['Sort',['../classmlx_1_1core_1_1_sort.html',1,'mlx::core::Sort'],['../classmlx_1_1core_1_1_sort.html#a62943032dbd72e85ceb9b4b7211f4a44',1,'mlx::core::Sort::Sort()']]], - ['sort_119',['sort',['../struct_thread_sort.html#ad9ab3e6b47f7e9b91c0f3b773596986d',1,'ThreadSort::sort()'],['../struct_block_merge_sort.html#acc970f5eb963f7f2010f5ae5ea8b8bc0',1,'BlockMergeSort::sort()'],['../namespacemlx_1_1core_1_1metal.html#ab77c9a9ecaeeab8c66b712862777c24b',1,'mlx::core::metal::sort()'],['../group__ops.html#ga7fb616054665b3c2d61fa234f501f079',1,'mlx::core::sort(const array &a, StreamOrDevice s={})'],['../group__ops.html#gaae1bc47aa737f705d0e5884270063fea',1,'mlx::core::sort(const array &a, int axis, StreamOrDevice s={})']]], - ['sort_2eh_120',['sort.h',['../sort_8h.html',1,'']]], - ['special_5fmul_121',['special_mul',['../structpocketfft_1_1detail_1_1cmplx.html#a2e79f5c73c1d926361ad126cf57c8874',1,'pocketfft::detail::cmplx::special_mul()'],['../namespacepocketfft_1_1detail.html#a8da1f3d4a0b712a0285529f24187fe76',1,'pocketfft::detail::special_mul()']]], - ['split_122',['Split',['../classmlx_1_1core_1_1_split.html',1,'mlx::core::Split'],['../classmlx_1_1core_1_1_split.html#a897c746ecfdff5119cc5ae3f20499385',1,'mlx::core::Split::Split()']]], - ['split_123',['split',['../structmlx_1_1core_1_1distributed_1_1_group.html#abbf40f8979488806bc5bca9ecc4130e9',1,'mlx::core::distributed::Group::split()'],['../group__ops.html#ga7534290bceab5fb3831a05d67bebce7d',1,'mlx::core::split(const array &a, int num_splits, int axis, StreamOrDevice s={})'],['../group__ops.html#ga56882d24e5fde59c266774624c892d41',1,'mlx::core::split(const array &a, int num_splits, StreamOrDevice s={})'],['../group__ops.html#ga2cfcb1a53924882e30476c9016c5de74',1,'mlx::core::split(const array &a, const std::vector< int > &indices, int axis, StreamOrDevice s={})'],['../group__ops.html#gac324dfa3e26d3a14a35ab7962e36f0e1',1,'mlx::core::split(const array &a, const std::vector< int > &indices, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1random.html#a42847b435d037a977592e355eed072af',1,'mlx::core::random::split(const array &key, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1random.html#a7ec057064c7326c41b536f08178861e5',1,'mlx::core::random::split(const array &key, int num, StreamOrDevice s={})']]], - ['split_5fk_5fpartition_5fsize_124',['split_k_partition_size',['../structmlx_1_1steel_1_1_g_e_m_m_spilt_k_params.html#a9f5a67b2343645b570e109c3837d4042',1,'mlx::steel::GEMMSpiltKParams']]], - ['split_5fk_5fpartition_5fstride_125',['split_k_partition_stride',['../structmlx_1_1steel_1_1_g_e_m_m_spilt_k_params.html#a12144ce89d404812cd862611d770b9fb',1,'mlx::steel::GEMMSpiltKParams']]], - ['split_5fk_5fpartitions_126',['split_k_partitions',['../structmlx_1_1steel_1_1_g_e_m_m_spilt_k_params.html#ae06c27116905d4ff3b9b436e588a93fd',1,'mlx::steel::GEMMSpiltKParams']]], - ['sqrt_127',['Sqrt',['../structmlx_1_1core_1_1detail_1_1_sqrt.html',1,'mlx::core::detail::Sqrt'],['../classmlx_1_1core_1_1_sqrt.html',1,'mlx::core::Sqrt'],['../struct_sqrt.html',1,'Sqrt'],['../classmlx_1_1core_1_1_sqrt.html#a6682a7c31ca427c9d2c5ddb6a479bf29',1,'mlx::core::Sqrt::Sqrt()']]], - ['sqrt_128',['sqrt',['../namespacepocketfft_1_1detail.html#a774f8b73f28259d4276bd188b540a3e3',1,'pocketfft::detail::sqrt()'],['../namespacemetal.html#ab3f4d4852ca0e591104fbd8e5b50d31b',1,'metal::sqrt()'],['../namespacemetal_1_1fast.html#a4218a85c7d8a74cb8055b4755205627e',1,'metal::fast::sqrt()'],['../namespacemetal_1_1precise.html#acb213467361cd2cab93a8d5ea1aa5bfd',1,'metal::precise::sqrt()'],['../group__ops.html#ga297f853b3d90ec8ae81263977ba2ddb1',1,'mlx::core::sqrt()']]], - ['square_129',['Square',['../structmlx_1_1core_1_1detail_1_1_square.html',1,'mlx::core::detail::Square'],['../classmlx_1_1core_1_1_square.html',1,'mlx::core::Square'],['../struct_square.html',1,'Square'],['../classmlx_1_1core_1_1_square.html#ab94e28d5c92e6febc1c74e525f730dc4',1,'mlx::core::Square::Square()']]], - ['square_130',['square',['../group__ops.html#ga1234e4c39cfa79f19d4bdb5b8ea4d45e',1,'mlx::core']]], - ['squeeze_131',['squeeze',['../group__ops.html#ga710daa7ec721bd4d3f326082cb195576',1,'mlx::core::squeeze(const array &a, const std::vector< int > &axes, StreamOrDevice s={})'],['../group__ops.html#ga700dd51b77379a3d2260a55783e8ebf3',1,'mlx::core::squeeze(const array &a, int axis, StreamOrDevice s={})'],['../group__ops.html#ga58bad3c61fd85b95927a987ba1cf5dad',1,'mlx::core::squeeze(const array &a, StreamOrDevice s={})']]], - ['src_132',['src',['../struct_quantized_block_loader.html#abbf8249ca99e3e87b296ddd60a984b76',1,'QuantizedBlockLoader::src'],['../structmlx_1_1steel_1_1_block_loader.html#ad1db14517568ae9eddfb6986ef31c7aa',1,'mlx::steel::BlockLoader::src'],['../structmlx_1_1steel_1_1_block_loader_t.html#a7004a4efaa483cc79b8b79810a17c777',1,'mlx::steel::BlockLoaderT::src'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a656a46ee27486482b45ff90b3d626255',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::src'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a57552e9cfbafad71d47b2f3a8e027bdf',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::src'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a7bfbcc4a1e3eef7aef5dd8e8c374a95f',1,'mlx::steel::Conv2DWeightBlockLoader::src'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#afe21e46e08523232830c25eb1b4ade16',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::src'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#a8b04a69952404a04029dacc424df6e8f',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::src'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a1ee2922961b5fcb1db577928c4d9d731',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::src'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a50f458dbb74d61be2ed24727d8d43614',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::src']]], - ['src_5fld_133',['src_ld',['../struct_quantized_block_loader.html#a8050977d473d1a24fae5c833e609839e',1,'QuantizedBlockLoader::src_ld'],['../structmlx_1_1steel_1_1_block_loader.html#aadafc50f7f06af434149d7469df4714d',1,'mlx::steel::BlockLoader::src_ld'],['../structmlx_1_1steel_1_1_block_loader_t.html#aeba87e81185da6b20a092c5d240d3321',1,'mlx::steel::BlockLoaderT::src_ld'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a7464ec687323fa79050702952ed9084f',1,'mlx::steel::Conv2DWeightBlockLoader::src_ld'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#aa6bedc0cbb447eaf70c03f2e26df2cb2',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::src_ld'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a6918c1df7712c4e408e2871467ea7987',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::src_ld']]], - ['stack_134',['stack',['../group__ops.html#gaf8f2ec2b98a4b59eca73d7471df6e032',1,'mlx::core::stack(const std::vector< array > &arrays, int axis, StreamOrDevice s={})'],['../group__ops.html#ga82216209dce901296fc737fe8efa5c94',1,'mlx::core::stack(const std::vector< array > &arrays, StreamOrDevice s={})']]], - ['start_5fcapture_135',['start_capture',['../namespacemlx_1_1core_1_1metal.html#aa47cb5651bf3b65c46ab216b7e504d77',1,'mlx::core::metal']]], - ['start_5fconcurrent_136',['start_concurrent',['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#a48b548a0b15f9d1279c938a1c6167034',1,'mlx::core::metal::CommandEncoder']]], - ['start_5frow_137',['start_row',['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a220e033b689c8d6a6f319dae02b38334',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral']]], - ['status_138',['Status',['../classmlx_1_1core_1_1array.html#a199726612fa8a4bcd5c2d05eadad7078',1,'mlx::core::array']]], - ['status_139',['status',['../classmlx_1_1core_1_1array.html#a7102659be87e9ef62966696ab9b07dad',1,'mlx::core::array']]], - ['std_140',['std',['../group__ops.html#ga2a466024f8061febc0a64be557644cb0',1,'mlx::core::std(const array &a, bool keepdims, int ddof=0, StreamOrDevice s={})'],['../group__ops.html#gafdcb04d77c64405a3990078a77dd984c',1,'mlx::core::std(const array &a, StreamOrDevice s={})'],['../group__ops.html#ga7f649970bf38b987b6ef847054f3c2f8',1,'mlx::core::std(const array &a, const std::vector< int > &axes, bool keepdims=false, int ddof=0, StreamOrDevice s={})'],['../group__ops.html#ga62721a206df671ef5797449eea97af9f',1,'mlx::core::std(const array &a, int axis, bool keepdims=false, int ddof=0, StreamOrDevice s={})']]], - ['steel_5fattention_2eh_141',['steel_attention.h',['../steel__attention_8h.html',1,'']]], - ['steel_5fconst_142',['STEEL_CONST',['../steel_2defines_8h.html#a90b91c866313ffa46eff6d9cc944ad2b',1,'defines.h']]], - ['steel_5fconv_143',['steel_conv',['../namespacemlx_1_1core_1_1metal.html#a92f1e559b1121d545746f81ff86eaca1',1,'mlx::core::metal']]], - ['steel_5fconv_2eh_144',['steel_conv.h',['../jit_2steel__conv_8h.html',1,'(Global Namespace)'],['../kernels_2steel_2conv_2kernels_2steel__conv_8h.html',1,'(Global Namespace)']]], - ['steel_5fconv_5fgeneral_145',['steel_conv_general',['../namespacemlx_1_1core_1_1metal.html#a02edb6a90bdf30f4c9f0d6c25b0267b5',1,'mlx::core::metal']]], - ['steel_5fconv_5fgeneral_2eh_146',['steel_conv_general.h',['../steel__conv__general_8h.html',1,'']]], - ['steel_5fconv_5fgeneral_5fkernels_147',['steel_conv_general_kernels',['../jit_2steel__conv_8h.html#ae4ca1720029316b08ea92b7662347d47',1,'steel_conv.h']]], - ['steel_5fconv_5fkernels_148',['steel_conv_kernels',['../jit_2steel__conv_8h.html#a386d79077465df56659416fd84adb513',1,'steel_conv.h']]], - ['steel_5fgemm_2eh_149',['steel_gemm.h',['../steel__gemm_8h.html',1,'']]], - ['steel_5fgemm_5ffused_150',['steel_gemm_fused',['../namespacemlx_1_1core_1_1metal.html#a17764366deed71c160fb26091400a803',1,'mlx::core::metal']]], - ['steel_5fgemm_5ffused_2eh_151',['steel_gemm_fused.h',['../steel__gemm__fused_8h.html',1,'']]], - ['steel_5fgemm_5ffused_5fkernels_152',['steel_gemm_fused_kernels',['../steel__gemm_8h.html#a4c6009fd5357b730805f2fd4ba6e093e',1,'steel_gemm.h']]], - ['steel_5fgemm_5fmasked_153',['steel_gemm_masked',['../namespacemlx_1_1core_1_1metal.html#a962272ca73d26c08f76f706a128fd71f',1,'mlx::core::metal']]], - ['steel_5fgemm_5fmasked_2eh_154',['steel_gemm_masked.h',['../steel__gemm__masked_8h.html',1,'']]], - ['steel_5fgemm_5fmasked_5fkernels_155',['steel_gemm_masked_kernels',['../steel__gemm_8h.html#a62a358fd3ec5365081920d07aceb581c',1,'steel_gemm.h']]], - ['steel_5fgemm_5fsplitk_156',['steel_gemm_splitk',['../namespacemlx_1_1core_1_1metal.html#ad0dfd40ba7c09755711ceb731e57a5ac',1,'mlx::core::metal']]], - ['steel_5fgemm_5fsplitk_2eh_157',['steel_gemm_splitk.h',['../steel__gemm__splitk_8h.html',1,'']]], - ['steel_5fgemm_5fsplitk_5faccum_5faxbpy_5fkernels_158',['steel_gemm_splitk_accum_axbpy_kernels',['../steel__gemm_8h.html#a40a86e1381c241aba8511e51a981a4bf',1,'steel_gemm.h']]], - ['steel_5fgemm_5fsplitk_5faccum_5fkernels_159',['steel_gemm_splitk_accum_kernels',['../steel__gemm_8h.html#a144a64b8d94f0371fb144e2cc308fcf9',1,'steel_gemm.h']]], - ['steel_5fgemm_5fsplitk_5fkernels_160',['steel_gemm_splitk_kernels',['../steel__gemm_8h.html#a92108ab01d826e38bca83d8569b947d9',1,'steel_gemm.h']]], - ['steel_5fmatmul_161',['steel_matmul',['../namespacemlx_1_1core.html#ab43a7633794498e1c6775cca829eb886',1,'mlx::core']]], - ['steel_5fmatmul_5fregular_162',['steel_matmul_regular',['../namespacemlx_1_1core.html#a227588758ccc9ee869dba147e830bb74',1,'mlx::core']]], - ['steel_5fpragma_5funroll_163',['STEEL_PRAGMA_UNROLL',['../steel_2defines_8h.html#a5a5c3095b132a7589bc19cd5cb80e2c6',1,'defines.h']]], - ['step_164',['step',['../structmlx_1_1core_1_1_contiguous_iterator.html#ae230bd52b70a0bbdf560090f8a6589ef',1,'mlx::core::ContiguousIterator']]], - ['stop_165',['stop',['../structmlx_1_1core_1_1scheduler_1_1_stream_thread.html#a456ad1c0c9e731833a2f8411c4ed51aa',1,'mlx::core::scheduler::StreamThread']]], - ['stop_5fcapture_166',['stop_capture',['../namespacemlx_1_1core_1_1metal.html#ac90714424e36fb01e04550de69b8314f',1,'mlx::core::metal']]], - ['stop_5fgradient_167',['stop_gradient',['../group__ops.html#ga36bc28f1deb2fe668ca9ae1e447b6b1f',1,'mlx::core']]], - ['stopgradient_168',['StopGradient',['../classmlx_1_1core_1_1_stop_gradient.html',1,'mlx::core::StopGradient'],['../classmlx_1_1core_1_1_stop_gradient.html#ac70d1ab819d04e00f76bc25aeebaf84f',1,'mlx::core::StopGradient::StopGradient()']]], - ['store_169',['store',['../structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#aa8f50ea8961ec5b35c1b81366d64f2cb',1,'mlx::steel::BaseMMAFrag< T, 8, 8 >::store()'],['../structmlx_1_1steel_1_1_m_m_a_tile.html#a2aadaa3239cb3af0c2ee8af9b88c8a98',1,'mlx::steel::MMATile::store(threadgroup U *dst) const'],['../structmlx_1_1steel_1_1_m_m_a_tile.html#a752f708e4fe5ef37fdd902dae153179f',1,'mlx::steel::MMATile::store(device U *dst, const int ld) const'],['../structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#aa8f50ea8961ec5b35c1b81366d64f2cb',1,'mlx::steel::BaseMMAFrag< T, 8, 8 >::store()'],['../structmlx_1_1steel_1_1_m_m_a_tile.html#a2aadaa3239cb3af0c2ee8af9b88c8a98',1,'mlx::steel::MMATile::store(threadgroup U *dst) const'],['../structmlx_1_1steel_1_1_m_m_a_tile.html#a752f708e4fe5ef37fdd902dae153179f',1,'mlx::steel::MMATile::store(device U *dst, const int ld) const']]], - ['store_5fresult_170',['store_result',['../structmlx_1_1steel_1_1_block_m_m_a.html#a0461451ffb5041b6a916ea17ed34288b',1,'mlx::steel::BlockMMA::store_result(device U *D, const int ldd)'],['../structmlx_1_1steel_1_1_block_m_m_a.html#a7cf757e9785e23997b1417e024559ed3',1,'mlx::steel::BlockMMA::store_result(device U *D, const int ldd, const device U *C, const int ldc, const int fdc, thread const Epilogue &epilogue_op) const'],['../structmlx_1_1steel_1_1_block_m_m_a.html#a0461451ffb5041b6a916ea17ed34288b',1,'mlx::steel::BlockMMA::store_result(device U *D, const int ldd)'],['../structmlx_1_1steel_1_1_block_m_m_a.html#a7cf757e9785e23997b1417e024559ed3',1,'mlx::steel::BlockMMA::store_result(device U *D, const int ldd, const device U *C, const int ldc, const int fdc, thread const Epilogue &epilogue_op) const']]], - ['store_5fresult_5fsafe_171',['store_result_safe',['../structmlx_1_1steel_1_1_block_m_m_a.html#a081ba538d30d1d02498a7f341e6bd611',1,'mlx::steel::BlockMMA::store_result_safe(device U *D, const int ldd, short2 dst_tile_dims)'],['../structmlx_1_1steel_1_1_block_m_m_a.html#a7b324c992750ed3aaa4c485f15b2f391',1,'mlx::steel::BlockMMA::store_result_safe(device U *D, const int ldd, const device U *C, const int ldc, const int fdc, short2 dst_tile_dims, thread const Epilogue &epilogue_op) const'],['../structmlx_1_1steel_1_1_block_m_m_a.html#a081ba538d30d1d02498a7f341e6bd611',1,'mlx::steel::BlockMMA::store_result_safe(device U *D, const int ldd, short2 dst_tile_dims)'],['../structmlx_1_1steel_1_1_block_m_m_a.html#a7b324c992750ed3aaa4c485f15b2f391',1,'mlx::steel::BlockMMA::store_result_safe(device U *D, const int ldd, const device U *C, const int ldc, const int fdc, short2 dst_tile_dims, thread const Epilogue &epilogue_op) const']]], - ['store_5fsafe_172',['store_safe',['../structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#a1f0b00daad8eba2f855bb306e70d2328',1,'mlx::steel::BaseMMAFrag< T, 8, 8 >::store_safe()'],['../structmlx_1_1steel_1_1_m_m_a_tile.html#a57703f522c7409dbe2c0a68bb7acc2ba',1,'mlx::steel::MMATile::store_safe()'],['../structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#a1f0b00daad8eba2f855bb306e70d2328',1,'mlx::steel::BaseMMAFrag< T, 8, 8 >::store_safe()'],['../structmlx_1_1steel_1_1_m_m_a_tile.html#a57703f522c7409dbe2c0a68bb7acc2ba',1,'mlx::steel::MMATile::store_safe()']]], - ['str_173',['str',['../classpocketfft_1_1detail_1_1arr__info.html#abe1f7b92501b4e0e5a38fd26294ac5a4',1,'pocketfft::detail::arr_info::str'],['../struct_m_l_x_conv_params.html#a862191e8ab1bc8a47aa1396b36d46058',1,'MLXConvParams::str']]], - ['stream_174',['Stream',['../structmlx_1_1core_1_1_stream.html',1,'mlx::core::Stream'],['../structmlx_1_1core_1_1_stream.html#a7f0815ff4886da74cbbff5f93d82dd3e',1,'mlx::core::Stream::Stream()']]], - ['stream_175',['stream',['../structmlx_1_1core_1_1scheduler_1_1_stream_thread.html#a8462e4acffcd385c6248bd7102e6bcb1',1,'mlx::core::scheduler::StreamThread::stream'],['../classmlx_1_1core_1_1_event.html#a193143bad31b68c699fa27f135b45614',1,'mlx::core::Event::stream()'],['../classmlx_1_1core_1_1_primitive.html#a46e6257397a662528f9f831842ac456a',1,'mlx::core::Primitive::stream()']]], - ['stream_2eh_176',['stream.h',['../stream_8h.html',1,'']]], - ['streamcontext_177',['StreamContext',['../structmlx_1_1core_1_1_stream_context.html',1,'mlx::core::StreamContext'],['../structmlx_1_1core_1_1_stream_context.html#a89d803151e9d7dce29382aa83d5c6ef1',1,'mlx::core::StreamContext::StreamContext()']]], - ['streamordevice_178',['StreamOrDevice',['../namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58',1,'mlx::core']]], - ['streamthread_179',['StreamThread',['../structmlx_1_1core_1_1scheduler_1_1_stream_thread.html',1,'mlx::core::scheduler::StreamThread'],['../structmlx_1_1core_1_1scheduler_1_1_stream_thread.html#ac528109a11abcb82e6e221c5efa4493c',1,'mlx::core::scheduler::StreamThread::StreamThread()']]], - ['stride_180',['stride',['../classpocketfft_1_1detail_1_1arr__info.html#a9d10aa83a1117e75d36f7396b8c2a093',1,'pocketfft::detail::arr_info::stride() const'],['../classpocketfft_1_1detail_1_1arr__info.html#ac1f6a9bd6703eceef6003f5f6315d39b',1,'pocketfft::detail::arr_info::stride(size_t i) const']]], - ['stride_5fin_181',['stride_in',['../classpocketfft_1_1detail_1_1multi__iter.html#ac947f03b1cfcb63436a7e61ff020a88c',1,'pocketfft::detail::multi_iter']]], - ['stride_5fout_182',['stride_out',['../classpocketfft_1_1detail_1_1multi__iter.html#a81d71a13bf0b85e556fbb9834167ecc7',1,'pocketfft::detail::multi_iter']]], - ['stride_5ft_183',['stride_t',['../namespacepocketfft_1_1detail.html#afb987c919e9424a996d0fc8b3c23cc84',1,'pocketfft::detail']]], - ['strided_5fdevice_5fidx_184',['strided_device_idx',['../struct_read_writer.html#a4c0b12484aac4fd6759d67c190391989',1,'ReadWriter']]], - ['strided_5freduce_5fgeneral_5fdispatch_185',['strided_reduce_general_dispatch',['../namespacemlx_1_1core.html#aa0332c64ee9965f05026c30a0b778000',1,'mlx::core']]], - ['strided_5fscan_186',['strided_scan',['../scan_8h.html#a7abb6ffb6c3b96b88c2a63cd4cc2f7ae',1,'scan.h']]], - ['strided_5fshared_5fidx_187',['strided_shared_idx',['../struct_read_writer.html#ace40adb02cfb33d89c98353327c251fc',1,'ReadWriter']]], - ['strides_188',['strides',['../structmlx_1_1core_1_1_reduction_plan.html#a9bf7cae845ab633247c1811613ece8bd',1,'mlx::core::ReductionPlan::strides'],['../struct_indices.html#a7f73d7652f0f751e6a06c2663e329a4a',1,'Indices::strides'],['../structmlx_1_1core_1_1fast_1_1_custom_kernel_shape_info.html#a63954de7da62942ec69afcaaa19d46f2',1,'mlx::core::fast::CustomKernelShapeInfo::strides'],['../classmlx_1_1core_1_1array.html#a186cf2648da92584d5c1c8b24e69629b',1,'mlx::core::array::strides() const'],['../classmlx_1_1core_1_1array.html#a919f850ca087d1c40aa68f854cb30be2',1,'mlx::core::array::strides(int dim) const']]], - ['submit_189',['submit',['../classpocketfft_1_1detail_1_1threading_1_1thread__pool.html#a8698d49e8f406cdb88006aac6a91f9a4',1,'pocketfft::detail::threading::thread_pool']]], - ['subop_190',['SubOp',['../struct_sub_op.html',1,'']]], - ['subtract_191',['Subtract',['../structmlx_1_1core_1_1detail_1_1_subtract.html',1,'mlx::core::detail::Subtract'],['../classmlx_1_1core_1_1_subtract.html',1,'mlx::core::Subtract'],['../struct_subtract.html',1,'Subtract'],['../classmlx_1_1core_1_1_subtract.html#a834854757394f8de7082af65bf86ed9c',1,'mlx::core::Subtract::Subtract()']]], - ['subtract_192',['subtract',['../group__ops.html#ga196c240d3d0fcbb4713802c485e15133',1,'mlx::core']]], - ['sum_193',['Sum',['../struct_sum.html',1,'Sum< U >'],['../classmlx_1_1core_1_1distributed_1_1_all_reduce.html#abb4560980e5d01aed14175ce8f6fc924a1fc7c1f09c80650ab0497e2d6781d65f',1,'mlx::core::distributed::AllReduce::Sum'],['../classmlx_1_1core_1_1_reduce.html#a0848518b16ae6d4043d6be247bdf31c9a8582875544f1d3d396a1a376473ef1dd',1,'mlx::core::Reduce::Sum'],['../classmlx_1_1core_1_1_scan.html#a47bf2ec54ead4b8f00f9f188518630f1ade23893033e4849f5596e7ce76a5fc36',1,'mlx::core::Scan::Sum'],['../classmlx_1_1core_1_1_scatter.html#a614d19af11dc30644b2b4941033b613ca14abe2d8818efa71726be4e156813d6f',1,'mlx::core::Scatter::Sum']]], - ['sum_194',['sum',['../namespacemlx_1_1steel.html#ab4a6ddea4beb7c447cf5b69b9d46cc3b',1,'mlx::steel::sum(T x)'],['../namespacemlx_1_1steel.html#acd6e194d37b617d7a5818bc384a97fe4',1,'mlx::steel::sum(T x, Us... us)'],['../group__ops.html#gade905ee92eb6ab7edfc312aeddfbaeb6',1,'mlx::core::sum(const array &a, bool keepdims, StreamOrDevice s={})'],['../group__ops.html#ga3627754d7868487bdab1bd83f05d9c81',1,'mlx::core::sum(const array &a, StreamOrDevice s={})'],['../group__ops.html#gaccd0a6be2c5b5128fdc2d87b5c8e67f4',1,'mlx::core::sum(const array &a, const std::vector< int > &axes, bool keepdims=false, StreamOrDevice s={})'],['../group__ops.html#gafcd39b0bf39a56c26a967981c7ab8a8d',1,'mlx::core::sum(const array &a, int axis, bool keepdims=false, StreamOrDevice s={})']]], - ['sumop_195',['SumOp',['../struct_sum_op.html',1,'']]], - ['svd_196',['SVD',['../classmlx_1_1core_1_1_s_v_d.html',1,'mlx::core::SVD'],['../classmlx_1_1core_1_1_s_v_d.html#ae89ff583e34fa894cccb8e7a475ee6d1',1,'mlx::core::SVD::SVD()']]], - ['svd_197',['svd',['../namespacemlx_1_1core_1_1linalg.html#a64364b880e99914cf47bf756fa8dbaf0',1,'mlx::core::linalg']]], - ['swapaxes_198',['swapaxes',['../group__ops.html#gabc46eed81ab6c6247903e4ec0c4ec1fb',1,'mlx::core']]], - ['swizzle_199',['swizzle',['../structmlx_1_1steel_1_1_block_swizzle.html#a98e558d63826d2aaa06d3e65a06d2760',1,'mlx::steel::BlockSwizzle::swizzle(uint3 tid, const int swizzle_log)'],['../structmlx_1_1steel_1_1_block_swizzle.html#a98e558d63826d2aaa06d3e65a06d2760',1,'mlx::steel::BlockSwizzle::swizzle(uint3 tid, const int swizzle_log)']]], - ['swizzle_5flog_200',['swizzle_log',['../structmlx_1_1steel_1_1_implicit_gemm_conv2_d_params.html#ad0713159d4f710cd9a066596593d8840',1,'mlx::steel::ImplicitGemmConv2DParams::swizzle_log'],['../structmlx_1_1steel_1_1_g_e_m_m_params.html#af9ff2c06dd8994126634531440325be7',1,'mlx::steel::GEMMParams::swizzle_log']]], - ['synchronize_201',['synchronize',['../namespacemlx_1_1core.html#a14287949d82ffefad0306cef5eb5f9e4',1,'mlx::core::synchronize()'],['../namespacemlx_1_1core.html#a6648a71937b055e5ff513d98056c2fb5',1,'mlx::core::synchronize(Stream)']]] + ['scale_5f_7',['scale_',['../classmlx_1_1core_1_1fast_1_1_ro_p_e.html#aa3b6ec6bb0766fb2f4f805d49d540f40',1,'mlx::core::fast::RoPE::scale_'],['../classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention.html#a3d4ef9a11114c8f69e35e2f1d78e5f7a',1,'mlx::core::fast::ScaledDotProductAttention::scale_']]], + ['scaled_5fdot_5fproduct_5fattention_8',['scaled_dot_product_attention',['../namespacemlx_1_1core_1_1fast.html#a3663b50265b0a9c0cca2b5376852e059',1,'mlx::core::fast']]], + ['scaleddotproductattention_9',['ScaledDotProductAttention',['../classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention.html',1,'mlx::core::fast::ScaledDotProductAttention'],['../classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention.html#a6a904c377fffc3c193102a3123f5e706',1,'mlx::core::fast::ScaledDotProductAttention::ScaledDotProductAttention()']]], + ['scaleop_10',['ScaleOp',['../struct_scale_op.html',1,'']]], + ['scales_11',['scales',['../struct_quantized_block_loader.html#a6123e4a9209d6eacb58b2c2344ed1ecf',1,'QuantizedBlockLoader']]], + ['scan_12',['Scan',['../classmlx_1_1core_1_1_scan.html',1,'mlx::core::Scan'],['../classmlx_1_1core_1_1_scan.html#ac93e8f9c6771de825d2186ef34fa7087',1,'mlx::core::Scan::Scan()']]], + ['scan_13',['scan',['../namespacemlx_1_1core_1_1metal.html#a81c2cf124b0803098a54a78f8f6873a6',1,'mlx::core::metal']]], + ['scan_2eh_14',['scan.h',['../scan_8h.html',1,'']]], + ['scatter_15',['Scatter',['../classmlx_1_1core_1_1_scatter.html',1,'mlx::core::Scatter'],['../classmlx_1_1core_1_1_scatter.html#ac9b3eff67389ef9aa820753379ffeaa3',1,'mlx::core::Scatter::Scatter()']]], + ['scatter_16',['scatter',['../namespacemlx_1_1core_1_1metal.html#a32e902c6cd6d35fcc3119ed6685a170f',1,'mlx::core::metal::scatter()'],['../group__ops.html#gad438be8f90bae9d37c6853b8f4225d61',1,'mlx::core::scatter(const array &a, const std::vector< array > &indices, const array &updates, const std::vector< int > &axes, StreamOrDevice s={})'],['../group__ops.html#gac2c2b379a3ce959dbe1c4a68f112edfe',1,'mlx::core::scatter(const array &a, const array &indices, const array &updates, int axis, StreamOrDevice s={})']]], + ['scatter_2eh_17',['scatter.h',['../scatter_8h.html',1,'']]], + ['scatter_5fadd_18',['scatter_add',['../group__ops.html#gacd14c2b5cfebf343fc2d672722f8d174',1,'mlx::core::scatter_add(const array &a, const std::vector< array > &indices, const array &updates, const std::vector< int > &axes, StreamOrDevice s={})'],['../group__ops.html#gac13318518e5703f1273c5366eb523a5a',1,'mlx::core::scatter_add(const array &a, const array &indices, const array &updates, int axis, StreamOrDevice s={})']]], + ['scatter_5fimpl_19',['scatter_impl',['../scatter_8h.html#a0df7206d4519defb48a6275afc12f87c',1,'scatter.h']]], + ['scatter_5fkernels_20',['scatter_kernels',['../jit_2indexing_8h.html#a768c949cd650a44c6b402fc1440c1a56',1,'indexing.h']]], + ['scatter_5fmax_21',['scatter_max',['../group__ops.html#ga05881a4157cd113c9392d168a79e6673',1,'mlx::core::scatter_max(const array &a, const std::vector< array > &indices, const array &updates, const std::vector< int > &axes, StreamOrDevice s={})'],['../group__ops.html#ga9adda5f9202bb3486e4d9e1114e3a56f',1,'mlx::core::scatter_max(const array &a, const array &indices, const array &updates, int axis, StreamOrDevice s={})']]], + ['scatter_5fmin_22',['scatter_min',['../group__ops.html#ga0ca16b7579dfc899f3f7fd40245ba7c5',1,'mlx::core::scatter_min(const array &a, const std::vector< array > &indices, const array &updates, const std::vector< int > &axes, StreamOrDevice s={})'],['../group__ops.html#ga51fa762a997c243ca7a19e1ed3e83199',1,'mlx::core::scatter_min(const array &a, const array &indices, const array &updates, int axis, StreamOrDevice s={})']]], + ['scatter_5fprod_23',['scatter_prod',['../group__ops.html#ga3708b5bcb61e2c63d213c4ce6ad0ffc0',1,'mlx::core::scatter_prod(const array &a, const std::vector< array > &indices, const array &updates, const std::vector< int > &axes, StreamOrDevice s={})'],['../group__ops.html#gaf83c53c453faa9083ba27e4b97539339',1,'mlx::core::scatter_prod(const array &a, const array &indices, const array &updates, int axis, StreamOrDevice s={})']]], + ['scheduled_24',['scheduled',['../classmlx_1_1core_1_1array.html#a199726612fa8a4bcd5c2d05eadad7078af8a6f8eed2395ab89a758dec434393ae',1,'mlx::core::array']]], + ['scheduler_25',['Scheduler',['../classmlx_1_1core_1_1scheduler_1_1_scheduler.html',1,'mlx::core::scheduler::Scheduler'],['../classmlx_1_1core_1_1scheduler_1_1_scheduler.html#a3ae42aed78a2200e9d02776fcd2316ba',1,'mlx::core::scheduler::Scheduler::Scheduler()'],['../classmlx_1_1core_1_1scheduler_1_1_scheduler.html#a61a74e3628899e66dde600e24a750648',1,'mlx::core::scheduler::Scheduler::Scheduler(const Scheduler &)=delete'],['../classmlx_1_1core_1_1scheduler_1_1_scheduler.html#ac3f77b7c93220dadd0b3bb2e903b7059',1,'mlx::core::scheduler::Scheduler::Scheduler(Scheduler &&)=delete']]], + ['scheduler_26',['scheduler',['../namespacemlx_1_1core_1_1scheduler.html#ae856e468c2f7c8f8ec672522cc13730b',1,'mlx::core::scheduler']]], + ['scheduler_2eh_27',['scheduler.h',['../scheduler_8h.html',1,'']]], + ['sdpa_5fvector_28',['sdpa_vector',['../sdpa__vector_8h.html#a4bf36f16e16c1c62d9b243573568e5ae',1,'sdpa_vector.h']]], + ['sdpa_5fvector_2eh_29',['sdpa_vector.h',['../sdpa__vector_8h.html',1,'']]], + ['sdpa_5fvector_5f2pass_5f1_30',['sdpa_vector_2pass_1',['../sdpa__vector_8h.html#ae070ec482c79c5b3bd19dd03ea42ec74',1,'sdpa_vector.h']]], + ['sdpa_5fvector_5f2pass_5f2_31',['sdpa_vector_2pass_2',['../sdpa__vector_8h.html#a1368cf3618a4e03dbf743b3463205efe',1,'sdpa_vector.h']]], + ['seed_32',['seed',['../classmlx_1_1core_1_1random_1_1_key_sequence.html#a9f19c5da2031cba50d0ff996924347d8',1,'mlx::core::random::KeySequence::seed()'],['../namespacemlx_1_1core_1_1random.html#ac4ad325b613257306df74595d3d0e23b',1,'mlx::core::random::seed()']]], + ['seek_33',['seek',['../structmlx_1_1core_1_1_contiguous_iterator.html#a24719ee9e8667885d29c2ad74445520c',1,'mlx::core::ContiguousIterator::seek()'],['../classmlx_1_1core_1_1io_1_1_reader.html#acea55078bd39ccaa27a9a36f17a39cd1',1,'mlx::core::io::Reader::seek()'],['../classmlx_1_1core_1_1io_1_1_writer.html#a9c1716dda53aa36faea9c8fb1a3e34d4',1,'mlx::core::io::Writer::seek()'],['../classmlx_1_1core_1_1io_1_1_parallel_file_reader.html#a673c16b669f3cee13f387b7b0a1f39f7',1,'mlx::core::io::ParallelFileReader::seek()'],['../classmlx_1_1core_1_1io_1_1_file_writer.html#a9646f4ea048ae58719daeb588e2de433',1,'mlx::core::io::FileWriter::seek()']]], + ['select_34',['Select',['../structmlx_1_1core_1_1detail_1_1_select.html',1,'mlx::core::detail::Select'],['../classmlx_1_1core_1_1_select.html',1,'mlx::core::Select'],['../struct_select.html',1,'Select'],['../classmlx_1_1core_1_1_select.html#a6f833fe55dd68ad3726bbf9a8f75eec9',1,'mlx::core::Select::Select()']]], + ['send_35',['Send',['../classmlx_1_1core_1_1distributed_1_1_send.html',1,'mlx::core::distributed::Send'],['../classmlx_1_1core_1_1distributed_1_1_send.html#a2481dd876b14d4a13ac466cbca9c4eac',1,'mlx::core::distributed::Send::Send()']]], + ['send_36',['send',['../namespacemlx_1_1core_1_1distributed_1_1detail.html#abf33511660ac71df5fc92f2aad6c6e08',1,'mlx::core::distributed::detail::send()'],['../namespacemlx_1_1core_1_1distributed.html#a5a8360edaa3a528a3927fce4d2cf1777',1,'mlx::core::distributed::send()']]], + ['set_37',['Set',['../structpocketfft_1_1detail_1_1cmplx.html#a647fece372b64b13c4a7e5877d09a807',1,'pocketfft::detail::cmplx::Set(T r_, T i_)'],['../structpocketfft_1_1detail_1_1cmplx.html#a447d26b2e07f6e45f29d865e906c0a98',1,'pocketfft::detail::cmplx::Set(T r_)']]], + ['set_5fbytes_38',['set_bytes',['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#a9c343f791812a45c6c03a5c9f27f74d5',1,'mlx::core::metal::CommandEncoder::set_bytes(const T *v, int n, int idx)'],['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#abc52d18ea87d213c47fd26062c829849',1,'mlx::core::metal::CommandEncoder::set_bytes(const T &v, int idx)']]], + ['set_5fcache_5flimit_39',['set_cache_limit',['../classmlx_1_1core_1_1metal_1_1_metal_allocator.html#af392bced29d9e4e3f1a7cc4725d83764',1,'mlx::core::metal::MetalAllocator::set_cache_limit()'],['../namespacemlx_1_1core_1_1metal.html#ab09c9b60f1e886ab859e6a066c9a5b9d',1,'mlx::core::metal::set_cache_limit()']]], + ['set_5fcompile_5fmode_40',['set_compile_mode',['../namespacemlx_1_1core.html#a49445a55f976c4397f25ea18e1e92bef',1,'mlx::core']]], + ['set_5fcompute_5fpipeline_5fstate_41',['set_compute_pipeline_state',['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#a6d4c03a6585deedb5ccd1a1057d0c6ef',1,'mlx::core::metal::CommandEncoder']]], + ['set_5fdata_42',['set_data',['../classmlx_1_1core_1_1array.html#af9e3a02b4c0023c36248dc75c887214f',1,'mlx::core::array::set_data(allocator::Buffer buffer, Deleter d=allocator::free)'],['../classmlx_1_1core_1_1array.html#a5f338202a39d37fa3f4241e851a15838',1,'mlx::core::array::set_data(allocator::Buffer buffer, size_t data_size, Strides strides, Flags flags, Deleter d=allocator::free)']]], + ['set_5fdefault_5fdevice_43',['set_default_device',['../namespacemlx_1_1core.html#a312a2de41367fe52caeaf8c0f596a120',1,'mlx::core']]], + ['set_5fdefault_5fstream_44',['set_default_stream',['../classmlx_1_1core_1_1scheduler_1_1_scheduler.html#a6d15314ac9cf25efc9bd1278de9a66bb',1,'mlx::core::scheduler::Scheduler::set_default_stream()'],['../namespacemlx_1_1core.html#af35a2b06517d8bb7dbb469692b4f841c',1,'mlx::core::set_default_stream()']]], + ['set_5finput_5farray_45',['set_input_array',['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#ab69ff0d7f14b9b59db4df0608193dce4',1,'mlx::core::metal::CommandEncoder']]], + ['set_5fmemory_5flimit_46',['set_memory_limit',['../classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a179e3127ef9377ce54295f771c34ba1b',1,'mlx::core::metal::MetalAllocator::set_memory_limit()'],['../namespacemlx_1_1core_1_1metal.html#a3fb2c4a237fa4bfdff798156146c4937',1,'mlx::core::metal::set_memory_limit()']]], + ['set_5foutput_5farray_47',['set_output_array',['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#a6a2e28e542eaa2886041bddd51ff6522',1,'mlx::core::metal::CommandEncoder']]], + ['set_5fresidency_5fset_48',['set_residency_set',['../classmlx_1_1core_1_1metal_1_1_device.html#a03a2f0c712660a1bd437cb16e4aba79f',1,'mlx::core::metal::Device']]], + ['set_5fsiblings_49',['set_siblings',['../classmlx_1_1core_1_1array.html#a8fccbe7a4edfd8cca168161124e263b1',1,'mlx::core::array']]], + ['set_5fstatus_50',['set_status',['../classmlx_1_1core_1_1array.html#a63598018999b49f1340b183cb303f05c',1,'mlx::core::array']]], + ['set_5ftracer_51',['set_tracer',['../classmlx_1_1core_1_1array.html#af26e6be1a9e6239471a4c24310c0c7c8',1,'mlx::core::array']]], + ['set_5fvalue_52',['set_value',['../classmlx_1_1core_1_1_event.html#a0d077b11f4b28f882b42440b7ac6d40d',1,'mlx::core::Event']]], + ['set_5fvector_5fbytes_53',['set_vector_bytes',['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#a68c3c6a036e11ec40211c09811bbed1b',1,'mlx::core::metal::CommandEncoder::set_vector_bytes(const std::vector< T > &vec, size_t nelems, int idx)'],['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#a7375adf9ee5355bcf4b7f5f210efd115',1,'mlx::core::metal::CommandEncoder::set_vector_bytes(const std::vector< T > &vec, int idx)']]], + ['set_5fwired_5flimit_54',['set_wired_limit',['../classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a84fa0347da18055bc13ba0a5c4b57253',1,'mlx::core::metal::MetalAllocator::set_wired_limit()'],['../namespacemlx_1_1core_1_1metal.html#a31eab4828d31d292bc84e07b0d961e1e',1,'mlx::core::metal::set_wired_limit()']]], + ['shape_55',['Shape',['../namespacemlx_1_1core.html#a9be5b57d393e66169279cf521813af9b',1,'mlx::core']]], + ['shape_56',['shape',['../structmlx_1_1core_1_1_reduction_plan.html#a6cfa8771fa9caf6fdcc3d74c9fca83ae',1,'mlx::core::ReductionPlan::shape'],['../structmlx_1_1steel_1_1_layout2_d.html#a23183747ab1ddbdd3f1fcac6d0faa2cd',1,'mlx::steel::Layout2D::shape'],['../structmlx_1_1core_1_1fast_1_1_custom_kernel_shape_info.html#a63db720fe0c2abc4b71e22a58a015f8a',1,'mlx::core::fast::CustomKernelShapeInfo::shape'],['../classpocketfft_1_1detail_1_1arr__info.html#accada8146cb8d3ab7facb4c1e3413ec0',1,'pocketfft::detail::arr_info::shape() const'],['../classpocketfft_1_1detail_1_1arr__info.html#ac601c660c64a4c252aa8be4ae7dfa7a8',1,'pocketfft::detail::arr_info::shape(size_t i) const'],['../classmlx_1_1core_1_1array.html#a1d06c76b0f3010a5c329d0e9e29e0597',1,'mlx::core::array::shape() const'],['../classmlx_1_1core_1_1array.html#ac50382b652f6e8fbd50d42b7ff595810',1,'mlx::core::array::shape(int dim) const']]], + ['shape2d_57',['Shape2D',['../structmlx_1_1steel_1_1_shape2_d.html',1,'mlx::steel::Shape2D< RInt, CInt >'],['../structmlx_1_1steel_1_1_shape2_d.html#a070ce70eb6d84361c7f313159c438a5c',1,'mlx::steel::Shape2D::Shape2D()']]], + ['shape_5ft_58',['shape_t',['../namespacepocketfft_1_1detail.html#a885ee37fcf564a268a5c8ca9ea8603e1',1,'pocketfft::detail']]], + ['shapes_59',['shapes',['../struct_indices.html#a5ab170f1a77636180889ddfffd4f7d2f',1,'Indices']]], + ['shapes_5fwithout_5freduction_5faxes_60',['shapes_without_reduction_axes',['../namespacemlx_1_1core.html#a44c3ea6db6553c3f6552b9ba64a69494',1,'mlx::core']]], + ['shared_5fbuffer_5fslice_61',['shared_buffer_slice',['../namespacemlx_1_1core.html#aea2a6a4eddfd4cfac89d20786059de2a',1,'mlx::core']]], + ['shp_62',['shp',['../classpocketfft_1_1detail_1_1arr__info.html#a2467e9e01de1ba4d7cd28c1af783da8d',1,'pocketfft::detail::arr_info']]], + ['shutdown_63',['shutdown',['../classpocketfft_1_1detail_1_1threading_1_1thread__pool.html#a0c7c29290fde806031c497f24c4ad411',1,'pocketfft::detail::threading::thread_pool']]], + ['siblings_64',['siblings',['../classmlx_1_1core_1_1array.html#acf80fde8f743f65ad5b4be69fcb7a74d',1,'mlx::core::array::siblings() const'],['../classmlx_1_1core_1_1array.html#a7263f23e70a580a9bc2129fbcde36e6c',1,'mlx::core::array::siblings()']]], + ['sigmoid_65',['Sigmoid',['../structmlx_1_1core_1_1detail_1_1_sigmoid.html',1,'mlx::core::detail::Sigmoid'],['../classmlx_1_1core_1_1_sigmoid.html',1,'mlx::core::Sigmoid'],['../struct_sigmoid.html',1,'Sigmoid'],['../classmlx_1_1core_1_1_sigmoid.html#a47eca99113ec19f0eb60b6a0472c592b',1,'mlx::core::Sigmoid::Sigmoid()']]], + ['sigmoid_66',['sigmoid',['../group__ops.html#ga708abf8f79609cd6831db7c38cafac0e',1,'mlx::core']]], + ['sign_67',['Sign',['../structmlx_1_1core_1_1detail_1_1_sign.html',1,'mlx::core::detail::Sign'],['../classmlx_1_1core_1_1_sign.html',1,'mlx::core::Sign'],['../struct_sign.html',1,'Sign'],['../classmlx_1_1core_1_1_sign.html#afe951e50907bc23a601ec5fa9eae5763',1,'mlx::core::Sign::Sign()']]], + ['sign_68',['sign',['../group__ops.html#ga20f1a1a8c0cd6206485f9363f3915faa',1,'mlx::core']]], + ['signal_69',['signal',['../classmlx_1_1core_1_1_event.html#a65a858445506a61be5889ae0e3651b89',1,'mlx::core::Event']]], + ['signaling_5fnan_70',['signaling_NaN',['../structmetal_1_1__numeric__limits__impl_3_01bfloat16__t_01_4.html#ad1f76a43c7d51a3765174aa6e0dd9f80',1,'metal::_numeric_limits_impl< bfloat16_t >']]], + ['signedinteger_71',['signedinteger',['../structmlx_1_1core_1_1_dtype.html#ac091c39cbd6686ef69aa1e5a2425aa2daed58b4631ff157bec9e35ed1182d2c10',1,'mlx::core::Dtype::signedinteger'],['../namespacemlx_1_1core.html#a24e1618af591d737d73729665e868001',1,'mlx::core::signedinteger']]], + ['simd_5fbroadcast_72',['simd_broadcast',['../namespacemetal.html#a498f1e85107eb5f01ba4435977f8efe0',1,'metal']]], + ['simd_5fexclusive_5fscan_73',['simd_exclusive_scan',['../struct_cum_prod_3_01bool_01_4.html#a1a86e9398bae24182b7be0a6577bf223',1,'CumProd< bool >::simd_exclusive_scan()'],['../struct_cum_max.html#ae11b67aa6c998e9a01615b2a79af4403',1,'CumMax::simd_exclusive_scan()'],['../struct_cum_min.html#a83e65017ff33018b585c043fb803773b',1,'CumMin::simd_exclusive_scan()']]], + ['simd_5fmax_74',['simd_max',['../namespacemetal.html#a048cad0aca52cb737ebf103e76bd1c49',1,'metal']]], + ['simd_5fmin_75',['simd_min',['../namespacemetal.html#ae9e2a23e00724ba2d7868bc4112b386b',1,'metal']]], + ['simd_5fprefix_5fexclusive_5fproduct_76',['simd_prefix_exclusive_product',['../namespacemetal.html#a5ca40242390b632f737e29636829b2e4',1,'metal']]], + ['simd_5fprefix_5fexclusive_5fsum_77',['simd_prefix_exclusive_sum',['../namespacemetal.html#abfbb70c7471f28bf7ff36a612ad014b2',1,'metal']]], + ['simd_5fprefix_5finclusive_5fproduct_78',['simd_prefix_inclusive_product',['../namespacemetal.html#a6ca6a7e1996228fa536e969e9e45c446',1,'metal']]], + ['simd_5fprefix_5finclusive_5fsum_79',['simd_prefix_inclusive_sum',['../namespacemetal.html#a567acb18199ac0107712eb8cb8aeb8e9',1,'metal']]], + ['simd_5fproduct_80',['simd_product',['../namespacemetal.html#ac6e883a04e2265a9790d7db76059e1b4',1,'metal']]], + ['simd_5fscan_81',['simd_scan',['../struct_cum_prod_3_01bool_01_4.html#abeb5ec4237b330e7219f4e881cf10d7a',1,'CumProd< bool >::simd_scan()'],['../struct_cum_max.html#adc9ec8bb09b4433d4c2f03022c43d781',1,'CumMax::simd_scan()'],['../struct_cum_min.html#a0a1005d91b1c90e90e2c6dbd6c296649',1,'CumMin::simd_scan()']]], + ['simd_5fshuffle_82',['simd_shuffle',['../namespacemetal.html#a259ed115bc3c58f88eb35830916b26d4',1,'metal::simd_shuffle()'],['../backend_2metal_2kernels_2utils_8h.html#a71986ecdd7d18f975dd22c3df7421ce2',1,'simd_shuffle(uint64_t data, uint16_t lane): utils.h'],['../backend_2metal_2kernels_2utils_8h.html#a3bdbdfeb7a1dde40cd3ce1df8d9213b5',1,'simd_shuffle(int64_t data, uint16_t lane): utils.h'],['../backend_2metal_2kernels_2utils_8h.html#ab4cbcdb054f9165130da91a3334da0cf',1,'simd_shuffle(bool data, uint16_t lane): utils.h'],['../backend_2metal_2kernels_2utils_8h.html#ab8175b66bcc080fb89f738143568c30b',1,'simd_shuffle(complex64_t data, uint16_t lane): utils.h']]], + ['simd_5fshuffle_5fand_5ffill_5fdown_83',['simd_shuffle_and_fill_down',['../namespacemetal.html#ae29a06f0eac636ad7af21dea5b04938b',1,'metal::simd_shuffle_and_fill_down(bfloat16_t data, bfloat16_t filling_data, ushort delta, ushort modulo)'],['../namespacemetal.html#a0ee6239fa29a5f9ee0201e0dc5ddc8e0',1,'metal::simd_shuffle_and_fill_down(bfloat16_t data, bfloat16_t filling_data, ushort delta)']]], + ['simd_5fshuffle_5fand_5ffill_5fup_84',['simd_shuffle_and_fill_up',['../namespacemetal.html#a1ca14116bf50639b214d8414b5bbaaa6',1,'metal::simd_shuffle_and_fill_up(bfloat16_t data, bfloat16_t filling_data, ushort delta, ushort modulo)'],['../namespacemetal.html#a5138d5cdc18139e135707916a243cd8e',1,'metal::simd_shuffle_and_fill_up(bfloat16_t data, bfloat16_t filling_data, ushort delta)'],['../backend_2metal_2kernels_2utils_8h.html#a5862d5ea154c9b76cf56a630cf6385b4',1,'simd_shuffle_and_fill_up(uint64_t data, uint64_t filling, uint16_t delta): utils.h'],['../backend_2metal_2kernels_2utils_8h.html#a7bb56415c5412a6a26f70a990915f064',1,'simd_shuffle_and_fill_up(int64_t data, int64_t filling, uint16_t delta): utils.h'],['../backend_2metal_2kernels_2utils_8h.html#ad55bd473647f2c6c68e65e5312c132d1',1,'simd_shuffle_and_fill_up(bool data, bool filling, uint16_t delta): utils.h'],['../backend_2metal_2kernels_2utils_8h.html#a94e02a6ae8c39cbf4cb23aa44df9dbd5',1,'simd_shuffle_and_fill_up(complex64_t data, complex64_t filling, uint16_t delta): utils.h']]], + ['simd_5fshuffle_5fdown_85',['simd_shuffle_down',['../namespacemetal.html#af6e2dd7ae087aba6abac4f0350b7611c',1,'metal::simd_shuffle_down()'],['../backend_2metal_2kernels_2utils_8h.html#aba6279624b1d30c525efee856a222b5c',1,'simd_shuffle_down(uint64_t data, uint16_t delta): utils.h'],['../backend_2metal_2kernels_2utils_8h.html#a0c1e4d782fcc56e1ab5565cef12430dd',1,'simd_shuffle_down(int64_t data, uint16_t delta): utils.h'],['../backend_2metal_2kernels_2utils_8h.html#a48ae83a8caf5c74810df60b6c6cdb062',1,'simd_shuffle_down(bool data, uint16_t delta): utils.h'],['../backend_2metal_2kernels_2utils_8h.html#ad9a671a5f9aaa729ae7a77026f16bcb0',1,'simd_shuffle_down(complex64_t data, uint16_t delta): utils.h']]], + ['simd_5fshuffle_5frotate_5fdown_86',['simd_shuffle_rotate_down',['../namespacemetal.html#a4bb203647a421032db47e73cd649841b',1,'metal']]], + ['simd_5fshuffle_5frotate_5fup_87',['simd_shuffle_rotate_up',['../namespacemetal.html#a729b22077d6c944491a6027c18ea80c9',1,'metal']]], + ['simd_5fshuffle_5fup_88',['simd_shuffle_up',['../namespacemetal.html#afe81c5fbde3f4890458b081909242c55',1,'metal::simd_shuffle_up()'],['../backend_2metal_2kernels_2utils_8h.html#a39e436e0a942912266aae7e0bd82d7c0',1,'simd_shuffle_up(uint64_t data, uint16_t delta): utils.h'],['../backend_2metal_2kernels_2utils_8h.html#a617f3857caf33c569afa6148135f8b7a',1,'simd_shuffle_up(int64_t data, uint16_t delta): utils.h'],['../backend_2metal_2kernels_2utils_8h.html#ae0f5c42020275a588234e69f1eb7a485',1,'simd_shuffle_up(bool data, uint16_t delta): utils.h'],['../backend_2metal_2kernels_2utils_8h.html#a92b455bac6a23af51c35ea83de2383eb',1,'simd_shuffle_up(complex64_t data, uint16_t delta): utils.h']]], + ['simd_5fshuffle_5fxor_89',['simd_shuffle_xor',['../namespacemetal.html#a5017efc9605e069cfb507137cd1a1852',1,'metal']]], + ['simd_5fsize_90',['SIMD_SIZE',['../quantized_8h.html#a62969a218d93680f5e35d0c61b160b99',1,'quantized.h']]], + ['simd_5fsize_91',['simd_size',['../backend_2metal_2kernels_2reduction_2ops_8h.html#a515b75d563a93d3c09ee677948dc83e3',1,'ops.h']]], + ['simd_5fsum_92',['simd_sum',['../namespacemetal.html#a85181e37a00cb4a4217f1bb25389bce5',1,'metal']]], + ['simd_5fxor_93',['simd_xor',['../namespacemetal.html#a1308decbf2d5c33d34d6be523ea1c30f',1,'metal']]], + ['simple_5fiter_94',['simple_iter',['../classpocketfft_1_1detail_1_1simple__iter.html',1,'pocketfft::detail::simple_iter'],['../classpocketfft_1_1detail_1_1simple__iter.html#a1e455c615825bebd5f1f62665027b398',1,'pocketfft::detail::simple_iter::simple_iter()']]], + ['simplevalueandgradfn_95',['SimpleValueAndGradFn',['../namespacemlx_1_1core.html#a2689b8f1181648cb1685204fea9f3066',1,'mlx::core']]], + ['sin_96',['Sin',['../structmlx_1_1core_1_1detail_1_1_sin.html',1,'mlx::core::detail::Sin'],['../classmlx_1_1core_1_1_sin.html',1,'mlx::core::Sin'],['../struct_sin.html',1,'Sin'],['../classmlx_1_1core_1_1_sin.html#a10d1ecc0ca96e79cdf55b57073d126ea',1,'mlx::core::Sin::Sin()']]], + ['sin_97',['sin',['../namespacepocketfft_1_1detail.html#a07745f4a069f811859308281b2982258',1,'pocketfft::detail::sin()'],['../namespacemetal.html#a619a159ca5f2ddfe3647d3a6bb6e804c',1,'metal::sin()'],['../namespacemetal_1_1fast.html#a3af771cfe7a135104f9d063147dba270',1,'metal::fast::sin()'],['../namespacemetal_1_1precise.html#a71acf77ffd29c56f56afae0195c98a1c',1,'metal::precise::sin()'],['../group__ops.html#gaebf0a73ad3732fba39df37826c235692',1,'mlx::core::sin()']]], + ['sincos_5f2pibyn_98',['sincos_2pibyn',['../classpocketfft_1_1detail_1_1sincos__2pibyn.html',1,'pocketfft::detail::sincos_2pibyn< T >'],['../classpocketfft_1_1detail_1_1sincos__2pibyn.html#a88518f2182d854c557edacd4ab8cbc40',1,'pocketfft::detail::sincos_2pibyn::sincos_2pibyn()']]], + ['sinh_99',['Sinh',['../structmlx_1_1core_1_1detail_1_1_sinh.html',1,'mlx::core::detail::Sinh'],['../classmlx_1_1core_1_1_sinh.html',1,'mlx::core::Sinh'],['../struct_sinh.html',1,'Sinh'],['../classmlx_1_1core_1_1_sinh.html#a4a4f6814d403c2ce5d6c574b0dca3c96',1,'mlx::core::Sinh::Sinh()']]], + ['sinh_100',['sinh',['../namespacemetal.html#a83ba4235ae350ab8880a9df09158620b',1,'metal::sinh()'],['../namespacemetal_1_1fast.html#a990d90b3440e38d1fb4ff5065c6c189b',1,'metal::fast::sinh()'],['../namespacemetal_1_1precise.html#abc8f4f59dd6e7204ab5d84f0af96331c',1,'metal::precise::sinh()'],['../group__ops.html#gaf532375c6563dbd6e329bdedf0224dd7',1,'mlx::core::sinh()']]], + ['sinpi_101',['sinpi',['../namespacemetal.html#ae9655f7fa2ba6c0625ca25fbb278e269',1,'metal::sinpi()'],['../namespacemetal_1_1fast.html#ab07a32fe544aa304577d29e0251e87b2',1,'metal::fast::sinpi()'],['../namespacemetal_1_1precise.html#a78b17dab93519d9c82c2575dafec49c9',1,'metal::precise::sinpi()']]], + ['size_102',['size',['../classpocketfft_1_1detail_1_1arr.html#a95bca00060957f540ff25b69632c6952',1,'pocketfft::detail::arr::size()'],['../classpocketfft_1_1detail_1_1arr__info.html#a003a7106f7fa59a3c55ac1f0116313a5',1,'pocketfft::detail::arr_info::size()'],['../classmlx_1_1core_1_1allocator_1_1_allocator.html#a2adf9a9c968f113dde830cc0dc27dcc6',1,'mlx::core::allocator::Allocator::size()'],['../classmlx_1_1core_1_1allocator_1_1_common_allocator.html#aafa92e8310db089b1ac72b840777e26b',1,'mlx::core::allocator::CommonAllocator::size()'],['../classmlx_1_1core_1_1array.html#a598f87161926d9e0b516860f0ea2c8f6',1,'mlx::core::array::size()'],['../classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a51f6587e8065be16f0418ca42a796e05',1,'mlx::core::metal::MetalAllocator::size()'],['../structmlx_1_1core_1_1distributed_1_1_group.html#abd96a09217e3d1bcc522888257d22cef',1,'mlx::core::distributed::Group::size()'],['../structmlx_1_1core_1_1_dtype.html#ab54051563d85212c7f0f049166bc9971',1,'mlx::core::Dtype::size()']]], + ['size_5fof_103',['size_of',['../namespacemlx_1_1core.html#add4794cc0ffe5d717fc146084a235d95',1,'mlx::core']]], + ['slice_104',['Slice',['../classmlx_1_1core_1_1_slice.html',1,'mlx::core::Slice'],['../classmlx_1_1core_1_1_slice.html#a8a38feb7bb6b72bdeebb83f053e2fd7f',1,'mlx::core::Slice::Slice()']]], + ['slice_105',['slice',['../group__ops.html#ga29718cd5005dbcde0396b6fd65cc041d',1,'mlx::core::slice(const array &a, Shape start, Shape stop, Shape strides, StreamOrDevice s={})'],['../group__ops.html#gaec56dcb94d5e7f7b885fb60b4bf4aa9d',1,'mlx::core::slice(const array &a, Shape start, Shape stop, StreamOrDevice s={})']]], + ['slice_5fgpu_106',['slice_gpu',['../namespacemlx_1_1core.html#a59048c5ff114c101a496bf33f62e3de9',1,'mlx::core']]], + ['slice_5fupdate_107',['slice_update',['../group__ops.html#ga7b7e786985d27789aaed20bb2f9509be',1,'mlx::core::slice_update(const array &src, const array &update, Shape start, Shape stop, Shape strides, StreamOrDevice s={})'],['../group__ops.html#ga3b7c6136ae5a38dd6457b65c1833aa67',1,'mlx::core::slice_update(const array &src, const array &update, Shape start, Shape stop, StreamOrDevice s={})']]], + ['sliceupdate_108',['SliceUpdate',['../classmlx_1_1core_1_1_slice_update.html',1,'mlx::core::SliceUpdate'],['../classmlx_1_1core_1_1_slice_update.html#aa30a7f22f557c56e1a2b5fcf44488990',1,'mlx::core::SliceUpdate::SliceUpdate()']]], + ['slicing_2eh_109',['slicing.h',['../common_2slicing_8h.html',1,'(Global Namespace)'],['../metal_2slicing_8h.html',1,'(Global Namespace)']]], + ['sm_110',['sm',['../structmlx_1_1steel_1_1_block_m_m_a.html#aa85451edf6900fd6af164d4d50889ae3',1,'mlx::steel::BlockMMA']]], + ['sn_111',['sn',['../structmlx_1_1steel_1_1_block_m_m_a.html#ade420e8b811d597345783c324c23a34a',1,'mlx::steel::BlockMMA']]], + ['softmax_112',['Softmax',['../classmlx_1_1core_1_1_softmax.html',1,'mlx::core::Softmax'],['../classmlx_1_1core_1_1_softmax.html#a4ec686aac4e06f0dfe2cbd6801af40eb',1,'mlx::core::Softmax::Softmax()']]], + ['softmax_113',['softmax',['../namespacemlx_1_1core_1_1metal.html#a4fe937c2c584fd646926057f31d54ca6',1,'mlx::core::metal::softmax()'],['../group__ops.html#ga7e9bb08b43c8fd0444b7d3c9e09dc1c6',1,'mlx::core::softmax(const array &a, const std::vector< int > &axes, bool precise=false, StreamOrDevice s={})'],['../group__ops.html#ga1ae3614d07d873892a530d14c3857d0b',1,'mlx::core::softmax(const array &a, bool precise=false, StreamOrDevice s={})'],['../group__ops.html#ga06f570d73716a24303e6de3aaba4457b',1,'mlx::core::softmax(const array &a, int axis, bool precise=false, StreamOrDevice s={})']]], + ['softmax_2eh_114',['softmax.h',['../jit_2softmax_8h.html',1,'(Global Namespace)'],['../kernels_2softmax_8h.html',1,'(Global Namespace)']]], + ['softmax_5fexp_115',['softmax_exp',['../kernels_2softmax_8h.html#a440d4031ee5e86159a4dd715e44a438b',1,'softmax.h']]], + ['softmax_5fkernels_116',['softmax_kernels',['../jit_2softmax_8h.html#a1cbfb210a9a765c6620e9f1247ccef12',1,'softmax.h']]], + ['softmax_5flooped_117',['softmax_looped',['../kernels_2softmax_8h.html#a8c47b0924ebfeebcca25f3dd17373276',1,'softmax.h']]], + ['softmax_5fn_5freads_118',['SOFTMAX_N_READS',['../defines_8h.html#a722995df24286b27b7da3d74b73f768d',1,'defines.h']]], + ['softmax_5fsingle_5frow_119',['softmax_single_row',['../kernels_2softmax_8h.html#a815fe70f879f318e5d6e99acf043f52b',1,'softmax.h']]], + ['sort_120',['Sort',['../classmlx_1_1core_1_1_sort.html',1,'mlx::core::Sort'],['../classmlx_1_1core_1_1_sort.html#a62943032dbd72e85ceb9b4b7211f4a44',1,'mlx::core::Sort::Sort()']]], + ['sort_121',['sort',['../struct_thread_sort.html#ad9ab3e6b47f7e9b91c0f3b773596986d',1,'ThreadSort::sort()'],['../struct_block_merge_sort.html#acc970f5eb963f7f2010f5ae5ea8b8bc0',1,'BlockMergeSort::sort()'],['../namespacemlx_1_1core_1_1metal.html#ab77c9a9ecaeeab8c66b712862777c24b',1,'mlx::core::metal::sort()'],['../group__ops.html#ga7fb616054665b3c2d61fa234f501f079',1,'mlx::core::sort(const array &a, StreamOrDevice s={})'],['../group__ops.html#gaae1bc47aa737f705d0e5884270063fea',1,'mlx::core::sort(const array &a, int axis, StreamOrDevice s={})']]], + ['sort_2eh_122',['sort.h',['../sort_8h.html',1,'']]], + ['special_5fmul_123',['special_mul',['../structpocketfft_1_1detail_1_1cmplx.html#a2e79f5c73c1d926361ad126cf57c8874',1,'pocketfft::detail::cmplx::special_mul()'],['../namespacepocketfft_1_1detail.html#a8da1f3d4a0b712a0285529f24187fe76',1,'pocketfft::detail::special_mul()']]], + ['split_124',['Split',['../classmlx_1_1core_1_1_split.html',1,'mlx::core::Split'],['../classmlx_1_1core_1_1_split.html#a897c746ecfdff5119cc5ae3f20499385',1,'mlx::core::Split::Split()']]], + ['split_125',['split',['../structmlx_1_1core_1_1distributed_1_1_group.html#abbf40f8979488806bc5bca9ecc4130e9',1,'mlx::core::distributed::Group::split()'],['../group__ops.html#ga7534290bceab5fb3831a05d67bebce7d',1,'mlx::core::split(const array &a, int num_splits, int axis, StreamOrDevice s={})'],['../group__ops.html#ga56882d24e5fde59c266774624c892d41',1,'mlx::core::split(const array &a, int num_splits, StreamOrDevice s={})'],['../group__ops.html#ga2cfcb1a53924882e30476c9016c5de74',1,'mlx::core::split(const array &a, const std::vector< int > &indices, int axis, StreamOrDevice s={})'],['../group__ops.html#gac324dfa3e26d3a14a35ab7962e36f0e1',1,'mlx::core::split(const array &a, const std::vector< int > &indices, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1random.html#a42847b435d037a977592e355eed072af',1,'mlx::core::random::split(const array &key, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1random.html#a7ec057064c7326c41b536f08178861e5',1,'mlx::core::random::split(const array &key, int num, StreamOrDevice s={})']]], + ['split_5fk_5fpartition_5fsize_126',['split_k_partition_size',['../structmlx_1_1steel_1_1_g_e_m_m_spilt_k_params.html#a9f5a67b2343645b570e109c3837d4042',1,'mlx::steel::GEMMSpiltKParams']]], + ['split_5fk_5fpartition_5fstride_127',['split_k_partition_stride',['../structmlx_1_1steel_1_1_g_e_m_m_spilt_k_params.html#a12144ce89d404812cd862611d770b9fb',1,'mlx::steel::GEMMSpiltKParams']]], + ['split_5fk_5fpartitions_128',['split_k_partitions',['../structmlx_1_1steel_1_1_g_e_m_m_spilt_k_params.html#ae06c27116905d4ff3b9b436e588a93fd',1,'mlx::steel::GEMMSpiltKParams']]], + ['sqrt_129',['Sqrt',['../structmlx_1_1core_1_1detail_1_1_sqrt.html',1,'mlx::core::detail::Sqrt'],['../classmlx_1_1core_1_1_sqrt.html',1,'mlx::core::Sqrt'],['../struct_sqrt.html',1,'Sqrt'],['../classmlx_1_1core_1_1_sqrt.html#a6682a7c31ca427c9d2c5ddb6a479bf29',1,'mlx::core::Sqrt::Sqrt()']]], + ['sqrt_130',['sqrt',['../namespacepocketfft_1_1detail.html#a774f8b73f28259d4276bd188b540a3e3',1,'pocketfft::detail::sqrt()'],['../namespacemetal.html#ab3f4d4852ca0e591104fbd8e5b50d31b',1,'metal::sqrt()'],['../namespacemetal_1_1fast.html#a4218a85c7d8a74cb8055b4755205627e',1,'metal::fast::sqrt()'],['../namespacemetal_1_1precise.html#acb213467361cd2cab93a8d5ea1aa5bfd',1,'metal::precise::sqrt()'],['../group__ops.html#ga297f853b3d90ec8ae81263977ba2ddb1',1,'mlx::core::sqrt()']]], + ['square_131',['Square',['../structmlx_1_1core_1_1detail_1_1_square.html',1,'mlx::core::detail::Square'],['../classmlx_1_1core_1_1_square.html',1,'mlx::core::Square'],['../struct_square.html',1,'Square'],['../classmlx_1_1core_1_1_square.html#ab94e28d5c92e6febc1c74e525f730dc4',1,'mlx::core::Square::Square()']]], + ['square_132',['square',['../group__ops.html#ga1234e4c39cfa79f19d4bdb5b8ea4d45e',1,'mlx::core']]], + ['squeeze_133',['squeeze',['../group__ops.html#ga710daa7ec721bd4d3f326082cb195576',1,'mlx::core::squeeze(const array &a, const std::vector< int > &axes, StreamOrDevice s={})'],['../group__ops.html#ga700dd51b77379a3d2260a55783e8ebf3',1,'mlx::core::squeeze(const array &a, int axis, StreamOrDevice s={})'],['../group__ops.html#ga58bad3c61fd85b95927a987ba1cf5dad',1,'mlx::core::squeeze(const array &a, StreamOrDevice s={})']]], + ['src_134',['src',['../struct_quantized_block_loader.html#abbf8249ca99e3e87b296ddd60a984b76',1,'QuantizedBlockLoader::src'],['../structmlx_1_1steel_1_1_block_loader.html#ad1db14517568ae9eddfb6986ef31c7aa',1,'mlx::steel::BlockLoader::src'],['../structmlx_1_1steel_1_1_block_loader_t.html#a7004a4efaa483cc79b8b79810a17c777',1,'mlx::steel::BlockLoaderT::src'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a656a46ee27486482b45ff90b3d626255',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::src'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a57552e9cfbafad71d47b2f3a8e027bdf',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::src'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a7bfbcc4a1e3eef7aef5dd8e8c374a95f',1,'mlx::steel::Conv2DWeightBlockLoader::src'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#afe21e46e08523232830c25eb1b4ade16',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::src'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#a8b04a69952404a04029dacc424df6e8f',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::src'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a1ee2922961b5fcb1db577928c4d9d731',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::src'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a50f458dbb74d61be2ed24727d8d43614',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::src']]], + ['src_5fld_135',['src_ld',['../struct_quantized_block_loader.html#a8050977d473d1a24fae5c833e609839e',1,'QuantizedBlockLoader::src_ld'],['../structmlx_1_1steel_1_1_block_loader.html#aadafc50f7f06af434149d7469df4714d',1,'mlx::steel::BlockLoader::src_ld'],['../structmlx_1_1steel_1_1_block_loader_t.html#aeba87e81185da6b20a092c5d240d3321',1,'mlx::steel::BlockLoaderT::src_ld'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a7464ec687323fa79050702952ed9084f',1,'mlx::steel::Conv2DWeightBlockLoader::src_ld'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#aa6bedc0cbb447eaf70c03f2e26df2cb2',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::src_ld'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a6918c1df7712c4e408e2871467ea7987',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::src_ld']]], + ['stack_136',['stack',['../group__ops.html#gaf8f2ec2b98a4b59eca73d7471df6e032',1,'mlx::core::stack(const std::vector< array > &arrays, int axis, StreamOrDevice s={})'],['../group__ops.html#ga82216209dce901296fc737fe8efa5c94',1,'mlx::core::stack(const std::vector< array > &arrays, StreamOrDevice s={})']]], + ['start_5fcapture_137',['start_capture',['../namespacemlx_1_1core_1_1metal.html#aa47cb5651bf3b65c46ab216b7e504d77',1,'mlx::core::metal']]], + ['start_5fconcurrent_138',['start_concurrent',['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#a48b548a0b15f9d1279c938a1c6167034',1,'mlx::core::metal::CommandEncoder']]], + ['start_5frow_139',['start_row',['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a220e033b689c8d6a6f319dae02b38334',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral']]], + ['status_140',['Status',['../classmlx_1_1core_1_1array.html#a199726612fa8a4bcd5c2d05eadad7078',1,'mlx::core::array']]], + ['status_141',['status',['../classmlx_1_1core_1_1array.html#a7102659be87e9ef62966696ab9b07dad',1,'mlx::core::array']]], + ['std_142',['std',['../group__ops.html#ga2a466024f8061febc0a64be557644cb0',1,'mlx::core::std(const array &a, bool keepdims, int ddof=0, StreamOrDevice s={})'],['../group__ops.html#gafdcb04d77c64405a3990078a77dd984c',1,'mlx::core::std(const array &a, StreamOrDevice s={})'],['../group__ops.html#ga7f649970bf38b987b6ef847054f3c2f8',1,'mlx::core::std(const array &a, const std::vector< int > &axes, bool keepdims=false, int ddof=0, StreamOrDevice s={})'],['../group__ops.html#ga62721a206df671ef5797449eea97af9f',1,'mlx::core::std(const array &a, int axis, bool keepdims=false, int ddof=0, StreamOrDevice s={})']]], + ['steel_5fattention_2eh_143',['steel_attention.h',['../steel__attention_8h.html',1,'']]], + ['steel_5fconst_144',['STEEL_CONST',['../steel_2defines_8h.html#a90b91c866313ffa46eff6d9cc944ad2b',1,'defines.h']]], + ['steel_5fconv_145',['steel_conv',['../namespacemlx_1_1core_1_1metal.html#a92f1e559b1121d545746f81ff86eaca1',1,'mlx::core::metal']]], + ['steel_5fconv_2eh_146',['steel_conv.h',['../jit_2steel__conv_8h.html',1,'(Global Namespace)'],['../kernels_2steel_2conv_2kernels_2steel__conv_8h.html',1,'(Global Namespace)']]], + ['steel_5fconv_5fgeneral_147',['steel_conv_general',['../namespacemlx_1_1core_1_1metal.html#a02edb6a90bdf30f4c9f0d6c25b0267b5',1,'mlx::core::metal']]], + ['steel_5fconv_5fgeneral_2eh_148',['steel_conv_general.h',['../steel__conv__general_8h.html',1,'']]], + ['steel_5fconv_5fgeneral_5fkernels_149',['steel_conv_general_kernels',['../jit_2steel__conv_8h.html#ae4ca1720029316b08ea92b7662347d47',1,'steel_conv.h']]], + ['steel_5fconv_5fkernels_150',['steel_conv_kernels',['../jit_2steel__conv_8h.html#a386d79077465df56659416fd84adb513',1,'steel_conv.h']]], + ['steel_5fgemm_2eh_151',['steel_gemm.h',['../steel__gemm_8h.html',1,'']]], + ['steel_5fgemm_5ffused_152',['steel_gemm_fused',['../namespacemlx_1_1core_1_1metal.html#a17764366deed71c160fb26091400a803',1,'mlx::core::metal']]], + ['steel_5fgemm_5ffused_2eh_153',['steel_gemm_fused.h',['../steel__gemm__fused_8h.html',1,'']]], + ['steel_5fgemm_5ffused_5fkernels_154',['steel_gemm_fused_kernels',['../steel__gemm_8h.html#a4c6009fd5357b730805f2fd4ba6e093e',1,'steel_gemm.h']]], + ['steel_5fgemm_5fmasked_155',['steel_gemm_masked',['../namespacemlx_1_1core_1_1metal.html#a962272ca73d26c08f76f706a128fd71f',1,'mlx::core::metal']]], + ['steel_5fgemm_5fmasked_2eh_156',['steel_gemm_masked.h',['../steel__gemm__masked_8h.html',1,'']]], + ['steel_5fgemm_5fmasked_5fkernels_157',['steel_gemm_masked_kernels',['../steel__gemm_8h.html#a62a358fd3ec5365081920d07aceb581c',1,'steel_gemm.h']]], + ['steel_5fgemm_5fsplitk_158',['steel_gemm_splitk',['../namespacemlx_1_1core_1_1metal.html#ad0dfd40ba7c09755711ceb731e57a5ac',1,'mlx::core::metal']]], + ['steel_5fgemm_5fsplitk_2eh_159',['steel_gemm_splitk.h',['../steel__gemm__splitk_8h.html',1,'']]], + ['steel_5fgemm_5fsplitk_5faccum_5faxbpy_5fkernels_160',['steel_gemm_splitk_accum_axbpy_kernels',['../steel__gemm_8h.html#a40a86e1381c241aba8511e51a981a4bf',1,'steel_gemm.h']]], + ['steel_5fgemm_5fsplitk_5faccum_5fkernels_161',['steel_gemm_splitk_accum_kernels',['../steel__gemm_8h.html#a144a64b8d94f0371fb144e2cc308fcf9',1,'steel_gemm.h']]], + ['steel_5fgemm_5fsplitk_5fkernels_162',['steel_gemm_splitk_kernels',['../steel__gemm_8h.html#a92108ab01d826e38bca83d8569b947d9',1,'steel_gemm.h']]], + ['steel_5fmatmul_163',['steel_matmul',['../namespacemlx_1_1core.html#ab43a7633794498e1c6775cca829eb886',1,'mlx::core']]], + ['steel_5fmatmul_5fregular_164',['steel_matmul_regular',['../namespacemlx_1_1core.html#a227588758ccc9ee869dba147e830bb74',1,'mlx::core']]], + ['steel_5fpragma_5funroll_165',['STEEL_PRAGMA_UNROLL',['../steel_2defines_8h.html#a5a5c3095b132a7589bc19cd5cb80e2c6',1,'defines.h']]], + ['step_166',['step',['../structmlx_1_1core_1_1_contiguous_iterator.html#ae230bd52b70a0bbdf560090f8a6589ef',1,'mlx::core::ContiguousIterator']]], + ['stop_167',['stop',['../structmlx_1_1core_1_1scheduler_1_1_stream_thread.html#a456ad1c0c9e731833a2f8411c4ed51aa',1,'mlx::core::scheduler::StreamThread']]], + ['stop_5fcapture_168',['stop_capture',['../namespacemlx_1_1core_1_1metal.html#ac90714424e36fb01e04550de69b8314f',1,'mlx::core::metal']]], + ['stop_5fgradient_169',['stop_gradient',['../group__ops.html#ga36bc28f1deb2fe668ca9ae1e447b6b1f',1,'mlx::core']]], + ['stopgradient_170',['StopGradient',['../classmlx_1_1core_1_1_stop_gradient.html',1,'mlx::core::StopGradient'],['../classmlx_1_1core_1_1_stop_gradient.html#ac70d1ab819d04e00f76bc25aeebaf84f',1,'mlx::core::StopGradient::StopGradient()']]], + ['store_171',['store',['../structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#aa8f50ea8961ec5b35c1b81366d64f2cb',1,'mlx::steel::BaseMMAFrag< T, 8, 8 >::store()'],['../structmlx_1_1steel_1_1_m_m_a_tile.html#a2aadaa3239cb3af0c2ee8af9b88c8a98',1,'mlx::steel::MMATile::store(threadgroup U *dst) const'],['../structmlx_1_1steel_1_1_m_m_a_tile.html#a752f708e4fe5ef37fdd902dae153179f',1,'mlx::steel::MMATile::store(device U *dst, const int ld) const'],['../structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#aa8f50ea8961ec5b35c1b81366d64f2cb',1,'mlx::steel::BaseMMAFrag< T, 8, 8 >::store()'],['../structmlx_1_1steel_1_1_m_m_a_tile.html#a2aadaa3239cb3af0c2ee8af9b88c8a98',1,'mlx::steel::MMATile::store(threadgroup U *dst) const'],['../structmlx_1_1steel_1_1_m_m_a_tile.html#a752f708e4fe5ef37fdd902dae153179f',1,'mlx::steel::MMATile::store(device U *dst, const int ld) const']]], + ['store_5fresult_172',['store_result',['../structmlx_1_1steel_1_1_block_m_m_a.html#a0461451ffb5041b6a916ea17ed34288b',1,'mlx::steel::BlockMMA::store_result(device U *D, const int ldd)'],['../structmlx_1_1steel_1_1_block_m_m_a.html#a7cf757e9785e23997b1417e024559ed3',1,'mlx::steel::BlockMMA::store_result(device U *D, const int ldd, const device U *C, const int ldc, const int fdc, thread const Epilogue &epilogue_op) const'],['../structmlx_1_1steel_1_1_block_m_m_a.html#a0461451ffb5041b6a916ea17ed34288b',1,'mlx::steel::BlockMMA::store_result(device U *D, const int ldd)'],['../structmlx_1_1steel_1_1_block_m_m_a.html#a7cf757e9785e23997b1417e024559ed3',1,'mlx::steel::BlockMMA::store_result(device U *D, const int ldd, const device U *C, const int ldc, const int fdc, thread const Epilogue &epilogue_op) const']]], + ['store_5fresult_5fsafe_173',['store_result_safe',['../structmlx_1_1steel_1_1_block_m_m_a.html#a081ba538d30d1d02498a7f341e6bd611',1,'mlx::steel::BlockMMA::store_result_safe(device U *D, const int ldd, short2 dst_tile_dims)'],['../structmlx_1_1steel_1_1_block_m_m_a.html#a7b324c992750ed3aaa4c485f15b2f391',1,'mlx::steel::BlockMMA::store_result_safe(device U *D, const int ldd, const device U *C, const int ldc, const int fdc, short2 dst_tile_dims, thread const Epilogue &epilogue_op) const'],['../structmlx_1_1steel_1_1_block_m_m_a.html#a081ba538d30d1d02498a7f341e6bd611',1,'mlx::steel::BlockMMA::store_result_safe(device U *D, const int ldd, short2 dst_tile_dims)'],['../structmlx_1_1steel_1_1_block_m_m_a.html#a7b324c992750ed3aaa4c485f15b2f391',1,'mlx::steel::BlockMMA::store_result_safe(device U *D, const int ldd, const device U *C, const int ldc, const int fdc, short2 dst_tile_dims, thread const Epilogue &epilogue_op) const']]], + ['store_5fsafe_174',['store_safe',['../structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#a1f0b00daad8eba2f855bb306e70d2328',1,'mlx::steel::BaseMMAFrag< T, 8, 8 >::store_safe()'],['../structmlx_1_1steel_1_1_m_m_a_tile.html#a57703f522c7409dbe2c0a68bb7acc2ba',1,'mlx::steel::MMATile::store_safe()'],['../structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#a1f0b00daad8eba2f855bb306e70d2328',1,'mlx::steel::BaseMMAFrag< T, 8, 8 >::store_safe()'],['../structmlx_1_1steel_1_1_m_m_a_tile.html#a57703f522c7409dbe2c0a68bb7acc2ba',1,'mlx::steel::MMATile::store_safe()']]], + ['str_175',['str',['../classpocketfft_1_1detail_1_1arr__info.html#abe1f7b92501b4e0e5a38fd26294ac5a4',1,'pocketfft::detail::arr_info::str'],['../struct_m_l_x_conv_params.html#a862191e8ab1bc8a47aa1396b36d46058',1,'MLXConvParams::str']]], + ['stream_176',['Stream',['../structmlx_1_1core_1_1_stream.html',1,'mlx::core::Stream'],['../structmlx_1_1core_1_1_stream.html#a7f0815ff4886da74cbbff5f93d82dd3e',1,'mlx::core::Stream::Stream()']]], + ['stream_177',['stream',['../structmlx_1_1core_1_1scheduler_1_1_stream_thread.html#a8462e4acffcd385c6248bd7102e6bcb1',1,'mlx::core::scheduler::StreamThread::stream'],['../classmlx_1_1core_1_1_event.html#a193143bad31b68c699fa27f135b45614',1,'mlx::core::Event::stream()'],['../classmlx_1_1core_1_1_primitive.html#a46e6257397a662528f9f831842ac456a',1,'mlx::core::Primitive::stream()']]], + ['stream_2eh_178',['stream.h',['../stream_8h.html',1,'']]], + ['streamcontext_179',['StreamContext',['../structmlx_1_1core_1_1_stream_context.html',1,'mlx::core::StreamContext'],['../structmlx_1_1core_1_1_stream_context.html#a89d803151e9d7dce29382aa83d5c6ef1',1,'mlx::core::StreamContext::StreamContext()']]], + ['streamordevice_180',['StreamOrDevice',['../namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58',1,'mlx::core']]], + ['streamthread_181',['StreamThread',['../structmlx_1_1core_1_1scheduler_1_1_stream_thread.html',1,'mlx::core::scheduler::StreamThread'],['../structmlx_1_1core_1_1scheduler_1_1_stream_thread.html#ac528109a11abcb82e6e221c5efa4493c',1,'mlx::core::scheduler::StreamThread::StreamThread()']]], + ['stride_182',['stride',['../classpocketfft_1_1detail_1_1arr__info.html#a9d10aa83a1117e75d36f7396b8c2a093',1,'pocketfft::detail::arr_info::stride() const'],['../classpocketfft_1_1detail_1_1arr__info.html#ac1f6a9bd6703eceef6003f5f6315d39b',1,'pocketfft::detail::arr_info::stride(size_t i) const']]], + ['stride_5fin_183',['stride_in',['../classpocketfft_1_1detail_1_1multi__iter.html#ac947f03b1cfcb63436a7e61ff020a88c',1,'pocketfft::detail::multi_iter']]], + ['stride_5fout_184',['stride_out',['../classpocketfft_1_1detail_1_1multi__iter.html#a81d71a13bf0b85e556fbb9834167ecc7',1,'pocketfft::detail::multi_iter']]], + ['stride_5ft_185',['stride_t',['../namespacepocketfft_1_1detail.html#afb987c919e9424a996d0fc8b3c23cc84',1,'pocketfft::detail']]], + ['strided_5fdevice_5fidx_186',['strided_device_idx',['../struct_read_writer.html#a4c0b12484aac4fd6759d67c190391989',1,'ReadWriter']]], + ['strided_5freduce_5fgeneral_5fdispatch_187',['strided_reduce_general_dispatch',['../namespacemlx_1_1core.html#aa0332c64ee9965f05026c30a0b778000',1,'mlx::core']]], + ['strided_5fscan_188',['strided_scan',['../scan_8h.html#a7abb6ffb6c3b96b88c2a63cd4cc2f7ae',1,'scan.h']]], + ['strided_5fshared_5fidx_189',['strided_shared_idx',['../struct_read_writer.html#ace40adb02cfb33d89c98353327c251fc',1,'ReadWriter']]], + ['strides_190',['Strides',['../namespacemlx_1_1core.html#aca6e505f52ea1464d9c2c09f9f445d62',1,'mlx::core']]], + ['strides_191',['strides',['../structmlx_1_1core_1_1_reduction_plan.html#a9bf7cae845ab633247c1811613ece8bd',1,'mlx::core::ReductionPlan::strides'],['../struct_indices.html#a7f73d7652f0f751e6a06c2663e329a4a',1,'Indices::strides'],['../structmlx_1_1core_1_1fast_1_1_custom_kernel_shape_info.html#a63954de7da62942ec69afcaaa19d46f2',1,'mlx::core::fast::CustomKernelShapeInfo::strides'],['../classmlx_1_1core_1_1array.html#a28cf1928f5ec2f972a94ff1c0e71187d',1,'mlx::core::array::strides() const'],['../classmlx_1_1core_1_1array.html#ac9bfc251a9937eaefbe7f8c5ffd304d1',1,'mlx::core::array::strides(int dim) const']]], + ['submit_192',['submit',['../classpocketfft_1_1detail_1_1threading_1_1thread__pool.html#a8698d49e8f406cdb88006aac6a91f9a4',1,'pocketfft::detail::threading::thread_pool']]], + ['subop_193',['SubOp',['../struct_sub_op.html',1,'']]], + ['subtract_194',['Subtract',['../structmlx_1_1core_1_1detail_1_1_subtract.html',1,'mlx::core::detail::Subtract'],['../classmlx_1_1core_1_1_subtract.html',1,'mlx::core::Subtract'],['../struct_subtract.html',1,'Subtract'],['../classmlx_1_1core_1_1_subtract.html#a834854757394f8de7082af65bf86ed9c',1,'mlx::core::Subtract::Subtract()']]], + ['subtract_195',['subtract',['../group__ops.html#ga196c240d3d0fcbb4713802c485e15133',1,'mlx::core']]], + ['sum_196',['Sum',['../struct_sum.html',1,'Sum< U >'],['../classmlx_1_1core_1_1distributed_1_1_all_reduce.html#abb4560980e5d01aed14175ce8f6fc924a1fc7c1f09c80650ab0497e2d6781d65f',1,'mlx::core::distributed::AllReduce::Sum'],['../classmlx_1_1core_1_1_reduce.html#a0848518b16ae6d4043d6be247bdf31c9a8582875544f1d3d396a1a376473ef1dd',1,'mlx::core::Reduce::Sum'],['../classmlx_1_1core_1_1_scan.html#a47bf2ec54ead4b8f00f9f188518630f1ade23893033e4849f5596e7ce76a5fc36',1,'mlx::core::Scan::Sum'],['../classmlx_1_1core_1_1_scatter.html#a614d19af11dc30644b2b4941033b613ca14abe2d8818efa71726be4e156813d6f',1,'mlx::core::Scatter::Sum']]], + ['sum_197',['sum',['../namespacemlx_1_1steel.html#ab4a6ddea4beb7c447cf5b69b9d46cc3b',1,'mlx::steel::sum(T x)'],['../namespacemlx_1_1steel.html#acd6e194d37b617d7a5818bc384a97fe4',1,'mlx::steel::sum(T x, Us... us)'],['../group__ops.html#gade905ee92eb6ab7edfc312aeddfbaeb6',1,'mlx::core::sum(const array &a, bool keepdims, StreamOrDevice s={})'],['../group__ops.html#ga3627754d7868487bdab1bd83f05d9c81',1,'mlx::core::sum(const array &a, StreamOrDevice s={})'],['../group__ops.html#gaccd0a6be2c5b5128fdc2d87b5c8e67f4',1,'mlx::core::sum(const array &a, const std::vector< int > &axes, bool keepdims=false, StreamOrDevice s={})'],['../group__ops.html#gafcd39b0bf39a56c26a967981c7ab8a8d',1,'mlx::core::sum(const array &a, int axis, bool keepdims=false, StreamOrDevice s={})']]], + ['sumop_198',['SumOp',['../struct_sum_op.html',1,'']]], + ['svd_199',['SVD',['../classmlx_1_1core_1_1_s_v_d.html',1,'mlx::core::SVD'],['../classmlx_1_1core_1_1_s_v_d.html#ae89ff583e34fa894cccb8e7a475ee6d1',1,'mlx::core::SVD::SVD()']]], + ['svd_200',['svd',['../namespacemlx_1_1core_1_1linalg.html#a64364b880e99914cf47bf756fa8dbaf0',1,'mlx::core::linalg']]], + ['swapaxes_201',['swapaxes',['../group__ops.html#gabc46eed81ab6c6247903e4ec0c4ec1fb',1,'mlx::core']]], + ['swizzle_202',['swizzle',['../structmlx_1_1steel_1_1_block_swizzle.html#a98e558d63826d2aaa06d3e65a06d2760',1,'mlx::steel::BlockSwizzle::swizzle(uint3 tid, const int swizzle_log)'],['../structmlx_1_1steel_1_1_block_swizzle.html#a98e558d63826d2aaa06d3e65a06d2760',1,'mlx::steel::BlockSwizzle::swizzle(uint3 tid, const int swizzle_log)']]], + ['swizzle_5flog_203',['swizzle_log',['../structmlx_1_1steel_1_1_implicit_gemm_conv2_d_params.html#ad0713159d4f710cd9a066596593d8840',1,'mlx::steel::ImplicitGemmConv2DParams::swizzle_log'],['../structmlx_1_1steel_1_1_g_e_m_m_params.html#af9ff2c06dd8994126634531440325be7',1,'mlx::steel::GEMMParams::swizzle_log']]], + ['synchronize_204',['synchronize',['../namespacemlx_1_1core.html#a14287949d82ffefad0306cef5eb5f9e4',1,'mlx::core::synchronize()'],['../namespacemlx_1_1core.html#a6648a71937b055e5ff513d98056c2fb5',1,'mlx::core::synchronize(Stream)']]] ]; diff --git a/docs/build/html/search/all_14.js b/docs/build/html/search/all_14.js index b9e7c8c6e..8a27d7842 100644 --- a/docs/build/html/search/all_14.js +++ b/docs/build/html/search/all_14.js @@ -20,7 +20,7 @@ var searchData= ['ternary_17',['ternary',['../namespacemlx_1_1core_1_1metal.html#a2d1c92ba6897c0a7a428fed63279b61f',1,'mlx::core::metal']]], ['ternary_2eh_18',['ternary.h',['../common_2ternary_8h.html',1,'(Global Namespace)'],['../metal_2kernels_2ternary_8h.html',1,'(Global Namespace)'],['../metal_2ternary_8h.html',1,'(Global Namespace)']]], ['ternary_5fg_19',['ternary_g',['../metal_2kernels_2ternary_8h.html#ab2051fd944c2e24c57d5b4af54894d72',1,'ternary.h']]], - ['ternary_5fg_5fnd1_20',['ternary_g_nd1',['../metal_2kernels_2ternary_8h.html#a1bd5918559850f3f80e3adee2391fe6a',1,'ternary.h']]], + ['ternary_5fg_5fnd1_20',['ternary_g_nd1',['../metal_2kernels_2ternary_8h.html#ad63096b65467d3048eefa68f4109878d',1,'ternary.h']]], ['ternary_5fg_5fnd2_21',['ternary_g_nd2',['../metal_2kernels_2ternary_8h.html#adec9ca8a8bf527cb15d70da5857af15d',1,'ternary.h']]], ['ternary_5fg_5fnd3_22',['ternary_g_nd3',['../metal_2kernels_2ternary_8h.html#a046dcbf67cd2318d45355dc7516e3ff4',1,'ternary.h']]], ['ternary_5fop_5fgpu_23',['ternary_op_gpu',['../namespacemlx_1_1core.html#aa63e62b6d3906e4cac871d498515a1cd',1,'mlx::core']]], @@ -69,26 +69,27 @@ var searchData= ['to_5fstream_66',['to_stream',['../namespacemlx_1_1core.html#a4734a596e57434492ddfe79f2cb9dbf9',1,'mlx::core']]], ['topk_67',['topk',['../group__ops.html#ga5487dd887c43e5341f3e68ffe47f0f5a',1,'mlx::core::topk(const array &a, int k, StreamOrDevice s={})'],['../group__ops.html#ga35b8436c79ff953f6c809598b646f498',1,'mlx::core::topk(const array &a, int k, int axis, StreamOrDevice s={})']]], ['trace_68',['trace',['../group__ops.html#gabf786129c7660ed8d5acb5499bc6fefd',1,'mlx::core::trace(const array &a, int offset, int axis1, int axis2, Dtype dtype, StreamOrDevice s={})'],['../group__ops.html#ga5ed43c2dbf7d6cbddbaa2fd682deaafd',1,'mlx::core::trace(const array &a, int offset, int axis1, int axis2, StreamOrDevice s={})'],['../group__ops.html#gaf25c00108feaafaa6350a4434cb0062e',1,'mlx::core::trace(const array &a, StreamOrDevice s={})']]], - ['transformadd_69',['TransformAdd',['../structmlx_1_1steel_1_1_transform_add.html',1,'mlx::steel::TransformAdd< OutT, InT >'],['../structmlx_1_1steel_1_1_transform_add.html#a7c1b7292910b74281e5296b3dac157ae',1,'mlx::steel::TransformAdd::TransformAdd(const float, const float)'],['../structmlx_1_1steel_1_1_transform_add.html#a7c1b7292910b74281e5296b3dac157ae',1,'mlx::steel::TransformAdd::TransformAdd(const float, const float)']]], - ['transformaxpby_70',['TransformAxpby',['../structmlx_1_1steel_1_1_transform_axpby.html',1,'mlx::steel::TransformAxpby< OutT, InT >'],['../structmlx_1_1steel_1_1_transform_axpby.html#ad7d11c53de13646b725921391d15bbe9',1,'mlx::steel::TransformAxpby::TransformAxpby(const float alpha_, const float beta_)'],['../structmlx_1_1steel_1_1_transform_axpby.html#ad7d11c53de13646b725921391d15bbe9',1,'mlx::steel::TransformAxpby::TransformAxpby(const float alpha_, const float beta_)']]], - ['transformnone_71',['TransformNone',['../structmlx_1_1steel_1_1_transform_none.html',1,'mlx::steel']]], - ['transforms_2eh_72',['transforms.h',['../backend_2metal_2kernels_2steel_2attn_2transforms_8h.html',1,'(Global Namespace)'],['../backend_2metal_2kernels_2steel_2gemm_2transforms_8h.html',1,'(Global Namespace)'],['../transforms_8h.html',1,'(Global Namespace)']]], - ['transforms_5fimpl_2eh_73',['transforms_impl.h',['../transforms__impl_8h.html',1,'']]], - ['transformscale_74',['TransformScale',['../struct_transform_scale.html',1,'TransformScale< T >'],['../struct_transform_scale.html#ae109cf7c963ba13df96977e7563f7b70',1,'TransformScale::TransformScale()']]], - ['transpose_75',['Transpose',['../classmlx_1_1core_1_1_transpose.html',1,'mlx::core::Transpose'],['../classmlx_1_1core_1_1_transpose.html#a1a9ba023584c61c7ac93d6dce536760a',1,'mlx::core::Transpose::Transpose()']]], - ['transpose_76',['transpose',['../group__ops.html#gac1869f3b7094869b44fe7ac4ce58638b',1,'mlx::core::transpose(const array &a, std::vector< int > axes, StreamOrDevice s={})'],['../group__ops.html#ga260ac332956f3a6bf1dfdb9095c84dc5',1,'mlx::core::transpose(const array &a, std::initializer_list< int > axes, StreamOrDevice s={})'],['../group__ops.html#ga68da0176fefbe0c0096783c6fd926c6a',1,'mlx::core::transpose(const array &a, StreamOrDevice s={})']]], - ['tri_77',['tri',['../group__ops.html#ga4f3389e5b89e70e862e7d2b40d6c7f78',1,'mlx::core::tri(int n, int m, int k, Dtype type, StreamOrDevice s={})'],['../group__ops.html#gac19a1bd6ed6d5c7bc9d258820189dbb5',1,'mlx::core::tri(int n, Dtype type, StreamOrDevice s={})']]], - ['tri_5finv_78',['tri_inv',['../namespacemlx_1_1core_1_1linalg.html#aba1994571326326717b5b5e38c2e0661',1,'mlx::core::linalg']]], - ['tril_79',['tril',['../group__ops.html#ga83e0bb45dc770cf014531d873b78c5a2',1,'mlx::core']]], - ['triu_80',['triu',['../group__ops.html#gaa9df5917876eeb0cb28b7fa81f880412',1,'mlx::core']]], - ['trows_81',['TROWS',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a2528ff5ed472e4ed35415ada42276b07',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::TROWS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a3957fb263fe040fe70683fd1d7b06487',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::TROWS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a94f0ce5bb7d87bc1fb6a7c2ba2b892d4',1,'mlx::steel::Conv2DWeightBlockLoader::TROWS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#a789683f9ac9d9309d07c05f3bdedd2fd',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::TROWS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#a5cefb1285ed13ad3490198e9303453de',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::TROWS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a2aff22af70f685f858adea73f5575cf7',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::TROWS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#acbc28f364381166faaeec2783dc88e10',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::TROWS']]], - ['true_5ftype_82',['true_type',['../namespacemlx_1_1steel.html#a594a6ccb75b38b5ae4ddd0d9ad047b3a',1,'mlx::steel']]], - ['trunc_83',['trunc',['../namespacemetal.html#a93cb75a11a362bfc8310ea19c554c887',1,'metal::trunc()'],['../namespacemetal_1_1fast.html#aa62e1075e86c626d97038f16e9433415',1,'metal::fast::trunc()'],['../namespacemetal_1_1precise.html#a334183e7a2dd49b983d072d1e8ee2b27',1,'metal::precise::trunc()']]], - ['truncated_5fnormal_84',['truncated_normal',['../namespacemlx_1_1core_1_1random.html#a00aa5746bac6d729d2ba9465153bb279',1,'mlx::core::random::truncated_normal(const array &lower, const array &upper, const std::vector< int > &shape, Dtype dtype=float32, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1random.html#a39663eda0fd7b274d01499a7b1c9035f',1,'mlx::core::random::truncated_normal(const array &lower, const array &upper, Dtype dtype=float32, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})']]], - ['try_5fpop_85',['try_pop',['../classpocketfft_1_1detail_1_1threading_1_1concurrent__queue.html#aa3807d46a126d229f9054c779105ea43',1,'pocketfft::detail::threading::concurrent_queue']]], - ['two_86',['two',['../classmlx_1_1core_1_1_log.html#a044a23e8b1422984628e1cd5ab506421a41877eab6fa3db7d7ed2cda9eba14251',1,'mlx::core::Log']]], - ['type_87',['type',['../structpocketfft_1_1detail_1_1add__vec.html#a7568dc83136c1b41eb71dcb78527227e',1,'pocketfft::detail::add_vec::type'],['../structpocketfft_1_1detail_1_1add__vec_3_01cmplx_3_01_t_01_4_01_4.html#a257b1c81fb9f559c48ee90497013494e',1,'pocketfft::detail::add_vec< cmplx< T > >::type'],['../structmlx_1_1steel_1_1integral__constant.html#a6492c15b37d160d3a33e1cbe770aa3f1',1,'mlx::steel::integral_constant::type'],['../structmetal_1_1make__void.html#aee74916713465374928c5379ab0d9b75',1,'metal::make_void::type'],['../structmetal_1_1pointer__element_3_01thread_01_t_01_5_01_4.html#a98fbc2aa99dd26bb35aa9cd1826318d8',1,'metal::pointer_element< thread T * >::type'],['../structmetal_1_1pointer__element_3_01device_01_t_01_5_01_4.html#ab36a7c5a64c0693dd3d8ccb322c163d4',1,'metal::pointer_element< device T * >::type'],['../structmetal_1_1pointer__element_3_01constant_01_t_01_5_01_4.html#ad154b55b9e450a6376016488c8e68c53',1,'metal::pointer_element< constant T * >::type'],['../structmetal_1_1pointer__element_3_01threadgroup_01_t_01_5_01_4.html#a78c718d6da9d393c139a385f42472362',1,'metal::pointer_element< threadgroup T * >::type'],['../structpocketfft_1_1detail_1_1_exec_dcst.html#a9b170cbd74a9c6f45ac014ce349219ea',1,'pocketfft::detail::ExecDcst::type'],['../structmlx_1_1core_1_1_reduction_plan.html#a24e407f13d4d02156380ecc1a6748a76',1,'mlx::core::ReductionPlan::type'],['../structmlx_1_1core_1_1_device.html#a763264ec90f7f23c5dced36c3f0db2e5',1,'mlx::core::Device::type']]], - ['type_5fto_5fname_88',['type_to_name',['../namespacemlx_1_1core.html#aef60e3a8d9c987c9c338b193673d2164',1,'mlx::core::type_to_name(const Dtype &t)'],['../namespacemlx_1_1core.html#af1fdfdaa5644394362e6baba30701bae',1,'mlx::core::type_to_name(const array &a)']]], - ['type_5ftraits_2eh_89',['type_traits.h',['../type__traits_8h.html',1,'']]], - ['typetodtype_90',['TypeToDtype',['../structmlx_1_1core_1_1_type_to_dtype.html',1,'mlx::core']]] + ['traditional_5f_69',['traditional_',['../classmlx_1_1core_1_1fast_1_1_ro_p_e.html#aff0efd84921c5091c7ad1ea76096c728',1,'mlx::core::fast::RoPE']]], + ['transformadd_70',['TransformAdd',['../structmlx_1_1steel_1_1_transform_add.html',1,'mlx::steel::TransformAdd< OutT, InT >'],['../structmlx_1_1steel_1_1_transform_add.html#a7c1b7292910b74281e5296b3dac157ae',1,'mlx::steel::TransformAdd::TransformAdd(const float, const float)'],['../structmlx_1_1steel_1_1_transform_add.html#a7c1b7292910b74281e5296b3dac157ae',1,'mlx::steel::TransformAdd::TransformAdd(const float, const float)']]], + ['transformaxpby_71',['TransformAxpby',['../structmlx_1_1steel_1_1_transform_axpby.html',1,'mlx::steel::TransformAxpby< OutT, InT >'],['../structmlx_1_1steel_1_1_transform_axpby.html#ad7d11c53de13646b725921391d15bbe9',1,'mlx::steel::TransformAxpby::TransformAxpby(const float alpha_, const float beta_)'],['../structmlx_1_1steel_1_1_transform_axpby.html#ad7d11c53de13646b725921391d15bbe9',1,'mlx::steel::TransformAxpby::TransformAxpby(const float alpha_, const float beta_)']]], + ['transformnone_72',['TransformNone',['../structmlx_1_1steel_1_1_transform_none.html',1,'mlx::steel']]], + ['transforms_2eh_73',['transforms.h',['../backend_2metal_2kernels_2steel_2attn_2transforms_8h.html',1,'(Global Namespace)'],['../backend_2metal_2kernels_2steel_2gemm_2transforms_8h.html',1,'(Global Namespace)'],['../transforms_8h.html',1,'(Global Namespace)']]], + ['transforms_5fimpl_2eh_74',['transforms_impl.h',['../transforms__impl_8h.html',1,'']]], + ['transformscale_75',['TransformScale',['../struct_transform_scale.html',1,'TransformScale< T >'],['../struct_transform_scale.html#ae109cf7c963ba13df96977e7563f7b70',1,'TransformScale::TransformScale()']]], + ['transpose_76',['Transpose',['../classmlx_1_1core_1_1_transpose.html',1,'mlx::core::Transpose'],['../classmlx_1_1core_1_1_transpose.html#a1a9ba023584c61c7ac93d6dce536760a',1,'mlx::core::Transpose::Transpose()']]], + ['transpose_77',['transpose',['../group__ops.html#gac1869f3b7094869b44fe7ac4ce58638b',1,'mlx::core::transpose(const array &a, std::vector< int > axes, StreamOrDevice s={})'],['../group__ops.html#ga260ac332956f3a6bf1dfdb9095c84dc5',1,'mlx::core::transpose(const array &a, std::initializer_list< int > axes, StreamOrDevice s={})'],['../group__ops.html#ga68da0176fefbe0c0096783c6fd926c6a',1,'mlx::core::transpose(const array &a, StreamOrDevice s={})']]], + ['tri_78',['tri',['../group__ops.html#ga4f3389e5b89e70e862e7d2b40d6c7f78',1,'mlx::core::tri(int n, int m, int k, Dtype type, StreamOrDevice s={})'],['../group__ops.html#gac19a1bd6ed6d5c7bc9d258820189dbb5',1,'mlx::core::tri(int n, Dtype type, StreamOrDevice s={})']]], + ['tri_5finv_79',['tri_inv',['../namespacemlx_1_1core_1_1linalg.html#aba1994571326326717b5b5e38c2e0661',1,'mlx::core::linalg']]], + ['tril_80',['tril',['../group__ops.html#ga83e0bb45dc770cf014531d873b78c5a2',1,'mlx::core']]], + ['triu_81',['triu',['../group__ops.html#gaa9df5917876eeb0cb28b7fa81f880412',1,'mlx::core']]], + ['trows_82',['TROWS',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a2528ff5ed472e4ed35415ada42276b07',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::TROWS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a3957fb263fe040fe70683fd1d7b06487',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::TROWS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a94f0ce5bb7d87bc1fb6a7c2ba2b892d4',1,'mlx::steel::Conv2DWeightBlockLoader::TROWS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#a789683f9ac9d9309d07c05f3bdedd2fd',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::TROWS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#a5cefb1285ed13ad3490198e9303453de',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::TROWS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a2aff22af70f685f858adea73f5575cf7',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::TROWS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#acbc28f364381166faaeec2783dc88e10',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::TROWS']]], + ['true_5ftype_83',['true_type',['../namespacemlx_1_1steel.html#a594a6ccb75b38b5ae4ddd0d9ad047b3a',1,'mlx::steel']]], + ['trunc_84',['trunc',['../namespacemetal.html#a93cb75a11a362bfc8310ea19c554c887',1,'metal::trunc()'],['../namespacemetal_1_1fast.html#aa62e1075e86c626d97038f16e9433415',1,'metal::fast::trunc()'],['../namespacemetal_1_1precise.html#a334183e7a2dd49b983d072d1e8ee2b27',1,'metal::precise::trunc()']]], + ['truncated_5fnormal_85',['truncated_normal',['../namespacemlx_1_1core_1_1random.html#a00aa5746bac6d729d2ba9465153bb279',1,'mlx::core::random::truncated_normal(const array &lower, const array &upper, const std::vector< int > &shape, Dtype dtype=float32, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1random.html#a39663eda0fd7b274d01499a7b1c9035f',1,'mlx::core::random::truncated_normal(const array &lower, const array &upper, Dtype dtype=float32, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})']]], + ['try_5fpop_86',['try_pop',['../classpocketfft_1_1detail_1_1threading_1_1concurrent__queue.html#aa3807d46a126d229f9054c779105ea43',1,'pocketfft::detail::threading::concurrent_queue']]], + ['two_87',['two',['../classmlx_1_1core_1_1_log.html#a044a23e8b1422984628e1cd5ab506421a41877eab6fa3db7d7ed2cda9eba14251',1,'mlx::core::Log']]], + ['type_88',['type',['../structpocketfft_1_1detail_1_1add__vec.html#a7568dc83136c1b41eb71dcb78527227e',1,'pocketfft::detail::add_vec::type'],['../structpocketfft_1_1detail_1_1add__vec_3_01cmplx_3_01_t_01_4_01_4.html#a257b1c81fb9f559c48ee90497013494e',1,'pocketfft::detail::add_vec< cmplx< T > >::type'],['../structmlx_1_1steel_1_1integral__constant.html#a6492c15b37d160d3a33e1cbe770aa3f1',1,'mlx::steel::integral_constant::type'],['../structmetal_1_1make__void.html#aee74916713465374928c5379ab0d9b75',1,'metal::make_void::type'],['../structmetal_1_1pointer__element_3_01thread_01_t_01_5_01_4.html#a98fbc2aa99dd26bb35aa9cd1826318d8',1,'metal::pointer_element< thread T * >::type'],['../structmetal_1_1pointer__element_3_01device_01_t_01_5_01_4.html#ab36a7c5a64c0693dd3d8ccb322c163d4',1,'metal::pointer_element< device T * >::type'],['../structmetal_1_1pointer__element_3_01constant_01_t_01_5_01_4.html#ad154b55b9e450a6376016488c8e68c53',1,'metal::pointer_element< constant T * >::type'],['../structmetal_1_1pointer__element_3_01threadgroup_01_t_01_5_01_4.html#a78c718d6da9d393c139a385f42472362',1,'metal::pointer_element< threadgroup T * >::type'],['../struct_conditional_type.html#a00bac71c43763817c4422bf0363dc92b',1,'ConditionalType::type'],['../struct_conditional_type_3_01true_00_01_t_00_01_u_01_4.html#abf6b75b3bfc5e3baf8c37afdb8a7e4fc',1,'ConditionalType< true, T, U >::type'],['../structpocketfft_1_1detail_1_1_exec_dcst.html#a9b170cbd74a9c6f45ac014ce349219ea',1,'pocketfft::detail::ExecDcst::type'],['../structmlx_1_1core_1_1_reduction_plan.html#a24e407f13d4d02156380ecc1a6748a76',1,'mlx::core::ReductionPlan::type'],['../structmlx_1_1core_1_1_device.html#a763264ec90f7f23c5dced36c3f0db2e5',1,'mlx::core::Device::type']]], + ['type_5fto_5fname_89',['type_to_name',['../namespacemlx_1_1core.html#aef60e3a8d9c987c9c338b193673d2164',1,'mlx::core::type_to_name(const Dtype &t)'],['../namespacemlx_1_1core.html#af1fdfdaa5644394362e6baba30701bae',1,'mlx::core::type_to_name(const array &a)']]], + ['type_5ftraits_2eh_90',['type_traits.h',['../type__traits_8h.html',1,'']]], + ['typetodtype_91',['TypeToDtype',['../structmlx_1_1core_1_1_type_to_dtype.html',1,'mlx::core']]] ]; diff --git a/docs/build/html/search/all_19.js b/docs/build/html/search/all_19.js index 4a7356fff..1e5c46855 100644 --- a/docs/build/html/search/all_19.js +++ b/docs/build/html/search/all_19.js @@ -1,6 +1,6 @@ var searchData= [ ['zero_5fhelper_0',['zero_helper',['../sort_8h.html#aca8b6f36c9024b8406fe545765316dc0',1,'sort.h']]], - ['zeros_1',['zeros',['../group__ops.html#ga34573eb2ead179839579142f3aedb3b8',1,'mlx::core::zeros(const std::vector< int > &shape, Dtype dtype, StreamOrDevice s={})'],['../group__ops.html#ga7c1487f8a830c9df75a961b3a24527ee',1,'mlx::core::zeros(const std::vector< int > &shape, StreamOrDevice s={})']]], + ['zeros_1',['zeros',['../group__ops.html#gae2cace3b388cec4e520659a91879e1c1',1,'mlx::core::zeros(const Shape &shape, Dtype dtype, StreamOrDevice s={})'],['../group__ops.html#gac8aa722f5e798819b7091693173f1f36',1,'mlx::core::zeros(const Shape &shape, StreamOrDevice s={})']]], ['zeros_5flike_2',['zeros_like',['../group__ops.html#gafbb857094d784b38c78683a091ffdbde',1,'mlx::core']]] ]; diff --git a/docs/build/html/search/all_2.js b/docs/build/html/search/all_2.js index 01d6f2885..c2ba43a9c 100644 --- a/docs/build/html/search/all_2.js +++ b/docs/build/html/search/all_2.js @@ -6,105 +6,106 @@ var searchData= ['b_5fstr_5fn_3',['B_str_n',['../structmlx_1_1steel_1_1_block_m_m_a.html#a49538190209e522ddbef45fe95563d17',1,'mlx::steel::BlockMMA']]], ['backward_4',['BACKWARD',['../namespacepocketfft_1_1detail.html#a9d1eaa7469c018c39e745733eab9a9c3',1,'pocketfft::detail']]], ['base_5',['Base',['../classmlx_1_1core_1_1_log.html#a044a23e8b1422984628e1cd5ab506421',1,'mlx::core::Log']]], - ['base_5fwh_6',['base_wh',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#aca37adba6f148579eb1cd0a7800a5cfe',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::base_wh'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a6c46564bf1a96a02791dd432cc9c883e',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::base_wh']]], - ['base_5fww_7',['base_ww',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a32d020c6715d06f7de360877fcb7b6e4',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::base_ww'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a230f0e581f9b8227b9ee68760b3b1503',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::base_ww']]], - ['basemmafrag_8',['BaseMMAFrag',['../structmlx_1_1steel_1_1_base_m_m_a_frag.html',1,'mlx::steel']]], - ['basemmafrag_3c_20t_2c_208_2c_208_20_3e_9',['BaseMMAFrag< T, 8, 8 >',['../structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html',1,'mlx::steel']]], - ['batch_5fndim_10',['batch_ndim',['../structmlx_1_1steel_1_1_g_e_m_m_params.html#a640dc138a8bf7b2b5bed6a436b429c2f',1,'mlx::steel::GEMMParams']]], - ['batch_5fsize_11',['batch_size',['../struct_read_writer.html#a689f4890c1d2ce33fc6da7550beec735',1,'ReadWriter']]], - ['batch_5fstride_5fa_12',['batch_stride_a',['../structmlx_1_1steel_1_1_g_e_m_m_params.html#a76f55783a8e2ee203cf8507eee4b000c',1,'mlx::steel::GEMMParams']]], - ['batch_5fstride_5fb_13',['batch_stride_b',['../structmlx_1_1steel_1_1_g_e_m_m_params.html#a99b959b12d12da657648fa24d43e49e8',1,'mlx::steel::GEMMParams']]], - ['batch_5fstride_5fc_14',['batch_stride_c',['../structmlx_1_1steel_1_1_g_e_m_m_add_m_m_params.html#a77c065db228e9654a0a75a6ffe47c15a',1,'mlx::steel::GEMMAddMMParams']]], - ['batch_5fstride_5fd_15',['batch_stride_d',['../structmlx_1_1steel_1_1_g_e_m_m_params.html#ad98006dd509a455864e6aa7c52743a41',1,'mlx::steel::GEMMParams']]], - ['bcols_16',['BCOLS',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a29fbeeacdf5b6feeb74815ced255fa5a',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::BCOLS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#ac3b40db720055350bba59d614ea1dd79',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::BCOLS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a86519729ef0561686bb86e474c95b93d',1,'mlx::steel::Conv2DWeightBlockLoader::BCOLS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#a9229d22e0a02d96825eb5a57c8cb95ac',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::BCOLS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#a8b6cf53a10514310d01f4d6459053a57',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::BCOLS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a3d6272d000f8ea79d9b3b5228bdca20f',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::BCOLS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a1843921cd67926002bb0dcccf3048eb6',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::BCOLS']]], - ['bcols_5fpacked_17',['BCOLS_PACKED',['../struct_quantized_block_loader.html#a1392a5278cf6e090ea80ebe7c4ac5fbb',1,'QuantizedBlockLoader']]], - ['begin_18',['begin',['../classmlx_1_1core_1_1array.html#a76b258b169d7d73419ebbf85340fb914',1,'mlx::core::array']]], - ['bernoulli_19',['bernoulli',['../namespacemlx_1_1core_1_1random.html#acb3f278fea2c4f06dea947d3bac2e9b7',1,'mlx::core::random::bernoulli(const array &p, const std::vector< int > &shape, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1random.html#aaa49f6c2af5496822fa09435e54275cb',1,'mlx::core::random::bernoulli(const array &p, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1random.html#aa9e360f9cb7bd23221352ed9e31d83c2',1,'mlx::core::random::bernoulli(T p, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1random.html#a37fcba120a1d246176db5256d3201cd4',1,'mlx::core::random::bernoulli(T p, const std::vector< int > &shape, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1random.html#ad7eb4467e2f9d5f74a5607b29a935b6e',1,'mlx::core::random::bernoulli(const std::optional< array > &key=std::nullopt, StreamOrDevice s={})']]], - ['beta_20',['beta',['../structmlx_1_1steel_1_1_transform_axpby.html#a5fc726f085bafd1acbc391886f7fb8b6',1,'mlx::steel::TransformAxpby::beta'],['../structmlx_1_1steel_1_1_g_e_m_m_add_m_m_params.html#ac0ce4d8a6014f8adb29fd0a0bb23139f',1,'mlx::steel::GEMMAddMMParams::beta']]], - ['bf16_2eh_21',['bf16.h',['../backend_2metal_2kernels_2jit_2bf16_8h.html',1,'(Global Namespace)'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html',1,'(Global Namespace)'],['../backend_2metal_2kernels_2metal__3__1_2bf16_8h.html',1,'(Global Namespace)'],['../types_2bf16_8h.html',1,'(Global Namespace)']]], - ['bf16_5fmath_2eh_22',['bf16_math.h',['../bf16__math_8h.html',1,'']]], - ['bfloat16_23',['bfloat16',['../structmlx_1_1core_1_1_dtype.html#ade845ef5dcebead13a37fe696436e1daa444fe01f3a7a54d1809aef0912846a47',1,'mlx::core::Dtype::bfloat16'],['../namespacemlx_1_1core.html#a514cf8b4e6f0a6af3a867e752f4338f7',1,'mlx::core::bfloat16']]], - ['bfloat16_5ft_24',['bfloat16_t',['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7782de82393104dd4ad754ce3b316e82',1,'bfloat16_t: bf16.h'],['../backend_2metal_2kernels_2metal__3__1_2bf16_8h.html#a58e15a77da988b9104fee00cdf8b280e',1,'bfloat16_t: bf16.h']]], - ['bfloat16_5fto_5fuint16_25',['bfloat16_to_uint16',['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a1420e191fa60d707dce327d0938e3088',1,'bfloat16_to_uint16(const bfloat16_t x): bf16.h'],['../backend_2metal_2kernels_2metal__3__1_2bf16_8h.html#a1420e191fa60d707dce327d0938e3088',1,'bfloat16_to_uint16(const bfloat16_t x): bf16.h']]], - ['bfloat_5fbinop_26',['bfloat_binop',['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7694892a131c0e31e5153c088cccb707',1,'bfloat_binop: bf16.h'],['../types_2bf16_8h.html#a7694892a131c0e31e5153c088cccb707',1,'bfloat_binop: bf16.h']]], - ['bfloat_5fbinop_5fbase_27',['bfloat_binop_base',['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a78c92beda4436da9a2e520fa98c59f70',1,'bfloat_binop_base: bf16.h'],['../types_2bf16_8h.html#a78c92beda4436da9a2e520fa98c59f70',1,'bfloat_binop_base: bf16.h']]], - ['bfloat_5fbinop_5fhelper_28',['bfloat_binop_helper',['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac7ff36230dab17e8f17b7a7c80888594',1,'bfloat_binop_helper: bf16.h'],['../types_2bf16_8h.html#ac7ff36230dab17e8f17b7a7c80888594',1,'bfloat_binop_helper: bf16.h']]], - ['bfloat_5fbitop_29',['bfloat_bitop',['../types_2bf16_8h.html#aac9ba86d4bf05bcda1936494f9b9b4d3',1,'bf16.h']]], - ['bfloat_5fbits_5fto_5ffloat_30',['bfloat_bits_to_float',['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a3b33ae338dc4f223d0f3c748de07bad1',1,'bf16.h']]], - ['bfloat_5fcompop_31',['bfloat_compop',['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a330a0883503cb640f1cf628a7ca50239',1,'bfloat_compop: bf16.h'],['../types_2bf16_8h.html#a330a0883503cb640f1cf628a7ca50239',1,'bfloat_compop: bf16.h']]], - ['bfloat_5finplace_5fbitop_32',['bfloat_inplace_bitop',['../types_2bf16_8h.html#af13b46bc58e6e6f675ae47aabec37711',1,'bf16.h']]], - ['bfloat_5finplace_5fop_33',['bfloat_inplace_op',['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a4ac82467fbc674e990090f482b9c1e5c',1,'bfloat_inplace_op: bf16.h'],['../types_2bf16_8h.html#aee905053f51f76e0c1af94199714d514',1,'bfloat_inplace_op: bf16.h']]], - ['bfloat_5finplace_5fop_5faddr_5fspace_5fhelper_34',['bfloat_inplace_op_addr_space_helper',['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af30a2cbd2c3415516203b83bd21872f8',1,'bfloat_inplace_op_addr_space_helper: bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a1457da931c28fa4e2500daa4e6441e8b',1,'bfloat_inplace_op_addr_space_helper: bf16.h']]], - ['bfloat_5finplace_5fop_5fhelper_35',['bfloat_inplace_op_helper',['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a2846fd11b5e19b435e9f7ef0998c9b1d',1,'bfloat_inplace_op_helper: bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#afe5988aa8147be2bafda6a5b7792fe15',1,'bfloat_inplace_op_helper: bf16.h']]], - ['bfs_5fmax_5fwidth_36',['bfs_max_width',['../namespacemlx_1_1core_1_1env.html#ac3266e1259a64c8b56bdc6c7029179f2',1,'mlx::core::env']]], - ['bi_37',['bi',['../struct_quantized_block_loader.html#a85041d72225a2095659c70509291a906',1,'QuantizedBlockLoader::bi'],['../structmlx_1_1steel_1_1_block_loader.html#a9ef13742bcdf07532d8f09394928a8af',1,'mlx::steel::BlockLoader::bi'],['../structmlx_1_1steel_1_1_block_loader_t.html#a6964273994b06d6cf8ef7e59fb10bb35',1,'mlx::steel::BlockLoaderT::bi'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a8e53b0a9951cb840d922cc285b257ee3',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::bi'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#ae3af75287f279d2cdeef189126740d4c',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::bi'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a8c5e74003600132954cb953616e1a026',1,'mlx::steel::Conv2DWeightBlockLoader::bi'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#a9eb024e2fc6f07345f87fbf7141c0d16',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::bi'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#ae3b9f21f72e5e6c541c9978f55d354c7',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::bi'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a32a3a91fa715b82f36e05ceb10933d09',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::bi'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a4c91f848856ab0872bdfd37c62d4b0ba',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::bi']]], - ['biases_38',['biases',['../struct_quantized_block_loader.html#a17d01a6aba0833b073586ef2c09d0fbd',1,'QuantizedBlockLoader']]], - ['binary_39',['binary',['../namespacemlx_1_1core_1_1metal.html#a269d591ec02e2f7c0f7a718fbfa37f73',1,'mlx::core::metal']]], - ['binary_2eh_40',['binary.h',['../common_2binary_8h.html',1,'(Global Namespace)'],['../metal_2binary_8h.html',1,'(Global Namespace)'],['../metal_2kernels_2binary_8h.html',1,'(Global Namespace)']]], - ['binary_5fg_41',['binary_g',['../metal_2kernels_2binary_8h.html#ab1b49438a70f6c707c18afd5bce12bb3',1,'binary_g(device const T *a, device const T *b, device U *c, constant const int *shape, constant const size_t *a_strides, constant const size_t *b_strides, constant const int &ndim, uint3 index, uint3 grid_dim): binary.h'],['../metal_2kernels_2binary__two_8h.html#aaf6edb734cea627bca4f6540dc338fbd',1,'binary_g(device const T *a, device const T *b, device U *c, device U *d, constant const int *shape, constant const size_t *a_strides, constant const size_t *b_strides, constant const int &ndim, uint3 index, uint3 grid_dim): binary_two.h']]], - ['binary_5fg_5fnd1_42',['binary_g_nd1',['../metal_2kernels_2binary_8h.html#a6808bfb006cb5473da087a2758d0d867',1,'binary_g_nd1(device const T *a, device const T *b, device U *c, constant const size_t &a_stride, constant const size_t &b_stride, uint index): binary.h'],['../metal_2kernels_2binary__two_8h.html#ad1fad37c168192b212a4294f4cf78133',1,'binary_g_nd1(device const T *a, device const T *b, device U *c, device U *d, constant const size_t &a_stride, constant const size_t &b_stride, uint index): binary_two.h']]], - ['binary_5fg_5fnd2_43',['binary_g_nd2',['../metal_2kernels_2binary_8h.html#a6cefcfee68bd62f3a6924df0cd53dd49',1,'binary_g_nd2(device const T *a, device const T *b, device U *c, constant const size_t a_strides[2], constant const size_t b_strides[2], uint2 index, uint2 grid_dim): binary.h'],['../metal_2kernels_2binary__two_8h.html#a97b5613aff654d32c49225209a19bb95',1,'binary_g_nd2(device const T *a, device const T *b, device U *c, device U *d, constant const size_t a_strides[2], constant const size_t b_strides[2], uint2 index, uint2 grid_dim): binary_two.h']]], - ['binary_5fg_5fnd3_44',['binary_g_nd3',['../metal_2kernels_2binary_8h.html#abb15de8250f9a259de80618c6de46dfa',1,'binary_g_nd3(device const T *a, device const T *b, device U *c, constant const size_t a_strides[3], constant const size_t b_strides[3], uint3 index, uint3 grid_dim): binary.h'],['../metal_2kernels_2binary__two_8h.html#aae07014f8dffa3649a5c7f4671e1268e',1,'binary_g_nd3(device const T *a, device const T *b, device U *c, device U *d, constant const size_t a_strides[3], constant const size_t b_strides[3], uint3 index, uint3 grid_dim): binary_two.h']]], - ['binary_5fop_5fgpu_45',['binary_op_gpu',['../namespacemlx_1_1core.html#ad884f4a36308b5b4f8a5d990d2e086df',1,'mlx::core::binary_op_gpu(const std::vector< array > &inputs, std::vector< array > &outputs, const std::string &op, const Stream &s)'],['../namespacemlx_1_1core.html#a094876ea5a2a2445ab64efc8222da202',1,'mlx::core::binary_op_gpu(const std::vector< array > &inputs, array &out, const std::string &op, const Stream &s)']]], - ['binary_5fop_5fgpu_5finplace_46',['binary_op_gpu_inplace',['../namespacemlx_1_1core.html#a8616c0b7b0fc118a75400bc86404c367',1,'mlx::core::binary_op_gpu_inplace(const std::vector< array > &inputs, std::vector< array > &outputs, const std::string &op, const Stream &s)'],['../namespacemlx_1_1core.html#a7e6af6624e322e7ad60a3873a66e18a3',1,'mlx::core::binary_op_gpu_inplace(const std::vector< array > &inputs, array &out, const std::string &op, const Stream &s)']]], - ['binary_5fops_47',['binary_ops',['../namespacemlx_1_1core_1_1metal.html#a8db7f9cc781d4bfb08423a401665f322',1,'mlx::core::metal']]], - ['binary_5fops_2eh_48',['binary_ops.h',['../binary__ops_8h.html',1,'']]], - ['binary_5fss_49',['binary_ss',['../metal_2kernels_2binary_8h.html#a242b8b29a852c255467e50628c6dccf5',1,'binary_ss(device const T *a, device const T *b, device U *c, uint index): binary.h'],['../metal_2kernels_2binary__two_8h.html#af8a791ac7ca88d32cd8f4e9ac0f9ab4f',1,'binary_ss(device const T *a, device const T *b, device U *c, device U *d, uint index): binary_two.h']]], - ['binary_5fsv_50',['binary_sv',['../metal_2kernels_2binary_8h.html#a4116c35f2e4632366d1611d5a95ba141',1,'binary_sv(device const T *a, device const T *b, device U *c, uint index): binary.h'],['../metal_2kernels_2binary__two_8h.html#ab18c6ecf5065275c93701efd095c916c',1,'binary_sv(device const T *a, device const T *b, device U *c, device U *d, uint index): binary_two.h']]], - ['binary_5fsv2_51',['binary_sv2',['../metal_2kernels_2binary_8h.html#aa8c48b1b21d8f5a181f5443de2346589',1,'binary_sv2(device const T *a, device const T *b, device U *c, uint2 index, uint2 grid_dim): binary.h'],['../metal_2kernels_2binary__two_8h.html#a08822ff98ea6f61a98b49a9e9a38b891',1,'binary_sv2(device const T *a, device const T *b, device U *c, device U *d, uint2 index, uint2 grid_dim): binary_two.h']]], - ['binary_5ftwo_52',['binary_two',['../namespacemlx_1_1core_1_1metal.html#aed047eec38b030ec5f29b9da54abf8cb',1,'mlx::core::metal']]], - ['binary_5ftwo_2eh_53',['binary_two.h',['../common_2binary__two_8h.html',1,'(Global Namespace)'],['../metal_2kernels_2binary__two_8h.html',1,'(Global Namespace)']]], - ['binary_5fvs_54',['binary_vs',['../metal_2kernels_2binary_8h.html#a649851d133358dd5832a73b1061b3313',1,'binary_vs(device const T *a, device const T *b, device U *c, uint index): binary.h'],['../metal_2kernels_2binary__two_8h.html#a12dbda74fa460812177ccb9aeee6e1ca',1,'binary_vs(device const T *a, device const T *b, device U *c, device U *d, uint index): binary_two.h']]], - ['binary_5fvs2_55',['binary_vs2',['../metal_2kernels_2binary_8h.html#a48bd82eb10f9c623ce7d28daec4fa512',1,'binary_vs2(device const T *a, device const T *b, device U *c, uint2 index, uint2 grid_dim): binary.h'],['../metal_2kernels_2binary__two_8h.html#a273d2f31691f2c64623c2a97eab344be',1,'binary_vs2(device const T *a, device const T *b, device U *c, device U *d, uint2 index, uint2 grid_dim): binary_two.h']]], - ['binary_5fvv_56',['binary_vv',['../metal_2kernels_2binary_8h.html#add6a9aeee3cb0ba909574f27fa9ecd5b',1,'binary_vv(device const T *a, device const T *b, device U *c, uint index): binary.h'],['../metal_2kernels_2binary__two_8h.html#ab4324f594c007a6895540b77ad5d89d9',1,'binary_vv(device const T *a, device const T *b, device U *c, device U *d, uint index): binary_two.h']]], - ['binary_5fvv2_57',['binary_vv2',['../metal_2kernels_2binary_8h.html#a19dbbf8fea68b64bdd25dc8d36865171',1,'binary_vv2(device const T *a, device const T *b, device U *c, uint2 index, uint2 grid_dim): binary.h'],['../metal_2kernels_2binary__two_8h.html#a12e80730e43dfaa4c79ce8d5f99edc50',1,'binary_vv2(device const T *a, device const T *b, device U *c, device U *d, uint2 index, uint2 grid_dim): binary_two.h']]], - ['bits_58',['bits',['../namespacemlx_1_1core_1_1random.html#abb895baa477f5a06b5f88e69245f1825',1,'mlx::core::random::bits(const std::vector< int > &shape, int width, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1random.html#a548ffed4ba3107b89885ff850ffce5f4',1,'mlx::core::random::bits(const std::vector< int > &shape, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})']]], - ['bits_5f_59',['bits_',['../struct___m_l_x___b_float16.html#a4113263b63e3757ea8334cc4f0f5c3c8',1,'_MLX_BFloat16::bits_'],['../structmlx_1_1core_1_1___m_l_x___b_float16.html#aca48963f820065c3d8ecab24265ab3fc',1,'mlx::core::_MLX_BFloat16::bits_'],['../structmlx_1_1core_1_1___m_l_x___float16.html#a5203fe52424fd32bce6eb7917dd9288b',1,'mlx::core::_MLX_Float16::bits_']]], - ['bits_5fto_5fbfloat_60',['bits_to_bfloat',['../struct___m_l_x___b_float16.html#a91ccb774773b65f8d4c1aea3f1c6e1ca',1,'_MLX_BFloat16']]], - ['bits_5fto_5fbfloat_5fstruct_61',['bits_to_bfloat_struct',['../struct___m_l_x___b_float16_1_1bits__to__bfloat__struct.html',1,'_MLX_BFloat16']]], - ['bitwise_5fand_62',['bitwise_and',['../group__ops.html#ga752fd2707dabb05d0308ba3d55346ada',1,'mlx::core']]], - ['bitwise_5for_63',['bitwise_or',['../group__ops.html#ga8af4f22c08c11c4ffab7e3d45e0f3cd6',1,'mlx::core']]], - ['bitwise_5fxor_64',['bitwise_xor',['../group__ops.html#ga3188638fba3a60e264baf69956a1e08b',1,'mlx::core']]], - ['bitwiseand_65',['BitwiseAnd',['../struct_bitwise_and.html',1,'BitwiseAnd'],['../structmlx_1_1core_1_1detail_1_1_bitwise_and.html',1,'mlx::core::detail::BitwiseAnd']]], - ['bitwisebinary_66',['BitwiseBinary',['../classmlx_1_1core_1_1_bitwise_binary.html',1,'mlx::core::BitwiseBinary'],['../classmlx_1_1core_1_1_bitwise_binary.html#a0d8b3a94951621ffcdebc6fda748a172',1,'mlx::core::BitwiseBinary::BitwiseBinary()']]], - ['bitwiseor_67',['BitwiseOr',['../struct_bitwise_or.html',1,'BitwiseOr'],['../structmlx_1_1core_1_1detail_1_1_bitwise_or.html',1,'mlx::core::detail::BitwiseOr']]], - ['bitwisexor_68',['BitwiseXor',['../struct_bitwise_xor.html',1,'BitwiseXor'],['../structmlx_1_1core_1_1detail_1_1_bitwise_xor.html',1,'mlx::core::detail::BitwiseXor']]], - ['bj_69',['bj',['../struct_quantized_block_loader.html#ae2add92b2aaf3414e91f0470b9b0cc00',1,'QuantizedBlockLoader::bj'],['../structmlx_1_1steel_1_1_block_loader.html#a78c326e75ee35a484685771143047cd4',1,'mlx::steel::BlockLoader::bj'],['../structmlx_1_1steel_1_1_block_loader_t.html#aca83e49c31095badc8a46eb3c8e00957',1,'mlx::steel::BlockLoaderT::bj'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a7ae9e41f50c0c63c35b63086a1c22cc3',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::bj'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a6fd3dd7b74d91609fa9dd61c657a0e32',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::bj'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a6f2fdcaf5a67567cca38ae3d8120ab37',1,'mlx::steel::Conv2DWeightBlockLoader::bj'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#a7cf448573d41fbc67f8dfc65b7aef2b2',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::bj'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#adaa261fc2e8e694aedab4ebd60b52e5e',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::bj'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#ace16704025bc6e6204c306a357f3a8b8',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::bj'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#acec010e10d5733654963407af38d4f67',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::bj']]], - ['block_5fmasked_5fgemm_70',['block_masked_gemm',['../steel__gemm__masked_8h.html#af805e998b2046ee30c2b4be813e3af97',1,'block_masked_gemm(const device T *A, const device T *B, device T *D, const constant GEMMParams *params, const constant int *batch_shape, const constant size_t *batch_strides, const device out_mask_t *out_mask, const device op_mask_t *lhs_mask, const device op_mask_t *rhs_mask, const constant int *mask_strides, uint simd_lane_id, uint simd_group_id, uint3 tid, uint3 lid): steel_gemm_masked.h'],['../steel__gemm__masked_8h.html#a477932e2ae9d49366f7ede6db63f9cac',1,'block_masked_gemm(const device T *A, const device T *B, device T *D, const constant GEMMParams *params, const constant int *batch_shape, const constant size_t *batch_strides, const device bool *out_mask, const device bool *lhs_mask, const device bool *rhs_mask, const constant int *mask_strides, uint simd_lane_id, uint simd_group_id, uint3 tid, uint3 lid): steel_gemm_masked.h']]], - ['block_5fmasked_5fmm_71',['block_masked_mm',['../group__ops.html#ga6b76c8ea46b19e6866af155fa5910be6',1,'mlx::core']]], - ['block_5fmerge_5fsort_5ft_72',['block_merge_sort_t',['../struct_kernel_merge_sort.html#adae7850e057fc30d5328c7b3dcc998fa',1,'KernelMergeSort::block_merge_sort_t'],['../struct_kernel_multi_block_merge_sort.html#af27e9af4b58640c0aa620bc4efc68dff',1,'KernelMultiBlockMergeSort::block_merge_sort_t']]], - ['block_5fsort_73',['block_sort',['../struct_kernel_merge_sort.html#a56b644ec66f7fb5c01b280f124304be9',1,'KernelMergeSort::block_sort()'],['../struct_kernel_multi_block_merge_sort.html#a322ed2eac315a561e0fd90af2fd577eb',1,'KernelMultiBlockMergeSort::block_sort()'],['../sort_8h.html#a93f14092416169c4449141043ac45ffd',1,'block_sort(const device T *inp, device U *out, const constant int &size_sorted_axis, const constant int &in_stride_sorted_axis, const constant int &out_stride_sorted_axis, const constant int &in_stride_segment_axis, const constant int &out_stride_segment_axis, uint3 tid, uint3 lid): sort.h']]], - ['block_5fsort_5fnc_74',['block_sort_nc',['../sort_8h.html#a4ee3de195a6f9c33aa91ac52461808ad',1,'sort.h']]], - ['blockloader_75',['BlockLoader',['../structmlx_1_1steel_1_1_block_loader.html',1,'mlx::steel::BlockLoader< T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, alignment, n_reads, TCOLS, TROWS >'],['../structmlx_1_1steel_1_1_block_loader.html#a37aca066e63dff238865b5923a2d4335',1,'mlx::steel::BlockLoader::BlockLoader(const device T *src_, const int src_ld_, threadgroup T *dst_, ushort simd_group_id, ushort simd_lane_id)'],['../structmlx_1_1steel_1_1_block_loader.html#a37aca066e63dff238865b5923a2d4335',1,'mlx::steel::BlockLoader::BlockLoader(const device T *src_, const int src_ld_, threadgroup T *dst_, ushort simd_group_id, ushort simd_lane_id)']]], - ['blockloadert_76',['BlockLoaderT',['../structmlx_1_1steel_1_1_block_loader_t.html',1,'mlx::steel::BlockLoaderT< T, BROWS, BCOLS, kDstStrRow, kDstStrCol, reduction_dim, tgp_size, n_reads, TCOLS, TROWS >'],['../structmlx_1_1steel_1_1_block_loader_t.html#a076616a7c67ad1b847e0e6b046077ee2',1,'mlx::steel::BlockLoaderT::BlockLoaderT()']]], - ['blockm_77',['blockM',['../struct_g_e_m_v_kernel.html#a7281520100658811076400060663903c',1,'GEMVKernel::blockM'],['../struct_g_e_m_v_t_kernel.html#a2ae8ce535d59cccf453381b4485a77f0',1,'GEMVTKernel::blockM']]], - ['blockmaskedmm_78',['BlockMaskedMM',['../classmlx_1_1core_1_1_block_masked_m_m.html',1,'mlx::core::BlockMaskedMM'],['../classmlx_1_1core_1_1_block_masked_m_m.html#ad26509deb5306d0c5eb72477e9a57477',1,'mlx::core::BlockMaskedMM::BlockMaskedMM()']]], - ['blockmergesort_79',['BlockMergeSort',['../struct_block_merge_sort.html',1,'']]], - ['blockmma_80',['BlockMMA',['../structmlx_1_1steel_1_1_block_m_m_a.html',1,'mlx::steel::BlockMMA< T, U, BM, BN, BK, WM, WN, transpose_a, transpose_b, lda_tgp, ldb_tgp, AccumType, Epilogue >'],['../structmlx_1_1steel_1_1_block_m_m_a.html#aa14406b7298456ac45d23dd3c4642dd8',1,'mlx::steel::BlockMMA::BlockMMA(ushort simd_group_id, ushort simd_lane_id)'],['../structmlx_1_1steel_1_1_block_m_m_a.html#aa14406b7298456ac45d23dd3c4642dd8',1,'mlx::steel::BlockMMA::BlockMMA(ushort simd_group_id, ushort simd_lane_id)']]], - ['blockn_81',['blockN',['../struct_g_e_m_v_kernel.html#a2fef17f9c9aa0bdf530ad3554fb0988b',1,'GEMVKernel::blockN'],['../struct_g_e_m_v_t_kernel.html#a60be87666006ba0bf88bc8e6902da42a',1,'GEMVTKernel::blockN']]], - ['blockswizzle_82',['BlockSwizzle',['../structmlx_1_1steel_1_1_block_swizzle.html',1,'mlx::steel']]], - ['bluestein_5ffft_83',['bluestein_fft',['../backend_2metal_2kernels_2fft_8h.html#a0abc609e9756475800e996775a96a87e',1,'fft.h']]], - ['bool4_5for_5fuint_84',['bool4_or_uint',['../unionbool4__or__uint.html',1,'']]], - ['bool_5f_85',['bool_',['../structmlx_1_1core_1_1_dtype.html#ade845ef5dcebead13a37fe696436e1daa467afb5838aa377d55cce81f84c5512b',1,'mlx::core::Dtype::bool_'],['../namespacemlx_1_1core.html#a113d2bac7e4aa6a4cb4a5c3242527b82',1,'mlx::core::bool_']]], - ['bool_5fconstant_86',['bool_constant',['../namespacemlx_1_1steel.html#adbb34bcf0d2dca6b9fb803d591d00da9',1,'mlx::steel']]], - ['broadcast_87',['Broadcast',['../classmlx_1_1core_1_1_broadcast.html',1,'mlx::core::Broadcast'],['../classmlx_1_1core_1_1_broadcast.html#accbab8433c93e281608a268d11afaefb',1,'mlx::core::Broadcast::Broadcast()']]], - ['broadcast_5farrays_88',['broadcast_arrays',['../group__ops.html#gab783890428b596f715dc7dd2057eae99',1,'mlx::core']]], - ['broadcast_5fshapes_89',['broadcast_shapes',['../namespacemlx_1_1core.html#a075e07def338cd9d815182d0e6a656c0',1,'mlx::core']]], - ['broadcast_5fto_90',['broadcast_to',['../group__ops.html#gad256e86cc1a6e6b3832e392baa90318d',1,'mlx::core']]], - ['brows_91',['BROWS',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#ac070c6bd5be85b1ae805e18890db4fd4',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::BROWS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a10591ea957605a9c662f93d59ff3410d',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::BROWS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#ae9b86b05b23153ea1abaeead456c491c',1,'mlx::steel::Conv2DWeightBlockLoader::BROWS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#a343984fb74ec579a4404278dbbc7e7b5',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::BROWS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#acc8140aae84694f62e6324dbb6a614a4',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::BROWS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#aba1e1c8012e4e50f0e9bcfb9486c1781',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::BROWS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a015a0c56de74a0c4d51953a7e94fbba8',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::BROWS']]], - ['bs_5foffset_92',['Bs_offset',['../structmlx_1_1steel_1_1_block_m_m_a.html#a92f6aeee432f53638447eac842f43eca',1,'mlx::steel::BlockMMA']]], - ['bs_5fqmm_5fn_93',['bs_qmm_n',['../quantized_8h.html#a1a66b061c46383952a0f067c3848971f',1,'quantized.h']]], - ['bs_5fqmm_5ft_94',['bs_qmm_t',['../quantized_8h.html#ab1ae143eba2afceb8df63f38b26f9a84',1,'quantized.h']]], - ['bs_5fqmv_95',['bs_qmv',['../quantized_8h.html#acf4c7fc77821a83b31aedfb48443d3ed',1,'quantized.h']]], - ['bs_5fqmv_5ffast_96',['bs_qmv_fast',['../quantized_8h.html#a530b720e123e59d73ea89a0a2d0946b7',1,'quantized.h']]], - ['bs_5fqvm_97',['bs_qvm',['../quantized_8h.html#a6d6e3c31e44f232e58ae9d605e1f4494',1,'quantized.h']]], - ['btile_98',['Btile',['../structmlx_1_1steel_1_1_block_m_m_a.html#a44fca27c821764317263047a780977b0',1,'mlx::steel::BlockMMA']]], - ['buf_99',['buf',['../struct_read_writer.html#a23bac3c96dd0265ddbee1f256be45ff5',1,'ReadWriter::buf'],['../backend_2metal_2allocator_8h.html#a15aa5cc1baf29be08d55cca88509e697',1,'buf: allocator.h']]], - ['buffer_100',['Buffer',['../classmlx_1_1core_1_1allocator_1_1_buffer.html',1,'mlx::core::allocator::Buffer'],['../classmlx_1_1core_1_1allocator_1_1_buffer.html#ac4fc2cc6aa1368cfb74aff329d9a1300',1,'mlx::core::allocator::Buffer::Buffer()']]], - ['buffer_101',['buffer',['../structmlx_1_1core_1_1array_1_1_data.html#a9a51e2d12ba505027cc0fca86bdd39ad',1,'mlx::core::array::Data::buffer'],['../structmlx_1_1core_1_1metal_1_1_device_stream.html#a99183c92599edfeb75f7fa0f37e1d9eb',1,'mlx::core::metal::DeviceStream::buffer'],['../classmlx_1_1core_1_1array.html#ab3daf04c27c4593d9d73c397b8484a08',1,'mlx::core::array::buffer()'],['../classmlx_1_1core_1_1array.html#a634466ce661485394f2fdc3bd6796bcd',1,'mlx::core::array::buffer() const']]], - ['buffer_5fops_102',['buffer_ops',['../structmlx_1_1core_1_1metal_1_1_device_stream.html#ab6048b329e65a59033834f3bdd351782',1,'mlx::core::metal::DeviceStream']]], - ['buffer_5fsize_103',['buffer_size',['../classmlx_1_1core_1_1array.html#a914577c63755b2e862d2da68bbf8e3dd',1,'mlx::core::array']]], - ['buffers_104',['buffers',['../struct_indices.html#ad705070a740579c07d109ae4f3d86e76',1,'Indices']]], - ['build_5flib_5fname_105',['build_lib_name',['../namespacemlx_1_1core.html#a3ef23f334cb9f68a2c50524bc67c913b',1,'mlx::core']]], - ['bytes_5fper_5fpack_106',['bytes_per_pack',['../struct_quantized_block_loader.html#ad00fe6d8bd395206a41693a8ed65d4db',1,'QuantizedBlockLoader']]] + ['base_5f_6',['base_',['../classmlx_1_1core_1_1fast_1_1_ro_p_e.html#a83e32b5180698d669b780387d2e7ebc2',1,'mlx::core::fast::RoPE']]], + ['base_5fwh_7',['base_wh',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#aca37adba6f148579eb1cd0a7800a5cfe',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::base_wh'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a6c46564bf1a96a02791dd432cc9c883e',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::base_wh']]], + ['base_5fww_8',['base_ww',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a32d020c6715d06f7de360877fcb7b6e4',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::base_ww'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a230f0e581f9b8227b9ee68760b3b1503',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::base_ww']]], + ['basemmafrag_9',['BaseMMAFrag',['../structmlx_1_1steel_1_1_base_m_m_a_frag.html',1,'mlx::steel']]], + ['basemmafrag_3c_20t_2c_208_2c_208_20_3e_10',['BaseMMAFrag< T, 8, 8 >',['../structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html',1,'mlx::steel']]], + ['batch_5fndim_11',['batch_ndim',['../structmlx_1_1steel_1_1_g_e_m_m_params.html#a640dc138a8bf7b2b5bed6a436b429c2f',1,'mlx::steel::GEMMParams']]], + ['batch_5fsize_12',['batch_size',['../struct_read_writer.html#a689f4890c1d2ce33fc6da7550beec735',1,'ReadWriter']]], + ['batch_5fstride_5fa_13',['batch_stride_a',['../structmlx_1_1steel_1_1_g_e_m_m_params.html#a76f55783a8e2ee203cf8507eee4b000c',1,'mlx::steel::GEMMParams']]], + ['batch_5fstride_5fb_14',['batch_stride_b',['../structmlx_1_1steel_1_1_g_e_m_m_params.html#a99b959b12d12da657648fa24d43e49e8',1,'mlx::steel::GEMMParams']]], + ['batch_5fstride_5fc_15',['batch_stride_c',['../structmlx_1_1steel_1_1_g_e_m_m_add_m_m_params.html#a77c065db228e9654a0a75a6ffe47c15a',1,'mlx::steel::GEMMAddMMParams']]], + ['batch_5fstride_5fd_16',['batch_stride_d',['../structmlx_1_1steel_1_1_g_e_m_m_params.html#ad98006dd509a455864e6aa7c52743a41',1,'mlx::steel::GEMMParams']]], + ['bcols_17',['BCOLS',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a29fbeeacdf5b6feeb74815ced255fa5a',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::BCOLS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#ac3b40db720055350bba59d614ea1dd79',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::BCOLS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a86519729ef0561686bb86e474c95b93d',1,'mlx::steel::Conv2DWeightBlockLoader::BCOLS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#a9229d22e0a02d96825eb5a57c8cb95ac',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::BCOLS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#a8b6cf53a10514310d01f4d6459053a57',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::BCOLS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a3d6272d000f8ea79d9b3b5228bdca20f',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::BCOLS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a1843921cd67926002bb0dcccf3048eb6',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::BCOLS']]], + ['bcols_5fpacked_18',['BCOLS_PACKED',['../struct_quantized_block_loader.html#a1392a5278cf6e090ea80ebe7c4ac5fbb',1,'QuantizedBlockLoader']]], + ['begin_19',['begin',['../classmlx_1_1core_1_1array.html#a76b258b169d7d73419ebbf85340fb914',1,'mlx::core::array']]], + ['bernoulli_20',['bernoulli',['../namespacemlx_1_1core_1_1random.html#acb3f278fea2c4f06dea947d3bac2e9b7',1,'mlx::core::random::bernoulli(const array &p, const std::vector< int > &shape, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1random.html#aaa49f6c2af5496822fa09435e54275cb',1,'mlx::core::random::bernoulli(const array &p, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1random.html#aa9e360f9cb7bd23221352ed9e31d83c2',1,'mlx::core::random::bernoulli(T p, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1random.html#a37fcba120a1d246176db5256d3201cd4',1,'mlx::core::random::bernoulli(T p, const std::vector< int > &shape, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1random.html#ad7eb4467e2f9d5f74a5607b29a935b6e',1,'mlx::core::random::bernoulli(const std::optional< array > &key=std::nullopt, StreamOrDevice s={})']]], + ['beta_21',['beta',['../structmlx_1_1steel_1_1_transform_axpby.html#a5fc726f085bafd1acbc391886f7fb8b6',1,'mlx::steel::TransformAxpby::beta'],['../structmlx_1_1steel_1_1_g_e_m_m_add_m_m_params.html#ac0ce4d8a6014f8adb29fd0a0bb23139f',1,'mlx::steel::GEMMAddMMParams::beta']]], + ['bf16_2eh_22',['bf16.h',['../backend_2metal_2kernels_2jit_2bf16_8h.html',1,'(Global Namespace)'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html',1,'(Global Namespace)'],['../backend_2metal_2kernels_2metal__3__1_2bf16_8h.html',1,'(Global Namespace)'],['../types_2bf16_8h.html',1,'(Global Namespace)']]], + ['bf16_5fmath_2eh_23',['bf16_math.h',['../bf16__math_8h.html',1,'']]], + ['bfloat16_24',['bfloat16',['../structmlx_1_1core_1_1_dtype.html#ade845ef5dcebead13a37fe696436e1daa444fe01f3a7a54d1809aef0912846a47',1,'mlx::core::Dtype::bfloat16'],['../namespacemlx_1_1core.html#a514cf8b4e6f0a6af3a867e752f4338f7',1,'mlx::core::bfloat16']]], + ['bfloat16_5ft_25',['bfloat16_t',['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7782de82393104dd4ad754ce3b316e82',1,'bfloat16_t: bf16.h'],['../backend_2metal_2kernels_2metal__3__1_2bf16_8h.html#a58e15a77da988b9104fee00cdf8b280e',1,'bfloat16_t: bf16.h']]], + ['bfloat16_5fto_5fuint16_26',['bfloat16_to_uint16',['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a1420e191fa60d707dce327d0938e3088',1,'bfloat16_to_uint16(const bfloat16_t x): bf16.h'],['../backend_2metal_2kernels_2metal__3__1_2bf16_8h.html#a1420e191fa60d707dce327d0938e3088',1,'bfloat16_to_uint16(const bfloat16_t x): bf16.h']]], + ['bfloat_5fbinop_27',['bfloat_binop',['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7694892a131c0e31e5153c088cccb707',1,'bfloat_binop: bf16.h'],['../types_2bf16_8h.html#a7694892a131c0e31e5153c088cccb707',1,'bfloat_binop: bf16.h']]], + ['bfloat_5fbinop_5fbase_28',['bfloat_binop_base',['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a78c92beda4436da9a2e520fa98c59f70',1,'bfloat_binop_base: bf16.h'],['../types_2bf16_8h.html#a78c92beda4436da9a2e520fa98c59f70',1,'bfloat_binop_base: bf16.h']]], + ['bfloat_5fbinop_5fhelper_29',['bfloat_binop_helper',['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac7ff36230dab17e8f17b7a7c80888594',1,'bfloat_binop_helper: bf16.h'],['../types_2bf16_8h.html#ac7ff36230dab17e8f17b7a7c80888594',1,'bfloat_binop_helper: bf16.h']]], + ['bfloat_5fbitop_30',['bfloat_bitop',['../types_2bf16_8h.html#aac9ba86d4bf05bcda1936494f9b9b4d3',1,'bf16.h']]], + ['bfloat_5fbits_5fto_5ffloat_31',['bfloat_bits_to_float',['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a3b33ae338dc4f223d0f3c748de07bad1',1,'bf16.h']]], + ['bfloat_5fcompop_32',['bfloat_compop',['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a330a0883503cb640f1cf628a7ca50239',1,'bfloat_compop: bf16.h'],['../types_2bf16_8h.html#a330a0883503cb640f1cf628a7ca50239',1,'bfloat_compop: bf16.h']]], + ['bfloat_5finplace_5fbitop_33',['bfloat_inplace_bitop',['../types_2bf16_8h.html#af13b46bc58e6e6f675ae47aabec37711',1,'bf16.h']]], + ['bfloat_5finplace_5fop_34',['bfloat_inplace_op',['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a4ac82467fbc674e990090f482b9c1e5c',1,'bfloat_inplace_op: bf16.h'],['../types_2bf16_8h.html#aee905053f51f76e0c1af94199714d514',1,'bfloat_inplace_op: bf16.h']]], + ['bfloat_5finplace_5fop_5faddr_5fspace_5fhelper_35',['bfloat_inplace_op_addr_space_helper',['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af30a2cbd2c3415516203b83bd21872f8',1,'bfloat_inplace_op_addr_space_helper: bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a1457da931c28fa4e2500daa4e6441e8b',1,'bfloat_inplace_op_addr_space_helper: bf16.h']]], + ['bfloat_5finplace_5fop_5fhelper_36',['bfloat_inplace_op_helper',['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a2846fd11b5e19b435e9f7ef0998c9b1d',1,'bfloat_inplace_op_helper: bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#afe5988aa8147be2bafda6a5b7792fe15',1,'bfloat_inplace_op_helper: bf16.h']]], + ['bfs_5fmax_5fwidth_37',['bfs_max_width',['../namespacemlx_1_1core_1_1env.html#ac3266e1259a64c8b56bdc6c7029179f2',1,'mlx::core::env']]], + ['bi_38',['bi',['../struct_quantized_block_loader.html#a85041d72225a2095659c70509291a906',1,'QuantizedBlockLoader::bi'],['../structmlx_1_1steel_1_1_block_loader.html#a9ef13742bcdf07532d8f09394928a8af',1,'mlx::steel::BlockLoader::bi'],['../structmlx_1_1steel_1_1_block_loader_t.html#a6964273994b06d6cf8ef7e59fb10bb35',1,'mlx::steel::BlockLoaderT::bi'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a8e53b0a9951cb840d922cc285b257ee3',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::bi'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#ae3af75287f279d2cdeef189126740d4c',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::bi'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a8c5e74003600132954cb953616e1a026',1,'mlx::steel::Conv2DWeightBlockLoader::bi'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#a9eb024e2fc6f07345f87fbf7141c0d16',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::bi'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#ae3b9f21f72e5e6c541c9978f55d354c7',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::bi'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a32a3a91fa715b82f36e05ceb10933d09',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::bi'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a4c91f848856ab0872bdfd37c62d4b0ba',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::bi']]], + ['biases_39',['biases',['../struct_quantized_block_loader.html#a17d01a6aba0833b073586ef2c09d0fbd',1,'QuantizedBlockLoader']]], + ['binary_40',['binary',['../namespacemlx_1_1core_1_1metal.html#a269d591ec02e2f7c0f7a718fbfa37f73',1,'mlx::core::metal']]], + ['binary_2eh_41',['binary.h',['../common_2binary_8h.html',1,'(Global Namespace)'],['../metal_2binary_8h.html',1,'(Global Namespace)'],['../metal_2kernels_2binary_8h.html',1,'(Global Namespace)']]], + ['binary_5fg_42',['binary_g',['../metal_2kernels_2binary_8h.html#ab1b49438a70f6c707c18afd5bce12bb3',1,'binary_g(device const T *a, device const T *b, device U *c, constant const int *shape, constant const size_t *a_strides, constant const size_t *b_strides, constant const int &ndim, uint3 index, uint3 grid_dim): binary.h'],['../metal_2kernels_2binary__two_8h.html#aaf6edb734cea627bca4f6540dc338fbd',1,'binary_g(device const T *a, device const T *b, device U *c, device U *d, constant const int *shape, constant const size_t *a_strides, constant const size_t *b_strides, constant const int &ndim, uint3 index, uint3 grid_dim): binary_two.h']]], + ['binary_5fg_5fnd1_43',['binary_g_nd1',['../metal_2kernels_2binary_8h.html#a3d0bb75c43854274b6040c52914e5c12',1,'binary_g_nd1(device const T *a, device const T *b, device U *c, constant const size_t &a_stride, constant const size_t &b_stride, uint index): binary.h'],['../metal_2kernels_2binary__two_8h.html#a44e8241fa805906fa9644204e4d1237f',1,'binary_g_nd1(device const T *a, device const T *b, device U *c, device U *d, constant const size_t &a_stride, constant const size_t &b_stride, uint index): binary_two.h']]], + ['binary_5fg_5fnd2_44',['binary_g_nd2',['../metal_2kernels_2binary_8h.html#a6cefcfee68bd62f3a6924df0cd53dd49',1,'binary_g_nd2(device const T *a, device const T *b, device U *c, constant const size_t a_strides[2], constant const size_t b_strides[2], uint2 index, uint2 grid_dim): binary.h'],['../metal_2kernels_2binary__two_8h.html#a97b5613aff654d32c49225209a19bb95',1,'binary_g_nd2(device const T *a, device const T *b, device U *c, device U *d, constant const size_t a_strides[2], constant const size_t b_strides[2], uint2 index, uint2 grid_dim): binary_two.h']]], + ['binary_5fg_5fnd3_45',['binary_g_nd3',['../metal_2kernels_2binary_8h.html#abb15de8250f9a259de80618c6de46dfa',1,'binary_g_nd3(device const T *a, device const T *b, device U *c, constant const size_t a_strides[3], constant const size_t b_strides[3], uint3 index, uint3 grid_dim): binary.h'],['../metal_2kernels_2binary__two_8h.html#aae07014f8dffa3649a5c7f4671e1268e',1,'binary_g_nd3(device const T *a, device const T *b, device U *c, device U *d, constant const size_t a_strides[3], constant const size_t b_strides[3], uint3 index, uint3 grid_dim): binary_two.h']]], + ['binary_5fop_5fgpu_46',['binary_op_gpu',['../namespacemlx_1_1core.html#ad884f4a36308b5b4f8a5d990d2e086df',1,'mlx::core::binary_op_gpu(const std::vector< array > &inputs, std::vector< array > &outputs, const std::string &op, const Stream &s)'],['../namespacemlx_1_1core.html#a094876ea5a2a2445ab64efc8222da202',1,'mlx::core::binary_op_gpu(const std::vector< array > &inputs, array &out, const std::string &op, const Stream &s)']]], + ['binary_5fop_5fgpu_5finplace_47',['binary_op_gpu_inplace',['../namespacemlx_1_1core.html#a8616c0b7b0fc118a75400bc86404c367',1,'mlx::core::binary_op_gpu_inplace(const std::vector< array > &inputs, std::vector< array > &outputs, const std::string &op, const Stream &s)'],['../namespacemlx_1_1core.html#a7e6af6624e322e7ad60a3873a66e18a3',1,'mlx::core::binary_op_gpu_inplace(const std::vector< array > &inputs, array &out, const std::string &op, const Stream &s)']]], + ['binary_5fops_48',['binary_ops',['../namespacemlx_1_1core_1_1metal.html#a8db7f9cc781d4bfb08423a401665f322',1,'mlx::core::metal']]], + ['binary_5fops_2eh_49',['binary_ops.h',['../binary__ops_8h.html',1,'']]], + ['binary_5fss_50',['binary_ss',['../metal_2kernels_2binary_8h.html#a242b8b29a852c255467e50628c6dccf5',1,'binary_ss(device const T *a, device const T *b, device U *c, uint index): binary.h'],['../metal_2kernels_2binary__two_8h.html#af8a791ac7ca88d32cd8f4e9ac0f9ab4f',1,'binary_ss(device const T *a, device const T *b, device U *c, device U *d, uint index): binary_two.h']]], + ['binary_5fsv_51',['binary_sv',['../metal_2kernels_2binary_8h.html#a4116c35f2e4632366d1611d5a95ba141',1,'binary_sv(device const T *a, device const T *b, device U *c, uint index): binary.h'],['../metal_2kernels_2binary__two_8h.html#ab18c6ecf5065275c93701efd095c916c',1,'binary_sv(device const T *a, device const T *b, device U *c, device U *d, uint index): binary_two.h']]], + ['binary_5fsv2_52',['binary_sv2',['../metal_2kernels_2binary_8h.html#aa8c48b1b21d8f5a181f5443de2346589',1,'binary_sv2(device const T *a, device const T *b, device U *c, uint2 index, uint2 grid_dim): binary.h'],['../metal_2kernels_2binary__two_8h.html#a08822ff98ea6f61a98b49a9e9a38b891',1,'binary_sv2(device const T *a, device const T *b, device U *c, device U *d, uint2 index, uint2 grid_dim): binary_two.h']]], + ['binary_5ftwo_53',['binary_two',['../namespacemlx_1_1core_1_1metal.html#aed047eec38b030ec5f29b9da54abf8cb',1,'mlx::core::metal']]], + ['binary_5ftwo_2eh_54',['binary_two.h',['../common_2binary__two_8h.html',1,'(Global Namespace)'],['../metal_2kernels_2binary__two_8h.html',1,'(Global Namespace)']]], + ['binary_5fvs_55',['binary_vs',['../metal_2kernels_2binary_8h.html#a649851d133358dd5832a73b1061b3313',1,'binary_vs(device const T *a, device const T *b, device U *c, uint index): binary.h'],['../metal_2kernels_2binary__two_8h.html#a12dbda74fa460812177ccb9aeee6e1ca',1,'binary_vs(device const T *a, device const T *b, device U *c, device U *d, uint index): binary_two.h']]], + ['binary_5fvs2_56',['binary_vs2',['../metal_2kernels_2binary_8h.html#a48bd82eb10f9c623ce7d28daec4fa512',1,'binary_vs2(device const T *a, device const T *b, device U *c, uint2 index, uint2 grid_dim): binary.h'],['../metal_2kernels_2binary__two_8h.html#a273d2f31691f2c64623c2a97eab344be',1,'binary_vs2(device const T *a, device const T *b, device U *c, device U *d, uint2 index, uint2 grid_dim): binary_two.h']]], + ['binary_5fvv_57',['binary_vv',['../metal_2kernels_2binary_8h.html#add6a9aeee3cb0ba909574f27fa9ecd5b',1,'binary_vv(device const T *a, device const T *b, device U *c, uint index): binary.h'],['../metal_2kernels_2binary__two_8h.html#ab4324f594c007a6895540b77ad5d89d9',1,'binary_vv(device const T *a, device const T *b, device U *c, device U *d, uint index): binary_two.h']]], + ['binary_5fvv2_58',['binary_vv2',['../metal_2kernels_2binary_8h.html#a19dbbf8fea68b64bdd25dc8d36865171',1,'binary_vv2(device const T *a, device const T *b, device U *c, uint2 index, uint2 grid_dim): binary.h'],['../metal_2kernels_2binary__two_8h.html#a12e80730e43dfaa4c79ce8d5f99edc50',1,'binary_vv2(device const T *a, device const T *b, device U *c, device U *d, uint2 index, uint2 grid_dim): binary_two.h']]], + ['bits_59',['bits',['../namespacemlx_1_1core_1_1random.html#abb895baa477f5a06b5f88e69245f1825',1,'mlx::core::random::bits(const std::vector< int > &shape, int width, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1random.html#a548ffed4ba3107b89885ff850ffce5f4',1,'mlx::core::random::bits(const std::vector< int > &shape, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})']]], + ['bits_5f_60',['bits_',['../struct___m_l_x___b_float16.html#a4113263b63e3757ea8334cc4f0f5c3c8',1,'_MLX_BFloat16::bits_'],['../structmlx_1_1core_1_1___m_l_x___b_float16.html#aca48963f820065c3d8ecab24265ab3fc',1,'mlx::core::_MLX_BFloat16::bits_'],['../structmlx_1_1core_1_1___m_l_x___float16.html#a5203fe52424fd32bce6eb7917dd9288b',1,'mlx::core::_MLX_Float16::bits_']]], + ['bits_5fto_5fbfloat_61',['bits_to_bfloat',['../struct___m_l_x___b_float16.html#a91ccb774773b65f8d4c1aea3f1c6e1ca',1,'_MLX_BFloat16']]], + ['bits_5fto_5fbfloat_5fstruct_62',['bits_to_bfloat_struct',['../struct___m_l_x___b_float16_1_1bits__to__bfloat__struct.html',1,'_MLX_BFloat16']]], + ['bitwise_5fand_63',['bitwise_and',['../group__ops.html#ga752fd2707dabb05d0308ba3d55346ada',1,'mlx::core']]], + ['bitwise_5for_64',['bitwise_or',['../group__ops.html#ga8af4f22c08c11c4ffab7e3d45e0f3cd6',1,'mlx::core']]], + ['bitwise_5fxor_65',['bitwise_xor',['../group__ops.html#ga3188638fba3a60e264baf69956a1e08b',1,'mlx::core']]], + ['bitwiseand_66',['BitwiseAnd',['../struct_bitwise_and.html',1,'BitwiseAnd'],['../structmlx_1_1core_1_1detail_1_1_bitwise_and.html',1,'mlx::core::detail::BitwiseAnd']]], + ['bitwisebinary_67',['BitwiseBinary',['../classmlx_1_1core_1_1_bitwise_binary.html',1,'mlx::core::BitwiseBinary'],['../classmlx_1_1core_1_1_bitwise_binary.html#a0d8b3a94951621ffcdebc6fda748a172',1,'mlx::core::BitwiseBinary::BitwiseBinary()']]], + ['bitwiseor_68',['BitwiseOr',['../struct_bitwise_or.html',1,'BitwiseOr'],['../structmlx_1_1core_1_1detail_1_1_bitwise_or.html',1,'mlx::core::detail::BitwiseOr']]], + ['bitwisexor_69',['BitwiseXor',['../struct_bitwise_xor.html',1,'BitwiseXor'],['../structmlx_1_1core_1_1detail_1_1_bitwise_xor.html',1,'mlx::core::detail::BitwiseXor']]], + ['bj_70',['bj',['../struct_quantized_block_loader.html#ae2add92b2aaf3414e91f0470b9b0cc00',1,'QuantizedBlockLoader::bj'],['../structmlx_1_1steel_1_1_block_loader.html#a78c326e75ee35a484685771143047cd4',1,'mlx::steel::BlockLoader::bj'],['../structmlx_1_1steel_1_1_block_loader_t.html#aca83e49c31095badc8a46eb3c8e00957',1,'mlx::steel::BlockLoaderT::bj'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a7ae9e41f50c0c63c35b63086a1c22cc3',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::bj'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a6fd3dd7b74d91609fa9dd61c657a0e32',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::bj'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a6f2fdcaf5a67567cca38ae3d8120ab37',1,'mlx::steel::Conv2DWeightBlockLoader::bj'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#a7cf448573d41fbc67f8dfc65b7aef2b2',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::bj'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#adaa261fc2e8e694aedab4ebd60b52e5e',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::bj'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#ace16704025bc6e6204c306a357f3a8b8',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::bj'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#acec010e10d5733654963407af38d4f67',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::bj']]], + ['block_5fmasked_5fgemm_71',['block_masked_gemm',['../steel__gemm__masked_8h.html#af805e998b2046ee30c2b4be813e3af97',1,'block_masked_gemm(const device T *A, const device T *B, device T *D, const constant GEMMParams *params, const constant int *batch_shape, const constant size_t *batch_strides, const device out_mask_t *out_mask, const device op_mask_t *lhs_mask, const device op_mask_t *rhs_mask, const constant int *mask_strides, uint simd_lane_id, uint simd_group_id, uint3 tid, uint3 lid): steel_gemm_masked.h'],['../steel__gemm__masked_8h.html#a477932e2ae9d49366f7ede6db63f9cac',1,'block_masked_gemm(const device T *A, const device T *B, device T *D, const constant GEMMParams *params, const constant int *batch_shape, const constant size_t *batch_strides, const device bool *out_mask, const device bool *lhs_mask, const device bool *rhs_mask, const constant int *mask_strides, uint simd_lane_id, uint simd_group_id, uint3 tid, uint3 lid): steel_gemm_masked.h']]], + ['block_5fmasked_5fmm_72',['block_masked_mm',['../group__ops.html#ga6b76c8ea46b19e6866af155fa5910be6',1,'mlx::core']]], + ['block_5fmerge_5fsort_5ft_73',['block_merge_sort_t',['../struct_kernel_merge_sort.html#adae7850e057fc30d5328c7b3dcc998fa',1,'KernelMergeSort::block_merge_sort_t'],['../struct_kernel_multi_block_merge_sort.html#af27e9af4b58640c0aa620bc4efc68dff',1,'KernelMultiBlockMergeSort::block_merge_sort_t']]], + ['block_5fsort_74',['block_sort',['../struct_kernel_merge_sort.html#a56b644ec66f7fb5c01b280f124304be9',1,'KernelMergeSort::block_sort()'],['../struct_kernel_multi_block_merge_sort.html#a322ed2eac315a561e0fd90af2fd577eb',1,'KernelMultiBlockMergeSort::block_sort()'],['../sort_8h.html#a93f14092416169c4449141043ac45ffd',1,'block_sort(const device T *inp, device U *out, const constant int &size_sorted_axis, const constant int &in_stride_sorted_axis, const constant int &out_stride_sorted_axis, const constant int &in_stride_segment_axis, const constant int &out_stride_segment_axis, uint3 tid, uint3 lid): sort.h']]], + ['block_5fsort_5fnc_75',['block_sort_nc',['../sort_8h.html#a4ee3de195a6f9c33aa91ac52461808ad',1,'sort.h']]], + ['blockloader_76',['BlockLoader',['../structmlx_1_1steel_1_1_block_loader.html',1,'mlx::steel::BlockLoader< T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, alignment, n_reads, TCOLS, TROWS >'],['../structmlx_1_1steel_1_1_block_loader.html#a37aca066e63dff238865b5923a2d4335',1,'mlx::steel::BlockLoader::BlockLoader(const device T *src_, const int src_ld_, threadgroup T *dst_, ushort simd_group_id, ushort simd_lane_id)'],['../structmlx_1_1steel_1_1_block_loader.html#a37aca066e63dff238865b5923a2d4335',1,'mlx::steel::BlockLoader::BlockLoader(const device T *src_, const int src_ld_, threadgroup T *dst_, ushort simd_group_id, ushort simd_lane_id)']]], + ['blockloadert_77',['BlockLoaderT',['../structmlx_1_1steel_1_1_block_loader_t.html',1,'mlx::steel::BlockLoaderT< T, BROWS, BCOLS, kDstStrRow, kDstStrCol, reduction_dim, tgp_size, n_reads, TCOLS, TROWS >'],['../structmlx_1_1steel_1_1_block_loader_t.html#a076616a7c67ad1b847e0e6b046077ee2',1,'mlx::steel::BlockLoaderT::BlockLoaderT()']]], + ['blockm_78',['blockM',['../struct_g_e_m_v_kernel.html#a7281520100658811076400060663903c',1,'GEMVKernel::blockM'],['../struct_g_e_m_v_t_kernel.html#a2ae8ce535d59cccf453381b4485a77f0',1,'GEMVTKernel::blockM']]], + ['blockmaskedmm_79',['BlockMaskedMM',['../classmlx_1_1core_1_1_block_masked_m_m.html',1,'mlx::core::BlockMaskedMM'],['../classmlx_1_1core_1_1_block_masked_m_m.html#ad26509deb5306d0c5eb72477e9a57477',1,'mlx::core::BlockMaskedMM::BlockMaskedMM()']]], + ['blockmergesort_80',['BlockMergeSort',['../struct_block_merge_sort.html',1,'']]], + ['blockmma_81',['BlockMMA',['../structmlx_1_1steel_1_1_block_m_m_a.html',1,'mlx::steel::BlockMMA< T, U, BM, BN, BK, WM, WN, transpose_a, transpose_b, lda_tgp, ldb_tgp, AccumType, Epilogue >'],['../structmlx_1_1steel_1_1_block_m_m_a.html#aa14406b7298456ac45d23dd3c4642dd8',1,'mlx::steel::BlockMMA::BlockMMA(ushort simd_group_id, ushort simd_lane_id)'],['../structmlx_1_1steel_1_1_block_m_m_a.html#aa14406b7298456ac45d23dd3c4642dd8',1,'mlx::steel::BlockMMA::BlockMMA(ushort simd_group_id, ushort simd_lane_id)']]], + ['blockn_82',['blockN',['../struct_g_e_m_v_kernel.html#a2fef17f9c9aa0bdf530ad3554fb0988b',1,'GEMVKernel::blockN'],['../struct_g_e_m_v_t_kernel.html#a60be87666006ba0bf88bc8e6902da42a',1,'GEMVTKernel::blockN']]], + ['blockswizzle_83',['BlockSwizzle',['../structmlx_1_1steel_1_1_block_swizzle.html',1,'mlx::steel']]], + ['bluestein_5ffft_84',['bluestein_fft',['../backend_2metal_2kernels_2fft_8h.html#a0abc609e9756475800e996775a96a87e',1,'fft.h']]], + ['bool4_5for_5fuint_85',['bool4_or_uint',['../unionbool4__or__uint.html',1,'']]], + ['bool_5f_86',['bool_',['../structmlx_1_1core_1_1_dtype.html#ade845ef5dcebead13a37fe696436e1daa467afb5838aa377d55cce81f84c5512b',1,'mlx::core::Dtype::bool_'],['../namespacemlx_1_1core.html#a113d2bac7e4aa6a4cb4a5c3242527b82',1,'mlx::core::bool_']]], + ['bool_5fconstant_87',['bool_constant',['../namespacemlx_1_1steel.html#adbb34bcf0d2dca6b9fb803d591d00da9',1,'mlx::steel']]], + ['broadcast_88',['Broadcast',['../classmlx_1_1core_1_1_broadcast.html',1,'mlx::core::Broadcast'],['../classmlx_1_1core_1_1_broadcast.html#a004cce3029c0427569830016f99648cb',1,'mlx::core::Broadcast::Broadcast()']]], + ['broadcast_5farrays_89',['broadcast_arrays',['../group__ops.html#gab783890428b596f715dc7dd2057eae99',1,'mlx::core']]], + ['broadcast_5fshapes_90',['broadcast_shapes',['../namespacemlx_1_1core.html#aefa6a2ec6439e9619cafd227a1dc14ab',1,'mlx::core']]], + ['broadcast_5fto_91',['broadcast_to',['../group__ops.html#ga2fd5891f11593b7f09550e884f969013',1,'mlx::core']]], + ['brows_92',['BROWS',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#ac070c6bd5be85b1ae805e18890db4fd4',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::BROWS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a10591ea957605a9c662f93d59ff3410d',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::BROWS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#ae9b86b05b23153ea1abaeead456c491c',1,'mlx::steel::Conv2DWeightBlockLoader::BROWS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#a343984fb74ec579a4404278dbbc7e7b5',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::BROWS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#acc8140aae84694f62e6324dbb6a614a4',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::BROWS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#aba1e1c8012e4e50f0e9bcfb9486c1781',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::BROWS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a015a0c56de74a0c4d51953a7e94fbba8',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::BROWS']]], + ['bs_5foffset_93',['Bs_offset',['../structmlx_1_1steel_1_1_block_m_m_a.html#a92f6aeee432f53638447eac842f43eca',1,'mlx::steel::BlockMMA']]], + ['bs_5fqmm_5fn_94',['bs_qmm_n',['../quantized_8h.html#a1a66b061c46383952a0f067c3848971f',1,'quantized.h']]], + ['bs_5fqmm_5ft_95',['bs_qmm_t',['../quantized_8h.html#ab1ae143eba2afceb8df63f38b26f9a84',1,'quantized.h']]], + ['bs_5fqmv_96',['bs_qmv',['../quantized_8h.html#acf4c7fc77821a83b31aedfb48443d3ed',1,'quantized.h']]], + ['bs_5fqmv_5ffast_97',['bs_qmv_fast',['../quantized_8h.html#a530b720e123e59d73ea89a0a2d0946b7',1,'quantized.h']]], + ['bs_5fqvm_98',['bs_qvm',['../quantized_8h.html#a6d6e3c31e44f232e58ae9d605e1f4494',1,'quantized.h']]], + ['btile_99',['Btile',['../structmlx_1_1steel_1_1_block_m_m_a.html#a44fca27c821764317263047a780977b0',1,'mlx::steel::BlockMMA']]], + ['buf_100',['buf',['../struct_read_writer.html#a23bac3c96dd0265ddbee1f256be45ff5',1,'ReadWriter::buf'],['../backend_2metal_2allocator_8h.html#a15aa5cc1baf29be08d55cca88509e697',1,'buf: allocator.h']]], + ['buffer_101',['Buffer',['../classmlx_1_1core_1_1allocator_1_1_buffer.html',1,'mlx::core::allocator::Buffer'],['../classmlx_1_1core_1_1allocator_1_1_buffer.html#ac4fc2cc6aa1368cfb74aff329d9a1300',1,'mlx::core::allocator::Buffer::Buffer()']]], + ['buffer_102',['buffer',['../structmlx_1_1core_1_1array_1_1_data.html#a9a51e2d12ba505027cc0fca86bdd39ad',1,'mlx::core::array::Data::buffer'],['../structmlx_1_1core_1_1metal_1_1_device_stream.html#a99183c92599edfeb75f7fa0f37e1d9eb',1,'mlx::core::metal::DeviceStream::buffer'],['../classmlx_1_1core_1_1array.html#ab3daf04c27c4593d9d73c397b8484a08',1,'mlx::core::array::buffer()'],['../classmlx_1_1core_1_1array.html#a634466ce661485394f2fdc3bd6796bcd',1,'mlx::core::array::buffer() const']]], + ['buffer_5fops_103',['buffer_ops',['../structmlx_1_1core_1_1metal_1_1_device_stream.html#ab6048b329e65a59033834f3bdd351782',1,'mlx::core::metal::DeviceStream']]], + ['buffer_5fsize_104',['buffer_size',['../classmlx_1_1core_1_1array.html#a914577c63755b2e862d2da68bbf8e3dd',1,'mlx::core::array']]], + ['buffers_105',['buffers',['../struct_indices.html#ad705070a740579c07d109ae4f3d86e76',1,'Indices']]], + ['build_5flib_5fname_106',['build_lib_name',['../namespacemlx_1_1core.html#a3ef23f334cb9f68a2c50524bc67c913b',1,'mlx::core']]], + ['bytes_5fper_5fpack_107',['bytes_per_pack',['../struct_quantized_block_loader.html#ad00fe6d8bd395206a41693a8ed65d4db',1,'QuantizedBlockLoader']]] ]; diff --git a/docs/build/html/search/all_3.js b/docs/build/html/search/all_3.js index 726ce7d55..632bac4cf 100644 --- a/docs/build/html/search/all_3.js +++ b/docs/build/html/search/all_3.js @@ -45,7 +45,7 @@ var searchData= ['commit_5fcommand_5fbuffer_42',['commit_command_buffer',['../classmlx_1_1core_1_1metal_1_1_device.html#a95248f1387824067fd4fed23ace5ac0c',1,'mlx::core::metal::Device']]], ['commonallocator_43',['CommonAllocator',['../classmlx_1_1core_1_1allocator_1_1_common_allocator.html',1,'mlx::core::allocator']]], ['communication_5fstream_44',['communication_stream',['../namespacemlx_1_1core_1_1distributed_1_1detail.html#ac3612edf0e0e18c1e4ba0ce7c6e35cd6',1,'mlx::core::distributed::detail']]], - ['compile_45',['compile',['../namespacemlx_1_1core.html#a3ac798e65e59fe10b7fb5c522efce782',1,'mlx::core::compile()'],['../namespacemlx_1_1core_1_1detail.html#ac3b7b09892ff7290d5f3ef26cb444329',1,'mlx::core::detail::compile()']]], + ['compile_45',['compile',['../namespacemlx_1_1core.html#a55933c6665de9f81059120d6b0de1c87',1,'mlx::core::compile(std::function< std::vector< array >(const std::vector< array > &)> fun, bool shapeless=false)'],['../namespacemlx_1_1core.html#a56de948c2dffbf35c88035bc1561db53',1,'mlx::core::compile(std::vector< array >(fun)(const std::vector< array > &), bool shapeless=false)'],['../namespacemlx_1_1core.html#ace67713d269595f5f2265e46728a6f9c',1,'mlx::core::compile(F &&f, bool shapeless=false)'],['../namespacemlx_1_1core_1_1detail.html#af556c7576658b2e2498ead70339d95e5',1,'mlx::core::detail::compile()']]], ['compile_2eh_46',['compile.h',['../compile_8h.html',1,'']]], ['compile_5favailable_5ffor_5fdevice_47',['compile_available_for_device',['../namespacemlx_1_1core_1_1detail.html#aeeff2ba6ec3d9d4ed090de6d2681dbc2',1,'mlx::core::detail']]], ['compile_5fclear_5fcache_48',['compile_clear_cache',['../namespacemlx_1_1core_1_1detail.html#a3fb927c209b946aefebb195993fbe4cf',1,'mlx::core::detail']]], @@ -74,84 +74,86 @@ var searchData= ['concurrent_5fqueue_3c_20std_3a_3afunction_3c_20void_28_29_3e_20_3e_71',['concurrent_queue< std::function< void()> >',['../classpocketfft_1_1detail_1_1threading_1_1concurrent__queue.html',1,'pocketfft::detail::threading']]], ['concurrentcontext_72',['ConcurrentContext',['../structmlx_1_1core_1_1metal_1_1_command_encoder_1_1_concurrent_context.html',1,'mlx::core::metal::CommandEncoder::ConcurrentContext'],['../structmlx_1_1core_1_1metal_1_1_command_encoder_1_1_concurrent_context.html#aee044d7729739c96e845823f9ecc5174',1,'mlx::core::metal::CommandEncoder::ConcurrentContext::ConcurrentContext()']]], ['cond_73',['cond',['../structmlx_1_1core_1_1scheduler_1_1_stream_thread.html#a4ffd524d6a5bedd1a303b63bdde6701c',1,'mlx::core::scheduler::StreamThread']]], - ['conj_74',['conj',['../namespacepocketfft_1_1detail.html#a66d79051d502046a9b9f103e744dbad3',1,'pocketfft::detail']]], - ['conjugate_75',['Conjugate',['../struct_conjugate.html',1,'Conjugate'],['../classmlx_1_1core_1_1_conjugate.html',1,'mlx::core::Conjugate'],['../structmlx_1_1core_1_1detail_1_1_conjugate.html',1,'mlx::core::detail::Conjugate'],['../classmlx_1_1core_1_1_conjugate.html#a627f9e6a8729fb3ffb3ca3228d007c87',1,'mlx::core::Conjugate::Conjugate()']]], - ['conjugate_76',['conjugate',['../group__ops.html#ga5b596906bf8cdc8d97ed6ddc9aeb4c23',1,'mlx::core']]], - ['contiguous_77',['Contiguous',['../classmlx_1_1core_1_1_contiguous.html',1,'mlx::core::Contiguous'],['../classmlx_1_1core_1_1_contiguous.html#a3e83f414c02ae0b92a50b6f8e402e1c0',1,'mlx::core::Contiguous::Contiguous()']]], - ['contiguous_78',['contiguous',['../structmlx_1_1core_1_1array_1_1_flags.html#afd0ab11e7a486a2a8e50ee84b971ac8a',1,'mlx::core::array::Flags::contiguous'],['../group__ops.html#ga8ab10aa6c41416d739791164a52b25d5',1,'mlx::core::contiguous()']]], - ['contiguous_5fscan_79',['contiguous_scan',['../scan_8h.html#a60d279b9add7d56639bb209408f09d79',1,'scan.h']]], - ['contiguousallreduce_80',['ContiguousAllReduce',['../namespacemlx_1_1core.html#a12412984a1cabfe1189942c898f8fe65ae4e34c7154eb8dc47aa8503209730424',1,'mlx::core']]], - ['contiguousiterator_81',['ContiguousIterator',['../structmlx_1_1core_1_1_contiguous_iterator.html',1,'mlx::core::ContiguousIterator< StrideT >'],['../structmlx_1_1core_1_1_contiguous_iterator.html#a68794af4a442d3d8ac4647817af8e1f6',1,'mlx::core::ContiguousIterator::ContiguousIterator()'],['../structmlx_1_1core_1_1_contiguous_iterator.html#a6cb378408b6f546eeb6ade1a4faafe3c',1,'mlx::core::ContiguousIterator::ContiguousIterator(const array &a)'],['../structmlx_1_1core_1_1_contiguous_iterator.html#a16bdacb53f65b7284068cd49d4cba292',1,'mlx::core::ContiguousIterator::ContiguousIterator(const std::vector< int > &shape, const std::vector< StrideT > &strides, int dims)']]], - ['contiguousreduce_82',['ContiguousReduce',['../namespacemlx_1_1core.html#a12412984a1cabfe1189942c898f8fe65ad2547f25dffe8d8936dbec25601cfc84',1,'mlx::core']]], - ['contiguousstridedreduce_83',['ContiguousStridedReduce',['../namespacemlx_1_1core.html#a12412984a1cabfe1189942c898f8fe65ab48dac7508a2c790de1bdc33f29177ed',1,'mlx::core']]], - ['conv_84',['conv',['../namespacemlx_1_1core_1_1metal.html#ab1704e853394c725668c06752ebb5c24',1,'mlx::core::metal']]], - ['conv_2eh_85',['conv.h',['../conv_8h.html',1,'']]], - ['conv1d_86',['conv1d',['../group__ops.html#ga30d47e08093c03a3676f235f9f559411',1,'mlx::core']]], - ['conv2d_87',['conv2d',['../group__ops.html#ga73b02833229678786e7f302d458d5a83',1,'mlx::core']]], - ['conv2dgeneralbaseinfo_88',['Conv2DGeneralBaseInfo',['../structmlx_1_1steel_1_1_conv2_d_general_base_info.html',1,'mlx::steel']]], - ['conv2dgeneraljumpparams_89',['Conv2DGeneralJumpParams',['../structmlx_1_1steel_1_1_conv2_d_general_jump_params.html',1,'mlx::steel']]], - ['conv2dinputblockloadergeneral_90',['Conv2DInputBlockLoaderGeneral',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html',1,'mlx::steel::Conv2DInputBlockLoaderGeneral< T, BM, BN, BK, tgp_size, tgp_padding >'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a1d83af561a483432bf8dcb42e734b23b',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::Conv2DInputBlockLoaderGeneral()']]], - ['conv2dinputblockloaderlargefilter_91',['Conv2DInputBlockLoaderLargeFilter',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter< T, BM, BN, BK, tgp_size, tgp_padding >'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a8755116a535539744e4947bc69f9c50f',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::Conv2DInputBlockLoaderLargeFilter()']]], - ['conv2dinputblockloadersmallchannels_92',['Conv2DInputBlockLoaderSmallChannels',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels< T, BM, BN, BK, tgp_size, n_channels, tgp_padding >'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#ab9fd3fdeab94470dde3326f1dd5c455a',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::Conv2DInputBlockLoaderSmallChannels()']]], - ['conv2dinputblockloadersmallfilter_93',['Conv2DInputBlockLoaderSmallFilter',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter< T, BM, BN, BK, tgp_size, tgp_padding >'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a0a2cbf57c51cd928722e3f06aafcf933',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::Conv2DInputBlockLoaderSmallFilter()']]], - ['conv2dweightblockloader_94',['Conv2DWeightBlockLoader',['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html',1,'mlx::steel::Conv2DWeightBlockLoader< T, BM, BN, BK, tgp_size, tgp_padding >'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a9a7dca3512b64cffb6eac305d795831c',1,'mlx::steel::Conv2DWeightBlockLoader::Conv2DWeightBlockLoader()']]], - ['conv2dweightblockloadergeneral_95',['Conv2DWeightBlockLoaderGeneral',['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral< T, BM, BN, BK, tgp_size, tgp_padding >'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#ad0550fabbdc9297559381a5b488e9af1',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::Conv2DWeightBlockLoaderGeneral()']]], - ['conv2dweightblockloadersmallchannels_96',['Conv2DWeightBlockLoaderSmallChannels',['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels< T, BM, BN, BK, tgp_size, n_channels, tgp_padding >'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#ae1806ea1c19713819dee83a38ab35fa6',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::Conv2DWeightBlockLoaderSmallChannels()']]], - ['conv3d_97',['conv3d',['../group__ops.html#ga6e9907d2f14dc4803e4306b3dbc4b3ca',1,'mlx::core']]], - ['conv_5fgeneral_98',['conv_general',['../group__ops.html#ga2236e5dfc7e52e28abf6c21675d0a51e',1,'mlx::core::conv_general(array input, array weight, std::vector< int > stride={}, std::vector< int > padding_lo={}, std::vector< int > padding_hi={}, std::vector< int > kernel_dilation={}, std::vector< int > input_dilation={}, int groups=1, bool flip=false, StreamOrDevice s={})'],['../group__ops.html#gab59f89942cd1efaadffe9e8762e3c99d',1,'mlx::core::conv_general(const array &input, const array &weight, std::vector< int > stride={}, std::vector< int > padding={}, std::vector< int > kernel_dilation={}, std::vector< int > input_dilation={}, int groups=1, bool flip=false, StreamOrDevice s={})']]], - ['conv_5ftranspose1d_99',['conv_transpose1d',['../group__ops.html#gaa30bf1adcd78d1c2595d07b215731714',1,'mlx::core']]], - ['conv_5ftranspose2d_100',['conv_transpose2d',['../group__ops.html#gaebb59971cb9bc45005dc1d398e4f0a3d',1,'mlx::core']]], - ['conv_5ftranspose3d_101',['conv_transpose3d',['../group__ops.html#ga8db814da631d9cd32a8d6563bf4ac530',1,'mlx::core']]], - ['convolution_102',['Convolution',['../classmlx_1_1core_1_1_convolution.html',1,'mlx::core::Convolution'],['../classmlx_1_1core_1_1_convolution.html#a6f1de77b719bb13217b0d8c64cabb8ef',1,'mlx::core::Convolution::Convolution()']]], - ['copy_103',['Copy',['../classmlx_1_1core_1_1_copy.html',1,'mlx::core::Copy'],['../classmlx_1_1core_1_1_copy.html#a6243e044af119105ffaaed7d405cd584',1,'mlx::core::Copy::Copy()']]], - ['copy_104',['copy',['../namespacemlx_1_1core.html#a479648542a2bea151b947b18f0e79dd2',1,'mlx::core::copy()'],['../namespacemlx_1_1core_1_1metal.html#aa215e631e2680f04a591b88d91571719',1,'mlx::core::metal::copy()'],['../group__ops.html#gae306e93af12f774bd80bad6c231b09d6',1,'mlx::core::copy()']]], - ['copy_2eh_105',['copy.h',['../common_2copy_8h.html',1,'(Global Namespace)'],['../metal_2copy_8h.html',1,'(Global Namespace)'],['../metal_2kernels_2copy_8h.html',1,'(Global Namespace)']]], - ['copy_5fg_106',['copy_g',['../metal_2kernels_2copy_8h.html#a71e4103db4689d90ef6f9d5ba93604cf',1,'copy.h']]], - ['copy_5fg_5fnd1_107',['copy_g_nd1',['../metal_2kernels_2copy_8h.html#aba4530a7db6a61ca36f50e4f5e58fb77',1,'copy.h']]], - ['copy_5fg_5fnd2_108',['copy_g_nd2',['../metal_2kernels_2copy_8h.html#a39ec5b7b8351e4332b842982a2ee6260',1,'copy.h']]], - ['copy_5fg_5fnd3_109',['copy_g_nd3',['../metal_2kernels_2copy_8h.html#aab82689380897ff4716b5eafd6ef3ecc',1,'copy.h']]], - ['copy_5fgg_110',['copy_gg',['../metal_2kernels_2copy_8h.html#ade9a9eea9b8262a854a11721fe2bb9fa',1,'copy.h']]], - ['copy_5fgg_5fnd1_111',['copy_gg_nd1',['../metal_2kernels_2copy_8h.html#a3278d9c999718bee3ccbe2922f501bf1',1,'copy.h']]], - ['copy_5fgg_5fnd2_112',['copy_gg_nd2',['../metal_2kernels_2copy_8h.html#af0b06ac3a96852a64fa4274a94b58301',1,'copy.h']]], - ['copy_5fgg_5fnd3_113',['copy_gg_nd3',['../metal_2kernels_2copy_8h.html#a3f3836ad0b6545ec9b9e1864224f7a13',1,'copy.h']]], - ['copy_5fgpu_114',['copy_gpu',['../namespacemlx_1_1core.html#addaa46a13ac2deb1d9ce621338320e0e',1,'mlx::core::copy_gpu(const array &src, array &out, CopyType ctype, const Stream &s)'],['../namespacemlx_1_1core.html#a6a6f4e46c8fc44fdc74c50ace02bcf38',1,'mlx::core::copy_gpu(const array &src, array &out, CopyType ctype)']]], - ['copy_5fgpu_5finplace_115',['copy_gpu_inplace',['../namespacemlx_1_1core.html#a69e30f5d30a6d72ac0ffe4886f24b7ba',1,'mlx::core::copy_gpu_inplace(const array &in, array &out, const std::vector< int > &data_shape, const std::vector< stride_t > &i_strides, const std::vector< stride_t > &o_strides, int64_t i_offset, int64_t o_offset, CopyType ctype, const Stream &s)'],['../namespacemlx_1_1core.html#a8e1ccb0ed9387b0a789311d9f8964803',1,'mlx::core::copy_gpu_inplace(const array &src, array &out, CopyType ctype, const Stream &s)'],['../namespacemlx_1_1core.html#ae55b801b09ccf55cba96278163a9b1ef',1,'mlx::core::copy_gpu_inplace(const array &in, array &out, const std::vector< int64_t > &istride, int64_t ioffset, CopyType ctype, const Stream &s)']]], - ['copy_5fhartley_116',['copy_hartley',['../namespacepocketfft_1_1detail.html#abac3fcc8ce83800d228774f64c28d4c3',1,'pocketfft::detail::copy_hartley(const multi_iter< vlen > &it, const vtype_t< T > *src, ndarr< T > &dst)'],['../namespacepocketfft_1_1detail.html#ae7b44d2773d9d06a9787aff01d66b3ed',1,'pocketfft::detail::copy_hartley(const multi_iter< vlen > &it, const T *src, ndarr< T > &dst)']]], - ['copy_5finplace_117',['copy_inplace',['../namespacemlx_1_1core.html#a98495894a796b2cc6d022e7a03432c64',1,'mlx::core::copy_inplace(const array &src, array &dst, CopyType ctype)'],['../namespacemlx_1_1core.html#aad636e2d0b2f882cadd1b438f4daa9ed',1,'mlx::core::copy_inplace(const array &src, array &dst, const std::vector< int > &data_shape, const std::vector< stride_t > &i_strides, const std::vector< stride_t > &o_strides, int64_t i_offset, int64_t o_offset, CopyType ctype)']]], - ['copy_5finput_118',['copy_input',['../namespacepocketfft_1_1detail.html#aff05be3064743c1143b19318ab12ad4a',1,'pocketfft::detail::copy_input(const multi_iter< vlen > &it, const cndarr< cmplx< T > > &src, cmplx< vtype_t< T > > *dst)'],['../namespacepocketfft_1_1detail.html#a30fc708f9d8f9cfa74194925c7863c0a',1,'pocketfft::detail::copy_input(const multi_iter< vlen > &it, const cndarr< T > &src, vtype_t< T > *dst)'],['../namespacepocketfft_1_1detail.html#a3387bd35f237870e42b8461769e6aec4',1,'pocketfft::detail::copy_input(const multi_iter< vlen > &it, const cndarr< T > &src, T *dst)']]], - ['copy_5foutput_119',['copy_output',['../namespacepocketfft_1_1detail.html#a1523a037300a8da05db210b802d9cb0e',1,'pocketfft::detail::copy_output(const multi_iter< vlen > &it, const cmplx< vtype_t< T > > *src, ndarr< cmplx< T > > &dst)'],['../namespacepocketfft_1_1detail.html#a21980853aca4d92ed06e3dcffe7ef660',1,'pocketfft::detail::copy_output(const multi_iter< vlen > &it, const vtype_t< T > *src, ndarr< T > &dst)'],['../namespacepocketfft_1_1detail.html#a310481c334e46674710ba794ad7403c0',1,'pocketfft::detail::copy_output(const multi_iter< vlen > &it, const T *src, ndarr< T > &dst)']]], - ['copy_5fs_120',['copy_s',['../metal_2kernels_2copy_8h.html#aef09f9b9475345b1bba121d037d222ea',1,'copy.h']]], - ['copy_5fs2_121',['copy_s2',['../metal_2kernels_2copy_8h.html#a8023e9335cc5334847a8d315042be3a3',1,'copy.h']]], - ['copy_5fshared_5fbuffer_122',['copy_shared_buffer',['../classmlx_1_1core_1_1array.html#a28df7a333d90a311c49bc4bce7a1ad6d',1,'mlx::core::array::copy_shared_buffer(const array &other, const std::vector< size_t > &strides, Flags flags, size_t data_size, size_t offset=0)'],['../classmlx_1_1core_1_1array.html#a92974c656c35a972ad241f80584bbd29',1,'mlx::core::array::copy_shared_buffer(const array &other)']]], - ['copy_5fv_123',['copy_v',['../metal_2kernels_2copy_8h.html#ae26a13e0c8e6c15f7b10078e65970659',1,'copy.h']]], - ['copy_5fv2_124',['copy_v2',['../metal_2kernels_2copy_8h.html#aee14a5326f53d9b30b0b38e27d180ef3',1,'copy.h']]], - ['copytype_125',['CopyType',['../namespacemlx_1_1core.html#abd84ff6c5245e4e170b2ef5247594337',1,'mlx::core']]], - ['core_20array_20operations_126',['Core array operations',['../group__ops.html',1,'']]], - ['cos_127',['Cos',['../struct_cos.html',1,'Cos'],['../classmlx_1_1core_1_1_cos.html',1,'mlx::core::Cos'],['../structmlx_1_1core_1_1detail_1_1_cos.html',1,'mlx::core::detail::Cos'],['../classmlx_1_1core_1_1_cos.html#a2acb9fcf0901462189c476756fd99995',1,'mlx::core::Cos::Cos()']]], - ['cos_128',['cos',['../namespacepocketfft_1_1detail.html#a499c1e8b7d79a5272af024f46c63ff9d',1,'pocketfft::detail::cos()'],['../namespacemetal.html#a2fa4778a6fe2fa43253ea724e5a608a3',1,'metal::cos()'],['../namespacemetal_1_1fast.html#a75b6bb32fa3870eda46a7bfc9f481f88',1,'metal::fast::cos()'],['../namespacemetal_1_1precise.html#ac4941f62e7d8ab9d7cabbd967aa9f220',1,'metal::precise::cos()'],['../group__ops.html#ga39dfdf72b556012aa35ff27a94116e74',1,'mlx::core::cos()']]], - ['cosh_129',['Cosh',['../struct_cosh.html',1,'Cosh'],['../classmlx_1_1core_1_1_cosh.html',1,'mlx::core::Cosh'],['../structmlx_1_1core_1_1detail_1_1_cosh.html',1,'mlx::core::detail::Cosh'],['../classmlx_1_1core_1_1_cosh.html#a44e8ac2e09a55ec32e9dc6641eedc8f1',1,'mlx::core::Cosh::Cosh()']]], - ['cosh_130',['cosh',['../namespacemetal.html#a8a68a88cc110830d057dbd71431b93c0',1,'metal::cosh()'],['../namespacemetal_1_1fast.html#a31544ad9de28012a4ddda86e3966a77e',1,'metal::fast::cosh()'],['../namespacemetal_1_1precise.html#a72d86d508300a9b58f4ccbbe70da4fbc',1,'metal::precise::cosh()'],['../group__ops.html#ga2181b71cda88007a3092be4795ff0715',1,'mlx::core::cosh()']]], - ['cosine_131',['cosine',['../structpocketfft_1_1detail_1_1_exec_dcst.html#a185023fc1e386cc8f233b79c49c1fd8a',1,'pocketfft::detail::ExecDcst']]], - ['cospi_132',['cospi',['../namespacemetal.html#a5c2f37939ad705ddea4409d3bedb8ce1',1,'metal::cospi()'],['../namespacemetal_1_1fast.html#a9906b41f75319b384ffb570cc94d67ce',1,'metal::fast::cospi()'],['../namespacemetal_1_1precise.html#a2392b78bd196efdbbac65901c4ab20e7',1,'metal::precise::cospi()']]], - ['cost_5fguess_133',['cost_guess',['../structpocketfft_1_1detail_1_1util.html#ad3d874bc3fb0048df2270779a15d4bd0',1,'pocketfft::detail::util']]], - ['count_5fdown_134',['count_down',['../classpocketfft_1_1detail_1_1threading_1_1latch.html#a81d6597189b40410e35f3cd653fd1342',1,'pocketfft::detail::threading::latch']]], - ['cpu_135',['cpu',['../structmlx_1_1core_1_1_device.html#a69ee81924251dec96f1945c9d91506fd',1,'mlx::core::Device::cpu'],['../structmlx_1_1core_1_1_device.html#ac45b3de9b3458d8f31005136cde20fdbad9747e2da342bdb995f6389533ad1a3d',1,'mlx::core::Device::cpu']]], - ['cross_136',['cross',['../namespacemlx_1_1core_1_1linalg.html#abcda3fbda45183c21e7f27aa0dde64e6',1,'mlx::core::linalg']]], - ['cshape_137',['CShape',['../structmlx_1_1steel_1_1_c_shape.html',1,'mlx::steel']]], - ['ctile_138',['Ctile',['../structmlx_1_1steel_1_1_block_m_m_a.html#a21b0c40d16eced109bd3196186170bc6',1,'mlx::steel::BlockMMA']]], - ['cummax_139',['CumMax',['../struct_cum_max.html',1,'']]], - ['cummax_140',['cummax',['../group__ops.html#gaee37cac8476e8f8d666bcded5bc59143',1,'mlx::core']]], - ['cummin_141',['CumMin',['../struct_cum_min.html',1,'']]], - ['cummin_142',['cummin',['../group__ops.html#ga19c1bf6929fe8d66b9cd408946aea6a8',1,'mlx::core']]], - ['cumprod_143',['CumProd',['../struct_cum_prod.html',1,'']]], - ['cumprod_144',['cumprod',['../group__ops.html#ga0d71dfbc14ef3ed564b0c5ee26af680f',1,'mlx::core']]], - ['cumprod_3c_20bool_20_3e_145',['CumProd< bool >',['../struct_cum_prod_3_01bool_01_4.html',1,'']]], - ['cumsum_146',['CumSum',['../struct_cum_sum.html',1,'']]], - ['cumsum_147',['cumsum',['../group__ops.html#gaddc825a5c173e195ab0fda83ad630420',1,'mlx::core']]], - ['custom_148',['Custom',['../classmlx_1_1core_1_1fast_1_1_custom.html',1,'mlx::core::fast::Custom'],['../classmlx_1_1core_1_1fast_1_1_custom.html#a4186fea23f7156c38960426821fca313',1,'mlx::core::fast::Custom::Custom()']]], - ['custom_5ffunction_149',['custom_function',['../namespacemlx_1_1core.html#a8d3ca5fbaecdb995660c24cde5aeebaf',1,'mlx::core']]], - ['custom_5fvjp_150',['custom_vjp',['../namespacemlx_1_1core.html#a9290596250fa308df4c69b44483bb8aa',1,'mlx::core']]], - ['customkernel_151',['CustomKernel',['../classmlx_1_1core_1_1fast_1_1_custom_kernel.html',1,'mlx::core::fast::CustomKernel'],['../classmlx_1_1core_1_1fast_1_1_custom_kernel.html#a954893e07f0d36715b4e1e414b6f2153',1,'mlx::core::fast::CustomKernel::CustomKernel()']]], - ['customkernelshapeinfo_152',['CustomKernelShapeInfo',['../structmlx_1_1core_1_1fast_1_1_custom_kernel_shape_info.html',1,'mlx::core::fast']]], - ['customtransforms_153',['CustomTransforms',['../classmlx_1_1core_1_1_custom_transforms.html',1,'mlx::core::CustomTransforms'],['../classmlx_1_1core_1_1_custom_transforms.html#ab52abadb9c6f6db83d087c7b751be488',1,'mlx::core::CustomTransforms::CustomTransforms()']]] + ['conditionaltype_74',['ConditionalType',['../struct_conditional_type.html',1,'']]], + ['conditionaltype_3c_20true_2c_20t_2c_20u_20_3e_75',['ConditionalType< true, T, U >',['../struct_conditional_type_3_01true_00_01_t_00_01_u_01_4.html',1,'']]], + ['conj_76',['conj',['../namespacepocketfft_1_1detail.html#a66d79051d502046a9b9f103e744dbad3',1,'pocketfft::detail']]], + ['conjugate_77',['Conjugate',['../struct_conjugate.html',1,'Conjugate'],['../classmlx_1_1core_1_1_conjugate.html',1,'mlx::core::Conjugate'],['../structmlx_1_1core_1_1detail_1_1_conjugate.html',1,'mlx::core::detail::Conjugate'],['../classmlx_1_1core_1_1_conjugate.html#a627f9e6a8729fb3ffb3ca3228d007c87',1,'mlx::core::Conjugate::Conjugate()']]], + ['conjugate_78',['conjugate',['../group__ops.html#ga5b596906bf8cdc8d97ed6ddc9aeb4c23',1,'mlx::core']]], + ['contiguous_79',['Contiguous',['../classmlx_1_1core_1_1_contiguous.html',1,'mlx::core::Contiguous'],['../classmlx_1_1core_1_1_contiguous.html#a3e83f414c02ae0b92a50b6f8e402e1c0',1,'mlx::core::Contiguous::Contiguous()']]], + ['contiguous_80',['contiguous',['../structmlx_1_1core_1_1array_1_1_flags.html#afd0ab11e7a486a2a8e50ee84b971ac8a',1,'mlx::core::array::Flags::contiguous'],['../group__ops.html#ga8ab10aa6c41416d739791164a52b25d5',1,'mlx::core::contiguous()']]], + ['contiguous_5fscan_81',['contiguous_scan',['../scan_8h.html#a60d279b9add7d56639bb209408f09d79',1,'scan.h']]], + ['contiguousallreduce_82',['ContiguousAllReduce',['../namespacemlx_1_1core.html#a12412984a1cabfe1189942c898f8fe65ae4e34c7154eb8dc47aa8503209730424',1,'mlx::core']]], + ['contiguousiterator_83',['ContiguousIterator',['../structmlx_1_1core_1_1_contiguous_iterator.html',1,'mlx::core::ContiguousIterator< StrideT >'],['../structmlx_1_1core_1_1_contiguous_iterator.html#a68794af4a442d3d8ac4647817af8e1f6',1,'mlx::core::ContiguousIterator::ContiguousIterator()'],['../structmlx_1_1core_1_1_contiguous_iterator.html#a6cb378408b6f546eeb6ade1a4faafe3c',1,'mlx::core::ContiguousIterator::ContiguousIterator(const array &a)'],['../structmlx_1_1core_1_1_contiguous_iterator.html#a16bdacb53f65b7284068cd49d4cba292',1,'mlx::core::ContiguousIterator::ContiguousIterator(const std::vector< int > &shape, const std::vector< StrideT > &strides, int dims)']]], + ['contiguousreduce_84',['ContiguousReduce',['../namespacemlx_1_1core.html#a12412984a1cabfe1189942c898f8fe65ad2547f25dffe8d8936dbec25601cfc84',1,'mlx::core']]], + ['contiguousstridedreduce_85',['ContiguousStridedReduce',['../namespacemlx_1_1core.html#a12412984a1cabfe1189942c898f8fe65ab48dac7508a2c790de1bdc33f29177ed',1,'mlx::core']]], + ['conv_86',['conv',['../namespacemlx_1_1core_1_1metal.html#ab1704e853394c725668c06752ebb5c24',1,'mlx::core::metal']]], + ['conv_2eh_87',['conv.h',['../conv_8h.html',1,'']]], + ['conv1d_88',['conv1d',['../group__ops.html#ga30d47e08093c03a3676f235f9f559411',1,'mlx::core']]], + ['conv2d_89',['conv2d',['../group__ops.html#ga73b02833229678786e7f302d458d5a83',1,'mlx::core']]], + ['conv2dgeneralbaseinfo_90',['Conv2DGeneralBaseInfo',['../structmlx_1_1steel_1_1_conv2_d_general_base_info.html',1,'mlx::steel']]], + ['conv2dgeneraljumpparams_91',['Conv2DGeneralJumpParams',['../structmlx_1_1steel_1_1_conv2_d_general_jump_params.html',1,'mlx::steel']]], + ['conv2dinputblockloadergeneral_92',['Conv2DInputBlockLoaderGeneral',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html',1,'mlx::steel::Conv2DInputBlockLoaderGeneral< T, BM, BN, BK, tgp_size, tgp_padding >'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a1d83af561a483432bf8dcb42e734b23b',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::Conv2DInputBlockLoaderGeneral()']]], + ['conv2dinputblockloaderlargefilter_93',['Conv2DInputBlockLoaderLargeFilter',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter< T, BM, BN, BK, tgp_size, tgp_padding >'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a8755116a535539744e4947bc69f9c50f',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::Conv2DInputBlockLoaderLargeFilter()']]], + ['conv2dinputblockloadersmallchannels_94',['Conv2DInputBlockLoaderSmallChannels',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels< T, BM, BN, BK, tgp_size, n_channels, tgp_padding >'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#ab9fd3fdeab94470dde3326f1dd5c455a',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::Conv2DInputBlockLoaderSmallChannels()']]], + ['conv2dinputblockloadersmallfilter_95',['Conv2DInputBlockLoaderSmallFilter',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter< T, BM, BN, BK, tgp_size, tgp_padding >'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a0a2cbf57c51cd928722e3f06aafcf933',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::Conv2DInputBlockLoaderSmallFilter()']]], + ['conv2dweightblockloader_96',['Conv2DWeightBlockLoader',['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html',1,'mlx::steel::Conv2DWeightBlockLoader< T, BM, BN, BK, tgp_size, tgp_padding >'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a9a7dca3512b64cffb6eac305d795831c',1,'mlx::steel::Conv2DWeightBlockLoader::Conv2DWeightBlockLoader()']]], + ['conv2dweightblockloadergeneral_97',['Conv2DWeightBlockLoaderGeneral',['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral< T, BM, BN, BK, tgp_size, tgp_padding >'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#ad0550fabbdc9297559381a5b488e9af1',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::Conv2DWeightBlockLoaderGeneral()']]], + ['conv2dweightblockloadersmallchannels_98',['Conv2DWeightBlockLoaderSmallChannels',['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels< T, BM, BN, BK, tgp_size, n_channels, tgp_padding >'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#ae1806ea1c19713819dee83a38ab35fa6',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::Conv2DWeightBlockLoaderSmallChannels()']]], + ['conv3d_99',['conv3d',['../group__ops.html#ga6e9907d2f14dc4803e4306b3dbc4b3ca',1,'mlx::core']]], + ['conv_5fgeneral_100',['conv_general',['../group__ops.html#ga2236e5dfc7e52e28abf6c21675d0a51e',1,'mlx::core::conv_general(array input, array weight, std::vector< int > stride={}, std::vector< int > padding_lo={}, std::vector< int > padding_hi={}, std::vector< int > kernel_dilation={}, std::vector< int > input_dilation={}, int groups=1, bool flip=false, StreamOrDevice s={})'],['../group__ops.html#gab59f89942cd1efaadffe9e8762e3c99d',1,'mlx::core::conv_general(const array &input, const array &weight, std::vector< int > stride={}, std::vector< int > padding={}, std::vector< int > kernel_dilation={}, std::vector< int > input_dilation={}, int groups=1, bool flip=false, StreamOrDevice s={})']]], + ['conv_5ftranspose1d_101',['conv_transpose1d',['../group__ops.html#gaa30bf1adcd78d1c2595d07b215731714',1,'mlx::core']]], + ['conv_5ftranspose2d_102',['conv_transpose2d',['../group__ops.html#gaebb59971cb9bc45005dc1d398e4f0a3d',1,'mlx::core']]], + ['conv_5ftranspose3d_103',['conv_transpose3d',['../group__ops.html#ga8db814da631d9cd32a8d6563bf4ac530',1,'mlx::core']]], + ['convolution_104',['Convolution',['../classmlx_1_1core_1_1_convolution.html',1,'mlx::core::Convolution'],['../classmlx_1_1core_1_1_convolution.html#a6f1de77b719bb13217b0d8c64cabb8ef',1,'mlx::core::Convolution::Convolution()']]], + ['copy_105',['Copy',['../classmlx_1_1core_1_1_copy.html',1,'mlx::core::Copy'],['../classmlx_1_1core_1_1_copy.html#a6243e044af119105ffaaed7d405cd584',1,'mlx::core::Copy::Copy()']]], + ['copy_106',['copy',['../namespacemlx_1_1core.html#a479648542a2bea151b947b18f0e79dd2',1,'mlx::core::copy()'],['../namespacemlx_1_1core_1_1metal.html#aa215e631e2680f04a591b88d91571719',1,'mlx::core::metal::copy()'],['../group__ops.html#gae306e93af12f774bd80bad6c231b09d6',1,'mlx::core::copy()']]], + ['copy_2eh_107',['copy.h',['../common_2copy_8h.html',1,'(Global Namespace)'],['../metal_2copy_8h.html',1,'(Global Namespace)'],['../metal_2kernels_2copy_8h.html',1,'(Global Namespace)']]], + ['copy_5fg_108',['copy_g',['../metal_2kernels_2copy_8h.html#a71e4103db4689d90ef6f9d5ba93604cf',1,'copy.h']]], + ['copy_5fg_5fnd1_109',['copy_g_nd1',['../metal_2kernels_2copy_8h.html#a232c5c6b8386cf8ecbf4cdadb6e4176e',1,'copy.h']]], + ['copy_5fg_5fnd2_110',['copy_g_nd2',['../metal_2kernels_2copy_8h.html#a39ec5b7b8351e4332b842982a2ee6260',1,'copy.h']]], + ['copy_5fg_5fnd3_111',['copy_g_nd3',['../metal_2kernels_2copy_8h.html#aab82689380897ff4716b5eafd6ef3ecc',1,'copy.h']]], + ['copy_5fgg_112',['copy_gg',['../metal_2kernels_2copy_8h.html#ade9a9eea9b8262a854a11721fe2bb9fa',1,'copy.h']]], + ['copy_5fgg_5fnd1_113',['copy_gg_nd1',['../metal_2kernels_2copy_8h.html#a370d7bbba1a4b0d64da873bafd29a78b',1,'copy.h']]], + ['copy_5fgg_5fnd2_114',['copy_gg_nd2',['../metal_2kernels_2copy_8h.html#af0b06ac3a96852a64fa4274a94b58301',1,'copy.h']]], + ['copy_5fgg_5fnd3_115',['copy_gg_nd3',['../metal_2kernels_2copy_8h.html#a3f3836ad0b6545ec9b9e1864224f7a13',1,'copy.h']]], + ['copy_5fgpu_116',['copy_gpu',['../namespacemlx_1_1core.html#addaa46a13ac2deb1d9ce621338320e0e',1,'mlx::core::copy_gpu(const array &src, array &out, CopyType ctype, const Stream &s)'],['../namespacemlx_1_1core.html#a6a6f4e46c8fc44fdc74c50ace02bcf38',1,'mlx::core::copy_gpu(const array &src, array &out, CopyType ctype)']]], + ['copy_5fgpu_5finplace_117',['copy_gpu_inplace',['../namespacemlx_1_1core.html#a69e30f5d30a6d72ac0ffe4886f24b7ba',1,'mlx::core::copy_gpu_inplace(const array &in, array &out, const std::vector< int > &data_shape, const std::vector< stride_t > &i_strides, const std::vector< stride_t > &o_strides, int64_t i_offset, int64_t o_offset, CopyType ctype, const Stream &s)'],['../namespacemlx_1_1core.html#a8e1ccb0ed9387b0a789311d9f8964803',1,'mlx::core::copy_gpu_inplace(const array &src, array &out, CopyType ctype, const Stream &s)'],['../namespacemlx_1_1core.html#ae55b801b09ccf55cba96278163a9b1ef',1,'mlx::core::copy_gpu_inplace(const array &in, array &out, const std::vector< int64_t > &istride, int64_t ioffset, CopyType ctype, const Stream &s)']]], + ['copy_5fhartley_118',['copy_hartley',['../namespacepocketfft_1_1detail.html#abac3fcc8ce83800d228774f64c28d4c3',1,'pocketfft::detail::copy_hartley(const multi_iter< vlen > &it, const vtype_t< T > *src, ndarr< T > &dst)'],['../namespacepocketfft_1_1detail.html#ae7b44d2773d9d06a9787aff01d66b3ed',1,'pocketfft::detail::copy_hartley(const multi_iter< vlen > &it, const T *src, ndarr< T > &dst)']]], + ['copy_5finplace_119',['copy_inplace',['../namespacemlx_1_1core.html#a98495894a796b2cc6d022e7a03432c64',1,'mlx::core::copy_inplace(const array &src, array &dst, CopyType ctype)'],['../namespacemlx_1_1core.html#aad636e2d0b2f882cadd1b438f4daa9ed',1,'mlx::core::copy_inplace(const array &src, array &dst, const std::vector< int > &data_shape, const std::vector< stride_t > &i_strides, const std::vector< stride_t > &o_strides, int64_t i_offset, int64_t o_offset, CopyType ctype)']]], + ['copy_5finput_120',['copy_input',['../namespacepocketfft_1_1detail.html#aff05be3064743c1143b19318ab12ad4a',1,'pocketfft::detail::copy_input(const multi_iter< vlen > &it, const cndarr< cmplx< T > > &src, cmplx< vtype_t< T > > *dst)'],['../namespacepocketfft_1_1detail.html#a30fc708f9d8f9cfa74194925c7863c0a',1,'pocketfft::detail::copy_input(const multi_iter< vlen > &it, const cndarr< T > &src, vtype_t< T > *dst)'],['../namespacepocketfft_1_1detail.html#a3387bd35f237870e42b8461769e6aec4',1,'pocketfft::detail::copy_input(const multi_iter< vlen > &it, const cndarr< T > &src, T *dst)']]], + ['copy_5foutput_121',['copy_output',['../namespacepocketfft_1_1detail.html#a1523a037300a8da05db210b802d9cb0e',1,'pocketfft::detail::copy_output(const multi_iter< vlen > &it, const cmplx< vtype_t< T > > *src, ndarr< cmplx< T > > &dst)'],['../namespacepocketfft_1_1detail.html#a21980853aca4d92ed06e3dcffe7ef660',1,'pocketfft::detail::copy_output(const multi_iter< vlen > &it, const vtype_t< T > *src, ndarr< T > &dst)'],['../namespacepocketfft_1_1detail.html#a310481c334e46674710ba794ad7403c0',1,'pocketfft::detail::copy_output(const multi_iter< vlen > &it, const T *src, ndarr< T > &dst)']]], + ['copy_5fs_122',['copy_s',['../metal_2kernels_2copy_8h.html#aef09f9b9475345b1bba121d037d222ea',1,'copy.h']]], + ['copy_5fs2_123',['copy_s2',['../metal_2kernels_2copy_8h.html#a8023e9335cc5334847a8d315042be3a3',1,'copy.h']]], + ['copy_5fshared_5fbuffer_124',['copy_shared_buffer',['../classmlx_1_1core_1_1array.html#ad2814dbffa5ad174d9c97a10bf4cf26b',1,'mlx::core::array::copy_shared_buffer(const array &other, const Strides &strides, Flags flags, size_t data_size, size_t offset=0)'],['../classmlx_1_1core_1_1array.html#a92974c656c35a972ad241f80584bbd29',1,'mlx::core::array::copy_shared_buffer(const array &other)']]], + ['copy_5fv_125',['copy_v',['../metal_2kernels_2copy_8h.html#ae26a13e0c8e6c15f7b10078e65970659',1,'copy.h']]], + ['copy_5fv2_126',['copy_v2',['../metal_2kernels_2copy_8h.html#aee14a5326f53d9b30b0b38e27d180ef3',1,'copy.h']]], + ['copytype_127',['CopyType',['../namespacemlx_1_1core.html#abd84ff6c5245e4e170b2ef5247594337',1,'mlx::core']]], + ['core_20array_20operations_128',['Core array operations',['../group__ops.html',1,'']]], + ['cos_129',['Cos',['../struct_cos.html',1,'Cos'],['../classmlx_1_1core_1_1_cos.html',1,'mlx::core::Cos'],['../structmlx_1_1core_1_1detail_1_1_cos.html',1,'mlx::core::detail::Cos'],['../classmlx_1_1core_1_1_cos.html#a2acb9fcf0901462189c476756fd99995',1,'mlx::core::Cos::Cos()']]], + ['cos_130',['cos',['../namespacepocketfft_1_1detail.html#a499c1e8b7d79a5272af024f46c63ff9d',1,'pocketfft::detail::cos()'],['../namespacemetal.html#a2fa4778a6fe2fa43253ea724e5a608a3',1,'metal::cos()'],['../namespacemetal_1_1fast.html#a75b6bb32fa3870eda46a7bfc9f481f88',1,'metal::fast::cos()'],['../namespacemetal_1_1precise.html#ac4941f62e7d8ab9d7cabbd967aa9f220',1,'metal::precise::cos()'],['../group__ops.html#ga39dfdf72b556012aa35ff27a94116e74',1,'mlx::core::cos()']]], + ['cosh_131',['Cosh',['../struct_cosh.html',1,'Cosh'],['../classmlx_1_1core_1_1_cosh.html',1,'mlx::core::Cosh'],['../structmlx_1_1core_1_1detail_1_1_cosh.html',1,'mlx::core::detail::Cosh'],['../classmlx_1_1core_1_1_cosh.html#a44e8ac2e09a55ec32e9dc6641eedc8f1',1,'mlx::core::Cosh::Cosh()']]], + ['cosh_132',['cosh',['../namespacemetal.html#a8a68a88cc110830d057dbd71431b93c0',1,'metal::cosh()'],['../namespacemetal_1_1fast.html#a31544ad9de28012a4ddda86e3966a77e',1,'metal::fast::cosh()'],['../namespacemetal_1_1precise.html#a72d86d508300a9b58f4ccbbe70da4fbc',1,'metal::precise::cosh()'],['../group__ops.html#ga2181b71cda88007a3092be4795ff0715',1,'mlx::core::cosh()']]], + ['cosine_133',['cosine',['../structpocketfft_1_1detail_1_1_exec_dcst.html#a185023fc1e386cc8f233b79c49c1fd8a',1,'pocketfft::detail::ExecDcst']]], + ['cospi_134',['cospi',['../namespacemetal.html#a5c2f37939ad705ddea4409d3bedb8ce1',1,'metal::cospi()'],['../namespacemetal_1_1fast.html#a9906b41f75319b384ffb570cc94d67ce',1,'metal::fast::cospi()'],['../namespacemetal_1_1precise.html#a2392b78bd196efdbbac65901c4ab20e7',1,'metal::precise::cospi()']]], + ['cost_5fguess_135',['cost_guess',['../structpocketfft_1_1detail_1_1util.html#ad3d874bc3fb0048df2270779a15d4bd0',1,'pocketfft::detail::util']]], + ['count_5fdown_136',['count_down',['../classpocketfft_1_1detail_1_1threading_1_1latch.html#a81d6597189b40410e35f3cd653fd1342',1,'pocketfft::detail::threading::latch']]], + ['cpu_137',['cpu',['../structmlx_1_1core_1_1_device.html#a69ee81924251dec96f1945c9d91506fd',1,'mlx::core::Device::cpu'],['../structmlx_1_1core_1_1_device.html#ac45b3de9b3458d8f31005136cde20fdbad9747e2da342bdb995f6389533ad1a3d',1,'mlx::core::Device::cpu']]], + ['cross_138',['cross',['../namespacemlx_1_1core_1_1linalg.html#abcda3fbda45183c21e7f27aa0dde64e6',1,'mlx::core::linalg']]], + ['cshape_139',['CShape',['../structmlx_1_1steel_1_1_c_shape.html',1,'mlx::steel']]], + ['ctile_140',['Ctile',['../structmlx_1_1steel_1_1_block_m_m_a.html#a21b0c40d16eced109bd3196186170bc6',1,'mlx::steel::BlockMMA']]], + ['cummax_141',['CumMax',['../struct_cum_max.html',1,'']]], + ['cummax_142',['cummax',['../group__ops.html#gaee37cac8476e8f8d666bcded5bc59143',1,'mlx::core']]], + ['cummin_143',['CumMin',['../struct_cum_min.html',1,'']]], + ['cummin_144',['cummin',['../group__ops.html#ga19c1bf6929fe8d66b9cd408946aea6a8',1,'mlx::core']]], + ['cumprod_145',['CumProd',['../struct_cum_prod.html',1,'']]], + ['cumprod_146',['cumprod',['../group__ops.html#ga0d71dfbc14ef3ed564b0c5ee26af680f',1,'mlx::core']]], + ['cumprod_3c_20bool_20_3e_147',['CumProd< bool >',['../struct_cum_prod_3_01bool_01_4.html',1,'']]], + ['cumsum_148',['CumSum',['../struct_cum_sum.html',1,'']]], + ['cumsum_149',['cumsum',['../group__ops.html#gaddc825a5c173e195ab0fda83ad630420',1,'mlx::core']]], + ['custom_150',['Custom',['../classmlx_1_1core_1_1fast_1_1_custom.html',1,'mlx::core::fast::Custom'],['../classmlx_1_1core_1_1fast_1_1_custom.html#a4186fea23f7156c38960426821fca313',1,'mlx::core::fast::Custom::Custom()']]], + ['custom_5ffunction_151',['custom_function',['../namespacemlx_1_1core.html#a8d3ca5fbaecdb995660c24cde5aeebaf',1,'mlx::core']]], + ['custom_5fvjp_152',['custom_vjp',['../namespacemlx_1_1core.html#a9290596250fa308df4c69b44483bb8aa',1,'mlx::core']]], + ['customkernel_153',['CustomKernel',['../classmlx_1_1core_1_1fast_1_1_custom_kernel.html',1,'mlx::core::fast::CustomKernel'],['../classmlx_1_1core_1_1fast_1_1_custom_kernel.html#a954893e07f0d36715b4e1e414b6f2153',1,'mlx::core::fast::CustomKernel::CustomKernel()']]], + ['customkernelshapeinfo_154',['CustomKernelShapeInfo',['../structmlx_1_1core_1_1fast_1_1_custom_kernel_shape_info.html',1,'mlx::core::fast']]], + ['customtransforms_155',['CustomTransforms',['../classmlx_1_1core_1_1_custom_transforms.html',1,'mlx::core::CustomTransforms'],['../classmlx_1_1core_1_1_custom_transforms.html#ab52abadb9c6f6db83d087c7b751be488',1,'mlx::core::CustomTransforms::CustomTransforms()']]] ]; diff --git a/docs/build/html/search/all_4.js b/docs/build/html/search/all_4.js index cfaf8fd68..ff2bd5a71 100644 --- a/docs/build/html/search/all_4.js +++ b/docs/build/html/search/all_4.js @@ -1,8 +1,8 @@ var searchData= [ ['d_0',['D',['../structmlx_1_1steel_1_1_attn_params.html#a07ae31628e43e09bce533c7682c8dae3',1,'mlx::steel::AttnParams']]], - ['d_1',['d',['../classpocketfft_1_1detail_1_1cndarr.html#ac29c769aebb03f81fbcf16ba6e766af2',1,'pocketfft::detail::cndarr::d'],['../structmlx_1_1core_1_1array_1_1_data.html#a25f52ac67912a49bb6e2b6715aa65311',1,'mlx::core::array::Data::d']]], - ['data_2',['Data',['../structmlx_1_1core_1_1array_1_1_data.html',1,'mlx::core::array::Data'],['../structmlx_1_1core_1_1array_1_1_data.html#a77e2ea35fac1d54e4062468a432e1482',1,'mlx::core::array::Data::Data(allocator::Buffer buffer, deleter_t d=allocator::free)'],['../structmlx_1_1core_1_1array_1_1_data.html#a50f242040b123052e48e18c244ff70fc',1,'mlx::core::array::Data::Data(const Data &d)=delete']]], + ['d_1',['d',['../classpocketfft_1_1detail_1_1cndarr.html#ac29c769aebb03f81fbcf16ba6e766af2',1,'pocketfft::detail::cndarr::d'],['../structmlx_1_1core_1_1array_1_1_data.html#a0534c6fb5dfbd7fcf1d6269fac3c1e9e',1,'mlx::core::array::Data::d']]], + ['data_2',['Data',['../structmlx_1_1core_1_1array_1_1_data.html',1,'mlx::core::array::Data'],['../structmlx_1_1core_1_1array_1_1_data.html#a123d7c1738773dedfc9db075fdd7062d',1,'mlx::core::array::Data::Data(allocator::Buffer buffer, Deleter d=allocator::free)'],['../structmlx_1_1core_1_1array_1_1_data.html#a50f242040b123052e48e18c244ff70fc',1,'mlx::core::array::Data::Data(const Data &d)=delete']]], ['data_3',['data',['../classpocketfft_1_1detail_1_1arr.html#aec0f2191b4663b4187aab92454c34de8',1,'pocketfft::detail::arr::data()'],['../classpocketfft_1_1detail_1_1arr.html#ac82daa17e9f991072b012343f9d7c182',1,'pocketfft::detail::arr::data() const'],['../classmlx_1_1core_1_1array.html#a72e3ce6c03fefe272cadf214bd127b95',1,'mlx::core::array::data()'],['../classmlx_1_1core_1_1array.html#a99fb28eeab39b9f429373f8bd7557676',1,'mlx::core::array::data() const']]], ['data_5fshared_5fptr_4',['data_shared_ptr',['../classmlx_1_1core_1_1array.html#ab84c792117e29cdf90ef3433303f6141',1,'mlx::core::array']]], ['data_5fsize_5',['data_size',['../classmlx_1_1core_1_1array.html#afaf2a370fa35d96af1b27a4b814e3bfd',1,'mlx::core::array']]], @@ -26,7 +26,7 @@ var searchData= ['define_5fvmap_23',['DEFINE_VMAP',['../primitives_8h.html#adc0fbd79fe0d1114dc85da4ed99798bd',1,'primitives.h']]], ['defines_2eh_24',['defines.h',['../defines_8h.html',1,'(Global Namespace)'],['../steel_2defines_8h.html',1,'(Global Namespace)']]], ['degrees_25',['degrees',['../group__ops.html#ga3a70569b50e1083c5ded199d73fb960c',1,'mlx::core']]], - ['deleter_5ft_26',['deleter_t',['../namespacemlx_1_1core.html#a1e6cec03ebd80fd2d6b12b288367bfa8',1,'mlx::core']]], + ['deleter_26',['Deleter',['../namespacemlx_1_1core.html#af834c1e18d6f11c4f233a2e1ce814a4b',1,'mlx::core']]], ['denorm_5fmin_27',['denorm_min',['../structmetal_1_1__numeric__limits__impl_3_01bfloat16__t_01_4.html#a6a9dbcba4dd79cad50876dda506b9eed',1,'metal::_numeric_limits_impl< bfloat16_t >']]], ['depends_28',['Depends',['../classmlx_1_1core_1_1_depends.html',1,'mlx::core::Depends'],['../classmlx_1_1core_1_1_depends.html#a4ccb792c99f5d8d133d3fac29f7d3f62',1,'mlx::core::Depends::Depends()']]], ['depends_29',['depends',['../group__ops.html#gac4a51a68fbe1725436b026d2fbb95759',1,'mlx::core']]], @@ -44,24 +44,25 @@ var searchData= ['digits_41',['digits',['../structmetal_1_1__numeric__limits__impl_3_01bfloat16__t_01_4.html#af6a681edff230c8d734a1feefb8d1879',1,'metal::_numeric_limits_impl< bfloat16_t >']]], ['digits10_42',['digits10',['../structmetal_1_1__numeric__limits__impl_3_01bfloat16__t_01_4.html#a0f48dd0c8a2d2dfa825067fb212b2e6b',1,'metal::_numeric_limits_impl< bfloat16_t >']]], ['dim_43',['dim',['../struct_looped_elem_to_loc.html#af8285112846769aba2c0d8615f6f1364',1,'LoopedElemToLoc::dim'],['../struct_looped_elem_to_loc_3_011_00_01_offset_t_00_01true_01_4.html#a7be6bf560080472d61e74b522979ef1e',1,'LoopedElemToLoc< 1, OffsetT, true >::dim']]], - ['disable_5fcompile_44',['disable_compile',['../namespacemlx_1_1core.html#a5f5fea955057bb3842b271b037909e66',1,'mlx::core']]], - ['disabled_45',['disabled',['../namespacemlx_1_1core.html#adb15ff2b1ca5207fd4f6e631e2c3bcb4a075ae3d2fc31640504f814f60e5ef713',1,'mlx::core']]], - ['dispatch_5fthreadgroups_46',['dispatch_threadgroups',['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#a85796b2bf41dbf347ae0978d4660600d',1,'mlx::core::metal::CommandEncoder']]], - ['dispatch_5fthreads_47',['dispatch_threads',['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#a0a8501b940e5a347475fa4bc38fb4c05',1,'mlx::core::metal::CommandEncoder']]], - ['distprimitive_48',['DistPrimitive',['../classmlx_1_1core_1_1distributed_1_1_dist_primitive.html',1,'mlx::core::distributed::DistPrimitive'],['../classmlx_1_1core_1_1distributed_1_1_dist_primitive.html#a8c54166951522c2a52ef39fce8c87f8f',1,'mlx::core::distributed::DistPrimitive::DistPrimitive()']]], - ['distributed_2eh_49',['distributed.h',['../distributed_8h.html',1,'']]], - ['distributed_5fimpl_2eh_50',['distributed_impl.h',['../distributed__impl_8h.html',1,'']]], - ['divide_51',['Divide',['../struct_divide.html',1,'Divide'],['../structmlx_1_1core_1_1detail_1_1_divide.html',1,'mlx::core::detail::Divide'],['../classmlx_1_1core_1_1_divide.html',1,'mlx::core::Divide'],['../classmlx_1_1core_1_1_divide.html#a62fc71e8998be65ff18285dbbd21eedb',1,'mlx::core::Divide::Divide()']]], - ['divide_52',['divide',['../namespacemetal.html#a2aea493fc1a874970b77ed0031e965df',1,'metal::divide()'],['../namespacemetal_1_1fast.html#ae70bc2185e4649369cf7b15f5e1d48be',1,'metal::fast::divide()'],['../namespacemetal_1_1precise.html#aec0982cdb96a08b61f51129150d82e9d',1,'metal::precise::divide()'],['../group__ops.html#ga77472dd06cfa7a30a42e4fd927bd859f',1,'mlx::core::divide()']]], - ['divmod_53',['DivMod',['../struct_div_mod.html',1,'DivMod'],['../classmlx_1_1core_1_1_div_mod.html',1,'mlx::core::DivMod'],['../classmlx_1_1core_1_1_div_mod.html#a859e3b6149cdceab1c7ccfd2246fb826',1,'mlx::core::DivMod::DivMod()']]], - ['divmod_54',['divmod',['../group__ops.html#gaa30ebc0a8376dbc3f7e46a47052b5894',1,'mlx::core']]], - ['divop_55',['DivOp',['../struct_div_op.html',1,'']]], - ['do_5faxpby_56',['do_axpby',['../steel__gemm__fused_8h.html#a703f06c849c89c37af7b1d27b0804a29',1,'steel_gemm_fused.h']]], - ['do_5fgather_57',['do_gather',['../steel__gemm__fused_8h.html#a60efac3ac3b7cd64d096bbae38a3ac69',1,'steel_gemm_fused.h']]], - ['do_5fread_58',['do_read',['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a13eb86acf6abe288c19645935a47d2ad',1,'mlx::steel::Conv2DWeightBlockLoader::do_read'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#a640155880483e1042ec5f647b9adaac6',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::do_read']]], - ['dst_59',['dst',['../struct_quantized_block_loader.html#a9857214690fe6abad0e19d1045152f83',1,'QuantizedBlockLoader::dst'],['../structmlx_1_1steel_1_1_block_loader.html#af1c6c35a42e9da4408c1013ff1741bc2',1,'mlx::steel::BlockLoader::dst'],['../structmlx_1_1steel_1_1_block_loader_t.html#a6eb4e566b687395e27f290da288362db',1,'mlx::steel::BlockLoaderT::dst'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#ae048eb79f8b8d98f0fe8805c30fbb09f',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::dst'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a8598bf23a2bce6af13c876cbfa76449f',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::dst'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#aea6494838175225d02cbc7768a646ec7',1,'mlx::steel::Conv2DWeightBlockLoader::dst'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#a59a4fffc1dc2f3fadfb3fdd1b886da70',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::dst'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#a24e20e4c1dd1ebf9534bfa2b3e050ed3',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::dst'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#aa84c4ad43a5defb83ba1a5f49a7adb2a',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::dst'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a8474daf268013e138a84fc1c4bff7352',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::dst'],['../namespacepocketfft_1_1detail.html#add0f231fc8a1ce01b90a90faeebcb4eb',1,'pocketfft::detail::dst()']]], - ['dst_5fld_60',['dst_ld',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a91192d512e7a18c2d16a139065000959',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::dst_ld'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a9e59da7e4436e61b2d3c3f982355910b',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::dst_ld'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a0ff5a6d503e0bbac4634030a75ab818d',1,'mlx::steel::Conv2DWeightBlockLoader::dst_ld'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#ae71570942c7b0ad8e67c62662b336c4a',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::dst_ld'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#ac18eeebea26cc6da434ead6eb4397350',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::dst_ld'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a07c85eab8cbf7b02c60df29cf32031ef',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::dst_ld'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#aae121ca6016fc6c7255027b3641f3a09',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::dst_ld']]], - ['dtype_61',['Dtype',['../structmlx_1_1core_1_1_dtype.html',1,'mlx::core::Dtype'],['../structmlx_1_1core_1_1_dtype.html#aec17f0a4a51729e5ac40b62f0aa765d1',1,'mlx::core::Dtype::Dtype()']]], - ['dtype_62',['dtype',['../classmlx_1_1core_1_1array.html#ae29e7d6fbfbea1e5e321a8d1ea3cfacd',1,'mlx::core::array']]], - ['dtype_2eh_63',['dtype.h',['../dtype_8h.html',1,'']]] + ['dims_5f_44',['dims_',['../classmlx_1_1core_1_1fast_1_1_ro_p_e.html#ac23a3a25df836e6e72525ec624e9d0df',1,'mlx::core::fast::RoPE']]], + ['disable_5fcompile_45',['disable_compile',['../namespacemlx_1_1core.html#a5f5fea955057bb3842b271b037909e66',1,'mlx::core']]], + ['disabled_46',['disabled',['../namespacemlx_1_1core.html#adb15ff2b1ca5207fd4f6e631e2c3bcb4a075ae3d2fc31640504f814f60e5ef713',1,'mlx::core']]], + ['dispatch_5fthreadgroups_47',['dispatch_threadgroups',['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#a85796b2bf41dbf347ae0978d4660600d',1,'mlx::core::metal::CommandEncoder']]], + ['dispatch_5fthreads_48',['dispatch_threads',['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#a0a8501b940e5a347475fa4bc38fb4c05',1,'mlx::core::metal::CommandEncoder']]], + ['distprimitive_49',['DistPrimitive',['../classmlx_1_1core_1_1distributed_1_1_dist_primitive.html',1,'mlx::core::distributed::DistPrimitive'],['../classmlx_1_1core_1_1distributed_1_1_dist_primitive.html#a8c54166951522c2a52ef39fce8c87f8f',1,'mlx::core::distributed::DistPrimitive::DistPrimitive()']]], + ['distributed_2eh_50',['distributed.h',['../distributed_8h.html',1,'']]], + ['distributed_5fimpl_2eh_51',['distributed_impl.h',['../distributed__impl_8h.html',1,'']]], + ['divide_52',['Divide',['../struct_divide.html',1,'Divide'],['../structmlx_1_1core_1_1detail_1_1_divide.html',1,'mlx::core::detail::Divide'],['../classmlx_1_1core_1_1_divide.html',1,'mlx::core::Divide'],['../classmlx_1_1core_1_1_divide.html#a62fc71e8998be65ff18285dbbd21eedb',1,'mlx::core::Divide::Divide()']]], + ['divide_53',['divide',['../namespacemetal.html#a2aea493fc1a874970b77ed0031e965df',1,'metal::divide()'],['../namespacemetal_1_1fast.html#ae70bc2185e4649369cf7b15f5e1d48be',1,'metal::fast::divide()'],['../namespacemetal_1_1precise.html#aec0982cdb96a08b61f51129150d82e9d',1,'metal::precise::divide()'],['../group__ops.html#ga77472dd06cfa7a30a42e4fd927bd859f',1,'mlx::core::divide()']]], + ['divmod_54',['DivMod',['../struct_div_mod.html',1,'DivMod'],['../classmlx_1_1core_1_1_div_mod.html',1,'mlx::core::DivMod'],['../classmlx_1_1core_1_1_div_mod.html#a859e3b6149cdceab1c7ccfd2246fb826',1,'mlx::core::DivMod::DivMod()']]], + ['divmod_55',['divmod',['../group__ops.html#gaa30ebc0a8376dbc3f7e46a47052b5894',1,'mlx::core']]], + ['divop_56',['DivOp',['../struct_div_op.html',1,'']]], + ['do_5faxpby_57',['do_axpby',['../steel__gemm__fused_8h.html#a703f06c849c89c37af7b1d27b0804a29',1,'steel_gemm_fused.h']]], + ['do_5fgather_58',['do_gather',['../steel__gemm__fused_8h.html#a60efac3ac3b7cd64d096bbae38a3ac69',1,'steel_gemm_fused.h']]], + ['do_5fread_59',['do_read',['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a13eb86acf6abe288c19645935a47d2ad',1,'mlx::steel::Conv2DWeightBlockLoader::do_read'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#a640155880483e1042ec5f647b9adaac6',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::do_read']]], + ['dst_60',['dst',['../struct_quantized_block_loader.html#a9857214690fe6abad0e19d1045152f83',1,'QuantizedBlockLoader::dst'],['../structmlx_1_1steel_1_1_block_loader.html#af1c6c35a42e9da4408c1013ff1741bc2',1,'mlx::steel::BlockLoader::dst'],['../structmlx_1_1steel_1_1_block_loader_t.html#a6eb4e566b687395e27f290da288362db',1,'mlx::steel::BlockLoaderT::dst'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#ae048eb79f8b8d98f0fe8805c30fbb09f',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::dst'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a8598bf23a2bce6af13c876cbfa76449f',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::dst'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#aea6494838175225d02cbc7768a646ec7',1,'mlx::steel::Conv2DWeightBlockLoader::dst'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#a59a4fffc1dc2f3fadfb3fdd1b886da70',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::dst'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#a24e20e4c1dd1ebf9534bfa2b3e050ed3',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::dst'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#aa84c4ad43a5defb83ba1a5f49a7adb2a',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::dst'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a8474daf268013e138a84fc1c4bff7352',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::dst'],['../namespacepocketfft_1_1detail.html#add0f231fc8a1ce01b90a90faeebcb4eb',1,'pocketfft::detail::dst()']]], + ['dst_5fld_61',['dst_ld',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a91192d512e7a18c2d16a139065000959',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::dst_ld'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a9e59da7e4436e61b2d3c3f982355910b',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::dst_ld'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a0ff5a6d503e0bbac4634030a75ab818d',1,'mlx::steel::Conv2DWeightBlockLoader::dst_ld'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#ae71570942c7b0ad8e67c62662b336c4a',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::dst_ld'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#ac18eeebea26cc6da434ead6eb4397350',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::dst_ld'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a07c85eab8cbf7b02c60df29cf32031ef',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::dst_ld'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#aae121ca6016fc6c7255027b3641f3a09',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::dst_ld']]], + ['dtype_62',['Dtype',['../structmlx_1_1core_1_1_dtype.html',1,'mlx::core::Dtype'],['../structmlx_1_1core_1_1_dtype.html#aec17f0a4a51729e5ac40b62f0aa765d1',1,'mlx::core::Dtype::Dtype()']]], + ['dtype_63',['dtype',['../classmlx_1_1core_1_1array.html#ae29e7d6fbfbea1e5e321a8d1ea3cfacd',1,'mlx::core::array']]], + ['dtype_2eh_64',['dtype.h',['../dtype_8h.html',1,'']]] ]; diff --git a/docs/build/html/search/all_5.js b/docs/build/html/search/all_5.js index d3f39741c..6eb015d11 100644 --- a/docs/build/html/search/all_5.js +++ b/docs/build/html/search/all_5.js @@ -27,40 +27,41 @@ var searchData= ['end_24',['end',['../classmlx_1_1core_1_1array.html#a5daf64552fb450825c9b382f3a5fa2d4',1,'mlx::core::array']]], ['end_5fencoding_25',['end_encoding',['../classmlx_1_1core_1_1metal_1_1_device.html#a60689f97347811b27e8c5ca23e0372bf',1,'mlx::core::metal::Device']]], ['enqueue_26',['enqueue',['../class_thread_pool.html#a375fa2d63197282277be640b54e8a196',1,'ThreadPool::enqueue()'],['../structmlx_1_1core_1_1scheduler_1_1_stream_thread.html#a4918720319cf224a1b4208568964c286',1,'mlx::core::scheduler::StreamThread::enqueue()'],['../classmlx_1_1core_1_1scheduler_1_1_scheduler.html#a03809c783bd1866362dc7cb9118abbcc',1,'mlx::core::scheduler::Scheduler::enqueue()'],['../namespacemlx_1_1core_1_1scheduler.html#aa2d4eacf5d5cbc778a51aafd4fd8e4d7',1,'mlx::core::scheduler::enqueue()']]], - ['epsilon_27',['epsilon',['../structmetal_1_1__numeric__limits__impl_3_01bfloat16__t_01_4.html#a96c4197e3076f0aa9065370b8ece49ca',1,'metal::_numeric_limits_impl< bfloat16_t >']]], - ['equal_28',['Equal',['../struct_equal.html',1,'Equal'],['../structmlx_1_1core_1_1detail_1_1_equal.html',1,'mlx::core::detail::Equal'],['../classmlx_1_1core_1_1_equal.html',1,'mlx::core::Equal'],['../classmlx_1_1core_1_1_equal.html#a4af81cf2dd071db5bbf8ce1df95fdf36',1,'mlx::core::Equal::Equal()']]], - ['equal_29',['equal',['../group__ops.html#ga33638dc3a9972dd02be12d0eb85f9bde',1,'mlx::core']]], - ['erase_30',['erase',['../classmlx_1_1core_1_1metal_1_1_residency_set.html#ae136ad270522210c85c13cacf5165238',1,'mlx::core::metal::ResidencySet']]], - ['erf_31',['Erf',['../struct_erf.html',1,'Erf'],['../structmlx_1_1core_1_1detail_1_1_erf.html',1,'mlx::core::detail::Erf'],['../classmlx_1_1core_1_1_erf.html',1,'mlx::core::Erf'],['../classmlx_1_1core_1_1_erf.html#a702f76f848928d8d7d3d0881ac6e4c82',1,'mlx::core::Erf::Erf()']]], - ['erf_32',['erf',['../erf_8h.html#a6ce199ee56105c67adbf8c48c019a8b2',1,'erf(): erf.h'],['../group__ops.html#ga292a335240fd5d6d625fb7a340ff5eb0',1,'mlx::core::erf()']]], - ['erf_2eh_33',['erf.h',['../erf_8h.html',1,'']]], - ['erfinv_34',['ErfInv',['../struct_erf_inv.html',1,'ErfInv'],['../structmlx_1_1core_1_1detail_1_1_erf_inv.html',1,'mlx::core::detail::ErfInv'],['../classmlx_1_1core_1_1_erf_inv.html',1,'mlx::core::ErfInv'],['../classmlx_1_1core_1_1_erf_inv.html#a5d0279247b67da4592311559f04e1478',1,'mlx::core::ErfInv::ErfInv()']]], - ['erfinv_35',['erfinv',['../erf_8h.html#a1846e0d683c7aff826bb32addcc3b885',1,'erfinv(): erf.h'],['../group__ops.html#ga76fb9062c64264e34d2e07013390557c',1,'mlx::core::erfinv()']]], - ['eval_36',['eval',['../classmlx_1_1core_1_1array.html#a2820c45188071a22175e9fa42e10a49a',1,'mlx::core::array::eval()'],['../namespacemlx_1_1core.html#a7d6e097d8effed52f4713672e471f299',1,'mlx::core::eval(std::vector< array > outputs)'],['../namespacemlx_1_1core.html#adb14f689c9f75f7901edb196c2bfb971',1,'mlx::core::eval(Arrays &&... outputs)']]], - ['eval_5fcpu_37',['eval_cpu',['../classmlx_1_1core_1_1distributed_1_1_all_reduce.html#acdc1965ad64ee9ee6328fe150a97902e',1,'mlx::core::distributed::AllReduce::eval_cpu()'],['../classmlx_1_1core_1_1distributed_1_1_all_gather.html#ab721fe0072fffbddbc3c4334dd033ba5',1,'mlx::core::distributed::AllGather::eval_cpu()'],['../classmlx_1_1core_1_1distributed_1_1_send.html#af2620837bfc1b97217d006ed6e374051',1,'mlx::core::distributed::Send::eval_cpu()'],['../classmlx_1_1core_1_1distributed_1_1_recv.html#a3be84b08122a939edd6062d26261358a',1,'mlx::core::distributed::Recv::eval_cpu()'],['../classmlx_1_1core_1_1fast_1_1_r_m_s_norm.html#a7da6e0cfd630958d9633b2e2bd97a54f',1,'mlx::core::fast::RMSNorm::eval_cpu()'],['../classmlx_1_1core_1_1fast_1_1_r_m_s_norm_v_j_p.html#adfc1d52bc266466ab29ee45fd8fab439',1,'mlx::core::fast::RMSNormVJP::eval_cpu()'],['../classmlx_1_1core_1_1fast_1_1_layer_norm.html#a5d7a4c1c9ee84e327d1c371733108c05',1,'mlx::core::fast::LayerNorm::eval_cpu()'],['../classmlx_1_1core_1_1fast_1_1_layer_norm_v_j_p.html#a0d8c4c6e7462befc38f7e08244fa1c2b',1,'mlx::core::fast::LayerNormVJP::eval_cpu()'],['../classmlx_1_1core_1_1fast_1_1_ro_p_e.html#a05a7d595c6b9dadf7ddfd6e3fd402f0e',1,'mlx::core::fast::RoPE::eval_cpu()'],['../classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention.html#ae20851e002f7fcb6d4f97817596f6328',1,'mlx::core::fast::ScaledDotProductAttention::eval_cpu()'],['../classmlx_1_1core_1_1fast_1_1_affine_quantize.html#a3b5d628628d245b38911118d4a0ff9fd',1,'mlx::core::fast::AffineQuantize::eval_cpu()'],['../classmlx_1_1core_1_1fast_1_1_custom_kernel.html#a4ad1b7a9919753c759093f3e21a15bad',1,'mlx::core::fast::CustomKernel::eval_cpu()'],['../classmlx_1_1core_1_1_primitive.html#a1596dc50b910538eae14878e98f07575',1,'mlx::core::Primitive::eval_cpu()'],['../classmlx_1_1core_1_1_unary_primitive.html#a7e8f6f5d6ae0a33f6abc0f5a46e0b132',1,'mlx::core::UnaryPrimitive::eval_cpu(const std::vector< array > &inputs, array &output)=0'],['../classmlx_1_1core_1_1_unary_primitive.html#aa0ed6e32c36200a3ff9bc592c9b300db',1,'mlx::core::UnaryPrimitive::eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) override'],['../classmlx_1_1core_1_1_abs.html#a0d3e697496ef8e842d21195cb3c14e60',1,'mlx::core::Abs::eval_cpu()'],['../classmlx_1_1core_1_1_add.html#a5bacfc51dfa2a5a931bad2dd7bdc7a5f',1,'mlx::core::Add::eval_cpu()'],['../classmlx_1_1core_1_1_add_m_m.html#a15694e3bf2ed5c193237b2b9ca00867c',1,'mlx::core::AddMM::eval_cpu()'],['../classmlx_1_1core_1_1_arange.html#aba44432491cbd599bf72712f5f4267a1',1,'mlx::core::Arange::eval_cpu()'],['../classmlx_1_1core_1_1_arc_cos.html#a58dcba9e706cb12bab062bb7fa5fa006',1,'mlx::core::ArcCos::eval_cpu()'],['../classmlx_1_1core_1_1_arc_cosh.html#a0f6d989bcbbc38f15ef17a136879a9c9',1,'mlx::core::ArcCosh::eval_cpu()'],['../classmlx_1_1core_1_1_arc_sin.html#ab3542492c14021329788de8f2a9be1e4',1,'mlx::core::ArcSin::eval_cpu()'],['../classmlx_1_1core_1_1_arc_sinh.html#a52574b24d8d16839c58673f51f8ac066',1,'mlx::core::ArcSinh::eval_cpu()'],['../classmlx_1_1core_1_1_arc_tan.html#a1211bc31241227528f04435239ddb9a3',1,'mlx::core::ArcTan::eval_cpu()'],['../classmlx_1_1core_1_1_arc_tan2.html#a13094e6b702769928ca0da468f5ce45c',1,'mlx::core::ArcTan2::eval_cpu()'],['../classmlx_1_1core_1_1_arc_tanh.html#a5af9224e1f1ffec412b0baa0af7e1ecd',1,'mlx::core::ArcTanh::eval_cpu()'],['../classmlx_1_1core_1_1_arg_partition.html#a896f75c5325798ac3f9093f6a4581828',1,'mlx::core::ArgPartition::eval_cpu()'],['../classmlx_1_1core_1_1_arg_reduce.html#ad8d48725623ede1ff654fa13eccf2287',1,'mlx::core::ArgReduce::eval_cpu()'],['../classmlx_1_1core_1_1_arg_sort.html#a022079683774bfeb531b3a002cff16fa',1,'mlx::core::ArgSort::eval_cpu()'],['../classmlx_1_1core_1_1_as_type.html#aa89dbf4d73b00c6a44cffd04d5bb228d',1,'mlx::core::AsType::eval_cpu()'],['../classmlx_1_1core_1_1_as_strided.html#acdd4705e4503ff0b124215c4676b4193',1,'mlx::core::AsStrided::eval_cpu()'],['../classmlx_1_1core_1_1_bitwise_binary.html#a2194bf585213bda1b2966aa02d2fe283',1,'mlx::core::BitwiseBinary::eval_cpu()'],['../classmlx_1_1core_1_1_block_masked_m_m.html#aa85da478cdc6d4a97be06e5d4abee1f2',1,'mlx::core::BlockMaskedMM::eval_cpu()'],['../classmlx_1_1core_1_1_gather_m_m.html#a62352074a480df0e1f879b0bae425730',1,'mlx::core::GatherMM::eval_cpu()'],['../classmlx_1_1core_1_1_broadcast.html#a53d48d9778e2d4c24a124cd767900780',1,'mlx::core::Broadcast::eval_cpu()'],['../classmlx_1_1core_1_1_ceil.html#a9791801fff3f8b79944e15ac2a45a035',1,'mlx::core::Ceil::eval_cpu()'],['../classmlx_1_1core_1_1_compiled.html#ac45b1d0fedd85feefbff7ce7e168b151',1,'mlx::core::Compiled::eval_cpu()'],['../classmlx_1_1core_1_1_concatenate.html#a609e76bede7fc5581ec84ddcb727a258',1,'mlx::core::Concatenate::eval_cpu()'],['../classmlx_1_1core_1_1_conjugate.html#ae39643e2178f442ffba05139f8609d61',1,'mlx::core::Conjugate::eval_cpu()'],['../classmlx_1_1core_1_1_contiguous.html#a742de24e6c0310cd85a606dec0cd8336',1,'mlx::core::Contiguous::eval_cpu()'],['../classmlx_1_1core_1_1_convolution.html#ac74256068da01730629109fa4fa8432b',1,'mlx::core::Convolution::eval_cpu()'],['../classmlx_1_1core_1_1_copy.html#af4a0ebec423e84ffe8083a5e9ed0d70c',1,'mlx::core::Copy::eval_cpu()'],['../classmlx_1_1core_1_1_cos.html#a061fc446268fe56237ae6b20ccf78152',1,'mlx::core::Cos::eval_cpu()'],['../classmlx_1_1core_1_1_cosh.html#ae8702df7e8f0e20cbeccb2a548961d3d',1,'mlx::core::Cosh::eval_cpu()'],['../classmlx_1_1core_1_1_custom_transforms.html#adba1c40c77a2138df6b5f75483f62184',1,'mlx::core::CustomTransforms::eval_cpu()'],['../classmlx_1_1core_1_1_depends.html#a0c7ea6db97337591fa53c6e6bde41e5e',1,'mlx::core::Depends::eval_cpu()'],['../classmlx_1_1core_1_1_divide.html#a823443c2a8e8b81bbcaeee6ddbcdbf49',1,'mlx::core::Divide::eval_cpu()'],['../classmlx_1_1core_1_1_div_mod.html#ae350b7b93ad128e3133ee14f247193b3',1,'mlx::core::DivMod::eval_cpu()'],['../classmlx_1_1core_1_1_select.html#aa51aa36e0adbd69e0d23d7c7adf88de2',1,'mlx::core::Select::eval_cpu()'],['../classmlx_1_1core_1_1_remainder.html#ac6c6c86a0bf02e6e529eb87f6e617ccc',1,'mlx::core::Remainder::eval_cpu()'],['../classmlx_1_1core_1_1_equal.html#aabb8aa61fa581defddcdca1274b1b454',1,'mlx::core::Equal::eval_cpu()'],['../classmlx_1_1core_1_1_erf.html#a84ea16e43d5b7f83bbc2d5ece78a3fb6',1,'mlx::core::Erf::eval_cpu()'],['../classmlx_1_1core_1_1_erf_inv.html#af579627402af3249565134884701d39e',1,'mlx::core::ErfInv::eval_cpu()'],['../classmlx_1_1core_1_1_exp.html#a47934c5a5023bc7ae7ae89bff45ebb2c',1,'mlx::core::Exp::eval_cpu()'],['../classmlx_1_1core_1_1_expm1.html#ab9c8b7aa50fe4592d55f8957baac647a',1,'mlx::core::Expm1::eval_cpu()'],['../classmlx_1_1core_1_1_f_f_t.html#a6bc262a0c2b5d4fe655e3e2e0ff28635',1,'mlx::core::FFT::eval_cpu()'],['../classmlx_1_1core_1_1_floor.html#a1a7dc5f571b7b73e7ef3cbdc1dd1fcf7',1,'mlx::core::Floor::eval_cpu()'],['../classmlx_1_1core_1_1_full.html#a3dccd3756599d7fd018b2af0093b082c',1,'mlx::core::Full::eval_cpu()'],['../classmlx_1_1core_1_1_gather.html#a9ed5587f0d04b59a2b9186c0aac21290',1,'mlx::core::Gather::eval_cpu()'],['../classmlx_1_1core_1_1_greater.html#abe1c03f311d0e0b610f3392a6566f2ae',1,'mlx::core::Greater::eval_cpu()'],['../classmlx_1_1core_1_1_greater_equal.html#a15469125b9bea89b64bfeac01590c075',1,'mlx::core::GreaterEqual::eval_cpu()'],['../classmlx_1_1core_1_1_hadamard.html#ab27d6a9df42b3aab41ace3073a4c880d',1,'mlx::core::Hadamard::eval_cpu()'],['../classmlx_1_1core_1_1_imag.html#a17d1f1f9f8528668fcdf39b636720829',1,'mlx::core::Imag::eval_cpu()'],['../classmlx_1_1core_1_1_less.html#a32624124ffece066f496b3299056bcef',1,'mlx::core::Less::eval_cpu()'],['../classmlx_1_1core_1_1_less_equal.html#a55d1352b0e97841a92503bc57c19ed16',1,'mlx::core::LessEqual::eval_cpu()'],['../classmlx_1_1core_1_1_load.html#ada026ac30566f3109d8182e35d307c0a',1,'mlx::core::Load::eval_cpu()'],['../classmlx_1_1core_1_1_log.html#aadc7bb4cb24f3ecbbb9ed54a699ab74f',1,'mlx::core::Log::eval_cpu()'],['../classmlx_1_1core_1_1_log1p.html#a8192e5438de99c4cda056987935cba23',1,'mlx::core::Log1p::eval_cpu()'],['../classmlx_1_1core_1_1_logical_not.html#acf3f7b3b20ca69533536e0e0a05725b3',1,'mlx::core::LogicalNot::eval_cpu()'],['../classmlx_1_1core_1_1_logical_and.html#adbe1c1785af1a8b827289d22b0d170b3',1,'mlx::core::LogicalAnd::eval_cpu()'],['../classmlx_1_1core_1_1_logical_or.html#a13cd4cbf26589287e85aeaaca42d7f62',1,'mlx::core::LogicalOr::eval_cpu()'],['../classmlx_1_1core_1_1_log_add_exp.html#abef17fb590b1a8d356f2a580e45d41f0',1,'mlx::core::LogAddExp::eval_cpu()'],['../classmlx_1_1core_1_1_matmul.html#a357a7f57a2a220a91977f810a69413fc',1,'mlx::core::Matmul::eval_cpu()'],['../classmlx_1_1core_1_1_maximum.html#a62b38fbe5f96db58c2b60165ac4eadcf',1,'mlx::core::Maximum::eval_cpu()'],['../classmlx_1_1core_1_1_minimum.html#a6b93f493ee87089943a8085fe59dfc6e',1,'mlx::core::Minimum::eval_cpu()'],['../classmlx_1_1core_1_1_multiply.html#a624fce06c047cdc4dfdbdcaaddb25f34',1,'mlx::core::Multiply::eval_cpu()'],['../classmlx_1_1core_1_1_negative.html#af43553dc418c8ebe75fa9cdcba103c3b',1,'mlx::core::Negative::eval_cpu()'],['../classmlx_1_1core_1_1_not_equal.html#a8f95f8b5873850b875b1641df8196047',1,'mlx::core::NotEqual::eval_cpu()'],['../classmlx_1_1core_1_1_number_of_elements.html#acc328321cf5300874ee884367cbede3f',1,'mlx::core::NumberOfElements::eval_cpu()'],['../classmlx_1_1core_1_1_pad.html#aaf82dd163cd536fbf97304f8b29080cb',1,'mlx::core::Pad::eval_cpu()'],['../classmlx_1_1core_1_1_partition.html#a784596ab567f9f3cb4fe1a69466523d8',1,'mlx::core::Partition::eval_cpu()'],['../classmlx_1_1core_1_1_power.html#a6783da16fb6ff393aaa57737f1973206',1,'mlx::core::Power::eval_cpu()'],['../classmlx_1_1core_1_1_quantized_matmul.html#ab3dfa73b74d8f4f2e9ab4f0eb016b0e3',1,'mlx::core::QuantizedMatmul::eval_cpu()'],['../classmlx_1_1core_1_1_gather_q_m_m.html#a89aae98bfbdd6563df44ef7d70f0bf8c',1,'mlx::core::GatherQMM::eval_cpu()'],['../classmlx_1_1core_1_1_random_bits.html#a5752d051cd16cf5f8d4754c0a656f0d2',1,'mlx::core::RandomBits::eval_cpu()'],['../classmlx_1_1core_1_1_real.html#a365d046caac91b521f0f5a5518037934',1,'mlx::core::Real::eval_cpu()'],['../classmlx_1_1core_1_1_reshape.html#a658de2c5f710991b48e14b2bd19b229f',1,'mlx::core::Reshape::eval_cpu()'],['../classmlx_1_1core_1_1_reduce.html#aeb8a58b560c0a09ae3a695df7829acfa',1,'mlx::core::Reduce::eval_cpu()'],['../classmlx_1_1core_1_1_round.html#ad066b0944b437f64ab546025efa00007',1,'mlx::core::Round::eval_cpu()'],['../classmlx_1_1core_1_1_scan.html#a15676d9fd066e935782a923fba3e940b',1,'mlx::core::Scan::eval_cpu()'],['../classmlx_1_1core_1_1_scatter.html#a7623f590f8b77167b5ebb4f14bc9dc97',1,'mlx::core::Scatter::eval_cpu()'],['../classmlx_1_1core_1_1_sigmoid.html#aa930ce05734cca529ebcb8d0ca8e1255',1,'mlx::core::Sigmoid::eval_cpu()'],['../classmlx_1_1core_1_1_sign.html#a7498ec993b66879be30c5d9762c45a97',1,'mlx::core::Sign::eval_cpu()'],['../classmlx_1_1core_1_1_sin.html#ab34f9cebc2aed55a0b6ab4c991f02eb5',1,'mlx::core::Sin::eval_cpu()'],['../classmlx_1_1core_1_1_sinh.html#ab6d5f6f40d177f6435f6a51c71b939dd',1,'mlx::core::Sinh::eval_cpu()'],['../classmlx_1_1core_1_1_slice.html#a4b13503f5b2f5c6a90d394b020f9b3f2',1,'mlx::core::Slice::eval_cpu()'],['../classmlx_1_1core_1_1_slice_update.html#ad82ca0e3ab88a0e086431050deea831b',1,'mlx::core::SliceUpdate::eval_cpu()'],['../classmlx_1_1core_1_1_softmax.html#ac9ebc2eab1683b682e689ed8f4622b79',1,'mlx::core::Softmax::eval_cpu()'],['../classmlx_1_1core_1_1_sort.html#a459769a0241b2620e55bedaba19827cd',1,'mlx::core::Sort::eval_cpu()'],['../classmlx_1_1core_1_1_split.html#aff2889cb9074f0fda53edf8fa40b1fd4',1,'mlx::core::Split::eval_cpu()'],['../classmlx_1_1core_1_1_square.html#a1f4d327a705950616da63b83c2829e59',1,'mlx::core::Square::eval_cpu()'],['../classmlx_1_1core_1_1_sqrt.html#a5a64ecc4eef1e30a2963435dca7cefd5',1,'mlx::core::Sqrt::eval_cpu()'],['../classmlx_1_1core_1_1_stop_gradient.html#a56207714d374b08f60e4d9cdbc7340b2',1,'mlx::core::StopGradient::eval_cpu()'],['../classmlx_1_1core_1_1_subtract.html#a47574258b6c95f8ad260c114d6d36a12',1,'mlx::core::Subtract::eval_cpu()'],['../classmlx_1_1core_1_1_tan.html#a9c9a731158fa60eef30067fe0da9f3e9',1,'mlx::core::Tan::eval_cpu()'],['../classmlx_1_1core_1_1_tanh.html#af7ed4345f622da069e5b0284067923f5',1,'mlx::core::Tanh::eval_cpu()'],['../classmlx_1_1core_1_1_uniform.html#a037a2c96b79b70a64f2b637c9f1a432f',1,'mlx::core::Uniform::eval_cpu()'],['../classmlx_1_1core_1_1_view.html#a0ad6deb11914a242f10e8039fcb02497',1,'mlx::core::View::eval_cpu()'],['../classmlx_1_1core_1_1_transpose.html#a1fbcfcca43f9ec06c63a3c14708c30f8',1,'mlx::core::Transpose::eval_cpu()'],['../classmlx_1_1core_1_1_q_r_f.html#a48493887395d65a27f04de1804d277d2',1,'mlx::core::QRF::eval_cpu()'],['../classmlx_1_1core_1_1_s_v_d.html#a637f5c39fa8b10722c04a066f6c1ada6',1,'mlx::core::SVD::eval_cpu()'],['../classmlx_1_1core_1_1_inverse.html#aeb1d8dc9bc4052a616023f65b3c7bb81',1,'mlx::core::Inverse::eval_cpu()'],['../classmlx_1_1core_1_1_cholesky.html#a4bdec36c1cc99aadf9a4a39d4c57bea5',1,'mlx::core::Cholesky::eval_cpu()'],['../classmlx_1_1core_1_1_eigh.html#a894b32e17229394f6a43b4a0655fd8be',1,'mlx::core::Eigh::eval_cpu()']]], - ['eval_5fgpu_38',['eval_gpu',['../classmlx_1_1core_1_1distributed_1_1_all_reduce.html#a52df7155f56b8450581b2fd2747cad20',1,'mlx::core::distributed::AllReduce::eval_gpu()'],['../classmlx_1_1core_1_1distributed_1_1_all_gather.html#a4251ce0f2db2045226b66210b828af7a',1,'mlx::core::distributed::AllGather::eval_gpu()'],['../classmlx_1_1core_1_1distributed_1_1_send.html#a0c8dbd2a912be91be04ec701e29fba3d',1,'mlx::core::distributed::Send::eval_gpu()'],['../classmlx_1_1core_1_1distributed_1_1_recv.html#a932e39624bc3d234a7489c3decc4749e',1,'mlx::core::distributed::Recv::eval_gpu()'],['../classmlx_1_1core_1_1fast_1_1_r_m_s_norm.html#ae7955e8d43c097eecae264e804b4d8ca',1,'mlx::core::fast::RMSNorm::eval_gpu()'],['../classmlx_1_1core_1_1fast_1_1_r_m_s_norm_v_j_p.html#a48efb8fa84c4ba6cc9fb560ebbe01560',1,'mlx::core::fast::RMSNormVJP::eval_gpu()'],['../classmlx_1_1core_1_1fast_1_1_layer_norm.html#a77abda7f47bffa2c037a5d60cccc1528',1,'mlx::core::fast::LayerNorm::eval_gpu()'],['../classmlx_1_1core_1_1fast_1_1_layer_norm_v_j_p.html#a954a003a4a27c8c4c60a5a14142a9cc3',1,'mlx::core::fast::LayerNormVJP::eval_gpu()'],['../classmlx_1_1core_1_1fast_1_1_ro_p_e.html#a913b6b00fc518b25ac3947e4e15790f2',1,'mlx::core::fast::RoPE::eval_gpu()'],['../classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention.html#a505f38ba93a3499895f5312e0112e73d',1,'mlx::core::fast::ScaledDotProductAttention::eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) override'],['../classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention.html#ad51666e69f670e286293aff96eb435a9',1,'mlx::core::fast::ScaledDotProductAttention::eval_gpu(const std::vector< array > &inputs, array &out)'],['../classmlx_1_1core_1_1fast_1_1_affine_quantize.html#a63812b2abaf26ad7e7fa4c9e82db1628',1,'mlx::core::fast::AffineQuantize::eval_gpu()'],['../classmlx_1_1core_1_1fast_1_1_custom_kernel.html#a2ed2a16b23053f8195068386a99fd6db',1,'mlx::core::fast::CustomKernel::eval_gpu()'],['../classmlx_1_1core_1_1_primitive.html#ad217376dcf5eff691d731566faec2ba2',1,'mlx::core::Primitive::eval_gpu()'],['../classmlx_1_1core_1_1_unary_primitive.html#a6b7f80abaf038d53ec6ffbb0dfac6adb',1,'mlx::core::UnaryPrimitive::eval_gpu(const std::vector< array > &inputs, array &output)=0'],['../classmlx_1_1core_1_1_unary_primitive.html#a971fe9ad47f6569118879ce1d0f41447',1,'mlx::core::UnaryPrimitive::eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) override'],['../classmlx_1_1core_1_1_abs.html#a0a976e636dd8505b473fbdddf949f514',1,'mlx::core::Abs::eval_gpu()'],['../classmlx_1_1core_1_1_add.html#aa0aacbc1e26b95a2f040f62aa4f69c3d',1,'mlx::core::Add::eval_gpu()'],['../classmlx_1_1core_1_1_add_m_m.html#a5f933be14baebc32a0be0f9a69148aa9',1,'mlx::core::AddMM::eval_gpu()'],['../classmlx_1_1core_1_1_arange.html#a7a2e9787c6c3a78b4a6df91206974031',1,'mlx::core::Arange::eval_gpu()'],['../classmlx_1_1core_1_1_arc_cos.html#a46f72d4af89b0a0f5f203783fb44589c',1,'mlx::core::ArcCos::eval_gpu()'],['../classmlx_1_1core_1_1_arc_cosh.html#aa6a2587485a0e015ac2d5211d7d045fc',1,'mlx::core::ArcCosh::eval_gpu()'],['../classmlx_1_1core_1_1_arc_sin.html#a7fa4ae7a85bc8bed97ea258ae30762f3',1,'mlx::core::ArcSin::eval_gpu()'],['../classmlx_1_1core_1_1_arc_sinh.html#a79f648a86de4c10386a1ce3b5e38e8ac',1,'mlx::core::ArcSinh::eval_gpu()'],['../classmlx_1_1core_1_1_arc_tan.html#a77866feb27028865d844070447c9a254',1,'mlx::core::ArcTan::eval_gpu()'],['../classmlx_1_1core_1_1_arc_tan2.html#a76d3f0c29e0ff4642b8d39dac90d3f50',1,'mlx::core::ArcTan2::eval_gpu()'],['../classmlx_1_1core_1_1_arc_tanh.html#a10566b9d3b2c7d090895b46d9040bc1d',1,'mlx::core::ArcTanh::eval_gpu()'],['../classmlx_1_1core_1_1_arg_partition.html#a9a60995eaf85f63c877e86b23cbc15fc',1,'mlx::core::ArgPartition::eval_gpu()'],['../classmlx_1_1core_1_1_arg_reduce.html#aafa982ce2abc0cd9e81e43aa2c823d29',1,'mlx::core::ArgReduce::eval_gpu()'],['../classmlx_1_1core_1_1_arg_sort.html#abc2d730850ec4ee8d7968b7417911709',1,'mlx::core::ArgSort::eval_gpu()'],['../classmlx_1_1core_1_1_as_type.html#a5b111b9d74c60d27b4a7ebaa49f96e0b',1,'mlx::core::AsType::eval_gpu()'],['../classmlx_1_1core_1_1_as_strided.html#ab6771a208323994927ca162ba7bb10ed',1,'mlx::core::AsStrided::eval_gpu()'],['../classmlx_1_1core_1_1_bitwise_binary.html#ac831a29fc46701b00bbe63ee33832afd',1,'mlx::core::BitwiseBinary::eval_gpu()'],['../classmlx_1_1core_1_1_block_masked_m_m.html#ab372b6df4de00a33795a052a23bb1df9',1,'mlx::core::BlockMaskedMM::eval_gpu()'],['../classmlx_1_1core_1_1_gather_m_m.html#ad754c35f460a055cc383ad93a5f72da1',1,'mlx::core::GatherMM::eval_gpu()'],['../classmlx_1_1core_1_1_broadcast.html#ab9bd9dbcedcefc9b29c84911b5ce69fe',1,'mlx::core::Broadcast::eval_gpu()'],['../classmlx_1_1core_1_1_ceil.html#abe178e0058e44b6618be414215e96887',1,'mlx::core::Ceil::eval_gpu()'],['../classmlx_1_1core_1_1_compiled.html#aa3d5ff0f2b3554ad48fbbf2a0f3336d5',1,'mlx::core::Compiled::eval_gpu()'],['../classmlx_1_1core_1_1_concatenate.html#a309a1c50e97f9925866433ee2841c474',1,'mlx::core::Concatenate::eval_gpu()'],['../classmlx_1_1core_1_1_conjugate.html#aff0a802166e3724db88ab5d3feb2d3de',1,'mlx::core::Conjugate::eval_gpu()'],['../classmlx_1_1core_1_1_contiguous.html#a519cd16fd0c55b371ea7625fbb37c70f',1,'mlx::core::Contiguous::eval_gpu()'],['../classmlx_1_1core_1_1_convolution.html#a30b64109eeb1778f002b99447dff9dd2',1,'mlx::core::Convolution::eval_gpu()'],['../classmlx_1_1core_1_1_copy.html#a1eda7b2ea771a168f67421f0d384b3a1',1,'mlx::core::Copy::eval_gpu()'],['../classmlx_1_1core_1_1_cos.html#a5ef41aafad595f6cdd8c535e36e12060',1,'mlx::core::Cos::eval_gpu()'],['../classmlx_1_1core_1_1_cosh.html#a23f71b43792934c3ec0ebe9b74f32559',1,'mlx::core::Cosh::eval_gpu()'],['../classmlx_1_1core_1_1_custom_transforms.html#a7b3538681acbb20af3ed37b0877f6667',1,'mlx::core::CustomTransforms::eval_gpu()'],['../classmlx_1_1core_1_1_depends.html#ae5057f65e69490ad0add8eeda2b75e28',1,'mlx::core::Depends::eval_gpu()'],['../classmlx_1_1core_1_1_divide.html#abffda0ce37221ddc28dc9eea794f6bc7',1,'mlx::core::Divide::eval_gpu()'],['../classmlx_1_1core_1_1_div_mod.html#a003117c9ecf3c06a27248f72a76348dc',1,'mlx::core::DivMod::eval_gpu()'],['../classmlx_1_1core_1_1_select.html#a2a82b6cba4c386b2b87f225a4b08ea9b',1,'mlx::core::Select::eval_gpu()'],['../classmlx_1_1core_1_1_remainder.html#a7919ea9b84e42522d51bf0d5a396e161',1,'mlx::core::Remainder::eval_gpu()'],['../classmlx_1_1core_1_1_equal.html#ac3757001fec42ceb5ece2954df42161c',1,'mlx::core::Equal::eval_gpu()'],['../classmlx_1_1core_1_1_erf.html#ad8551be664d767dccc3c0d8cc1eca008',1,'mlx::core::Erf::eval_gpu()'],['../classmlx_1_1core_1_1_erf_inv.html#a4a2413d0634db1f3dae1806ddfa632db',1,'mlx::core::ErfInv::eval_gpu()'],['../classmlx_1_1core_1_1_exp.html#a7d63695a97a14760fd33b5d4e6590822',1,'mlx::core::Exp::eval_gpu()'],['../classmlx_1_1core_1_1_expm1.html#a82930071f4b77d883b300f77966aff5f',1,'mlx::core::Expm1::eval_gpu()'],['../classmlx_1_1core_1_1_f_f_t.html#a1c21b26d1e9ad7c4da78ae845721b2dd',1,'mlx::core::FFT::eval_gpu()'],['../classmlx_1_1core_1_1_floor.html#aaa29c83538099eb8f951c95a41f2eb65',1,'mlx::core::Floor::eval_gpu()'],['../classmlx_1_1core_1_1_full.html#aa54f99bb4cba12a551392dea56003872',1,'mlx::core::Full::eval_gpu()'],['../classmlx_1_1core_1_1_gather.html#aec48ee529cb2449915a7b27a3c4361e8',1,'mlx::core::Gather::eval_gpu()'],['../classmlx_1_1core_1_1_greater.html#ae8957cccf4c924d941f57a1bb751c878',1,'mlx::core::Greater::eval_gpu()'],['../classmlx_1_1core_1_1_greater_equal.html#ac246263b4548126c3d4ab7e392575d24',1,'mlx::core::GreaterEqual::eval_gpu()'],['../classmlx_1_1core_1_1_hadamard.html#a2470feb690f5463138490763c38b5733',1,'mlx::core::Hadamard::eval_gpu()'],['../classmlx_1_1core_1_1_imag.html#a247a4d059b0a99678c6be8c15e42c1e6',1,'mlx::core::Imag::eval_gpu()'],['../classmlx_1_1core_1_1_less.html#a353335ce06ddbe8498d86d129c835917',1,'mlx::core::Less::eval_gpu()'],['../classmlx_1_1core_1_1_less_equal.html#acf035a82b11e6f63742143ea540fedac',1,'mlx::core::LessEqual::eval_gpu()'],['../classmlx_1_1core_1_1_load.html#a06933e887ea94a4d01d81195c5e07a3d',1,'mlx::core::Load::eval_gpu()'],['../classmlx_1_1core_1_1_log.html#aaaa49e9455f3a197bc319646b5ca6390',1,'mlx::core::Log::eval_gpu()'],['../classmlx_1_1core_1_1_log1p.html#a1b97decae7338d46874e736c95fa7431',1,'mlx::core::Log1p::eval_gpu()'],['../classmlx_1_1core_1_1_logical_not.html#a1d0d2bc93f935eca6c85ef7bf67f2d6a',1,'mlx::core::LogicalNot::eval_gpu()'],['../classmlx_1_1core_1_1_logical_and.html#a132b2eedaa3978de5a5350da3c2ca40f',1,'mlx::core::LogicalAnd::eval_gpu()'],['../classmlx_1_1core_1_1_logical_or.html#a3be1da328f0f8620de2e4fc1d22a077a',1,'mlx::core::LogicalOr::eval_gpu()'],['../classmlx_1_1core_1_1_log_add_exp.html#acace355b62ec00df649f9f99e8f2eb7a',1,'mlx::core::LogAddExp::eval_gpu()'],['../classmlx_1_1core_1_1_matmul.html#a8707a4e9b75c769e8f1dbca15c6a1ae7',1,'mlx::core::Matmul::eval_gpu()'],['../classmlx_1_1core_1_1_maximum.html#ade0f721b10a6b3a12bdadd34c48f72a7',1,'mlx::core::Maximum::eval_gpu()'],['../classmlx_1_1core_1_1_minimum.html#aadc68afa0afbe2103f19d161f5e0a2ba',1,'mlx::core::Minimum::eval_gpu()'],['../classmlx_1_1core_1_1_multiply.html#a634fcb4e981d8d3f4d94252caf25bee0',1,'mlx::core::Multiply::eval_gpu()'],['../classmlx_1_1core_1_1_negative.html#a97f1b316eace0c6d9e576d766940c75b',1,'mlx::core::Negative::eval_gpu()'],['../classmlx_1_1core_1_1_not_equal.html#a61179747e34e203150e9c660dfddb5f2',1,'mlx::core::NotEqual::eval_gpu()'],['../classmlx_1_1core_1_1_number_of_elements.html#a2c98c42915fb2bfe12f5c99ea553eff5',1,'mlx::core::NumberOfElements::eval_gpu()'],['../classmlx_1_1core_1_1_pad.html#aefd4d3a5bd8b6b35b266c9e558ada153',1,'mlx::core::Pad::eval_gpu()'],['../classmlx_1_1core_1_1_partition.html#a8eca1be21ae9ccfda46e6f3e85f506ef',1,'mlx::core::Partition::eval_gpu()'],['../classmlx_1_1core_1_1_power.html#a80577d4c0853c24027777c90a1ec7e11',1,'mlx::core::Power::eval_gpu()'],['../classmlx_1_1core_1_1_quantized_matmul.html#a2812ad007d695ed1aaf9cf706fb9c4b3',1,'mlx::core::QuantizedMatmul::eval_gpu()'],['../classmlx_1_1core_1_1_gather_q_m_m.html#a86eb048afc95646b2e96ec5493e3d887',1,'mlx::core::GatherQMM::eval_gpu()'],['../classmlx_1_1core_1_1_random_bits.html#a578756866665358577418e4cdd94aa3a',1,'mlx::core::RandomBits::eval_gpu()'],['../classmlx_1_1core_1_1_real.html#a1e209e88a43bdd1eea43ad0b03f9a7f2',1,'mlx::core::Real::eval_gpu()'],['../classmlx_1_1core_1_1_reshape.html#aa1e85f28471875750c47351520b56059',1,'mlx::core::Reshape::eval_gpu()'],['../classmlx_1_1core_1_1_reduce.html#ae9caaf42edadfe73ea208d98f526890f',1,'mlx::core::Reduce::eval_gpu()'],['../classmlx_1_1core_1_1_round.html#af7fe5ff8f3db166c203b4be4b07f13ec',1,'mlx::core::Round::eval_gpu()'],['../classmlx_1_1core_1_1_scan.html#aef22c6fc2b2cb2a907cd8965c7413dde',1,'mlx::core::Scan::eval_gpu()'],['../classmlx_1_1core_1_1_scatter.html#ab304345db3d8cfeea15e27461ae2e678',1,'mlx::core::Scatter::eval_gpu()'],['../classmlx_1_1core_1_1_sigmoid.html#a7a6bd0222d51d7f25f2719a91ccdfeca',1,'mlx::core::Sigmoid::eval_gpu()'],['../classmlx_1_1core_1_1_sign.html#afa2b48b99a194106006b44af69ffda8b',1,'mlx::core::Sign::eval_gpu()'],['../classmlx_1_1core_1_1_sin.html#a6b59f1156cf8bdad8d45acd1d825cb5e',1,'mlx::core::Sin::eval_gpu()'],['../classmlx_1_1core_1_1_sinh.html#a5a1af2399f166d5b228b5e83a1837c75',1,'mlx::core::Sinh::eval_gpu()'],['../classmlx_1_1core_1_1_slice.html#aa53c21ff06a7c659e889af6b97d10a4a',1,'mlx::core::Slice::eval_gpu()'],['../classmlx_1_1core_1_1_slice_update.html#aac1a1d122e5697be057d63552141032b',1,'mlx::core::SliceUpdate::eval_gpu()'],['../classmlx_1_1core_1_1_softmax.html#a35dac69ddcc7e2ec0e1a76fe93db85af',1,'mlx::core::Softmax::eval_gpu()'],['../classmlx_1_1core_1_1_sort.html#a4141c48f0e8670c728663f3722675382',1,'mlx::core::Sort::eval_gpu()'],['../classmlx_1_1core_1_1_split.html#a78ddda89c4daee73c74cfbc1e44656df',1,'mlx::core::Split::eval_gpu()'],['../classmlx_1_1core_1_1_square.html#a0ea2a78a5bb52daa4103263bf2f98045',1,'mlx::core::Square::eval_gpu()'],['../classmlx_1_1core_1_1_sqrt.html#a6d205e679a593d1ba20206c5c47ba501',1,'mlx::core::Sqrt::eval_gpu()'],['../classmlx_1_1core_1_1_stop_gradient.html#a907b96f0a1ce608e211d87ccf2b9ca89',1,'mlx::core::StopGradient::eval_gpu()'],['../classmlx_1_1core_1_1_subtract.html#a69021b23daf061764d97fabbc0f4f06c',1,'mlx::core::Subtract::eval_gpu()'],['../classmlx_1_1core_1_1_tan.html#aca7dbb4836507005a2032ac957a04d3f',1,'mlx::core::Tan::eval_gpu()'],['../classmlx_1_1core_1_1_tanh.html#a48df896599ae93dbce84a5c0f50cf761',1,'mlx::core::Tanh::eval_gpu()'],['../classmlx_1_1core_1_1_uniform.html#a5f88cbf2495f24f87cefd99aaaebe4d0',1,'mlx::core::Uniform::eval_gpu()'],['../classmlx_1_1core_1_1_view.html#add6e12ff1e476fe1db7718b14f21b075',1,'mlx::core::View::eval_gpu()'],['../classmlx_1_1core_1_1_transpose.html#a38d25739c08aa594a6775015a1d7d92e',1,'mlx::core::Transpose::eval_gpu()'],['../classmlx_1_1core_1_1_q_r_f.html#ae5fa3482192f4713605cd07e7fc1c6c9',1,'mlx::core::QRF::eval_gpu()'],['../classmlx_1_1core_1_1_s_v_d.html#a7067b2207f826a25549d571856b94e83',1,'mlx::core::SVD::eval_gpu()'],['../classmlx_1_1core_1_1_inverse.html#a086fbbc947ad232e01686ad063a78ed2',1,'mlx::core::Inverse::eval_gpu()'],['../classmlx_1_1core_1_1_cholesky.html#a8c918594bf129888044ef37fcae56795',1,'mlx::core::Cholesky::eval_gpu()'],['../classmlx_1_1core_1_1_eigh.html#a67775b41c0a15e356f08d51d9736baa2',1,'mlx::core::Eigh::eval_gpu()']]], - ['evaluated_39',['evaluated',['../classmlx_1_1core_1_1array.html#a199726612fa8a4bcd5c2d05eadad7078a6fc3d7595445dd877584495f47535268',1,'mlx::core::array']]], - ['event_40',['Event',['../classmlx_1_1core_1_1_event.html',1,'mlx::core::Event'],['../classmlx_1_1core_1_1_event.html#a833506419b2110ad1abd89b2dd238b4d',1,'mlx::core::Event::Event()=default'],['../classmlx_1_1core_1_1_event.html#a13e4835f2ffb2cc22e29148a448ea184',1,'mlx::core::Event::Event(const Stream &steam)']]], - ['event_41',['event',['../classmlx_1_1core_1_1array.html#a0a8e4d6e67e739a712876bb36f88f9bf',1,'mlx::core::array']]], - ['event_2eh_42',['event.h',['../event_8h.html',1,'']]], - ['excess_43',['excess',['../structmlx_1_1steel_1_1_channel_helper.html#afc34bf92168c1865a9611b319dbcd000',1,'mlx::steel::ChannelHelper::excess'],['../structmlx_1_1steel_1_1_channel_helper_3_011_01_4.html#ada22a8bd8a89078cfa28874055c8e753',1,'mlx::steel::ChannelHelper< 1 >::excess'],['../structmlx_1_1steel_1_1_channel_helper_3_012_01_4.html#acc490f3999230aa592c61bbed7eb7cfe',1,'mlx::steel::ChannelHelper< 2 >::excess'],['../structmlx_1_1steel_1_1_channel_helper_3_013_01_4.html#aae404674763f3dc73c5ab29169f8b80f',1,'mlx::steel::ChannelHelper< 3 >::excess'],['../structmlx_1_1steel_1_1_channel_helper_3_014_01_4.html#aecdd8331fec703d739a6f07b9b901ac8',1,'mlx::steel::ChannelHelper< 4 >::excess']]], - ['exec_44',['exec',['../classpocketfft_1_1detail_1_1cfftp.html#a95211024bf007d27e700835db556fbd2',1,'pocketfft::detail::cfftp::exec()'],['../classpocketfft_1_1detail_1_1rfftp.html#a073972f42bdd3617693be7be2cb5e0ac',1,'pocketfft::detail::rfftp::exec()'],['../classpocketfft_1_1detail_1_1fftblue.html#a5fb03413a3d1a653842875adcf87ae8c',1,'pocketfft::detail::fftblue::exec()'],['../classpocketfft_1_1detail_1_1pocketfft__c.html#a436afd63e8e130f97aff103ae964a45d',1,'pocketfft::detail::pocketfft_c::exec()'],['../classpocketfft_1_1detail_1_1pocketfft__r.html#a2815bc8aa04fa986834b02e502f98b33',1,'pocketfft::detail::pocketfft_r::exec()'],['../classpocketfft_1_1detail_1_1_t__dct1.html#a7736111ff9d220f983e41a6fecd5f058',1,'pocketfft::detail::T_dct1::exec()'],['../classpocketfft_1_1detail_1_1_t__dst1.html#a598a9511004263eb3610053d7efc9e26',1,'pocketfft::detail::T_dst1::exec()'],['../classpocketfft_1_1detail_1_1_t__dcst23.html#a2a45b7b4612904c2be69c01f6d5029ac',1,'pocketfft::detail::T_dcst23::exec()'],['../classpocketfft_1_1detail_1_1_t__dcst4.html#af794ebf21009d5f918681188081df708',1,'pocketfft::detail::T_dcst4::exec()']]], - ['exec_5fr_45',['exec_r',['../classpocketfft_1_1detail_1_1fftblue.html#a642b4aff0485c7d9c8794161a1464f00',1,'pocketfft::detail::fftblue']]], - ['execc2c_46',['ExecC2C',['../structpocketfft_1_1detail_1_1_exec_c2_c.html',1,'pocketfft::detail']]], - ['execdcst_47',['ExecDcst',['../structpocketfft_1_1detail_1_1_exec_dcst.html',1,'pocketfft::detail']]], - ['exechartley_48',['ExecHartley',['../structpocketfft_1_1detail_1_1_exec_hartley.html',1,'pocketfft::detail']]], - ['execr2r_49',['ExecR2R',['../structpocketfft_1_1detail_1_1_exec_r2_r.html',1,'pocketfft::detail']]], - ['exp_50',['Exp',['../struct_exp.html',1,'Exp'],['../structmlx_1_1core_1_1detail_1_1_exp.html',1,'mlx::core::detail::Exp'],['../classmlx_1_1core_1_1_exp.html',1,'mlx::core::Exp'],['../classmlx_1_1core_1_1_exp.html#a1d0a618cbb91ab29ef53b57ff6ed6e06',1,'mlx::core::Exp::Exp()']]], - ['exp_51',['exp',['../namespacemetal.html#ac2a0b3618d922ac014baac8189d44650',1,'metal::exp()'],['../namespacemetal_1_1fast.html#ad3dbd387b63373c29e3449609f763ede',1,'metal::fast::exp()'],['../namespacemetal_1_1precise.html#a8d8d2d5700ce432b33cf47cf22528e8f',1,'metal::precise::exp()'],['../group__ops.html#ga8a3b04e23e347d99ecf411fd6f4e5125',1,'mlx::core::exp()']]], - ['exp10_52',['exp10',['../namespacemetal.html#a4c63707d13c89364496a48906631c204',1,'metal::exp10()'],['../namespacemetal_1_1fast.html#a453122f982485cbb4e471b3ac282ee5e',1,'metal::fast::exp10()'],['../namespacemetal_1_1precise.html#af9addb343c967da3a83e9e123a8521fd',1,'metal::precise::exp10()']]], - ['exp2_53',['exp2',['../namespacemetal.html#a228201c20777848804a4d0589c1d33e7',1,'metal::exp2()'],['../namespacemetal_1_1fast.html#ac092b65a46720adaf22f6266671d2d71',1,'metal::fast::exp2()'],['../namespacemetal_1_1precise.html#a92a880bd2197efc0da0f8f0f7ec1e4c9',1,'metal::precise::exp2()']]], - ['expand_5fdims_54',['expand_dims',['../group__ops.html#ga717f11149a8c7b4cc3e33bbcc0a97133',1,'mlx::core::expand_dims(const array &a, const std::vector< int > &axes, StreamOrDevice s={})'],['../group__ops.html#ga7a80adb4a5a36d18b5f234d4b034950a',1,'mlx::core::expand_dims(const array &a, int axis, StreamOrDevice s={})']]], - ['expm1_55',['Expm1',['../struct_expm1.html',1,'Expm1'],['../structmlx_1_1core_1_1detail_1_1_expm1.html',1,'mlx::core::detail::Expm1'],['../classmlx_1_1core_1_1_expm1.html',1,'mlx::core::Expm1'],['../classmlx_1_1core_1_1_expm1.html#a47c2a1b2a4ef6bb07ba77c55ddddaec2',1,'mlx::core::Expm1::Expm1()']]], - ['expm1_56',['expm1',['../group__ops.html#ga54ca54f06bfb2be15b163a5209e2a0f0',1,'mlx::core']]], - ['expm1f_57',['expm1f',['../expm1f_8h.html#a87f66d30e185950f42ce3641783cdc40',1,'expm1f.h']]], - ['expm1f_2eh_58',['expm1f.h',['../expm1f_8h.html',1,'']]], - ['expm1f_5fscaled_5funchecked_59',['expm1f_scaled_unchecked',['../expm1f_8h.html#adf20e03405fba634ca8d01acac24592e',1,'expm1f.h']]], - ['export_5fto_5fdot_60',['export_to_dot',['../namespacemlx_1_1core.html#a57395bdf43d9c5c134e610c169222cca',1,'mlx::core::export_to_dot(std::ostream &os, const std::vector< array > &outputs)'],['../namespacemlx_1_1core.html#a839f94dbad44f0d37333006fc876b42e',1,'mlx::core::export_to_dot(std::ostream &os, Arrays &&... outputs)']]], - ['expsubop_61',['ExpSubOp',['../struct_exp_sub_op.html',1,'']]], - ['eye_62',['eye',['../group__ops.html#ga45e9e68246b0d1cf03c3cc9c9e7e6ae3',1,'mlx::core::eye(int n, int m, int k, Dtype dtype, StreamOrDevice s={})'],['../group__ops.html#ga2c9011310a1fa7c82f942f54102c36dd',1,'mlx::core::eye(int n, Dtype dtype, StreamOrDevice s={})'],['../group__ops.html#ga61657db78ef35d41112d362c869c25d2',1,'mlx::core::eye(int n, int m, StreamOrDevice s={})'],['../group__ops.html#ga908a15b42834be498a46856c99dfc779',1,'mlx::core::eye(int n, int m, int k, StreamOrDevice s={})'],['../group__ops.html#gab777fcf6d4a89172c69ec3492548dc0f',1,'mlx::core::eye(int n, StreamOrDevice s={})']]] + ['eps_5f_27',['eps_',['../classmlx_1_1core_1_1fast_1_1_r_m_s_norm.html#abbb87759ed47c966ca644375e4b2ce69',1,'mlx::core::fast::RMSNorm::eps_'],['../classmlx_1_1core_1_1fast_1_1_layer_norm.html#af9f5c527c08f81310787e39c84f4248b',1,'mlx::core::fast::LayerNorm::eps_']]], + ['epsilon_28',['epsilon',['../structmetal_1_1__numeric__limits__impl_3_01bfloat16__t_01_4.html#a96c4197e3076f0aa9065370b8ece49ca',1,'metal::_numeric_limits_impl< bfloat16_t >']]], + ['equal_29',['Equal',['../struct_equal.html',1,'Equal'],['../structmlx_1_1core_1_1detail_1_1_equal.html',1,'mlx::core::detail::Equal'],['../classmlx_1_1core_1_1_equal.html',1,'mlx::core::Equal'],['../classmlx_1_1core_1_1_equal.html#a4af81cf2dd071db5bbf8ce1df95fdf36',1,'mlx::core::Equal::Equal()']]], + ['equal_30',['equal',['../group__ops.html#ga33638dc3a9972dd02be12d0eb85f9bde',1,'mlx::core']]], + ['erase_31',['erase',['../classmlx_1_1core_1_1metal_1_1_residency_set.html#ae136ad270522210c85c13cacf5165238',1,'mlx::core::metal::ResidencySet']]], + ['erf_32',['Erf',['../struct_erf.html',1,'Erf'],['../structmlx_1_1core_1_1detail_1_1_erf.html',1,'mlx::core::detail::Erf'],['../classmlx_1_1core_1_1_erf.html',1,'mlx::core::Erf'],['../classmlx_1_1core_1_1_erf.html#a702f76f848928d8d7d3d0881ac6e4c82',1,'mlx::core::Erf::Erf()']]], + ['erf_33',['erf',['../erf_8h.html#a6ce199ee56105c67adbf8c48c019a8b2',1,'erf(): erf.h'],['../group__ops.html#ga292a335240fd5d6d625fb7a340ff5eb0',1,'mlx::core::erf()']]], + ['erf_2eh_34',['erf.h',['../erf_8h.html',1,'']]], + ['erfinv_35',['ErfInv',['../struct_erf_inv.html',1,'ErfInv'],['../structmlx_1_1core_1_1detail_1_1_erf_inv.html',1,'mlx::core::detail::ErfInv'],['../classmlx_1_1core_1_1_erf_inv.html',1,'mlx::core::ErfInv'],['../classmlx_1_1core_1_1_erf_inv.html#a5d0279247b67da4592311559f04e1478',1,'mlx::core::ErfInv::ErfInv()']]], + ['erfinv_36',['erfinv',['../erf_8h.html#a1846e0d683c7aff826bb32addcc3b885',1,'erfinv(): erf.h'],['../group__ops.html#ga76fb9062c64264e34d2e07013390557c',1,'mlx::core::erfinv()']]], + ['eval_37',['eval',['../classmlx_1_1core_1_1array.html#a2820c45188071a22175e9fa42e10a49a',1,'mlx::core::array::eval()'],['../namespacemlx_1_1core.html#a7d6e097d8effed52f4713672e471f299',1,'mlx::core::eval(std::vector< array > outputs)'],['../namespacemlx_1_1core.html#adb14f689c9f75f7901edb196c2bfb971',1,'mlx::core::eval(Arrays &&... outputs)']]], + ['eval_5fcpu_38',['eval_cpu',['../classmlx_1_1core_1_1distributed_1_1_all_reduce.html#acdc1965ad64ee9ee6328fe150a97902e',1,'mlx::core::distributed::AllReduce::eval_cpu()'],['../classmlx_1_1core_1_1distributed_1_1_all_gather.html#ab721fe0072fffbddbc3c4334dd033ba5',1,'mlx::core::distributed::AllGather::eval_cpu()'],['../classmlx_1_1core_1_1distributed_1_1_send.html#af2620837bfc1b97217d006ed6e374051',1,'mlx::core::distributed::Send::eval_cpu()'],['../classmlx_1_1core_1_1distributed_1_1_recv.html#a3be84b08122a939edd6062d26261358a',1,'mlx::core::distributed::Recv::eval_cpu()'],['../classmlx_1_1core_1_1fast_1_1_r_m_s_norm.html#a7da6e0cfd630958d9633b2e2bd97a54f',1,'mlx::core::fast::RMSNorm::eval_cpu()'],['../classmlx_1_1core_1_1fast_1_1_r_m_s_norm_v_j_p.html#adfc1d52bc266466ab29ee45fd8fab439',1,'mlx::core::fast::RMSNormVJP::eval_cpu()'],['../classmlx_1_1core_1_1fast_1_1_layer_norm.html#a5d7a4c1c9ee84e327d1c371733108c05',1,'mlx::core::fast::LayerNorm::eval_cpu()'],['../classmlx_1_1core_1_1fast_1_1_layer_norm_v_j_p.html#a0d8c4c6e7462befc38f7e08244fa1c2b',1,'mlx::core::fast::LayerNormVJP::eval_cpu()'],['../classmlx_1_1core_1_1fast_1_1_ro_p_e.html#a05a7d595c6b9dadf7ddfd6e3fd402f0e',1,'mlx::core::fast::RoPE::eval_cpu()'],['../classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention.html#ae20851e002f7fcb6d4f97817596f6328',1,'mlx::core::fast::ScaledDotProductAttention::eval_cpu()'],['../classmlx_1_1core_1_1fast_1_1_affine_quantize.html#a3b5d628628d245b38911118d4a0ff9fd',1,'mlx::core::fast::AffineQuantize::eval_cpu()'],['../classmlx_1_1core_1_1fast_1_1_custom_kernel.html#a4ad1b7a9919753c759093f3e21a15bad',1,'mlx::core::fast::CustomKernel::eval_cpu()'],['../classmlx_1_1core_1_1_primitive.html#a1596dc50b910538eae14878e98f07575',1,'mlx::core::Primitive::eval_cpu()'],['../classmlx_1_1core_1_1_unary_primitive.html#a7e8f6f5d6ae0a33f6abc0f5a46e0b132',1,'mlx::core::UnaryPrimitive::eval_cpu(const std::vector< array > &inputs, array &output)=0'],['../classmlx_1_1core_1_1_unary_primitive.html#aa0ed6e32c36200a3ff9bc592c9b300db',1,'mlx::core::UnaryPrimitive::eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) override'],['../classmlx_1_1core_1_1_abs.html#a0d3e697496ef8e842d21195cb3c14e60',1,'mlx::core::Abs::eval_cpu()'],['../classmlx_1_1core_1_1_add.html#a5bacfc51dfa2a5a931bad2dd7bdc7a5f',1,'mlx::core::Add::eval_cpu()'],['../classmlx_1_1core_1_1_add_m_m.html#a15694e3bf2ed5c193237b2b9ca00867c',1,'mlx::core::AddMM::eval_cpu()'],['../classmlx_1_1core_1_1_arange.html#aba44432491cbd599bf72712f5f4267a1',1,'mlx::core::Arange::eval_cpu()'],['../classmlx_1_1core_1_1_arc_cos.html#a58dcba9e706cb12bab062bb7fa5fa006',1,'mlx::core::ArcCos::eval_cpu()'],['../classmlx_1_1core_1_1_arc_cosh.html#a0f6d989bcbbc38f15ef17a136879a9c9',1,'mlx::core::ArcCosh::eval_cpu()'],['../classmlx_1_1core_1_1_arc_sin.html#ab3542492c14021329788de8f2a9be1e4',1,'mlx::core::ArcSin::eval_cpu()'],['../classmlx_1_1core_1_1_arc_sinh.html#a52574b24d8d16839c58673f51f8ac066',1,'mlx::core::ArcSinh::eval_cpu()'],['../classmlx_1_1core_1_1_arc_tan.html#a1211bc31241227528f04435239ddb9a3',1,'mlx::core::ArcTan::eval_cpu()'],['../classmlx_1_1core_1_1_arc_tan2.html#a13094e6b702769928ca0da468f5ce45c',1,'mlx::core::ArcTan2::eval_cpu()'],['../classmlx_1_1core_1_1_arc_tanh.html#a5af9224e1f1ffec412b0baa0af7e1ecd',1,'mlx::core::ArcTanh::eval_cpu()'],['../classmlx_1_1core_1_1_arg_partition.html#a896f75c5325798ac3f9093f6a4581828',1,'mlx::core::ArgPartition::eval_cpu()'],['../classmlx_1_1core_1_1_arg_reduce.html#ad8d48725623ede1ff654fa13eccf2287',1,'mlx::core::ArgReduce::eval_cpu()'],['../classmlx_1_1core_1_1_arg_sort.html#a022079683774bfeb531b3a002cff16fa',1,'mlx::core::ArgSort::eval_cpu()'],['../classmlx_1_1core_1_1_as_type.html#aa89dbf4d73b00c6a44cffd04d5bb228d',1,'mlx::core::AsType::eval_cpu()'],['../classmlx_1_1core_1_1_as_strided.html#acdd4705e4503ff0b124215c4676b4193',1,'mlx::core::AsStrided::eval_cpu()'],['../classmlx_1_1core_1_1_bitwise_binary.html#a2194bf585213bda1b2966aa02d2fe283',1,'mlx::core::BitwiseBinary::eval_cpu()'],['../classmlx_1_1core_1_1_block_masked_m_m.html#aa85da478cdc6d4a97be06e5d4abee1f2',1,'mlx::core::BlockMaskedMM::eval_cpu()'],['../classmlx_1_1core_1_1_gather_m_m.html#a62352074a480df0e1f879b0bae425730',1,'mlx::core::GatherMM::eval_cpu()'],['../classmlx_1_1core_1_1_broadcast.html#a53d48d9778e2d4c24a124cd767900780',1,'mlx::core::Broadcast::eval_cpu()'],['../classmlx_1_1core_1_1_ceil.html#a9791801fff3f8b79944e15ac2a45a035',1,'mlx::core::Ceil::eval_cpu()'],['../classmlx_1_1core_1_1_compiled.html#ac45b1d0fedd85feefbff7ce7e168b151',1,'mlx::core::Compiled::eval_cpu()'],['../classmlx_1_1core_1_1_concatenate.html#a609e76bede7fc5581ec84ddcb727a258',1,'mlx::core::Concatenate::eval_cpu()'],['../classmlx_1_1core_1_1_conjugate.html#ae39643e2178f442ffba05139f8609d61',1,'mlx::core::Conjugate::eval_cpu()'],['../classmlx_1_1core_1_1_contiguous.html#a742de24e6c0310cd85a606dec0cd8336',1,'mlx::core::Contiguous::eval_cpu()'],['../classmlx_1_1core_1_1_convolution.html#ac74256068da01730629109fa4fa8432b',1,'mlx::core::Convolution::eval_cpu()'],['../classmlx_1_1core_1_1_copy.html#af4a0ebec423e84ffe8083a5e9ed0d70c',1,'mlx::core::Copy::eval_cpu()'],['../classmlx_1_1core_1_1_cos.html#a061fc446268fe56237ae6b20ccf78152',1,'mlx::core::Cos::eval_cpu()'],['../classmlx_1_1core_1_1_cosh.html#ae8702df7e8f0e20cbeccb2a548961d3d',1,'mlx::core::Cosh::eval_cpu()'],['../classmlx_1_1core_1_1_custom_transforms.html#adba1c40c77a2138df6b5f75483f62184',1,'mlx::core::CustomTransforms::eval_cpu()'],['../classmlx_1_1core_1_1_depends.html#a0c7ea6db97337591fa53c6e6bde41e5e',1,'mlx::core::Depends::eval_cpu()'],['../classmlx_1_1core_1_1_divide.html#a823443c2a8e8b81bbcaeee6ddbcdbf49',1,'mlx::core::Divide::eval_cpu()'],['../classmlx_1_1core_1_1_div_mod.html#ae350b7b93ad128e3133ee14f247193b3',1,'mlx::core::DivMod::eval_cpu()'],['../classmlx_1_1core_1_1_select.html#aa51aa36e0adbd69e0d23d7c7adf88de2',1,'mlx::core::Select::eval_cpu()'],['../classmlx_1_1core_1_1_remainder.html#ac6c6c86a0bf02e6e529eb87f6e617ccc',1,'mlx::core::Remainder::eval_cpu()'],['../classmlx_1_1core_1_1_equal.html#aabb8aa61fa581defddcdca1274b1b454',1,'mlx::core::Equal::eval_cpu()'],['../classmlx_1_1core_1_1_erf.html#a84ea16e43d5b7f83bbc2d5ece78a3fb6',1,'mlx::core::Erf::eval_cpu()'],['../classmlx_1_1core_1_1_erf_inv.html#af579627402af3249565134884701d39e',1,'mlx::core::ErfInv::eval_cpu()'],['../classmlx_1_1core_1_1_exp.html#a47934c5a5023bc7ae7ae89bff45ebb2c',1,'mlx::core::Exp::eval_cpu()'],['../classmlx_1_1core_1_1_expm1.html#ab9c8b7aa50fe4592d55f8957baac647a',1,'mlx::core::Expm1::eval_cpu()'],['../classmlx_1_1core_1_1_f_f_t.html#a6bc262a0c2b5d4fe655e3e2e0ff28635',1,'mlx::core::FFT::eval_cpu()'],['../classmlx_1_1core_1_1_floor.html#a1a7dc5f571b7b73e7ef3cbdc1dd1fcf7',1,'mlx::core::Floor::eval_cpu()'],['../classmlx_1_1core_1_1_full.html#a3dccd3756599d7fd018b2af0093b082c',1,'mlx::core::Full::eval_cpu()'],['../classmlx_1_1core_1_1_gather.html#a9ed5587f0d04b59a2b9186c0aac21290',1,'mlx::core::Gather::eval_cpu()'],['../classmlx_1_1core_1_1_greater.html#abe1c03f311d0e0b610f3392a6566f2ae',1,'mlx::core::Greater::eval_cpu()'],['../classmlx_1_1core_1_1_greater_equal.html#a15469125b9bea89b64bfeac01590c075',1,'mlx::core::GreaterEqual::eval_cpu()'],['../classmlx_1_1core_1_1_hadamard.html#ab27d6a9df42b3aab41ace3073a4c880d',1,'mlx::core::Hadamard::eval_cpu()'],['../classmlx_1_1core_1_1_imag.html#a17d1f1f9f8528668fcdf39b636720829',1,'mlx::core::Imag::eval_cpu()'],['../classmlx_1_1core_1_1_less.html#a32624124ffece066f496b3299056bcef',1,'mlx::core::Less::eval_cpu()'],['../classmlx_1_1core_1_1_less_equal.html#a55d1352b0e97841a92503bc57c19ed16',1,'mlx::core::LessEqual::eval_cpu()'],['../classmlx_1_1core_1_1_load.html#ada026ac30566f3109d8182e35d307c0a',1,'mlx::core::Load::eval_cpu()'],['../classmlx_1_1core_1_1_log.html#aadc7bb4cb24f3ecbbb9ed54a699ab74f',1,'mlx::core::Log::eval_cpu()'],['../classmlx_1_1core_1_1_log1p.html#a8192e5438de99c4cda056987935cba23',1,'mlx::core::Log1p::eval_cpu()'],['../classmlx_1_1core_1_1_logical_not.html#acf3f7b3b20ca69533536e0e0a05725b3',1,'mlx::core::LogicalNot::eval_cpu()'],['../classmlx_1_1core_1_1_logical_and.html#adbe1c1785af1a8b827289d22b0d170b3',1,'mlx::core::LogicalAnd::eval_cpu()'],['../classmlx_1_1core_1_1_logical_or.html#a13cd4cbf26589287e85aeaaca42d7f62',1,'mlx::core::LogicalOr::eval_cpu()'],['../classmlx_1_1core_1_1_log_add_exp.html#abef17fb590b1a8d356f2a580e45d41f0',1,'mlx::core::LogAddExp::eval_cpu()'],['../classmlx_1_1core_1_1_matmul.html#a357a7f57a2a220a91977f810a69413fc',1,'mlx::core::Matmul::eval_cpu()'],['../classmlx_1_1core_1_1_maximum.html#a62b38fbe5f96db58c2b60165ac4eadcf',1,'mlx::core::Maximum::eval_cpu()'],['../classmlx_1_1core_1_1_minimum.html#a6b93f493ee87089943a8085fe59dfc6e',1,'mlx::core::Minimum::eval_cpu()'],['../classmlx_1_1core_1_1_multiply.html#a624fce06c047cdc4dfdbdcaaddb25f34',1,'mlx::core::Multiply::eval_cpu()'],['../classmlx_1_1core_1_1_negative.html#af43553dc418c8ebe75fa9cdcba103c3b',1,'mlx::core::Negative::eval_cpu()'],['../classmlx_1_1core_1_1_not_equal.html#a8f95f8b5873850b875b1641df8196047',1,'mlx::core::NotEqual::eval_cpu()'],['../classmlx_1_1core_1_1_number_of_elements.html#acc328321cf5300874ee884367cbede3f',1,'mlx::core::NumberOfElements::eval_cpu()'],['../classmlx_1_1core_1_1_pad.html#aaf82dd163cd536fbf97304f8b29080cb',1,'mlx::core::Pad::eval_cpu()'],['../classmlx_1_1core_1_1_partition.html#a784596ab567f9f3cb4fe1a69466523d8',1,'mlx::core::Partition::eval_cpu()'],['../classmlx_1_1core_1_1_power.html#a6783da16fb6ff393aaa57737f1973206',1,'mlx::core::Power::eval_cpu()'],['../classmlx_1_1core_1_1_quantized_matmul.html#ab3dfa73b74d8f4f2e9ab4f0eb016b0e3',1,'mlx::core::QuantizedMatmul::eval_cpu()'],['../classmlx_1_1core_1_1_gather_q_m_m.html#a89aae98bfbdd6563df44ef7d70f0bf8c',1,'mlx::core::GatherQMM::eval_cpu()'],['../classmlx_1_1core_1_1_random_bits.html#a5752d051cd16cf5f8d4754c0a656f0d2',1,'mlx::core::RandomBits::eval_cpu()'],['../classmlx_1_1core_1_1_real.html#a365d046caac91b521f0f5a5518037934',1,'mlx::core::Real::eval_cpu()'],['../classmlx_1_1core_1_1_reshape.html#a658de2c5f710991b48e14b2bd19b229f',1,'mlx::core::Reshape::eval_cpu()'],['../classmlx_1_1core_1_1_reduce.html#aeb8a58b560c0a09ae3a695df7829acfa',1,'mlx::core::Reduce::eval_cpu()'],['../classmlx_1_1core_1_1_round.html#ad066b0944b437f64ab546025efa00007',1,'mlx::core::Round::eval_cpu()'],['../classmlx_1_1core_1_1_scan.html#a15676d9fd066e935782a923fba3e940b',1,'mlx::core::Scan::eval_cpu()'],['../classmlx_1_1core_1_1_scatter.html#a7623f590f8b77167b5ebb4f14bc9dc97',1,'mlx::core::Scatter::eval_cpu()'],['../classmlx_1_1core_1_1_sigmoid.html#aa930ce05734cca529ebcb8d0ca8e1255',1,'mlx::core::Sigmoid::eval_cpu()'],['../classmlx_1_1core_1_1_sign.html#a7498ec993b66879be30c5d9762c45a97',1,'mlx::core::Sign::eval_cpu()'],['../classmlx_1_1core_1_1_sin.html#ab34f9cebc2aed55a0b6ab4c991f02eb5',1,'mlx::core::Sin::eval_cpu()'],['../classmlx_1_1core_1_1_sinh.html#ab6d5f6f40d177f6435f6a51c71b939dd',1,'mlx::core::Sinh::eval_cpu()'],['../classmlx_1_1core_1_1_slice.html#a4b13503f5b2f5c6a90d394b020f9b3f2',1,'mlx::core::Slice::eval_cpu()'],['../classmlx_1_1core_1_1_slice_update.html#ad82ca0e3ab88a0e086431050deea831b',1,'mlx::core::SliceUpdate::eval_cpu()'],['../classmlx_1_1core_1_1_softmax.html#ac9ebc2eab1683b682e689ed8f4622b79',1,'mlx::core::Softmax::eval_cpu()'],['../classmlx_1_1core_1_1_sort.html#a459769a0241b2620e55bedaba19827cd',1,'mlx::core::Sort::eval_cpu()'],['../classmlx_1_1core_1_1_split.html#aff2889cb9074f0fda53edf8fa40b1fd4',1,'mlx::core::Split::eval_cpu()'],['../classmlx_1_1core_1_1_square.html#a1f4d327a705950616da63b83c2829e59',1,'mlx::core::Square::eval_cpu()'],['../classmlx_1_1core_1_1_sqrt.html#a5a64ecc4eef1e30a2963435dca7cefd5',1,'mlx::core::Sqrt::eval_cpu()'],['../classmlx_1_1core_1_1_stop_gradient.html#a56207714d374b08f60e4d9cdbc7340b2',1,'mlx::core::StopGradient::eval_cpu()'],['../classmlx_1_1core_1_1_subtract.html#a47574258b6c95f8ad260c114d6d36a12',1,'mlx::core::Subtract::eval_cpu()'],['../classmlx_1_1core_1_1_tan.html#a9c9a731158fa60eef30067fe0da9f3e9',1,'mlx::core::Tan::eval_cpu()'],['../classmlx_1_1core_1_1_tanh.html#af7ed4345f622da069e5b0284067923f5',1,'mlx::core::Tanh::eval_cpu()'],['../classmlx_1_1core_1_1_uniform.html#a037a2c96b79b70a64f2b637c9f1a432f',1,'mlx::core::Uniform::eval_cpu()'],['../classmlx_1_1core_1_1_view.html#a0ad6deb11914a242f10e8039fcb02497',1,'mlx::core::View::eval_cpu()'],['../classmlx_1_1core_1_1_transpose.html#a1fbcfcca43f9ec06c63a3c14708c30f8',1,'mlx::core::Transpose::eval_cpu()'],['../classmlx_1_1core_1_1_q_r_f.html#a48493887395d65a27f04de1804d277d2',1,'mlx::core::QRF::eval_cpu()'],['../classmlx_1_1core_1_1_s_v_d.html#a637f5c39fa8b10722c04a066f6c1ada6',1,'mlx::core::SVD::eval_cpu()'],['../classmlx_1_1core_1_1_inverse.html#aeb1d8dc9bc4052a616023f65b3c7bb81',1,'mlx::core::Inverse::eval_cpu()'],['../classmlx_1_1core_1_1_cholesky.html#a4bdec36c1cc99aadf9a4a39d4c57bea5',1,'mlx::core::Cholesky::eval_cpu()'],['../classmlx_1_1core_1_1_eigh.html#a894b32e17229394f6a43b4a0655fd8be',1,'mlx::core::Eigh::eval_cpu()']]], + ['eval_5fgpu_39',['eval_gpu',['../classmlx_1_1core_1_1distributed_1_1_all_reduce.html#a52df7155f56b8450581b2fd2747cad20',1,'mlx::core::distributed::AllReduce::eval_gpu()'],['../classmlx_1_1core_1_1distributed_1_1_all_gather.html#a4251ce0f2db2045226b66210b828af7a',1,'mlx::core::distributed::AllGather::eval_gpu()'],['../classmlx_1_1core_1_1distributed_1_1_send.html#a0c8dbd2a912be91be04ec701e29fba3d',1,'mlx::core::distributed::Send::eval_gpu()'],['../classmlx_1_1core_1_1distributed_1_1_recv.html#a932e39624bc3d234a7489c3decc4749e',1,'mlx::core::distributed::Recv::eval_gpu()'],['../classmlx_1_1core_1_1fast_1_1_r_m_s_norm.html#ae7955e8d43c097eecae264e804b4d8ca',1,'mlx::core::fast::RMSNorm::eval_gpu()'],['../classmlx_1_1core_1_1fast_1_1_r_m_s_norm_v_j_p.html#a48efb8fa84c4ba6cc9fb560ebbe01560',1,'mlx::core::fast::RMSNormVJP::eval_gpu()'],['../classmlx_1_1core_1_1fast_1_1_layer_norm.html#a77abda7f47bffa2c037a5d60cccc1528',1,'mlx::core::fast::LayerNorm::eval_gpu()'],['../classmlx_1_1core_1_1fast_1_1_layer_norm_v_j_p.html#a954a003a4a27c8c4c60a5a14142a9cc3',1,'mlx::core::fast::LayerNormVJP::eval_gpu()'],['../classmlx_1_1core_1_1fast_1_1_ro_p_e.html#a913b6b00fc518b25ac3947e4e15790f2',1,'mlx::core::fast::RoPE::eval_gpu()'],['../classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention.html#a505f38ba93a3499895f5312e0112e73d',1,'mlx::core::fast::ScaledDotProductAttention::eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) override'],['../classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention.html#ad51666e69f670e286293aff96eb435a9',1,'mlx::core::fast::ScaledDotProductAttention::eval_gpu(const std::vector< array > &inputs, array &out)'],['../classmlx_1_1core_1_1fast_1_1_affine_quantize.html#a63812b2abaf26ad7e7fa4c9e82db1628',1,'mlx::core::fast::AffineQuantize::eval_gpu()'],['../classmlx_1_1core_1_1fast_1_1_custom_kernel.html#a2ed2a16b23053f8195068386a99fd6db',1,'mlx::core::fast::CustomKernel::eval_gpu()'],['../classmlx_1_1core_1_1_primitive.html#ad217376dcf5eff691d731566faec2ba2',1,'mlx::core::Primitive::eval_gpu()'],['../classmlx_1_1core_1_1_unary_primitive.html#a6b7f80abaf038d53ec6ffbb0dfac6adb',1,'mlx::core::UnaryPrimitive::eval_gpu(const std::vector< array > &inputs, array &output)=0'],['../classmlx_1_1core_1_1_unary_primitive.html#a971fe9ad47f6569118879ce1d0f41447',1,'mlx::core::UnaryPrimitive::eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) override'],['../classmlx_1_1core_1_1_abs.html#a0a976e636dd8505b473fbdddf949f514',1,'mlx::core::Abs::eval_gpu()'],['../classmlx_1_1core_1_1_add.html#aa0aacbc1e26b95a2f040f62aa4f69c3d',1,'mlx::core::Add::eval_gpu()'],['../classmlx_1_1core_1_1_add_m_m.html#a5f933be14baebc32a0be0f9a69148aa9',1,'mlx::core::AddMM::eval_gpu()'],['../classmlx_1_1core_1_1_arange.html#a7a2e9787c6c3a78b4a6df91206974031',1,'mlx::core::Arange::eval_gpu()'],['../classmlx_1_1core_1_1_arc_cos.html#a46f72d4af89b0a0f5f203783fb44589c',1,'mlx::core::ArcCos::eval_gpu()'],['../classmlx_1_1core_1_1_arc_cosh.html#aa6a2587485a0e015ac2d5211d7d045fc',1,'mlx::core::ArcCosh::eval_gpu()'],['../classmlx_1_1core_1_1_arc_sin.html#a7fa4ae7a85bc8bed97ea258ae30762f3',1,'mlx::core::ArcSin::eval_gpu()'],['../classmlx_1_1core_1_1_arc_sinh.html#a79f648a86de4c10386a1ce3b5e38e8ac',1,'mlx::core::ArcSinh::eval_gpu()'],['../classmlx_1_1core_1_1_arc_tan.html#a77866feb27028865d844070447c9a254',1,'mlx::core::ArcTan::eval_gpu()'],['../classmlx_1_1core_1_1_arc_tan2.html#a76d3f0c29e0ff4642b8d39dac90d3f50',1,'mlx::core::ArcTan2::eval_gpu()'],['../classmlx_1_1core_1_1_arc_tanh.html#a10566b9d3b2c7d090895b46d9040bc1d',1,'mlx::core::ArcTanh::eval_gpu()'],['../classmlx_1_1core_1_1_arg_partition.html#a9a60995eaf85f63c877e86b23cbc15fc',1,'mlx::core::ArgPartition::eval_gpu()'],['../classmlx_1_1core_1_1_arg_reduce.html#aafa982ce2abc0cd9e81e43aa2c823d29',1,'mlx::core::ArgReduce::eval_gpu()'],['../classmlx_1_1core_1_1_arg_sort.html#abc2d730850ec4ee8d7968b7417911709',1,'mlx::core::ArgSort::eval_gpu()'],['../classmlx_1_1core_1_1_as_type.html#a5b111b9d74c60d27b4a7ebaa49f96e0b',1,'mlx::core::AsType::eval_gpu()'],['../classmlx_1_1core_1_1_as_strided.html#ab6771a208323994927ca162ba7bb10ed',1,'mlx::core::AsStrided::eval_gpu()'],['../classmlx_1_1core_1_1_bitwise_binary.html#ac831a29fc46701b00bbe63ee33832afd',1,'mlx::core::BitwiseBinary::eval_gpu()'],['../classmlx_1_1core_1_1_block_masked_m_m.html#ab372b6df4de00a33795a052a23bb1df9',1,'mlx::core::BlockMaskedMM::eval_gpu()'],['../classmlx_1_1core_1_1_gather_m_m.html#ad754c35f460a055cc383ad93a5f72da1',1,'mlx::core::GatherMM::eval_gpu()'],['../classmlx_1_1core_1_1_broadcast.html#ab9bd9dbcedcefc9b29c84911b5ce69fe',1,'mlx::core::Broadcast::eval_gpu()'],['../classmlx_1_1core_1_1_ceil.html#abe178e0058e44b6618be414215e96887',1,'mlx::core::Ceil::eval_gpu()'],['../classmlx_1_1core_1_1_compiled.html#aa3d5ff0f2b3554ad48fbbf2a0f3336d5',1,'mlx::core::Compiled::eval_gpu()'],['../classmlx_1_1core_1_1_concatenate.html#a309a1c50e97f9925866433ee2841c474',1,'mlx::core::Concatenate::eval_gpu()'],['../classmlx_1_1core_1_1_conjugate.html#aff0a802166e3724db88ab5d3feb2d3de',1,'mlx::core::Conjugate::eval_gpu()'],['../classmlx_1_1core_1_1_contiguous.html#a519cd16fd0c55b371ea7625fbb37c70f',1,'mlx::core::Contiguous::eval_gpu()'],['../classmlx_1_1core_1_1_convolution.html#a30b64109eeb1778f002b99447dff9dd2',1,'mlx::core::Convolution::eval_gpu()'],['../classmlx_1_1core_1_1_copy.html#a1eda7b2ea771a168f67421f0d384b3a1',1,'mlx::core::Copy::eval_gpu()'],['../classmlx_1_1core_1_1_cos.html#a5ef41aafad595f6cdd8c535e36e12060',1,'mlx::core::Cos::eval_gpu()'],['../classmlx_1_1core_1_1_cosh.html#a23f71b43792934c3ec0ebe9b74f32559',1,'mlx::core::Cosh::eval_gpu()'],['../classmlx_1_1core_1_1_custom_transforms.html#a7b3538681acbb20af3ed37b0877f6667',1,'mlx::core::CustomTransforms::eval_gpu()'],['../classmlx_1_1core_1_1_depends.html#ae5057f65e69490ad0add8eeda2b75e28',1,'mlx::core::Depends::eval_gpu()'],['../classmlx_1_1core_1_1_divide.html#abffda0ce37221ddc28dc9eea794f6bc7',1,'mlx::core::Divide::eval_gpu()'],['../classmlx_1_1core_1_1_div_mod.html#a003117c9ecf3c06a27248f72a76348dc',1,'mlx::core::DivMod::eval_gpu()'],['../classmlx_1_1core_1_1_select.html#a2a82b6cba4c386b2b87f225a4b08ea9b',1,'mlx::core::Select::eval_gpu()'],['../classmlx_1_1core_1_1_remainder.html#a7919ea9b84e42522d51bf0d5a396e161',1,'mlx::core::Remainder::eval_gpu()'],['../classmlx_1_1core_1_1_equal.html#ac3757001fec42ceb5ece2954df42161c',1,'mlx::core::Equal::eval_gpu()'],['../classmlx_1_1core_1_1_erf.html#ad8551be664d767dccc3c0d8cc1eca008',1,'mlx::core::Erf::eval_gpu()'],['../classmlx_1_1core_1_1_erf_inv.html#a4a2413d0634db1f3dae1806ddfa632db',1,'mlx::core::ErfInv::eval_gpu()'],['../classmlx_1_1core_1_1_exp.html#a7d63695a97a14760fd33b5d4e6590822',1,'mlx::core::Exp::eval_gpu()'],['../classmlx_1_1core_1_1_expm1.html#a82930071f4b77d883b300f77966aff5f',1,'mlx::core::Expm1::eval_gpu()'],['../classmlx_1_1core_1_1_f_f_t.html#a1c21b26d1e9ad7c4da78ae845721b2dd',1,'mlx::core::FFT::eval_gpu()'],['../classmlx_1_1core_1_1_floor.html#aaa29c83538099eb8f951c95a41f2eb65',1,'mlx::core::Floor::eval_gpu()'],['../classmlx_1_1core_1_1_full.html#aa54f99bb4cba12a551392dea56003872',1,'mlx::core::Full::eval_gpu()'],['../classmlx_1_1core_1_1_gather.html#aec48ee529cb2449915a7b27a3c4361e8',1,'mlx::core::Gather::eval_gpu()'],['../classmlx_1_1core_1_1_greater.html#ae8957cccf4c924d941f57a1bb751c878',1,'mlx::core::Greater::eval_gpu()'],['../classmlx_1_1core_1_1_greater_equal.html#ac246263b4548126c3d4ab7e392575d24',1,'mlx::core::GreaterEqual::eval_gpu()'],['../classmlx_1_1core_1_1_hadamard.html#a2470feb690f5463138490763c38b5733',1,'mlx::core::Hadamard::eval_gpu()'],['../classmlx_1_1core_1_1_imag.html#a247a4d059b0a99678c6be8c15e42c1e6',1,'mlx::core::Imag::eval_gpu()'],['../classmlx_1_1core_1_1_less.html#a353335ce06ddbe8498d86d129c835917',1,'mlx::core::Less::eval_gpu()'],['../classmlx_1_1core_1_1_less_equal.html#acf035a82b11e6f63742143ea540fedac',1,'mlx::core::LessEqual::eval_gpu()'],['../classmlx_1_1core_1_1_load.html#a06933e887ea94a4d01d81195c5e07a3d',1,'mlx::core::Load::eval_gpu()'],['../classmlx_1_1core_1_1_log.html#aaaa49e9455f3a197bc319646b5ca6390',1,'mlx::core::Log::eval_gpu()'],['../classmlx_1_1core_1_1_log1p.html#a1b97decae7338d46874e736c95fa7431',1,'mlx::core::Log1p::eval_gpu()'],['../classmlx_1_1core_1_1_logical_not.html#a1d0d2bc93f935eca6c85ef7bf67f2d6a',1,'mlx::core::LogicalNot::eval_gpu()'],['../classmlx_1_1core_1_1_logical_and.html#a132b2eedaa3978de5a5350da3c2ca40f',1,'mlx::core::LogicalAnd::eval_gpu()'],['../classmlx_1_1core_1_1_logical_or.html#a3be1da328f0f8620de2e4fc1d22a077a',1,'mlx::core::LogicalOr::eval_gpu()'],['../classmlx_1_1core_1_1_log_add_exp.html#acace355b62ec00df649f9f99e8f2eb7a',1,'mlx::core::LogAddExp::eval_gpu()'],['../classmlx_1_1core_1_1_matmul.html#a8707a4e9b75c769e8f1dbca15c6a1ae7',1,'mlx::core::Matmul::eval_gpu()'],['../classmlx_1_1core_1_1_maximum.html#ade0f721b10a6b3a12bdadd34c48f72a7',1,'mlx::core::Maximum::eval_gpu()'],['../classmlx_1_1core_1_1_minimum.html#aadc68afa0afbe2103f19d161f5e0a2ba',1,'mlx::core::Minimum::eval_gpu()'],['../classmlx_1_1core_1_1_multiply.html#a634fcb4e981d8d3f4d94252caf25bee0',1,'mlx::core::Multiply::eval_gpu()'],['../classmlx_1_1core_1_1_negative.html#a97f1b316eace0c6d9e576d766940c75b',1,'mlx::core::Negative::eval_gpu()'],['../classmlx_1_1core_1_1_not_equal.html#a61179747e34e203150e9c660dfddb5f2',1,'mlx::core::NotEqual::eval_gpu()'],['../classmlx_1_1core_1_1_number_of_elements.html#a2c98c42915fb2bfe12f5c99ea553eff5',1,'mlx::core::NumberOfElements::eval_gpu()'],['../classmlx_1_1core_1_1_pad.html#aefd4d3a5bd8b6b35b266c9e558ada153',1,'mlx::core::Pad::eval_gpu()'],['../classmlx_1_1core_1_1_partition.html#a8eca1be21ae9ccfda46e6f3e85f506ef',1,'mlx::core::Partition::eval_gpu()'],['../classmlx_1_1core_1_1_power.html#a80577d4c0853c24027777c90a1ec7e11',1,'mlx::core::Power::eval_gpu()'],['../classmlx_1_1core_1_1_quantized_matmul.html#a2812ad007d695ed1aaf9cf706fb9c4b3',1,'mlx::core::QuantizedMatmul::eval_gpu()'],['../classmlx_1_1core_1_1_gather_q_m_m.html#a86eb048afc95646b2e96ec5493e3d887',1,'mlx::core::GatherQMM::eval_gpu()'],['../classmlx_1_1core_1_1_random_bits.html#a578756866665358577418e4cdd94aa3a',1,'mlx::core::RandomBits::eval_gpu()'],['../classmlx_1_1core_1_1_real.html#a1e209e88a43bdd1eea43ad0b03f9a7f2',1,'mlx::core::Real::eval_gpu()'],['../classmlx_1_1core_1_1_reshape.html#aa1e85f28471875750c47351520b56059',1,'mlx::core::Reshape::eval_gpu()'],['../classmlx_1_1core_1_1_reduce.html#ae9caaf42edadfe73ea208d98f526890f',1,'mlx::core::Reduce::eval_gpu()'],['../classmlx_1_1core_1_1_round.html#af7fe5ff8f3db166c203b4be4b07f13ec',1,'mlx::core::Round::eval_gpu()'],['../classmlx_1_1core_1_1_scan.html#aef22c6fc2b2cb2a907cd8965c7413dde',1,'mlx::core::Scan::eval_gpu()'],['../classmlx_1_1core_1_1_scatter.html#ab304345db3d8cfeea15e27461ae2e678',1,'mlx::core::Scatter::eval_gpu()'],['../classmlx_1_1core_1_1_sigmoid.html#a7a6bd0222d51d7f25f2719a91ccdfeca',1,'mlx::core::Sigmoid::eval_gpu()'],['../classmlx_1_1core_1_1_sign.html#afa2b48b99a194106006b44af69ffda8b',1,'mlx::core::Sign::eval_gpu()'],['../classmlx_1_1core_1_1_sin.html#a6b59f1156cf8bdad8d45acd1d825cb5e',1,'mlx::core::Sin::eval_gpu()'],['../classmlx_1_1core_1_1_sinh.html#a5a1af2399f166d5b228b5e83a1837c75',1,'mlx::core::Sinh::eval_gpu()'],['../classmlx_1_1core_1_1_slice.html#aa53c21ff06a7c659e889af6b97d10a4a',1,'mlx::core::Slice::eval_gpu()'],['../classmlx_1_1core_1_1_slice_update.html#aac1a1d122e5697be057d63552141032b',1,'mlx::core::SliceUpdate::eval_gpu()'],['../classmlx_1_1core_1_1_softmax.html#a35dac69ddcc7e2ec0e1a76fe93db85af',1,'mlx::core::Softmax::eval_gpu()'],['../classmlx_1_1core_1_1_sort.html#a4141c48f0e8670c728663f3722675382',1,'mlx::core::Sort::eval_gpu()'],['../classmlx_1_1core_1_1_split.html#a78ddda89c4daee73c74cfbc1e44656df',1,'mlx::core::Split::eval_gpu()'],['../classmlx_1_1core_1_1_square.html#a0ea2a78a5bb52daa4103263bf2f98045',1,'mlx::core::Square::eval_gpu()'],['../classmlx_1_1core_1_1_sqrt.html#a6d205e679a593d1ba20206c5c47ba501',1,'mlx::core::Sqrt::eval_gpu()'],['../classmlx_1_1core_1_1_stop_gradient.html#a907b96f0a1ce608e211d87ccf2b9ca89',1,'mlx::core::StopGradient::eval_gpu()'],['../classmlx_1_1core_1_1_subtract.html#a69021b23daf061764d97fabbc0f4f06c',1,'mlx::core::Subtract::eval_gpu()'],['../classmlx_1_1core_1_1_tan.html#aca7dbb4836507005a2032ac957a04d3f',1,'mlx::core::Tan::eval_gpu()'],['../classmlx_1_1core_1_1_tanh.html#a48df896599ae93dbce84a5c0f50cf761',1,'mlx::core::Tanh::eval_gpu()'],['../classmlx_1_1core_1_1_uniform.html#a5f88cbf2495f24f87cefd99aaaebe4d0',1,'mlx::core::Uniform::eval_gpu()'],['../classmlx_1_1core_1_1_view.html#add6e12ff1e476fe1db7718b14f21b075',1,'mlx::core::View::eval_gpu()'],['../classmlx_1_1core_1_1_transpose.html#a38d25739c08aa594a6775015a1d7d92e',1,'mlx::core::Transpose::eval_gpu()'],['../classmlx_1_1core_1_1_q_r_f.html#ae5fa3482192f4713605cd07e7fc1c6c9',1,'mlx::core::QRF::eval_gpu()'],['../classmlx_1_1core_1_1_s_v_d.html#a7067b2207f826a25549d571856b94e83',1,'mlx::core::SVD::eval_gpu()'],['../classmlx_1_1core_1_1_inverse.html#a086fbbc947ad232e01686ad063a78ed2',1,'mlx::core::Inverse::eval_gpu()'],['../classmlx_1_1core_1_1_cholesky.html#a8c918594bf129888044ef37fcae56795',1,'mlx::core::Cholesky::eval_gpu()'],['../classmlx_1_1core_1_1_eigh.html#a67775b41c0a15e356f08d51d9736baa2',1,'mlx::core::Eigh::eval_gpu()']]], + ['evaluated_40',['evaluated',['../classmlx_1_1core_1_1array.html#a199726612fa8a4bcd5c2d05eadad7078a6fc3d7595445dd877584495f47535268',1,'mlx::core::array']]], + ['event_41',['Event',['../classmlx_1_1core_1_1_event.html',1,'mlx::core::Event'],['../classmlx_1_1core_1_1_event.html#a833506419b2110ad1abd89b2dd238b4d',1,'mlx::core::Event::Event()=default'],['../classmlx_1_1core_1_1_event.html#a13e4835f2ffb2cc22e29148a448ea184',1,'mlx::core::Event::Event(const Stream &steam)']]], + ['event_42',['event',['../classmlx_1_1core_1_1array.html#a0a8e4d6e67e739a712876bb36f88f9bf',1,'mlx::core::array']]], + ['event_2eh_43',['event.h',['../event_8h.html',1,'']]], + ['excess_44',['excess',['../structmlx_1_1steel_1_1_channel_helper.html#afc34bf92168c1865a9611b319dbcd000',1,'mlx::steel::ChannelHelper::excess'],['../structmlx_1_1steel_1_1_channel_helper_3_011_01_4.html#ada22a8bd8a89078cfa28874055c8e753',1,'mlx::steel::ChannelHelper< 1 >::excess'],['../structmlx_1_1steel_1_1_channel_helper_3_012_01_4.html#acc490f3999230aa592c61bbed7eb7cfe',1,'mlx::steel::ChannelHelper< 2 >::excess'],['../structmlx_1_1steel_1_1_channel_helper_3_013_01_4.html#aae404674763f3dc73c5ab29169f8b80f',1,'mlx::steel::ChannelHelper< 3 >::excess'],['../structmlx_1_1steel_1_1_channel_helper_3_014_01_4.html#aecdd8331fec703d739a6f07b9b901ac8',1,'mlx::steel::ChannelHelper< 4 >::excess']]], + ['exec_45',['exec',['../classpocketfft_1_1detail_1_1cfftp.html#a95211024bf007d27e700835db556fbd2',1,'pocketfft::detail::cfftp::exec()'],['../classpocketfft_1_1detail_1_1rfftp.html#a073972f42bdd3617693be7be2cb5e0ac',1,'pocketfft::detail::rfftp::exec()'],['../classpocketfft_1_1detail_1_1fftblue.html#a5fb03413a3d1a653842875adcf87ae8c',1,'pocketfft::detail::fftblue::exec()'],['../classpocketfft_1_1detail_1_1pocketfft__c.html#a436afd63e8e130f97aff103ae964a45d',1,'pocketfft::detail::pocketfft_c::exec()'],['../classpocketfft_1_1detail_1_1pocketfft__r.html#a2815bc8aa04fa986834b02e502f98b33',1,'pocketfft::detail::pocketfft_r::exec()'],['../classpocketfft_1_1detail_1_1_t__dct1.html#a7736111ff9d220f983e41a6fecd5f058',1,'pocketfft::detail::T_dct1::exec()'],['../classpocketfft_1_1detail_1_1_t__dst1.html#a598a9511004263eb3610053d7efc9e26',1,'pocketfft::detail::T_dst1::exec()'],['../classpocketfft_1_1detail_1_1_t__dcst23.html#a2a45b7b4612904c2be69c01f6d5029ac',1,'pocketfft::detail::T_dcst23::exec()'],['../classpocketfft_1_1detail_1_1_t__dcst4.html#af794ebf21009d5f918681188081df708',1,'pocketfft::detail::T_dcst4::exec()']]], + ['exec_5fr_46',['exec_r',['../classpocketfft_1_1detail_1_1fftblue.html#a642b4aff0485c7d9c8794161a1464f00',1,'pocketfft::detail::fftblue']]], + ['execc2c_47',['ExecC2C',['../structpocketfft_1_1detail_1_1_exec_c2_c.html',1,'pocketfft::detail']]], + ['execdcst_48',['ExecDcst',['../structpocketfft_1_1detail_1_1_exec_dcst.html',1,'pocketfft::detail']]], + ['exechartley_49',['ExecHartley',['../structpocketfft_1_1detail_1_1_exec_hartley.html',1,'pocketfft::detail']]], + ['execr2r_50',['ExecR2R',['../structpocketfft_1_1detail_1_1_exec_r2_r.html',1,'pocketfft::detail']]], + ['exp_51',['Exp',['../struct_exp.html',1,'Exp'],['../structmlx_1_1core_1_1detail_1_1_exp.html',1,'mlx::core::detail::Exp'],['../classmlx_1_1core_1_1_exp.html',1,'mlx::core::Exp'],['../classmlx_1_1core_1_1_exp.html#a1d0a618cbb91ab29ef53b57ff6ed6e06',1,'mlx::core::Exp::Exp()']]], + ['exp_52',['exp',['../namespacemetal.html#ac2a0b3618d922ac014baac8189d44650',1,'metal::exp()'],['../namespacemetal_1_1fast.html#ad3dbd387b63373c29e3449609f763ede',1,'metal::fast::exp()'],['../namespacemetal_1_1precise.html#a8d8d2d5700ce432b33cf47cf22528e8f',1,'metal::precise::exp()'],['../group__ops.html#ga8a3b04e23e347d99ecf411fd6f4e5125',1,'mlx::core::exp()']]], + ['exp10_53',['exp10',['../namespacemetal.html#a4c63707d13c89364496a48906631c204',1,'metal::exp10()'],['../namespacemetal_1_1fast.html#a453122f982485cbb4e471b3ac282ee5e',1,'metal::fast::exp10()'],['../namespacemetal_1_1precise.html#af9addb343c967da3a83e9e123a8521fd',1,'metal::precise::exp10()']]], + ['exp2_54',['exp2',['../namespacemetal.html#a228201c20777848804a4d0589c1d33e7',1,'metal::exp2()'],['../namespacemetal_1_1fast.html#ac092b65a46720adaf22f6266671d2d71',1,'metal::fast::exp2()'],['../namespacemetal_1_1precise.html#a92a880bd2197efc0da0f8f0f7ec1e4c9',1,'metal::precise::exp2()']]], + ['expand_5fdims_55',['expand_dims',['../group__ops.html#ga717f11149a8c7b4cc3e33bbcc0a97133',1,'mlx::core::expand_dims(const array &a, const std::vector< int > &axes, StreamOrDevice s={})'],['../group__ops.html#ga7a80adb4a5a36d18b5f234d4b034950a',1,'mlx::core::expand_dims(const array &a, int axis, StreamOrDevice s={})']]], + ['expm1_56',['Expm1',['../struct_expm1.html',1,'Expm1'],['../structmlx_1_1core_1_1detail_1_1_expm1.html',1,'mlx::core::detail::Expm1'],['../classmlx_1_1core_1_1_expm1.html',1,'mlx::core::Expm1'],['../classmlx_1_1core_1_1_expm1.html#a47c2a1b2a4ef6bb07ba77c55ddddaec2',1,'mlx::core::Expm1::Expm1()']]], + ['expm1_57',['expm1',['../group__ops.html#ga54ca54f06bfb2be15b163a5209e2a0f0',1,'mlx::core']]], + ['expm1f_58',['expm1f',['../expm1f_8h.html#a87f66d30e185950f42ce3641783cdc40',1,'expm1f.h']]], + ['expm1f_2eh_59',['expm1f.h',['../expm1f_8h.html',1,'']]], + ['expm1f_5fscaled_5funchecked_60',['expm1f_scaled_unchecked',['../expm1f_8h.html#adf20e03405fba634ca8d01acac24592e',1,'expm1f.h']]], + ['export_5fto_5fdot_61',['export_to_dot',['../namespacemlx_1_1core.html#a57395bdf43d9c5c134e610c169222cca',1,'mlx::core::export_to_dot(std::ostream &os, const std::vector< array > &outputs)'],['../namespacemlx_1_1core.html#a839f94dbad44f0d37333006fc876b42e',1,'mlx::core::export_to_dot(std::ostream &os, Arrays &&... outputs)']]], + ['expsubop_62',['ExpSubOp',['../struct_exp_sub_op.html',1,'']]], + ['eye_63',['eye',['../group__ops.html#ga45e9e68246b0d1cf03c3cc9c9e7e6ae3',1,'mlx::core::eye(int n, int m, int k, Dtype dtype, StreamOrDevice s={})'],['../group__ops.html#ga2c9011310a1fa7c82f942f54102c36dd',1,'mlx::core::eye(int n, Dtype dtype, StreamOrDevice s={})'],['../group__ops.html#ga61657db78ef35d41112d362c869c25d2',1,'mlx::core::eye(int n, int m, StreamOrDevice s={})'],['../group__ops.html#ga908a15b42834be498a46856c99dfc779',1,'mlx::core::eye(int n, int m, int k, StreamOrDevice s={})'],['../group__ops.html#gab777fcf6d4a89172c69ec3492548dc0f',1,'mlx::core::eye(int n, StreamOrDevice s={})']]] ]; diff --git a/docs/build/html/search/all_6.js b/docs/build/html/search/all_6.js index c0265cd59..9ad94d94e 100644 --- a/docs/build/html/search/all_6.js +++ b/docs/build/html/search/all_6.js @@ -49,14 +49,15 @@ var searchData= ['fmod_46',['fmod',['../namespacemetal.html#a2ff952d4d596a7969b2a3035fc2fda58',1,'metal::fmod()'],['../namespacemetal_1_1fast.html#adbec09f18a89f773d7e368ef04a69526',1,'metal::fast::fmod()'],['../namespacemetal_1_1precise.html#aa99937178a1fc8158054e328eeeae648',1,'metal::precise::fmod()']]], ['forward_47',['FORWARD',['../namespacepocketfft_1_1detail.html#aecc5444a333360628be65a6f91ceb824',1,'pocketfft::detail']]], ['forward_48',['forward',['../structpocketfft_1_1detail_1_1_exec_c2_c.html#a63e27292b327597674deede9debe1c43',1,'pocketfft::detail::ExecC2C::forward'],['../structpocketfft_1_1detail_1_1_exec_r2_r.html#a5ec66ebb2ccd079f62b068ddd1fc7bdf',1,'pocketfft::detail::ExecR2R::forward']]], - ['four_5fstep_5ffft_49',['four_step_fft',['../backend_2metal_2kernels_2fft_8h.html#a6558a8205ee4c3e4767bafa93f7606de',1,'fft.h']]], - ['fp16_2eh_50',['fp16.h',['../fp16_8h.html',1,'']]], - ['fp16_5fbf16_5fbinop_5fhelper_51',['fp16_bf16_binop_helper',['../half__types_8h.html#a1f0d5d395d403bde764fffe4846617f9',1,'half_types.h']]], - ['fract_52',['fract',['../namespacemetal.html#a6b1c15d251aeaacb1f4338a5e152ae78',1,'metal::fract()'],['../namespacemetal_1_1fast.html#aa8bb448827503e485eb649eb3edb2d4c',1,'metal::fast::fract()'],['../namespacemetal_1_1precise.html#a0f21c19332a90df1a8ff507a813b5757',1,'metal::precise::fract()']]], - ['frag_5fat_53',['frag_at',['../structmlx_1_1steel_1_1_m_m_a_tile.html#a1a6b1446e8c8da46885bbaa8e8fdc7e4',1,'mlx::steel::MMATile::frag_at(const short i, const short j)'],['../structmlx_1_1steel_1_1_m_m_a_tile.html#ad476e1d9a12178fb35c207312339e485',1,'mlx::steel::MMATile::frag_at(const short i, const short j) const'],['../structmlx_1_1steel_1_1_m_m_a_tile.html#a1a6b1446e8c8da46885bbaa8e8fdc7e4',1,'mlx::steel::MMATile::frag_at(const short i, const short j)'],['../structmlx_1_1steel_1_1_m_m_a_tile.html#ad476e1d9a12178fb35c207312339e485',1,'mlx::steel::MMATile::frag_at(const short i, const short j) const']]], - ['frag_5ftype_54',['frag_type',['../structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#a9f53a5e9b046b4f217e782b733941b0c',1,'mlx::steel::BaseMMAFrag< T, 8, 8 >::frag_type'],['../structmlx_1_1steel_1_1_m_m_a_tile.html#aac25cd0a9bdf24aa2af809c95f0bd171',1,'mlx::steel::MMATile::frag_type']]], - ['free_55',['free',['../classmlx_1_1core_1_1allocator_1_1_allocator.html#ae963d551be646ae0e13df2c16f2beefb',1,'mlx::core::allocator::Allocator::free()'],['../classmlx_1_1core_1_1allocator_1_1_common_allocator.html#a84b50d1a3cbffa12c1a6cf0ed8c71079',1,'mlx::core::allocator::CommonAllocator::free()'],['../classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a109a0a37fb0b3be381a62dc3b1a54bf0',1,'mlx::core::metal::MetalAllocator::free()'],['../namespacemlx_1_1core_1_1allocator.html#a77f0a1215be242db6485612bcb273af5',1,'mlx::core::allocator::free()']]], - ['frexp_56',['frexp',['../namespacemetal.html#ac89d4ef524d21a301da6c37dbd95ff9f',1,'metal::frexp()'],['../namespacemetal_1_1fast.html#a23902df22aeaa859ef673a36381387c2',1,'metal::fast::frexp()'],['../namespacemetal_1_1precise.html#a0fbb1624c308b97380f894f92fd858b4',1,'metal::precise::frexp()']]], - ['full_57',['Full',['../classmlx_1_1core_1_1_full.html',1,'mlx::core::Full'],['../classmlx_1_1core_1_1_full.html#aafcb86a2e41353853ec48c717e0c54d6',1,'mlx::core::Full::Full()']]], - ['full_58',['full',['../group__ops.html#ga7e85a476530c96ab73b894d1bddacf84',1,'mlx::core::full(std::vector< int > shape, array vals, Dtype dtype, StreamOrDevice s={})'],['../group__ops.html#ga9e3b15c3ec6b7922296777c5e1878d52',1,'mlx::core::full(std::vector< int > shape, array vals, StreamOrDevice s={})'],['../group__ops.html#gac34ff7f1e217b93e878053aaa5a51e58',1,'mlx::core::full(std::vector< int > shape, T val, Dtype dtype, StreamOrDevice s={})'],['../group__ops.html#ga5e33cf83db1a65c35e688142bd41d35c',1,'mlx::core::full(std::vector< int > shape, T val, StreamOrDevice s={})']]] + ['forward_5f_49',['forward_',['../classmlx_1_1core_1_1fast_1_1_ro_p_e.html#aebc91cf07bff74462246745686b7e8d8',1,'mlx::core::fast::RoPE']]], + ['four_5fstep_5ffft_50',['four_step_fft',['../backend_2metal_2kernels_2fft_8h.html#a6558a8205ee4c3e4767bafa93f7606de',1,'fft.h']]], + ['fp16_2eh_51',['fp16.h',['../fp16_8h.html',1,'']]], + ['fp16_5fbf16_5fbinop_5fhelper_52',['fp16_bf16_binop_helper',['../half__types_8h.html#a1f0d5d395d403bde764fffe4846617f9',1,'half_types.h']]], + ['fract_53',['fract',['../namespacemetal.html#a6b1c15d251aeaacb1f4338a5e152ae78',1,'metal::fract()'],['../namespacemetal_1_1fast.html#aa8bb448827503e485eb649eb3edb2d4c',1,'metal::fast::fract()'],['../namespacemetal_1_1precise.html#a0f21c19332a90df1a8ff507a813b5757',1,'metal::precise::fract()']]], + ['frag_5fat_54',['frag_at',['../structmlx_1_1steel_1_1_m_m_a_tile.html#a1a6b1446e8c8da46885bbaa8e8fdc7e4',1,'mlx::steel::MMATile::frag_at(const short i, const short j)'],['../structmlx_1_1steel_1_1_m_m_a_tile.html#ad476e1d9a12178fb35c207312339e485',1,'mlx::steel::MMATile::frag_at(const short i, const short j) const'],['../structmlx_1_1steel_1_1_m_m_a_tile.html#a1a6b1446e8c8da46885bbaa8e8fdc7e4',1,'mlx::steel::MMATile::frag_at(const short i, const short j)'],['../structmlx_1_1steel_1_1_m_m_a_tile.html#ad476e1d9a12178fb35c207312339e485',1,'mlx::steel::MMATile::frag_at(const short i, const short j) const']]], + ['frag_5ftype_55',['frag_type',['../structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#a9f53a5e9b046b4f217e782b733941b0c',1,'mlx::steel::BaseMMAFrag< T, 8, 8 >::frag_type'],['../structmlx_1_1steel_1_1_m_m_a_tile.html#aac25cd0a9bdf24aa2af809c95f0bd171',1,'mlx::steel::MMATile::frag_type']]], + ['free_56',['free',['../classmlx_1_1core_1_1allocator_1_1_allocator.html#ae963d551be646ae0e13df2c16f2beefb',1,'mlx::core::allocator::Allocator::free()'],['../classmlx_1_1core_1_1allocator_1_1_common_allocator.html#a84b50d1a3cbffa12c1a6cf0ed8c71079',1,'mlx::core::allocator::CommonAllocator::free()'],['../classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a109a0a37fb0b3be381a62dc3b1a54bf0',1,'mlx::core::metal::MetalAllocator::free()'],['../namespacemlx_1_1core_1_1allocator.html#a77f0a1215be242db6485612bcb273af5',1,'mlx::core::allocator::free()']]], + ['frexp_57',['frexp',['../namespacemetal.html#ac89d4ef524d21a301da6c37dbd95ff9f',1,'metal::frexp()'],['../namespacemetal_1_1fast.html#a23902df22aeaa859ef673a36381387c2',1,'metal::fast::frexp()'],['../namespacemetal_1_1precise.html#a0fbb1624c308b97380f894f92fd858b4',1,'metal::precise::frexp()']]], + ['full_58',['Full',['../classmlx_1_1core_1_1_full.html',1,'mlx::core::Full'],['../classmlx_1_1core_1_1_full.html#aafcb86a2e41353853ec48c717e0c54d6',1,'mlx::core::Full::Full()']]], + ['full_59',['full',['../group__ops.html#ga1cf232308668fe3f4214c8b895ed4aee',1,'mlx::core::full(Shape shape, array vals, Dtype dtype, StreamOrDevice s={})'],['../group__ops.html#ga59f6c844cbb173e108c3eeb11801f8c6',1,'mlx::core::full(Shape shape, array vals, StreamOrDevice s={})'],['../group__ops.html#gaf073760b7b51fe35932da0d81c531a55',1,'mlx::core::full(Shape shape, T val, Dtype dtype, StreamOrDevice s={})'],['../group__ops.html#gaf6f2cce92aff9b71756a3cc3c961fd5a',1,'mlx::core::full(Shape shape, T val, StreamOrDevice s={})']]] ]; diff --git a/docs/build/html/search/all_7.js b/docs/build/html/search/all_7.js index 379fa3f61..fc167d6dd 100644 --- a/docs/build/html/search/all_7.js +++ b/docs/build/html/search/all_7.js @@ -1,7 +1,7 @@ var searchData= [ ['gather_0',['Gather',['../classmlx_1_1core_1_1_gather.html',1,'mlx::core::Gather'],['../classmlx_1_1core_1_1_gather.html#a5b5f47ceff1d43477c87be5116f261d0',1,'mlx::core::Gather::Gather()']]], - ['gather_1',['gather',['../namespacemlx_1_1core_1_1metal.html#a545de371fefba1feec2e70b7e9f4187c',1,'mlx::core::metal::gather()'],['../group__ops.html#gab6e7f655a9ff15350ca5379692f9d444',1,'mlx::core::gather(const array &a, const std::vector< array > &indices, const std::vector< int > &axes, const std::vector< int > &slice_sizes, StreamOrDevice s={})'],['../group__ops.html#gadb4337ca5d4f88fe9e7c083bc478158b',1,'mlx::core::gather(const array &a, const array &indices, int axis, const std::vector< int > &slice_sizes, StreamOrDevice s={})']]], + ['gather_1',['gather',['../namespacemlx_1_1core_1_1metal.html#a545de371fefba1feec2e70b7e9f4187c',1,'mlx::core::metal::gather()'],['../group__ops.html#ga8fcc3ad0677c834c36b72d5b2ebba6d0',1,'mlx::core::gather(const array &a, const std::vector< array > &indices, const std::vector< int > &axes, const Shape &slice_sizes, StreamOrDevice s={})'],['../group__ops.html#gafe2bd174c9953ed7f12664f7abaca0e6',1,'mlx::core::gather(const array &a, const array &indices, int axis, const Shape &slice_sizes, StreamOrDevice s={})']]], ['gather_2eh_2',['gather.h',['../gather_8h.html',1,'']]], ['gather_5fbias_3',['gather_bias',['../steel__gemm__fused_8h.html#aaaf17233201156be684f858bfd0f1b67',1,'steel_gemm_fused.h']]], ['gather_5fimpl_4',['gather_impl',['../gather_8h.html#a767d7c5be6f2f649101f581449af5599',1,'gather.h']]], diff --git a/docs/build/html/search/all_9.js b/docs/build/html/search/all_9.js index 70e12696f..4eb1b5d22 100644 --- a/docs/build/html/search/all_9.js +++ b/docs/build/html/search/all_9.js @@ -63,7 +63,7 @@ var searchData= ['is_5favailable_60',['is_available',['../classmlx_1_1core_1_1array.html#aebed1f37c19197be76105161102a8a40',1,'mlx::core::array::is_available()'],['../namespacemlx_1_1core_1_1metal.html#a0cdf2c08c7bc0927a86070adc206987f',1,'mlx::core::metal::is_available()'],['../namespacemlx_1_1core_1_1distributed.html#a95655473cd0032c06e5fe3fca85aeef3',1,'mlx::core::distributed::is_available()']]], ['is_5fdonatable_61',['is_donatable',['../classmlx_1_1core_1_1array.html#a4677a404b5d191af20b52649225de087',1,'mlx::core::array::is_donatable()'],['../namespacemlx_1_1core.html#af650e831ce21759da1ac103037d08d84',1,'mlx::core::is_donatable()']]], ['is_5fempty_62',['is_empty',['../structmetal_1_1is__empty.html',1,'metal']]], - ['is_5fequivalent_63',['is_equivalent',['../classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention.html#af08b1294f3f93505a96fdfa85b1edd62',1,'mlx::core::fast::ScaledDotProductAttention::is_equivalent()'],['../classmlx_1_1core_1_1_primitive.html#a6140a502af4c2bbbc776ab26e9afebcd',1,'mlx::core::Primitive::is_equivalent()'],['../classmlx_1_1core_1_1_abs.html#ab6f0ec56bc7c048382297e12dabadc67',1,'mlx::core::Abs::is_equivalent()'],['../classmlx_1_1core_1_1_add.html#aba0a35410c3aac53d0f7a0c283d9ee3f',1,'mlx::core::Add::is_equivalent()'],['../classmlx_1_1core_1_1_add_m_m.html#a6e37c6882dba995a63fb6d8dfb01754f',1,'mlx::core::AddMM::is_equivalent()'],['../classmlx_1_1core_1_1_arange.html#a7b6a45cf9c4b109d4e0373f3fe576c35',1,'mlx::core::Arange::is_equivalent()'],['../classmlx_1_1core_1_1_arc_cos.html#a39557461e3235801886675a9b7d25bf5',1,'mlx::core::ArcCos::is_equivalent()'],['../classmlx_1_1core_1_1_arc_cosh.html#a6928e827b9ac2e86e7d5b02b78150eee',1,'mlx::core::ArcCosh::is_equivalent()'],['../classmlx_1_1core_1_1_arc_sin.html#a13b5e39eeccaf32d94b8eb85b3b753ab',1,'mlx::core::ArcSin::is_equivalent()'],['../classmlx_1_1core_1_1_arc_sinh.html#a63c7a765c7906242dc3371deec094f0f',1,'mlx::core::ArcSinh::is_equivalent()'],['../classmlx_1_1core_1_1_arc_tan.html#a0e5b5fc7218143ecd0a8666d9137c34c',1,'mlx::core::ArcTan::is_equivalent()'],['../classmlx_1_1core_1_1_arc_tan2.html#aeaee58cd803d3ebf0b76574a409682cc',1,'mlx::core::ArcTan2::is_equivalent()'],['../classmlx_1_1core_1_1_arc_tanh.html#ac8ecdd640043dab0461d49d7650679a2',1,'mlx::core::ArcTanh::is_equivalent()'],['../classmlx_1_1core_1_1_arg_partition.html#ad87509ce70b51fb75dfb9c3a05a5b31a',1,'mlx::core::ArgPartition::is_equivalent()'],['../classmlx_1_1core_1_1_arg_reduce.html#a03b81a670dcb1e39bf7279e4d4583b97',1,'mlx::core::ArgReduce::is_equivalent()'],['../classmlx_1_1core_1_1_arg_sort.html#a048cd09c557d29d1111726f97010a845',1,'mlx::core::ArgSort::is_equivalent()'],['../classmlx_1_1core_1_1_as_type.html#a8e6c8b2428ab15c4fb43f2e3a8fb38af',1,'mlx::core::AsType::is_equivalent()'],['../classmlx_1_1core_1_1_as_strided.html#a1738c6aa0a3a3eb68530f0d5b436e094',1,'mlx::core::AsStrided::is_equivalent()'],['../classmlx_1_1core_1_1_bitwise_binary.html#a8cd6b916b4838a6c329cf4df8530c3b8',1,'mlx::core::BitwiseBinary::is_equivalent()'],['../classmlx_1_1core_1_1_block_masked_m_m.html#aef1c303955f9b8f445296372cf181160',1,'mlx::core::BlockMaskedMM::is_equivalent()'],['../classmlx_1_1core_1_1_gather_m_m.html#a163f17f6ce2c002f22e81b302777342b',1,'mlx::core::GatherMM::is_equivalent()'],['../classmlx_1_1core_1_1_broadcast.html#a0e27692b0090ec451954649a36042616',1,'mlx::core::Broadcast::is_equivalent()'],['../classmlx_1_1core_1_1_ceil.html#aacd90acb56eb0649c1cef807aa21df52',1,'mlx::core::Ceil::is_equivalent()'],['../classmlx_1_1core_1_1_compiled.html#a63e5016458887813b4a59dee5a0a3f10',1,'mlx::core::Compiled::is_equivalent()'],['../classmlx_1_1core_1_1_concatenate.html#aaf8a72a0c30114460caf519580cc35d2',1,'mlx::core::Concatenate::is_equivalent()'],['../classmlx_1_1core_1_1_conjugate.html#af42f00a790c6bc5572bd8fe9e5b36c5e',1,'mlx::core::Conjugate::is_equivalent()'],['../classmlx_1_1core_1_1_contiguous.html#aa5d273a461fc6e64f3c9a67c24cb3372',1,'mlx::core::Contiguous::is_equivalent()'],['../classmlx_1_1core_1_1_convolution.html#afb87708a5e3aab2e9e663daa9d8863de',1,'mlx::core::Convolution::is_equivalent()'],['../classmlx_1_1core_1_1_copy.html#afcfa39465015f638e294aa954ea0f3da',1,'mlx::core::Copy::is_equivalent()'],['../classmlx_1_1core_1_1_cos.html#ab611ca38c987915659f7ffcce0370417',1,'mlx::core::Cos::is_equivalent()'],['../classmlx_1_1core_1_1_cosh.html#ae0bacccaf501f5349db0c13cca776ff9',1,'mlx::core::Cosh::is_equivalent()'],['../classmlx_1_1core_1_1_divide.html#a3dda091f05c4164c29bb8129e9712650',1,'mlx::core::Divide::is_equivalent()'],['../classmlx_1_1core_1_1_div_mod.html#af5fcf8ec8515d46844cbeeab6dafb38a',1,'mlx::core::DivMod::is_equivalent()'],['../classmlx_1_1core_1_1_select.html#afc3c333fac7f902c98839921ef2874c8',1,'mlx::core::Select::is_equivalent()'],['../classmlx_1_1core_1_1_remainder.html#a802039faaa2ed7b763ec3d7debcce814',1,'mlx::core::Remainder::is_equivalent()'],['../classmlx_1_1core_1_1_equal.html#a58c1c5003e43f47dc0788c1851deaa02',1,'mlx::core::Equal::is_equivalent()'],['../classmlx_1_1core_1_1_erf.html#abe99dfbc2954c3a7d5dec56ab165ee82',1,'mlx::core::Erf::is_equivalent()'],['../classmlx_1_1core_1_1_erf_inv.html#aaac9e3b454ba564f9c6e804ab6562832',1,'mlx::core::ErfInv::is_equivalent()'],['../classmlx_1_1core_1_1_exp.html#ac6e44bffe7a643ab4ca51e74c7328357',1,'mlx::core::Exp::is_equivalent()'],['../classmlx_1_1core_1_1_f_f_t.html#a0ede3bc8b6d77d560c0a750b68fddc06',1,'mlx::core::FFT::is_equivalent()'],['../classmlx_1_1core_1_1_floor.html#a24b64feb026c4fcd02fc481cffdb1c94',1,'mlx::core::Floor::is_equivalent()'],['../classmlx_1_1core_1_1_full.html#afafcbcae1e28597fe8f7fde289105792',1,'mlx::core::Full::is_equivalent()'],['../classmlx_1_1core_1_1_gather.html#a23ff1406dbf0c770e75ad47440b467aa',1,'mlx::core::Gather::is_equivalent()'],['../classmlx_1_1core_1_1_greater.html#a6877a6888614a618dc64296763ccabb1',1,'mlx::core::Greater::is_equivalent()'],['../classmlx_1_1core_1_1_greater_equal.html#a3daef8596b963026b602019bc56fc5fc',1,'mlx::core::GreaterEqual::is_equivalent()'],['../classmlx_1_1core_1_1_hadamard.html#a8a528d8d69a7343bdfd704a3e74230b8',1,'mlx::core::Hadamard::is_equivalent()'],['../classmlx_1_1core_1_1_imag.html#a51c15ae82855edebba2ba779516465f5',1,'mlx::core::Imag::is_equivalent()'],['../classmlx_1_1core_1_1_less.html#a7d6ed6353a0dcefebd008026dbd3cd63',1,'mlx::core::Less::is_equivalent()'],['../classmlx_1_1core_1_1_less_equal.html#a76ee1438cf4bd109eae4e0b3472b26af',1,'mlx::core::LessEqual::is_equivalent()'],['../classmlx_1_1core_1_1_log.html#a2fc58ea4ca744db493b947d1136d05f8',1,'mlx::core::Log::is_equivalent()'],['../classmlx_1_1core_1_1_logical_not.html#aba53675da351cd9b71a73d475b4bbe99',1,'mlx::core::LogicalNot::is_equivalent()'],['../classmlx_1_1core_1_1_logical_and.html#a9572c35f72e0db2f7f86bbf42438a6be',1,'mlx::core::LogicalAnd::is_equivalent()'],['../classmlx_1_1core_1_1_logical_or.html#a9c8b10a5cf5c69fdc2362390197e4e71',1,'mlx::core::LogicalOr::is_equivalent()'],['../classmlx_1_1core_1_1_log_add_exp.html#a3cf9a202c05aff39919d713d6e2b32e4',1,'mlx::core::LogAddExp::is_equivalent()'],['../classmlx_1_1core_1_1_matmul.html#aab372b59eae0840fc4f75ef5719a2630',1,'mlx::core::Matmul::is_equivalent()'],['../classmlx_1_1core_1_1_maximum.html#a21fe93fbd7799682f481260aee8bdb46',1,'mlx::core::Maximum::is_equivalent()'],['../classmlx_1_1core_1_1_minimum.html#a56c54ee3293cc2cd84462b9ec7ac36b4',1,'mlx::core::Minimum::is_equivalent()'],['../classmlx_1_1core_1_1_multiply.html#ae288159fa2d6d35087a85aca8eafa9b2',1,'mlx::core::Multiply::is_equivalent()'],['../classmlx_1_1core_1_1_negative.html#ac2a4d8159c548639d6289980c8975823',1,'mlx::core::Negative::is_equivalent()'],['../classmlx_1_1core_1_1_not_equal.html#ac12fd6b3e2f2e7e4e622b59badf2c73d',1,'mlx::core::NotEqual::is_equivalent()'],['../classmlx_1_1core_1_1_number_of_elements.html#ad6a32565ccc64499e368e15bba0b438f',1,'mlx::core::NumberOfElements::is_equivalent()'],['../classmlx_1_1core_1_1_pad.html#aad7c3bfecafe435d6a8e807de4c7ea9b',1,'mlx::core::Pad::is_equivalent()'],['../classmlx_1_1core_1_1_partition.html#aabdf6ef4f2159b2bfe93e0e87d4772f8',1,'mlx::core::Partition::is_equivalent()'],['../classmlx_1_1core_1_1_power.html#a76b4ec9d1ff07f06189e414480453d68',1,'mlx::core::Power::is_equivalent()'],['../classmlx_1_1core_1_1_quantized_matmul.html#af28b36e3f40ea41785387800326cc8e1',1,'mlx::core::QuantizedMatmul::is_equivalent()'],['../classmlx_1_1core_1_1_gather_q_m_m.html#a6a7da6bcf657fcdb157c45bf35fdec11',1,'mlx::core::GatherQMM::is_equivalent()'],['../classmlx_1_1core_1_1_random_bits.html#a72ec915debf5823e7c0463045b2894e6',1,'mlx::core::RandomBits::is_equivalent()'],['../classmlx_1_1core_1_1_real.html#a6d9bed396862a9e9d6abfbdcd8d8d239',1,'mlx::core::Real::is_equivalent()'],['../classmlx_1_1core_1_1_reshape.html#abd07c53af476777a04307e0423784cf3',1,'mlx::core::Reshape::is_equivalent()'],['../classmlx_1_1core_1_1_reduce.html#abe8f3327d617d0dd7438f066497ae08e',1,'mlx::core::Reduce::is_equivalent()'],['../classmlx_1_1core_1_1_round.html#aeb3d8607bbba7345a3142d4cbd4e6927',1,'mlx::core::Round::is_equivalent()'],['../classmlx_1_1core_1_1_scan.html#a54445a4d677ca4fe2a58d08eb5223ac6',1,'mlx::core::Scan::is_equivalent()'],['../classmlx_1_1core_1_1_scatter.html#a0208172562abdc90472e6eb5f84c987f',1,'mlx::core::Scatter::is_equivalent()'],['../classmlx_1_1core_1_1_sigmoid.html#a04814ba1b0edf8299d5ca1bcb8749d8e',1,'mlx::core::Sigmoid::is_equivalent()'],['../classmlx_1_1core_1_1_sign.html#a8c0934acbcc4b146e5aacd35a8c445bb',1,'mlx::core::Sign::is_equivalent()'],['../classmlx_1_1core_1_1_sin.html#af00b0e5516f884996ce7a97e6c1e3e6a',1,'mlx::core::Sin::is_equivalent()'],['../classmlx_1_1core_1_1_sinh.html#adcb1878996fd4902cd550042dd6ad70d',1,'mlx::core::Sinh::is_equivalent()'],['../classmlx_1_1core_1_1_slice.html#a43202c3b8966ae1db9ab82072e4918b0',1,'mlx::core::Slice::is_equivalent()'],['../classmlx_1_1core_1_1_slice_update.html#a60f588acced42391e6e5615ae8d16119',1,'mlx::core::SliceUpdate::is_equivalent()'],['../classmlx_1_1core_1_1_softmax.html#a9215ed7bd36bc11276c58dfb9808d728',1,'mlx::core::Softmax::is_equivalent()'],['../classmlx_1_1core_1_1_sort.html#ae48f07cf641d54234fc4fb6529a33511',1,'mlx::core::Sort::is_equivalent()'],['../classmlx_1_1core_1_1_split.html#af25a0cc259573b9dce60d285eee18345',1,'mlx::core::Split::is_equivalent()'],['../classmlx_1_1core_1_1_square.html#a6abc881d44071019aa15481e5ea75ab2',1,'mlx::core::Square::is_equivalent()'],['../classmlx_1_1core_1_1_sqrt.html#ab871c2b8ab4a27a3f782a005d0e87c46',1,'mlx::core::Sqrt::is_equivalent()'],['../classmlx_1_1core_1_1_stop_gradient.html#a327539298b21d800d26482b94fce41b3',1,'mlx::core::StopGradient::is_equivalent()'],['../classmlx_1_1core_1_1_subtract.html#af1c05e1e3f703ba916d54f8ccbbd102b',1,'mlx::core::Subtract::is_equivalent()'],['../classmlx_1_1core_1_1_tan.html#afdf46288e7f60ea7f878688347dff7e4',1,'mlx::core::Tan::is_equivalent()'],['../classmlx_1_1core_1_1_tanh.html#a0692a1de2373b86eb394252ed4fecfda',1,'mlx::core::Tanh::is_equivalent()'],['../classmlx_1_1core_1_1_uniform.html#abb6048807a7c5b2e35a77e06a17f801b',1,'mlx::core::Uniform::is_equivalent()'],['../classmlx_1_1core_1_1_view.html#a7cb8403a96a47cb258caac4e3b850f64',1,'mlx::core::View::is_equivalent()'],['../classmlx_1_1core_1_1_transpose.html#a799ec3c3fa9f1b9e6177c755252a3eab',1,'mlx::core::Transpose::is_equivalent()'],['../classmlx_1_1core_1_1_eigh.html#a09414e3fe88a952408d164d6dd0af381',1,'mlx::core::Eigh::is_equivalent()']]], + ['is_5fequivalent_63',['is_equivalent',['../classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention.html#af08b1294f3f93505a96fdfa85b1edd62',1,'mlx::core::fast::ScaledDotProductAttention::is_equivalent()'],['../classmlx_1_1core_1_1fast_1_1_affine_quantize.html#a5936175e5923aec272d6f718785f57a1',1,'mlx::core::fast::AffineQuantize::is_equivalent()'],['../classmlx_1_1core_1_1_primitive.html#a6140a502af4c2bbbc776ab26e9afebcd',1,'mlx::core::Primitive::is_equivalent()'],['../classmlx_1_1core_1_1_abs.html#ab6f0ec56bc7c048382297e12dabadc67',1,'mlx::core::Abs::is_equivalent()'],['../classmlx_1_1core_1_1_add.html#aba0a35410c3aac53d0f7a0c283d9ee3f',1,'mlx::core::Add::is_equivalent()'],['../classmlx_1_1core_1_1_add_m_m.html#a6e37c6882dba995a63fb6d8dfb01754f',1,'mlx::core::AddMM::is_equivalent()'],['../classmlx_1_1core_1_1_arange.html#a7b6a45cf9c4b109d4e0373f3fe576c35',1,'mlx::core::Arange::is_equivalent()'],['../classmlx_1_1core_1_1_arc_cos.html#a39557461e3235801886675a9b7d25bf5',1,'mlx::core::ArcCos::is_equivalent()'],['../classmlx_1_1core_1_1_arc_cosh.html#a6928e827b9ac2e86e7d5b02b78150eee',1,'mlx::core::ArcCosh::is_equivalent()'],['../classmlx_1_1core_1_1_arc_sin.html#a13b5e39eeccaf32d94b8eb85b3b753ab',1,'mlx::core::ArcSin::is_equivalent()'],['../classmlx_1_1core_1_1_arc_sinh.html#a63c7a765c7906242dc3371deec094f0f',1,'mlx::core::ArcSinh::is_equivalent()'],['../classmlx_1_1core_1_1_arc_tan.html#a0e5b5fc7218143ecd0a8666d9137c34c',1,'mlx::core::ArcTan::is_equivalent()'],['../classmlx_1_1core_1_1_arc_tan2.html#aeaee58cd803d3ebf0b76574a409682cc',1,'mlx::core::ArcTan2::is_equivalent()'],['../classmlx_1_1core_1_1_arc_tanh.html#ac8ecdd640043dab0461d49d7650679a2',1,'mlx::core::ArcTanh::is_equivalent()'],['../classmlx_1_1core_1_1_arg_partition.html#ad87509ce70b51fb75dfb9c3a05a5b31a',1,'mlx::core::ArgPartition::is_equivalent()'],['../classmlx_1_1core_1_1_arg_reduce.html#a03b81a670dcb1e39bf7279e4d4583b97',1,'mlx::core::ArgReduce::is_equivalent()'],['../classmlx_1_1core_1_1_arg_sort.html#a048cd09c557d29d1111726f97010a845',1,'mlx::core::ArgSort::is_equivalent()'],['../classmlx_1_1core_1_1_as_type.html#a8e6c8b2428ab15c4fb43f2e3a8fb38af',1,'mlx::core::AsType::is_equivalent()'],['../classmlx_1_1core_1_1_as_strided.html#a1738c6aa0a3a3eb68530f0d5b436e094',1,'mlx::core::AsStrided::is_equivalent()'],['../classmlx_1_1core_1_1_bitwise_binary.html#a8cd6b916b4838a6c329cf4df8530c3b8',1,'mlx::core::BitwiseBinary::is_equivalent()'],['../classmlx_1_1core_1_1_block_masked_m_m.html#aef1c303955f9b8f445296372cf181160',1,'mlx::core::BlockMaskedMM::is_equivalent()'],['../classmlx_1_1core_1_1_gather_m_m.html#a163f17f6ce2c002f22e81b302777342b',1,'mlx::core::GatherMM::is_equivalent()'],['../classmlx_1_1core_1_1_broadcast.html#a0e27692b0090ec451954649a36042616',1,'mlx::core::Broadcast::is_equivalent()'],['../classmlx_1_1core_1_1_ceil.html#aacd90acb56eb0649c1cef807aa21df52',1,'mlx::core::Ceil::is_equivalent()'],['../classmlx_1_1core_1_1_compiled.html#a63e5016458887813b4a59dee5a0a3f10',1,'mlx::core::Compiled::is_equivalent()'],['../classmlx_1_1core_1_1_concatenate.html#aaf8a72a0c30114460caf519580cc35d2',1,'mlx::core::Concatenate::is_equivalent()'],['../classmlx_1_1core_1_1_conjugate.html#af42f00a790c6bc5572bd8fe9e5b36c5e',1,'mlx::core::Conjugate::is_equivalent()'],['../classmlx_1_1core_1_1_contiguous.html#aa5d273a461fc6e64f3c9a67c24cb3372',1,'mlx::core::Contiguous::is_equivalent()'],['../classmlx_1_1core_1_1_convolution.html#afb87708a5e3aab2e9e663daa9d8863de',1,'mlx::core::Convolution::is_equivalent()'],['../classmlx_1_1core_1_1_copy.html#afcfa39465015f638e294aa954ea0f3da',1,'mlx::core::Copy::is_equivalent()'],['../classmlx_1_1core_1_1_cos.html#ab611ca38c987915659f7ffcce0370417',1,'mlx::core::Cos::is_equivalent()'],['../classmlx_1_1core_1_1_cosh.html#ae0bacccaf501f5349db0c13cca776ff9',1,'mlx::core::Cosh::is_equivalent()'],['../classmlx_1_1core_1_1_divide.html#a3dda091f05c4164c29bb8129e9712650',1,'mlx::core::Divide::is_equivalent()'],['../classmlx_1_1core_1_1_div_mod.html#af5fcf8ec8515d46844cbeeab6dafb38a',1,'mlx::core::DivMod::is_equivalent()'],['../classmlx_1_1core_1_1_select.html#afc3c333fac7f902c98839921ef2874c8',1,'mlx::core::Select::is_equivalent()'],['../classmlx_1_1core_1_1_remainder.html#a802039faaa2ed7b763ec3d7debcce814',1,'mlx::core::Remainder::is_equivalent()'],['../classmlx_1_1core_1_1_equal.html#a58c1c5003e43f47dc0788c1851deaa02',1,'mlx::core::Equal::is_equivalent()'],['../classmlx_1_1core_1_1_erf.html#abe99dfbc2954c3a7d5dec56ab165ee82',1,'mlx::core::Erf::is_equivalent()'],['../classmlx_1_1core_1_1_erf_inv.html#aaac9e3b454ba564f9c6e804ab6562832',1,'mlx::core::ErfInv::is_equivalent()'],['../classmlx_1_1core_1_1_exp.html#ac6e44bffe7a643ab4ca51e74c7328357',1,'mlx::core::Exp::is_equivalent()'],['../classmlx_1_1core_1_1_f_f_t.html#a0ede3bc8b6d77d560c0a750b68fddc06',1,'mlx::core::FFT::is_equivalent()'],['../classmlx_1_1core_1_1_floor.html#a24b64feb026c4fcd02fc481cffdb1c94',1,'mlx::core::Floor::is_equivalent()'],['../classmlx_1_1core_1_1_full.html#afafcbcae1e28597fe8f7fde289105792',1,'mlx::core::Full::is_equivalent()'],['../classmlx_1_1core_1_1_gather.html#a23ff1406dbf0c770e75ad47440b467aa',1,'mlx::core::Gather::is_equivalent()'],['../classmlx_1_1core_1_1_greater.html#a6877a6888614a618dc64296763ccabb1',1,'mlx::core::Greater::is_equivalent()'],['../classmlx_1_1core_1_1_greater_equal.html#a3daef8596b963026b602019bc56fc5fc',1,'mlx::core::GreaterEqual::is_equivalent()'],['../classmlx_1_1core_1_1_hadamard.html#a8a528d8d69a7343bdfd704a3e74230b8',1,'mlx::core::Hadamard::is_equivalent()'],['../classmlx_1_1core_1_1_imag.html#a51c15ae82855edebba2ba779516465f5',1,'mlx::core::Imag::is_equivalent()'],['../classmlx_1_1core_1_1_less.html#a7d6ed6353a0dcefebd008026dbd3cd63',1,'mlx::core::Less::is_equivalent()'],['../classmlx_1_1core_1_1_less_equal.html#a76ee1438cf4bd109eae4e0b3472b26af',1,'mlx::core::LessEqual::is_equivalent()'],['../classmlx_1_1core_1_1_log.html#a2fc58ea4ca744db493b947d1136d05f8',1,'mlx::core::Log::is_equivalent()'],['../classmlx_1_1core_1_1_logical_not.html#aba53675da351cd9b71a73d475b4bbe99',1,'mlx::core::LogicalNot::is_equivalent()'],['../classmlx_1_1core_1_1_logical_and.html#a9572c35f72e0db2f7f86bbf42438a6be',1,'mlx::core::LogicalAnd::is_equivalent()'],['../classmlx_1_1core_1_1_logical_or.html#a9c8b10a5cf5c69fdc2362390197e4e71',1,'mlx::core::LogicalOr::is_equivalent()'],['../classmlx_1_1core_1_1_log_add_exp.html#a3cf9a202c05aff39919d713d6e2b32e4',1,'mlx::core::LogAddExp::is_equivalent()'],['../classmlx_1_1core_1_1_matmul.html#aab372b59eae0840fc4f75ef5719a2630',1,'mlx::core::Matmul::is_equivalent()'],['../classmlx_1_1core_1_1_maximum.html#a21fe93fbd7799682f481260aee8bdb46',1,'mlx::core::Maximum::is_equivalent()'],['../classmlx_1_1core_1_1_minimum.html#a56c54ee3293cc2cd84462b9ec7ac36b4',1,'mlx::core::Minimum::is_equivalent()'],['../classmlx_1_1core_1_1_multiply.html#ae288159fa2d6d35087a85aca8eafa9b2',1,'mlx::core::Multiply::is_equivalent()'],['../classmlx_1_1core_1_1_negative.html#ac2a4d8159c548639d6289980c8975823',1,'mlx::core::Negative::is_equivalent()'],['../classmlx_1_1core_1_1_not_equal.html#ac12fd6b3e2f2e7e4e622b59badf2c73d',1,'mlx::core::NotEqual::is_equivalent()'],['../classmlx_1_1core_1_1_number_of_elements.html#ad6a32565ccc64499e368e15bba0b438f',1,'mlx::core::NumberOfElements::is_equivalent()'],['../classmlx_1_1core_1_1_pad.html#aad7c3bfecafe435d6a8e807de4c7ea9b',1,'mlx::core::Pad::is_equivalent()'],['../classmlx_1_1core_1_1_partition.html#aabdf6ef4f2159b2bfe93e0e87d4772f8',1,'mlx::core::Partition::is_equivalent()'],['../classmlx_1_1core_1_1_power.html#a76b4ec9d1ff07f06189e414480453d68',1,'mlx::core::Power::is_equivalent()'],['../classmlx_1_1core_1_1_quantized_matmul.html#af28b36e3f40ea41785387800326cc8e1',1,'mlx::core::QuantizedMatmul::is_equivalent()'],['../classmlx_1_1core_1_1_gather_q_m_m.html#a6a7da6bcf657fcdb157c45bf35fdec11',1,'mlx::core::GatherQMM::is_equivalent()'],['../classmlx_1_1core_1_1_random_bits.html#a72ec915debf5823e7c0463045b2894e6',1,'mlx::core::RandomBits::is_equivalent()'],['../classmlx_1_1core_1_1_real.html#a6d9bed396862a9e9d6abfbdcd8d8d239',1,'mlx::core::Real::is_equivalent()'],['../classmlx_1_1core_1_1_reshape.html#abd07c53af476777a04307e0423784cf3',1,'mlx::core::Reshape::is_equivalent()'],['../classmlx_1_1core_1_1_reduce.html#abe8f3327d617d0dd7438f066497ae08e',1,'mlx::core::Reduce::is_equivalent()'],['../classmlx_1_1core_1_1_round.html#aeb3d8607bbba7345a3142d4cbd4e6927',1,'mlx::core::Round::is_equivalent()'],['../classmlx_1_1core_1_1_scan.html#a54445a4d677ca4fe2a58d08eb5223ac6',1,'mlx::core::Scan::is_equivalent()'],['../classmlx_1_1core_1_1_scatter.html#a0208172562abdc90472e6eb5f84c987f',1,'mlx::core::Scatter::is_equivalent()'],['../classmlx_1_1core_1_1_sigmoid.html#a04814ba1b0edf8299d5ca1bcb8749d8e',1,'mlx::core::Sigmoid::is_equivalent()'],['../classmlx_1_1core_1_1_sign.html#a8c0934acbcc4b146e5aacd35a8c445bb',1,'mlx::core::Sign::is_equivalent()'],['../classmlx_1_1core_1_1_sin.html#af00b0e5516f884996ce7a97e6c1e3e6a',1,'mlx::core::Sin::is_equivalent()'],['../classmlx_1_1core_1_1_sinh.html#adcb1878996fd4902cd550042dd6ad70d',1,'mlx::core::Sinh::is_equivalent()'],['../classmlx_1_1core_1_1_slice.html#a43202c3b8966ae1db9ab82072e4918b0',1,'mlx::core::Slice::is_equivalent()'],['../classmlx_1_1core_1_1_slice_update.html#a60f588acced42391e6e5615ae8d16119',1,'mlx::core::SliceUpdate::is_equivalent()'],['../classmlx_1_1core_1_1_softmax.html#a9215ed7bd36bc11276c58dfb9808d728',1,'mlx::core::Softmax::is_equivalent()'],['../classmlx_1_1core_1_1_sort.html#ae48f07cf641d54234fc4fb6529a33511',1,'mlx::core::Sort::is_equivalent()'],['../classmlx_1_1core_1_1_split.html#af25a0cc259573b9dce60d285eee18345',1,'mlx::core::Split::is_equivalent()'],['../classmlx_1_1core_1_1_square.html#a6abc881d44071019aa15481e5ea75ab2',1,'mlx::core::Square::is_equivalent()'],['../classmlx_1_1core_1_1_sqrt.html#ab871c2b8ab4a27a3f782a005d0e87c46',1,'mlx::core::Sqrt::is_equivalent()'],['../classmlx_1_1core_1_1_stop_gradient.html#a327539298b21d800d26482b94fce41b3',1,'mlx::core::StopGradient::is_equivalent()'],['../classmlx_1_1core_1_1_subtract.html#af1c05e1e3f703ba916d54f8ccbbd102b',1,'mlx::core::Subtract::is_equivalent()'],['../classmlx_1_1core_1_1_tan.html#afdf46288e7f60ea7f878688347dff7e4',1,'mlx::core::Tan::is_equivalent()'],['../classmlx_1_1core_1_1_tanh.html#a0692a1de2373b86eb394252ed4fecfda',1,'mlx::core::Tanh::is_equivalent()'],['../classmlx_1_1core_1_1_uniform.html#abb6048807a7c5b2e35a77e06a17f801b',1,'mlx::core::Uniform::is_equivalent()'],['../classmlx_1_1core_1_1_view.html#a7cb8403a96a47cb258caac4e3b850f64',1,'mlx::core::View::is_equivalent()'],['../classmlx_1_1core_1_1_transpose.html#a799ec3c3fa9f1b9e6177c755252a3eab',1,'mlx::core::Transpose::is_equivalent()'],['../classmlx_1_1core_1_1_eigh.html#a09414e3fe88a952408d164d6dd0af381',1,'mlx::core::Eigh::is_equivalent()']]], ['is_5fintegral_64',['is_integral',['../structmlx_1_1steel_1_1is__integral.html',1,'mlx::steel']]], ['is_5fintegral_3c_20integral_5fconstant_3c_20t_2c_20v_20_3e_20_3e_65',['is_integral< integral_constant< T, v > >',['../structmlx_1_1steel_1_1is__integral_3_01integral__constant_3_01_t_00_01v_01_4_01_4.html',1,'mlx::steel']]], ['is_5fintegral_5fv_66',['is_integral_v',['../namespacemlx_1_1steel.html#a92a3465716ea7fd682d22cecc08d45fd',1,'mlx::steel']]], diff --git a/docs/build/html/search/all_d.js b/docs/build/html/search/all_d.js index 63018b94f..d63f103c6 100644 --- a/docs/build/html/search/all_d.js +++ b/docs/build/html/search/all_d.js @@ -1,7 +1,7 @@ var searchData= [ ['m_0',['M',['../structmlx_1_1steel_1_1_implicit_gemm_conv2_d_params.html#a2117fc93662d5177c8f3e7c2dbb9e2db',1,'mlx::steel::ImplicitGemmConv2DParams::M'],['../structmlx_1_1steel_1_1_g_e_m_m_params.html#a85b20a4c4558cc78d76fcbd045a9c694',1,'mlx::steel::GEMMParams::M'],['../structmlx_1_1steel_1_1_g_e_m_m_spilt_k_params.html#a8bab0cf8a20d2abefe294a7505917e7e',1,'mlx::steel::GEMMSpiltKParams::M']]], - ['make_5farrays_1',['make_arrays',['../classmlx_1_1core_1_1array.html#a1173db4e23f5a8230911cb8fba45d5e6',1,'mlx::core::array']]], + ['make_5farrays_1',['make_arrays',['../classmlx_1_1core_1_1array.html#a45b1c9763fe921fe5880ca28316ae98c',1,'mlx::core::array']]], ['make_5fcontiguous_5fstrides_2',['make_contiguous_strides',['../namespacemlx_1_1core.html#a085379297e21d57f5b3aa38ae1c26070',1,'mlx::core']]], ['make_5fstring_3',['make_string',['../namespacemlx_1_1core.html#aed148d95e7b5221f1312473deded0d27',1,'mlx::core']]], ['make_5fsynchronize_5ftask_4',['make_synchronize_task',['../namespacemlx_1_1core_1_1metal.html#ab31abdda3052162d59f6590a89e38337',1,'mlx::core::metal']]], @@ -100,7 +100,7 @@ var searchData= ['mmatile_3c_20float_2c_20tm_2c_201_2c_20mlx_3a_3asteel_3a_3abasemmafrag_20_3e_97',['MMATile< float, TM, 1, mlx::steel::BaseMMAFrag >',['../structmlx_1_1steel_1_1_m_m_a_tile.html',1,'mlx::steel']]], ['mmatile_3c_20float_2c_20tm_2c_20tn_2c_20mlx_3a_3asteel_3a_3abasemmafrag_20_3e_98',['MMATile< float, TM, TN, mlx::steel::BaseMMAFrag >',['../structmlx_1_1steel_1_1_m_m_a_tile.html',1,'mlx::steel']]], ['move_5for_5fcopy_99',['move_or_copy',['../namespacemlx_1_1core.html#a830a47d8a317dffb0c88e5a7afe6aee2',1,'mlx::core::move_or_copy(const array &in, array &out)'],['../namespacemlx_1_1core.html#aae1e770954edf1f9a35d19e0de4d857a',1,'mlx::core::move_or_copy(const array &in, array &out, const std::vector< size_t > &strides, array::Flags flags, size_t data_size, size_t offset=0)']]], - ['move_5fshared_5fbuffer_100',['move_shared_buffer',['../classmlx_1_1core_1_1array.html#acce00db63e0f3d80f797b02397ade836',1,'mlx::core::array::move_shared_buffer(array other, const std::vector< size_t > &strides, Flags flags, size_t data_size, size_t offset=0)'],['../classmlx_1_1core_1_1array.html#a38d7ad605f8282e5e49d0c09e0555c78',1,'mlx::core::array::move_shared_buffer(array other)']]], + ['move_5fshared_5fbuffer_100',['move_shared_buffer',['../classmlx_1_1core_1_1array.html#ad41cc5e7aebfcad849ad15d697584cf8',1,'mlx::core::array::move_shared_buffer(array other, const Strides &strides, Flags flags, size_t data_size, size_t offset=0)'],['../classmlx_1_1core_1_1array.html#a38d7ad605f8282e5e49d0c09e0555c78',1,'mlx::core::array::move_shared_buffer(array other)']]], ['moveaxis_101',['moveaxis',['../group__ops.html#ga24067d10a842db2c9d509ea48135a2c3',1,'mlx::core']]], ['mpinplace_102',['MPINPLACE',['../namespacepocketfft_1_1detail.html#af5eedf3cdfc83c0a30807092c39a9ce2',1,'pocketfft::detail']]], ['mtl_5fconst_103',['MTL_CONST',['../defines_8h.html#a767ed9f2604de22b259cee02c4ce1d22',1,'defines.h']]], diff --git a/docs/build/html/search/all_e.js b/docs/build/html/search/all_e.js index 908443b77..25d235391 100644 --- a/docs/build/html/search/all_e.js +++ b/docs/build/html/search/all_e.js @@ -14,33 +14,34 @@ var searchData= ['nd_5floop_11',['nd_loop',['../namespacemlx_1_1core.html#a9a9254ce9975ec247a2718bc02d6f201',1,'mlx::core']]], ['ndarr_12',['ndarr',['../classpocketfft_1_1detail_1_1ndarr.html',1,'pocketfft::detail::ndarr< T >'],['../classpocketfft_1_1detail_1_1ndarr.html#a8f0037a172d96cb1ad915a5069175fa2',1,'pocketfft::detail::ndarr::ndarr()']]], ['ndim_13',['ndim',['../struct_indices.html#a7dec359e91d0eb2b64e5461b54308313',1,'Indices::ndim'],['../structmlx_1_1core_1_1fast_1_1_custom_kernel_shape_info.html#ae605df33f449872e3da9777d97008051',1,'mlx::core::fast::CustomKernelShapeInfo::ndim'],['../classpocketfft_1_1detail_1_1arr__info.html#ac608c8af2a59a28a0012e308be7ee414',1,'pocketfft::detail::arr_info::ndim()'],['../classmlx_1_1core_1_1array.html#a53006e77d13d9d88b525ef577748939f',1,'mlx::core::array::ndim()']]], - ['needs_5ftgp_5freduction_14',['needs_tgp_reduction',['../struct_g_e_m_v_kernel.html#ae8113fddf6fb637acfd12efd978b704c',1,'GEMVKernel::needs_tgp_reduction'],['../struct_g_e_m_v_t_kernel.html#a67be7ec69c3791f02e97ccdb00ae0e03',1,'GEMVTKernel::needs_tgp_reduction']]], - ['negative_15',['Negative',['../structmlx_1_1core_1_1detail_1_1_negative.html',1,'mlx::core::detail::Negative'],['../classmlx_1_1core_1_1_negative.html',1,'mlx::core::Negative'],['../struct_negative.html',1,'Negative'],['../classmlx_1_1core_1_1_negative.html#aa3b73395d9fa5b7215dca488bc0d3c70',1,'mlx::core::Negative::Negative()']]], - ['negative_16',['negative',['../group__ops.html#ga95d9a9425533b5ed1707eb00184dffc6',1,'mlx::core']]], - ['new_5fqueue_17',['new_queue',['../classmlx_1_1core_1_1metal_1_1_device.html#a8135ae2a8c1e6f3861e84d4e60c28b67',1,'mlx::core::metal::Device']]], - ['new_5fscoped_5fmemory_5fpool_18',['new_scoped_memory_pool',['../namespacemlx_1_1core_1_1metal.html#a46583a1aba89449fa72e6cb3a7090981',1,'mlx::core::metal']]], - ['new_5fstream_19',['new_stream',['../classmlx_1_1core_1_1scheduler_1_1_scheduler.html#a157c8da85fa1bddb8eacf8515a3cc879',1,'mlx::core::scheduler::Scheduler::new_stream()'],['../namespacemlx_1_1core_1_1metal.html#a8b4188f9a090a1da42d62b8a369bf106',1,'mlx::core::metal::new_stream()'],['../namespacemlx_1_1core.html#a6f7c63a9be10337b3b96d527e1db3c2f',1,'mlx::core::new_stream()']]], - ['next_20',['next',['../struct_quantized_block_loader.html#a674138ef7c43cc45586ea9f8fd6f6bd9',1,'QuantizedBlockLoader::next()'],['../structmlx_1_1steel_1_1_block_loader.html#a6af21428f0e7c17b48ddedf4dd20a1e8',1,'mlx::steel::BlockLoader::next()'],['../structmlx_1_1steel_1_1_block_loader_t.html#a6008ef45ff980dbe1119da0630f6c697',1,'mlx::steel::BlockLoaderT::next()'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a3b71f379ff9baf39830c92f4f1ecde52',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::next()'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a78d2b0098311a278be8394edbd5fc731',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::next()'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#aae56c19bb562219770fec38e5666c6ce',1,'mlx::steel::Conv2DWeightBlockLoader::next()'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#af9ce1a767266664bea131a5437002c80',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::next()'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#a30b10bebde7f08b89d03bdd9ea0f48da',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::next()'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a3e5ee68ed0ee43f7e979dd4222f76a8c',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::next()'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a11743cb1c108f42ccdc6e59204a5b3e8',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::next()'],['../structmlx_1_1steel_1_1_block_loader.html#a6af21428f0e7c17b48ddedf4dd20a1e8',1,'mlx::steel::BlockLoader::next()'],['../struct_looped_elem_to_loc.html#a54c743940bf96350f3be42bba5d28205',1,'LoopedElemToLoc::next(const constant int *shape, const constant size_t *strides)'],['../struct_looped_elem_to_loc.html#a7da7bd04e79ba86f71c535b5a6ec1a2d',1,'LoopedElemToLoc::next(int n, const constant int *shape, const constant size_t *strides)'],['../struct_looped_elem_to_loc_3_011_00_01_offset_t_00_01true_01_4.html#af5a7c0cddeb52da88fa1140f44aec45c',1,'LoopedElemToLoc< 1, OffsetT, true >::next(const constant int *shape, const constant size_t *strides)'],['../struct_looped_elem_to_loc_3_011_00_01_offset_t_00_01true_01_4.html#a8fe55b3a2fa8cd35af568085faed785d',1,'LoopedElemToLoc< 1, OffsetT, true >::next(int n, const constant int *shape, const constant size_t *strides)'],['../struct_looped_elem_to_loc_3_011_00_01_offset_t_00_01false_01_4.html#a03f3ca7a60bb85e36d7eba75e0e08b15',1,'LoopedElemToLoc< 1, OffsetT, false >::next(const constant int *, const constant size_t *strides)'],['../struct_looped_elem_to_loc_3_011_00_01_offset_t_00_01false_01_4.html#af8f2b29946324756c09951b69e170dd8',1,'LoopedElemToLoc< 1, OffsetT, false >::next(int n, const constant int *, const constant size_t *strides)'],['../classmlx_1_1core_1_1random_1_1_key_sequence.html#a4193c5eac3ef093a740d5305b25d3e18',1,'mlx::core::random::KeySequence::next()'],['../backend_2metal_2allocator_8h.html#ae704ab07eac590091daa5fc4aec7bddb',1,'next: allocator.h']]], - ['next_5fpower_5fof_5f2_21',['next_power_of_2',['../namespacemlx_1_1core.html#a685c0530e338aabc622325685846ce93',1,'mlx::core']]], - ['nextafter_22',['nextafter',['../namespacemetal.html#a9547fd7b09164931986f6db4813bd72d',1,'metal::nextafter()'],['../namespacemetal_1_1fast.html#a4583e8be04fc0bd475b97b0934604f23',1,'metal::fast::nextafter()'],['../namespacemetal_1_1precise.html#ad012ceeb55b77f1533749b351331e026',1,'metal::precise::nextafter()']]], - ['nk_23',['NK',['../structmlx_1_1steel_1_1_attn_params.html#a68a66e3fafa922dcfd1ab1f6bdc2375e',1,'mlx::steel::AttnParams']]], - ['nk_5faligned_24',['NK_aligned',['../structmlx_1_1steel_1_1_attn_params.html#aaf953954274794cfcb4e35e82d681b58',1,'mlx::steel::AttnParams']]], - ['no_5ffuse_25',['no_fuse',['../namespacemlx_1_1core.html#adb15ff2b1ca5207fd4f6e631e2c3bcb4ada8df7fd43da6073fec4fe5666b03dbb',1,'mlx::core']]], - ['no_5fsimplify_26',['no_simplify',['../namespacemlx_1_1core.html#adb15ff2b1ca5207fd4f6e631e2c3bcb4a8e5611dfddbae6e68624c59aa3e4e3e2',1,'mlx::core']]], - ['nodenamer_27',['NodeNamer',['../structmlx_1_1core_1_1_node_namer.html',1,'mlx::core']]], - ['nomask_5ft_28',['nomask_t',['../kernels_2gemv__masked_8h.html#a1480c8cdff1cae1462a5a71632969bca',1,'gemv_masked.h']]], - ['none_29',['None',['../struct_none.html',1,'None'],['../classmlx_1_1core_1_1_scatter.html#a614d19af11dc30644b2b4941033b613ca87a6a1927de175b71d7d0b5c11b8665c',1,'mlx::core::Scatter::None']]], - ['norm_30',['norm',['../namespacemlx_1_1core_1_1linalg.html#aba765b8e95e9a1d33d31f727a185919d',1,'mlx::core::linalg::norm(const array &a, const double ord, const std::optional< std::vector< int > > &axis=std::nullopt, bool keepdims=false, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1linalg.html#acaa85b4146821c268abecec2422c02d2',1,'mlx::core::linalg::norm(const array &a, const double ord, int axis, bool keepdims=false, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1linalg.html#af1ebe0c6dcba9a1c49b5e397dddf3264',1,'mlx::core::linalg::norm(const array &a, const std::string &ord, const std::optional< std::vector< int > > &axis=std::nullopt, bool keepdims=false, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1linalg.html#ae8da67e4c6e073f93889f1051203cd9e',1,'mlx::core::linalg::norm(const array &a, const std::string &ord, int axis, bool keepdims=false, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1linalg.html#a229018071d5602e38d6248230f334a10',1,'mlx::core::linalg::norm(const array &a, const std::optional< std::vector< int > > &axis=std::nullopt, bool keepdims=false, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1linalg.html#a44250cff34238f01471fd61e76036f03',1,'mlx::core::linalg::norm(const array &a, int axis, bool keepdims=false, StreamOrDevice s={})']]], - ['normal_31',['normal',['../namespacemlx_1_1core_1_1random.html#aa3977269b77f66c6397c7c72f873d17a',1,'mlx::core::random::normal(const std::vector< int > &shape, Dtype dtype, const float loc, const float scale, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1random.html#aa3516ace3ebc5e80ca73fb8f50df436f',1,'mlx::core::random::normal(const std::vector< int > &shape, const float loc, const float scale, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1random.html#a75ecf88e36a4013ecda18a91cb60befb',1,'mlx::core::random::normal(const std::vector< int > &shape, const Dtype dtype, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1random.html#a7723a27a0093a1f51ca31d26c1d061c8',1,'mlx::core::random::normal(const std::vector< int > &shape, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})']]], - ['normalize_5faxis_32',['normalize_axis',['../namespacemlx_1_1core.html#a0181b5d72bf3d34448dabc70f7ff858d',1,'mlx::core']]], - ['not_5fequal_33',['not_equal',['../group__ops.html#ga28f22c5d2c399eee53be7b3facc11103',1,'mlx::core']]], - ['notequal_34',['NotEqual',['../structmlx_1_1core_1_1detail_1_1_not_equal.html',1,'mlx::core::detail::NotEqual'],['../classmlx_1_1core_1_1_not_equal.html',1,'mlx::core::NotEqual'],['../struct_not_equal.html',1,'NotEqual'],['../classmlx_1_1core_1_1_not_equal.html#ac568397bd17b5d9f25ad1a0ebadedbb9',1,'mlx::core::NotEqual::NotEqual()']]], - ['notify_5fnew_5ftask_35',['notify_new_task',['../classmlx_1_1core_1_1scheduler_1_1_scheduler.html#ae8aa34a9be8bc73508dd500000421173',1,'mlx::core::scheduler::Scheduler::notify_new_task()'],['../namespacemlx_1_1core_1_1scheduler.html#a6b7289e33cef665178fe614aac75c1b2',1,'mlx::core::scheduler::notify_new_task()']]], - ['notify_5ftask_5fcompletion_36',['notify_task_completion',['../classmlx_1_1core_1_1scheduler_1_1_scheduler.html#abbb2b1c2f8bae2b9c7cc51db65f18a3b',1,'mlx::core::scheduler::Scheduler::notify_task_completion()'],['../namespacemlx_1_1core_1_1scheduler.html#a1d06ffdbab36790b78deb6e34adc737f',1,'mlx::core::scheduler::notify_task_completion()']]], - ['nq_37',['NQ',['../structmlx_1_1steel_1_1_attn_params.html#a48575afc94ab9ff74deaba61464e57a1',1,'mlx::steel::AttnParams']]], - ['nq_5faligned_38',['NQ_aligned',['../structmlx_1_1steel_1_1_attn_params.html#a4cfd2ccb0fd7eb81c2a781a0614fdcbe',1,'mlx::steel::AttnParams']]], - ['num_5fthreads_39',['num_threads',['../namespacepocketfft_1_1detail_1_1threading.html#af5432c2e25aed679a73fe7b29534c833',1,'pocketfft::detail::threading']]], - ['number_40',['number',['../structmlx_1_1core_1_1_dtype.html#ac091c39cbd6686ef69aa1e5a2425aa2dab1bc248a7ff2b2e95569f56de68615df',1,'mlx::core::Dtype::number'],['../namespacemlx_1_1core.html#a069c0aab6b36aef34419534ec4a4310d',1,'mlx::core::number']]], - ['number_5fof_5felements_41',['number_of_elements',['../group__ops.html#ga6d5f5f72362488b956cdc4615ef6c636',1,'mlx::core']]], - ['numberofelements_42',['NumberOfElements',['../classmlx_1_1core_1_1_number_of_elements.html',1,'mlx::core::NumberOfElements'],['../classmlx_1_1core_1_1_number_of_elements.html#ac64d7c40ae29d687f8b7d2fa33e13b06',1,'mlx::core::NumberOfElements::NumberOfElements()']]] + ['needs_5fmask_5f_14',['needs_mask_',['../classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention.html#a6f0ec2b6fea373324f842a66e9c6cb93',1,'mlx::core::fast::ScaledDotProductAttention']]], + ['needs_5ftgp_5freduction_15',['needs_tgp_reduction',['../struct_g_e_m_v_kernel.html#ae8113fddf6fb637acfd12efd978b704c',1,'GEMVKernel::needs_tgp_reduction'],['../struct_g_e_m_v_t_kernel.html#a67be7ec69c3791f02e97ccdb00ae0e03',1,'GEMVTKernel::needs_tgp_reduction']]], + ['negative_16',['Negative',['../structmlx_1_1core_1_1detail_1_1_negative.html',1,'mlx::core::detail::Negative'],['../classmlx_1_1core_1_1_negative.html',1,'mlx::core::Negative'],['../struct_negative.html',1,'Negative'],['../classmlx_1_1core_1_1_negative.html#aa3b73395d9fa5b7215dca488bc0d3c70',1,'mlx::core::Negative::Negative()']]], + ['negative_17',['negative',['../group__ops.html#ga95d9a9425533b5ed1707eb00184dffc6',1,'mlx::core']]], + ['new_5fqueue_18',['new_queue',['../classmlx_1_1core_1_1metal_1_1_device.html#a8135ae2a8c1e6f3861e84d4e60c28b67',1,'mlx::core::metal::Device']]], + ['new_5fscoped_5fmemory_5fpool_19',['new_scoped_memory_pool',['../namespacemlx_1_1core_1_1metal.html#a46583a1aba89449fa72e6cb3a7090981',1,'mlx::core::metal']]], + ['new_5fstream_20',['new_stream',['../classmlx_1_1core_1_1scheduler_1_1_scheduler.html#a157c8da85fa1bddb8eacf8515a3cc879',1,'mlx::core::scheduler::Scheduler::new_stream()'],['../namespacemlx_1_1core_1_1metal.html#a8b4188f9a090a1da42d62b8a369bf106',1,'mlx::core::metal::new_stream()'],['../namespacemlx_1_1core.html#a6f7c63a9be10337b3b96d527e1db3c2f',1,'mlx::core::new_stream()']]], + ['next_21',['next',['../struct_quantized_block_loader.html#a674138ef7c43cc45586ea9f8fd6f6bd9',1,'QuantizedBlockLoader::next()'],['../structmlx_1_1steel_1_1_block_loader.html#a6af21428f0e7c17b48ddedf4dd20a1e8',1,'mlx::steel::BlockLoader::next()'],['../structmlx_1_1steel_1_1_block_loader_t.html#a6008ef45ff980dbe1119da0630f6c697',1,'mlx::steel::BlockLoaderT::next()'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a3b71f379ff9baf39830c92f4f1ecde52',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::next()'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a78d2b0098311a278be8394edbd5fc731',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::next()'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#aae56c19bb562219770fec38e5666c6ce',1,'mlx::steel::Conv2DWeightBlockLoader::next()'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#af9ce1a767266664bea131a5437002c80',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::next()'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#a30b10bebde7f08b89d03bdd9ea0f48da',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::next()'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a3e5ee68ed0ee43f7e979dd4222f76a8c',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::next()'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a11743cb1c108f42ccdc6e59204a5b3e8',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::next()'],['../structmlx_1_1steel_1_1_block_loader.html#a6af21428f0e7c17b48ddedf4dd20a1e8',1,'mlx::steel::BlockLoader::next()'],['../struct_looped_elem_to_loc.html#a54c743940bf96350f3be42bba5d28205',1,'LoopedElemToLoc::next(const constant int *shape, const constant size_t *strides)'],['../struct_looped_elem_to_loc.html#a7da7bd04e79ba86f71c535b5a6ec1a2d',1,'LoopedElemToLoc::next(int n, const constant int *shape, const constant size_t *strides)'],['../struct_looped_elem_to_loc_3_011_00_01_offset_t_00_01true_01_4.html#af5a7c0cddeb52da88fa1140f44aec45c',1,'LoopedElemToLoc< 1, OffsetT, true >::next(const constant int *shape, const constant size_t *strides)'],['../struct_looped_elem_to_loc_3_011_00_01_offset_t_00_01true_01_4.html#a8fe55b3a2fa8cd35af568085faed785d',1,'LoopedElemToLoc< 1, OffsetT, true >::next(int n, const constant int *shape, const constant size_t *strides)'],['../struct_looped_elem_to_loc_3_011_00_01_offset_t_00_01false_01_4.html#a03f3ca7a60bb85e36d7eba75e0e08b15',1,'LoopedElemToLoc< 1, OffsetT, false >::next(const constant int *, const constant size_t *strides)'],['../struct_looped_elem_to_loc_3_011_00_01_offset_t_00_01false_01_4.html#af8f2b29946324756c09951b69e170dd8',1,'LoopedElemToLoc< 1, OffsetT, false >::next(int n, const constant int *, const constant size_t *strides)'],['../classmlx_1_1core_1_1random_1_1_key_sequence.html#a4193c5eac3ef093a740d5305b25d3e18',1,'mlx::core::random::KeySequence::next()'],['../backend_2metal_2allocator_8h.html#ae704ab07eac590091daa5fc4aec7bddb',1,'next: allocator.h']]], + ['next_5fpower_5fof_5f2_22',['next_power_of_2',['../namespacemlx_1_1core.html#a685c0530e338aabc622325685846ce93',1,'mlx::core']]], + ['nextafter_23',['nextafter',['../namespacemetal.html#a9547fd7b09164931986f6db4813bd72d',1,'metal::nextafter()'],['../namespacemetal_1_1fast.html#a4583e8be04fc0bd475b97b0934604f23',1,'metal::fast::nextafter()'],['../namespacemetal_1_1precise.html#ad012ceeb55b77f1533749b351331e026',1,'metal::precise::nextafter()']]], + ['nk_24',['NK',['../structmlx_1_1steel_1_1_attn_params.html#a68a66e3fafa922dcfd1ab1f6bdc2375e',1,'mlx::steel::AttnParams']]], + ['nk_5faligned_25',['NK_aligned',['../structmlx_1_1steel_1_1_attn_params.html#aaf953954274794cfcb4e35e82d681b58',1,'mlx::steel::AttnParams']]], + ['no_5ffuse_26',['no_fuse',['../namespacemlx_1_1core.html#adb15ff2b1ca5207fd4f6e631e2c3bcb4ada8df7fd43da6073fec4fe5666b03dbb',1,'mlx::core']]], + ['no_5fsimplify_27',['no_simplify',['../namespacemlx_1_1core.html#adb15ff2b1ca5207fd4f6e631e2c3bcb4a8e5611dfddbae6e68624c59aa3e4e3e2',1,'mlx::core']]], + ['nodenamer_28',['NodeNamer',['../structmlx_1_1core_1_1_node_namer.html',1,'mlx::core']]], + ['nomask_5ft_29',['nomask_t',['../kernels_2gemv__masked_8h.html#a1480c8cdff1cae1462a5a71632969bca',1,'gemv_masked.h']]], + ['none_30',['None',['../struct_none.html',1,'None'],['../classmlx_1_1core_1_1_scatter.html#a614d19af11dc30644b2b4941033b613ca87a6a1927de175b71d7d0b5c11b8665c',1,'mlx::core::Scatter::None']]], + ['norm_31',['norm',['../namespacemlx_1_1core_1_1linalg.html#aba765b8e95e9a1d33d31f727a185919d',1,'mlx::core::linalg::norm(const array &a, const double ord, const std::optional< std::vector< int > > &axis=std::nullopt, bool keepdims=false, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1linalg.html#acaa85b4146821c268abecec2422c02d2',1,'mlx::core::linalg::norm(const array &a, const double ord, int axis, bool keepdims=false, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1linalg.html#af1ebe0c6dcba9a1c49b5e397dddf3264',1,'mlx::core::linalg::norm(const array &a, const std::string &ord, const std::optional< std::vector< int > > &axis=std::nullopt, bool keepdims=false, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1linalg.html#ae8da67e4c6e073f93889f1051203cd9e',1,'mlx::core::linalg::norm(const array &a, const std::string &ord, int axis, bool keepdims=false, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1linalg.html#a229018071d5602e38d6248230f334a10',1,'mlx::core::linalg::norm(const array &a, const std::optional< std::vector< int > > &axis=std::nullopt, bool keepdims=false, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1linalg.html#a44250cff34238f01471fd61e76036f03',1,'mlx::core::linalg::norm(const array &a, int axis, bool keepdims=false, StreamOrDevice s={})']]], + ['normal_32',['normal',['../namespacemlx_1_1core_1_1random.html#aa3977269b77f66c6397c7c72f873d17a',1,'mlx::core::random::normal(const std::vector< int > &shape, Dtype dtype, const float loc, const float scale, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1random.html#aa3516ace3ebc5e80ca73fb8f50df436f',1,'mlx::core::random::normal(const std::vector< int > &shape, const float loc, const float scale, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1random.html#a75ecf88e36a4013ecda18a91cb60befb',1,'mlx::core::random::normal(const std::vector< int > &shape, const Dtype dtype, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1random.html#a7723a27a0093a1f51ca31d26c1d061c8',1,'mlx::core::random::normal(const std::vector< int > &shape, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})']]], + ['normalize_5faxis_33',['normalize_axis',['../namespacemlx_1_1core.html#a0181b5d72bf3d34448dabc70f7ff858d',1,'mlx::core']]], + ['not_5fequal_34',['not_equal',['../group__ops.html#ga28f22c5d2c399eee53be7b3facc11103',1,'mlx::core']]], + ['notequal_35',['NotEqual',['../structmlx_1_1core_1_1detail_1_1_not_equal.html',1,'mlx::core::detail::NotEqual'],['../classmlx_1_1core_1_1_not_equal.html',1,'mlx::core::NotEqual'],['../struct_not_equal.html',1,'NotEqual'],['../classmlx_1_1core_1_1_not_equal.html#ac568397bd17b5d9f25ad1a0ebadedbb9',1,'mlx::core::NotEqual::NotEqual()']]], + ['notify_5fnew_5ftask_36',['notify_new_task',['../classmlx_1_1core_1_1scheduler_1_1_scheduler.html#ae8aa34a9be8bc73508dd500000421173',1,'mlx::core::scheduler::Scheduler::notify_new_task()'],['../namespacemlx_1_1core_1_1scheduler.html#a6b7289e33cef665178fe614aac75c1b2',1,'mlx::core::scheduler::notify_new_task()']]], + ['notify_5ftask_5fcompletion_37',['notify_task_completion',['../classmlx_1_1core_1_1scheduler_1_1_scheduler.html#abbb2b1c2f8bae2b9c7cc51db65f18a3b',1,'mlx::core::scheduler::Scheduler::notify_task_completion()'],['../namespacemlx_1_1core_1_1scheduler.html#a1d06ffdbab36790b78deb6e34adc737f',1,'mlx::core::scheduler::notify_task_completion()']]], + ['nq_38',['NQ',['../structmlx_1_1steel_1_1_attn_params.html#a48575afc94ab9ff74deaba61464e57a1',1,'mlx::steel::AttnParams']]], + ['nq_5faligned_39',['NQ_aligned',['../structmlx_1_1steel_1_1_attn_params.html#a4cfd2ccb0fd7eb81c2a781a0614fdcbe',1,'mlx::steel::AttnParams']]], + ['num_5fthreads_40',['num_threads',['../namespacepocketfft_1_1detail_1_1threading.html#af5432c2e25aed679a73fe7b29534c833',1,'pocketfft::detail::threading']]], + ['number_41',['number',['../structmlx_1_1core_1_1_dtype.html#ac091c39cbd6686ef69aa1e5a2425aa2dab1bc248a7ff2b2e95569f56de68615df',1,'mlx::core::Dtype::number'],['../namespacemlx_1_1core.html#a069c0aab6b36aef34419534ec4a4310d',1,'mlx::core::number']]], + ['number_5fof_5felements_42',['number_of_elements',['../group__ops.html#ga6d5f5f72362488b956cdc4615ef6c636',1,'mlx::core']]], + ['numberofelements_43',['NumberOfElements',['../classmlx_1_1core_1_1_number_of_elements.html',1,'mlx::core::NumberOfElements'],['../classmlx_1_1core_1_1_number_of_elements.html#ac64d7c40ae29d687f8b7d2fa33e13b06',1,'mlx::core::NumberOfElements::NumberOfElements()']]] ]; diff --git a/docs/build/html/search/all_f.js b/docs/build/html/search/all_f.js index 68df8ad47..44ab7c53f 100644 --- a/docs/build/html/search/all_f.js +++ b/docs/build/html/search/all_f.js @@ -3,58 +3,59 @@ var searchData= ['o_0',['O',['../struct_m_l_x_conv_params.html#ad55ff586d30072d8154865f9dfe92d97',1,'MLXConvParams']]], ['o_5fstrides_1',['O_strides',['../structmlx_1_1steel_1_1_attn_params.html#a33dc7fc22d2604a73af9f94eeea45bb4',1,'mlx::steel::AttnParams']]], ['offset_2',['offset',['../struct_looped_elem_to_loc.html#acdffe540c383a67417604b6080704791',1,'LoopedElemToLoc::offset'],['../struct_looped_elem_to_loc_3_011_00_01_offset_t_00_01true_01_4.html#a3a18944c158e2747a6ddebb420299a3b',1,'LoopedElemToLoc< 1, OffsetT, true >::offset'],['../struct_looped_elem_to_loc_3_011_00_01_offset_t_00_01false_01_4.html#af792b1fd4e8286f97b9b863c127a2d9a',1,'LoopedElemToLoc< 1, OffsetT, false >::offset']]], - ['offset_5fneg_5fidx_3',['offset_neg_idx',['../kernels_2indexing_8h.html#a58a65ea6215999cd4ccb4fe757cc2dc8',1,'indexing.h']]], - ['ofs_4',['ofs',['../classpocketfft_1_1detail_1_1simple__iter.html#ab59481ad9c8f04addb907c3ebb89f8fa',1,'pocketfft::detail::simple_iter::ofs()'],['../classpocketfft_1_1detail_1_1rev__iter.html#a78c3b4ad19edf9d20cab40ad109e9dd1',1,'pocketfft::detail::rev_iter::ofs()']]], - ['ones_5',['ones',['../group__ops.html#ga54eeed455321a54c8e72e16552a978f2',1,'mlx::core::ones(const std::vector< int > &shape, Dtype dtype, StreamOrDevice s={})'],['../group__ops.html#ga6cf4b5e8580e4436302c519d05897dab',1,'mlx::core::ones(const std::vector< int > &shape, StreamOrDevice s={})']]], - ['ones_5flike_6',['ones_like',['../group__ops.html#ga94f8d3b1906fee99da9cbe39f7be7d42',1,'mlx::core']]], - ['oofs_7',['oofs',['../classpocketfft_1_1detail_1_1multi__iter.html#aae63e67caac095d474ddd32daa5ffa34',1,'pocketfft::detail::multi_iter::oofs(size_t i) const'],['../classpocketfft_1_1detail_1_1multi__iter.html#a9236047e7419e5d21379cbf95eb3a78e',1,'pocketfft::detail::multi_iter::oofs(size_t j, size_t i) const']]], - ['op_8',['Op',['../classmlx_1_1core_1_1_bitwise_binary.html#a6f8b5d455d0c1770428a6bef1608f23d',1,'mlx::core::BitwiseBinary']]], - ['op_9',['op',['../structmlx_1_1core_1_1_default_strided_reduce.html#ac871f55a7ddd205574974cb4492a240b',1,'mlx::core::DefaultStridedReduce::op'],['../structmlx_1_1core_1_1_default_contiguous_reduce.html#a1928f07db988715cc177999e386f4830',1,'mlx::core::DefaultContiguousReduce::op'],['../common_2binary_8h.html#a70228731d29946574b238d21fb4b360c',1,'op: binary.h']]], - ['operations_10',['Core array operations',['../group__ops.html',1,'']]], - ['operator_20bool_11',['operator bool',['../struct___no_mask.html#ad3723c1e70e46beefd283ce6317416cb',1,'_NoMask::operator bool()'],['../struct___no_mask.html#aafbf8a3201e1cc1abf74dd1f1b7272cd',1,'_NoMask::operator bool() const threadgroup'],['../struct___no_mask.html#a73e9612a619885cbc97cbd8f40df71e7',1,'_NoMask::operator bool() const device'],['../struct___no_mask.html#a4bf336d472bc677028250f76b9cdc08c',1,'_NoMask::operator bool() const constant'],['../struct___no_mask.html#ad3723c1e70e46beefd283ce6317416cb',1,'_NoMask::operator bool()'],['../struct___no_mask.html#aafbf8a3201e1cc1abf74dd1f1b7272cd',1,'_NoMask::operator bool() const threadgroup'],['../struct___no_mask.html#a73e9612a619885cbc97cbd8f40df71e7',1,'_NoMask::operator bool() const device'],['../struct___no_mask.html#a4bf336d472bc677028250f76b9cdc08c',1,'_NoMask::operator bool() const constant']]], - ['operator_20dtype_12',['operator Dtype',['../structmlx_1_1core_1_1_type_to_dtype.html#aefdd0fd6a5bbf0197a3996ccd4adea13',1,'mlx::core::TypeToDtype']]], - ['operator_20float_13',['operator float',['../structmlx_1_1core_1_1___m_l_x___b_float16.html#aaae72e5340ce91325f1925be36ba46cb',1,'mlx::core::_MLX_BFloat16::operator float()'],['../structmlx_1_1core_1_1complex128__t.html#a3e2faf180c0b785646a0e4296f709a5e',1,'mlx::core::complex128_t::operator float()'],['../structmlx_1_1core_1_1complex64__t.html#a90d224dd37308345086bb9cc882ef6fc',1,'mlx::core::complex64_t::operator float()'],['../structmlx_1_1core_1_1___m_l_x___float16.html#a363de5054f3673bddc90293fc3c9bb99',1,'mlx::core::_MLX_Float16::operator float()']]], - ['operator_20t_14',['operator T',['../structcomplex64__t.html#a70e9b16031eeaff3baa601f400023fcd',1,'complex64_t::operator T() const thread'],['../structcomplex64__t.html#a4f3beea7ab6001189b782a74d1746b67',1,'complex64_t::operator T() const threadgroup'],['../structcomplex64__t.html#a9f4f7eca89ffe6c8d126a4145df6d9f2',1,'complex64_t::operator T() const device'],['../structcomplex64__t.html#ac33e2e5263fec76a4fb4418c6e1d8d14',1,'complex64_t::operator T() const constant'],['../struct___m_l_x___b_float16.html#aa7dfefdf0d15e102d2b8258c9ab01836',1,'_MLX_BFloat16::operator T() const thread'],['../struct___m_l_x___b_float16.html#a2546a8afa77e14ed5b3c5da79a281260',1,'_MLX_BFloat16::operator T() const threadgroup'],['../struct___m_l_x___b_float16.html#a1d523f87740fcb852db6ab57896c245a',1,'_MLX_BFloat16::operator T() const device'],['../struct___m_l_x___b_float16.html#a95acd29283024d7093a0bc58c9468a0a',1,'_MLX_BFloat16::operator T() const constant']]], - ['operator_20val_15',['operator Val',['../structmlx_1_1core_1_1_dtype.html#a3b3bc059be5836476da3cb88a4f5e9fd',1,'mlx::core::Dtype']]], - ['operator_20value_5ftype_16',['operator value_type',['../structmlx_1_1steel_1_1integral__constant.html#a0c11203bed44a6a2c387b365134dcd64',1,'mlx::steel::integral_constant']]], - ['operator_21_3d_17',['operator!=',['../structmlx_1_1core_1_1array_1_1_array_iterator.html#a971aa511ab2e7ae1caae09556643a0bd',1,'mlx::core::array::ArrayIterator::operator!='],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#afc6e4fc5589bbf30f978f34868dd4e55',1,'operator!=(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a6baa722c22d66c7510786bb275cb8cc2',1,'operator!=(_MLX_BFloat16 lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa8d9f01582a0a9f01a666d110c74db2a',1,'operator!=(float lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa504a474ab6e00ebe2b1b7ed2f7d1ffb',1,'operator!=(_MLX_BFloat16 lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#abf5f3040227f021a5b84cf2eda248b2f',1,'operator!=(half lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a347c9bbf816bad2e9e5e91aa448f8b65',1,'operator!=(_MLX_BFloat16 lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a33ea086b561c652f25833a5e1ded34dd',1,'operator!=(int32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a2bbdcece13148826d3fe33af727bb79b',1,'operator!=(_MLX_BFloat16 lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aeb1efa47c5f22cc0b35d49ccce73c406',1,'operator!=(uint32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa6b99cde403405df1865c989e4ce845a',1,'operator!=(_MLX_BFloat16 lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a204d13a881ae8d337f6efbb98673790c',1,'operator!=(int64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a3602117b4c61d5cd4fd72fb8e5f68bd6',1,'operator!=(_MLX_BFloat16 lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a2721c088adfc9d73cde442d6badd2a6c',1,'operator!=(uint64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1steel.html#aa4364eda56525cf7576ff00e550175e6',1,'mlx::steel::operator!=()'],['../namespacemlx_1_1core.html#a94d00a1b7f8a4717ab3f26f45e4da655',1,'mlx::core::operator!=(const Device &lhs, const Device &rhs)'],['../group__ops.html#ga0ac483d85f23252ca8757e9926d5a3c5',1,'mlx::core::operator!=(const array &a, const array &b)'],['../group__ops.html#ga3fecba9f3cb9a19afd8ca492cf509ce0',1,'mlx::core::operator!=(T a, const array &b)'],['../group__ops.html#gaebbf1cfde388c7480159a03c92c9a385',1,'mlx::core::operator!=(const array &a, T b)'],['../namespacemlx_1_1core.html#a164f109bc19c927b2b3bcc47a5021419',1,'mlx::core::operator!=(const Stream &lhs, const Stream &rhs)'],['../namespacemlx_1_1core.html#ad2f9e1c230ec35d5c406dd616e8f4dea',1,'mlx::core::operator!=(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#af5899b4d5644682cb0ac2a488f630d55',1,'mlx::core::operator!=(_MLX_BFloat16 lhs, float rhs)'],['../namespacemlx_1_1core.html#a72ac8edd190601d7a46782582cedecd8',1,'mlx::core::operator!=(float lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a8084162ba2dd3f9b89195d2bebc3fbb0',1,'mlx::core::operator!=(_MLX_BFloat16 lhs, double rhs)'],['../namespacemlx_1_1core.html#a514263e63f6825b490203ca586864687',1,'mlx::core::operator!=(double lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a1c482bb3d9f9d4c62dee5865892c1f96',1,'mlx::core::operator!=(_MLX_BFloat16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a0030fe7ad09837c670cdfb7d51279519',1,'mlx::core::operator!=(int32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ade3791bc723b8f10fbab22eadb0f705a',1,'mlx::core::operator!=(_MLX_BFloat16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#ad78c664f242cd36247c13868547e3dd4',1,'mlx::core::operator!=(uint32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ab0743a1a1dcb92d40f41ca42d36f242c',1,'mlx::core::operator!=(_MLX_BFloat16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#ae7a0f810e546a166c7d05849b5d41f30',1,'mlx::core::operator!=(int64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a676a40637a563f013c725d24fa33fdc8',1,'mlx::core::operator!=(_MLX_BFloat16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a9fcb662b1561e4136bac0106cfb63b6c',1,'mlx::core::operator!=(uint64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#abcca7fd43590c4347e0f5df8f134030c',1,'mlx::core::operator!=(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#af3ede3688a2e3b3ba8cb2da180ffe151',1,'mlx::core::operator!=(_MLX_Float16 lhs, float rhs)'],['../namespacemlx_1_1core.html#a54f48469fabd1414bef5097bcded0002',1,'mlx::core::operator!=(float lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#af8c648e892cbc6973de535aa17dc2cfe',1,'mlx::core::operator!=(_MLX_Float16 lhs, double rhs)'],['../namespacemlx_1_1core.html#abc855e1c0584b64d7d995e33211361ab',1,'mlx::core::operator!=(double lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ad3684d660d18a54505c759ab286bd936',1,'mlx::core::operator!=(_MLX_Float16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a8afdda14b14262ab5ce0a00c7745d7e8',1,'mlx::core::operator!=(int32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a7ccc479be236f2bf3f7725729c5ba201',1,'mlx::core::operator!=(_MLX_Float16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a26a721b8111fce3a1dec9bf724034cd4',1,'mlx::core::operator!=(uint32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ad5f8c221a53a89e8095aa39fd1f61867',1,'mlx::core::operator!=(_MLX_Float16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a017b52ecf30b33da4aa8da35ccc43220',1,'mlx::core::operator!=(int64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a43c10ca5fb05ee7d0ee63ba56f8a08a3',1,'mlx::core::operator!=(_MLX_Float16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a81284b6ac737f91a8d1ffbbbbf938fe5',1,'mlx::core::operator!=(uint64_t lhs, _MLX_Float16 rhs)']]], - ['operator_25_18',['operator%',['../backend_2metal_2kernels_2complex_8h.html#aaf53122a07c8eca858b5a8e38ae280e0',1,'operator%(): complex.h'],['../group__ops.html#gab3bfbf82b1e4de7b00bbcf1a2255fbde',1,'mlx::core::operator%(const array &a, const array &b)'],['../group__ops.html#ga50817666f0b82afcbf4a123486af9908',1,'mlx::core::operator%(T a, const array &b)'],['../group__ops.html#ga46c01daa07433542a477d216e13a8480',1,'mlx::core::operator%(const array &a, T b)'],['../namespacemlx_1_1core.html#a8723d145dd49021bfcb8e6c99e1c91a5',1,'mlx::core::operator%(complex64_t a, complex64_t b)']]], - ['operator_26_19',['operator&',['../group__ops.html#gaf0d232de4cbfffda1e2c838f8afdf6ff',1,'mlx::core::operator&(const array &a, const array &b)'],['../namespacemlx_1_1core.html#a9ee95f97bbd69262d99d7bea3bf77631',1,'mlx::core::operator&(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a0fefc3ae4f1350ebe05ec6098fd6bae3',1,'mlx::core::operator&(_MLX_BFloat16 lhs, uint16_t rhs)'],['../namespacemlx_1_1core.html#a1e4cb758ccfe5c267baed9aeb0044834',1,'mlx::core::operator&(uint16_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ab9d0f9910070231695d61de08cadb930',1,'mlx::core::operator&(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a889d401f425db79d1868aa3beea4829b',1,'mlx::core::operator&(_MLX_Float16 lhs, uint16_t rhs)'],['../namespacemlx_1_1core.html#a76dcd1fa3c68b386bc1d1d899a68a120',1,'mlx::core::operator&(uint16_t lhs, _MLX_Float16 rhs)']]], - ['operator_26_26_20',['operator&&',['../namespacemlx_1_1steel.html#a6353bf11881842e25c46b56f92b7044f',1,'mlx::steel::operator&&()'],['../group__ops.html#gaee1d774bb0843601d7a0a4257d616ae3',1,'mlx::core::operator&&(const array &a, const array &b)']]], - ['operator_26_3d_21',['operator&=',['../namespacemlx_1_1core.html#a60c263ef46e552c3954688869734b513',1,'mlx::core::operator&=(_MLX_BFloat16 &lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#af9670fc8088339669c54c68b3a320e25',1,'mlx::core::operator&=(_MLX_BFloat16 &lhs, uint16_t rhs)'],['../namespacemlx_1_1core.html#ad1f96f0a02024f347b4c4431629407fc',1,'mlx::core::operator&=(_MLX_Float16 &lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ae0540f16c4e7bd55d0e86a88495e4967',1,'mlx::core::operator&=(_MLX_Float16 &lhs, uint16_t rhs)']]], - ['operator_28_29_22',['operator()',['../structpocketfft_1_1detail_1_1_exec_c2_c.html#a4fd637f1a6d335826789af28ac089ecb',1,'pocketfft::detail::ExecC2C::operator()()'],['../structpocketfft_1_1detail_1_1_exec_hartley.html#a67c98b38d12440781053552b9a33bba1',1,'pocketfft::detail::ExecHartley::operator()()'],['../structpocketfft_1_1detail_1_1_exec_dcst.html#a67f4f56e3574c491695f8cb8a1e983d8',1,'pocketfft::detail::ExecDcst::operator()()'],['../structpocketfft_1_1detail_1_1_exec_r2_r.html#acdba1650962714e6afff51e9ca456970',1,'pocketfft::detail::ExecR2R::operator()()'],['../structmlx_1_1core_1_1detail_1_1_abs.html#a0d657bc9a381dca1b5860b9a1b5a5702',1,'mlx::core::detail::Abs::operator()(T x)'],['../structmlx_1_1core_1_1detail_1_1_abs.html#a564232db7d32811e2ae126c86de104f0',1,'mlx::core::detail::Abs::operator()(uint8_t x)'],['../structmlx_1_1core_1_1detail_1_1_abs.html#a5fac7e6c8277d8706535a52820503c9d',1,'mlx::core::detail::Abs::operator()(uint16_t x)'],['../structmlx_1_1core_1_1detail_1_1_abs.html#af2c3723e648bd5ed2fe558cc20b7f5eb',1,'mlx::core::detail::Abs::operator()(uint32_t x)'],['../structmlx_1_1core_1_1detail_1_1_abs.html#a57312cd8530dd0ede3b8037f9c401883',1,'mlx::core::detail::Abs::operator()(uint64_t x)'],['../structmlx_1_1core_1_1detail_1_1_abs.html#ab3b5e3853ed56bfbfa577d965c21112e',1,'mlx::core::detail::Abs::operator()(bool x)'],['../structmlx_1_1core_1_1detail_1_1_arc_cos.html#a04b4c9d1fc0160973aa28b1f809b9d51',1,'mlx::core::detail::ArcCos::operator()()'],['../structmlx_1_1core_1_1detail_1_1_arc_cosh.html#a767d354bec863942822ee0b9b6742a88',1,'mlx::core::detail::ArcCosh::operator()()'],['../structmlx_1_1core_1_1detail_1_1_arc_sin.html#ac69091929815e5317308b4088f5c2f46',1,'mlx::core::detail::ArcSin::operator()()'],['../structmlx_1_1core_1_1detail_1_1_arc_sinh.html#ac7bf9bac66fef917f75494b2345e6aaf',1,'mlx::core::detail::ArcSinh::operator()()'],['../structmlx_1_1core_1_1detail_1_1_arc_tan.html#aee87bf10c278a70ca788085d1b499afe',1,'mlx::core::detail::ArcTan::operator()()'],['../structmlx_1_1core_1_1detail_1_1_arc_tan2.html#a9040b7afcdb4969924aa782fa67f03ac',1,'mlx::core::detail::ArcTan2::operator()()'],['../structmlx_1_1core_1_1detail_1_1_arc_tanh.html#a601e8c52bb938eb3a616756a35419e8b',1,'mlx::core::detail::ArcTanh::operator()()'],['../structmlx_1_1core_1_1detail_1_1_ceil.html#a672f65e47d65e4e8d88be252bce0164b',1,'mlx::core::detail::Ceil::operator()(T x)'],['../structmlx_1_1core_1_1detail_1_1_ceil.html#a72a2cab2728fb5e1cc6329a539e5d573',1,'mlx::core::detail::Ceil::operator()(int8_t x)'],['../structmlx_1_1core_1_1detail_1_1_ceil.html#aa34590f6a41331be92988558a90dc6fa',1,'mlx::core::detail::Ceil::operator()(int16_t x)'],['../structmlx_1_1core_1_1detail_1_1_ceil.html#af14120f3dd98f6198ea257d75be223f7',1,'mlx::core::detail::Ceil::operator()(int32_t x)'],['../structmlx_1_1core_1_1detail_1_1_ceil.html#af263ce7743cf7319387baba616c375b5',1,'mlx::core::detail::Ceil::operator()(int64_t x)'],['../structmlx_1_1core_1_1detail_1_1_ceil.html#a48f00affcd5c2ea1f81d821e019fec29',1,'mlx::core::detail::Ceil::operator()(uint8_t x)'],['../structmlx_1_1core_1_1detail_1_1_ceil.html#ad4d24a44e8a328948393701dacb0ceac',1,'mlx::core::detail::Ceil::operator()(uint16_t x)'],['../structmlx_1_1core_1_1detail_1_1_ceil.html#a70da19b5c9c69f04b9f196bdf266f93c',1,'mlx::core::detail::Ceil::operator()(uint32_t x)'],['../structmlx_1_1core_1_1detail_1_1_ceil.html#af0e7e806b73c664ada837476f9d4d43b',1,'mlx::core::detail::Ceil::operator()(uint64_t x)'],['../structmlx_1_1core_1_1detail_1_1_ceil.html#acc1bfc84a9b91f6e9764234cbe3b9687',1,'mlx::core::detail::Ceil::operator()(bool x)'],['../structmlx_1_1core_1_1detail_1_1_conjugate.html#a7e662d05c6998bd6ced8ad9c187324a5',1,'mlx::core::detail::Conjugate::operator()()'],['../structmlx_1_1core_1_1detail_1_1_cos.html#ad4caef573f9d9071f8945a8efed231ad',1,'mlx::core::detail::Cos::operator()()'],['../structmlx_1_1core_1_1detail_1_1_cosh.html#a63591f49776d9aadc02200036ae38317',1,'mlx::core::detail::Cosh::operator()()'],['../structmlx_1_1core_1_1detail_1_1_erf.html#a168f8ccc6c8053b05dd1a48904ca8fd4',1,'mlx::core::detail::Erf::operator()()'],['../structmlx_1_1core_1_1detail_1_1_erf_inv.html#acc93c0511141404208b35f302f8c1fcb',1,'mlx::core::detail::ErfInv::operator()()'],['../structmlx_1_1core_1_1detail_1_1_exp.html#a0846300cee28315e5b42f74acafbd1a1',1,'mlx::core::detail::Exp::operator()(T x)'],['../structmlx_1_1core_1_1detail_1_1_exp.html#af247c0d19d59f3310fd0a081eb92cf8b',1,'mlx::core::detail::Exp::operator()(complex64_t x)'],['../structmlx_1_1core_1_1detail_1_1_expm1.html#abf7e61b8387521e9d44334ce88d833a0',1,'mlx::core::detail::Expm1::operator()()'],['../structmlx_1_1core_1_1detail_1_1_floor.html#a16c13cfe736098bffc81d655e172294a',1,'mlx::core::detail::Floor::operator()(T x)'],['../structmlx_1_1core_1_1detail_1_1_floor.html#a9b6c4c34b6594b8c413abe31f34a73df',1,'mlx::core::detail::Floor::operator()(int8_t x)'],['../structmlx_1_1core_1_1detail_1_1_floor.html#aca4c71204b3ceeca6329f7ea2b041f4c',1,'mlx::core::detail::Floor::operator()(int16_t x)'],['../structmlx_1_1core_1_1detail_1_1_floor.html#a3c3ab9e00d1fbd124802517e8c35fe02',1,'mlx::core::detail::Floor::operator()(int32_t x)'],['../structmlx_1_1core_1_1detail_1_1_floor.html#a4b5954ffc59c741dd7b86bafda69d5cc',1,'mlx::core::detail::Floor::operator()(int64_t x)'],['../structmlx_1_1core_1_1detail_1_1_floor.html#a2e33b10bd5b04551054a87c601440bc7',1,'mlx::core::detail::Floor::operator()(uint8_t x)'],['../structmlx_1_1core_1_1detail_1_1_floor.html#a2500f971100919a694f78669a5e4f438',1,'mlx::core::detail::Floor::operator()(uint16_t x)'],['../structmlx_1_1core_1_1detail_1_1_floor.html#a23df818301d68389e6e12f5a9ec1fbd7',1,'mlx::core::detail::Floor::operator()(uint32_t x)'],['../structmlx_1_1core_1_1detail_1_1_floor.html#ac988b4f265cf46c68609c9c8787c15fb',1,'mlx::core::detail::Floor::operator()(uint64_t x)'],['../structmlx_1_1core_1_1detail_1_1_floor.html#a7f936e3fd53772bc189d845c73b53202',1,'mlx::core::detail::Floor::operator()(bool x)'],['../structmlx_1_1core_1_1detail_1_1_imag.html#a5bd82e2185f3779e398c179d42a3e782',1,'mlx::core::detail::Imag::operator()()'],['../structmlx_1_1core_1_1detail_1_1_log.html#a0012a4e1744dbe9a28c3b5652be6e1c6',1,'mlx::core::detail::Log::operator()()'],['../structmlx_1_1core_1_1detail_1_1_log2.html#a467bd4c995674721ff5fff6df33aead8',1,'mlx::core::detail::Log2::operator()()'],['../structmlx_1_1core_1_1detail_1_1_log10.html#a2633c5b772bbc9f8b66cffd4a3e01a3f',1,'mlx::core::detail::Log10::operator()()'],['../structmlx_1_1core_1_1detail_1_1_log1p.html#a3220de8c6090c44aa2070b1fbb2dc340',1,'mlx::core::detail::Log1p::operator()()'],['../structmlx_1_1core_1_1detail_1_1_logical_not.html#a79799668ea5c364b0b4e2bc330e76253',1,'mlx::core::detail::LogicalNot::operator()()'],['../structmlx_1_1core_1_1detail_1_1_negative.html#afc4595c70ef7196df374cf4b2cc5e526',1,'mlx::core::detail::Negative::operator()()'],['../structmlx_1_1core_1_1detail_1_1_real.html#ae84a939fdb5916257a7731cda66d4d61',1,'mlx::core::detail::Real::operator()()'],['../structmlx_1_1core_1_1detail_1_1_round.html#a653f29c059bbfa6192378732a8a23351',1,'mlx::core::detail::Round::operator()(T x)'],['../structmlx_1_1core_1_1detail_1_1_round.html#a82a984f13568051009e257fe85227da6',1,'mlx::core::detail::Round::operator()(complex64_t x)'],['../structmlx_1_1core_1_1detail_1_1_sigmoid.html#a64b72561bfaf758632167f00648f4c89',1,'mlx::core::detail::Sigmoid::operator()()'],['../structmlx_1_1core_1_1detail_1_1_sign.html#a64ed5013cee7ff18c7fe70bc04737e7b',1,'mlx::core::detail::Sign::operator()(T x)'],['../structmlx_1_1core_1_1detail_1_1_sign.html#a7106ed1f2f98a365fcb3e6ee39084748',1,'mlx::core::detail::Sign::operator()(uint8_t x)'],['../structmlx_1_1core_1_1detail_1_1_sign.html#a7163e8c068dcc460600ed04014dc9945',1,'mlx::core::detail::Sign::operator()(uint16_t x)'],['../structmlx_1_1core_1_1detail_1_1_sign.html#ae8f56c7134721c846240830169424c22',1,'mlx::core::detail::Sign::operator()(uint32_t x)'],['../structmlx_1_1core_1_1detail_1_1_sign.html#a10ae519e9a74a327fc72c410e9ab2936',1,'mlx::core::detail::Sign::operator()(uint64_t x)'],['../structmlx_1_1core_1_1detail_1_1_sign.html#a91be4e273f6c7ea5d44cfab380b77603',1,'mlx::core::detail::Sign::operator()(complex64_t x)'],['../structmlx_1_1core_1_1detail_1_1_sin.html#ae95671816529cc2188389af37a2f1a13',1,'mlx::core::detail::Sin::operator()()'],['../structmlx_1_1core_1_1detail_1_1_sinh.html#a9663ddf0fa4c0003576b48f3d5385f00',1,'mlx::core::detail::Sinh::operator()()'],['../structmlx_1_1core_1_1detail_1_1_square.html#a54e9e3c0d0896e142289e8282eab1099',1,'mlx::core::detail::Square::operator()()'],['../structmlx_1_1core_1_1detail_1_1_sqrt.html#aa5a4830b3ef7efab20ea88a110667efd',1,'mlx::core::detail::Sqrt::operator()()'],['../structmlx_1_1core_1_1detail_1_1_rsqrt.html#a9af247be16bab83243038aac54446b79',1,'mlx::core::detail::Rsqrt::operator()()'],['../structmlx_1_1core_1_1detail_1_1_tan.html#aba397cd7ac05bbe06dfa9e3a64bdb05f',1,'mlx::core::detail::Tan::operator()()'],['../structmlx_1_1core_1_1detail_1_1_tanh.html#a1749ba1edfd53095ed7d45c0e53bab61',1,'mlx::core::detail::Tanh::operator()()'],['../structmlx_1_1core_1_1detail_1_1_add.html#a2d6011c35768b5fcd2bb75747b944353',1,'mlx::core::detail::Add::operator()()'],['../structmlx_1_1core_1_1detail_1_1_divide.html#a5e0d22e2084c4ca81bec0d457a46c662',1,'mlx::core::detail::Divide::operator()()'],['../structmlx_1_1core_1_1detail_1_1_remainder.html#a3bdaf1095ad883ecc0fecc455f02cbf3',1,'mlx::core::detail::Remainder::operator()(T numerator, T denominator)'],['../structmlx_1_1core_1_1detail_1_1_remainder.html#a52c3a2ba86fccb24d37d218ae8328954',1,'mlx::core::detail::Remainder::operator()(T numerator, T denominator)'],['../structmlx_1_1core_1_1detail_1_1_remainder.html#a0b0dd6ef5b08585fdf8355770da8d747',1,'mlx::core::detail::Remainder::operator()(T numerator, T denominator)'],['../structmlx_1_1core_1_1detail_1_1_remainder.html#a68fe542084fb94d9a5abd740fe07832b',1,'mlx::core::detail::Remainder::operator()(complex64_t numerator, complex64_t denominator)'],['../structmlx_1_1core_1_1detail_1_1_equal.html#a2994cf1884e7126e76d0a20b215fe3ab',1,'mlx::core::detail::Equal::operator()()'],['../structmlx_1_1core_1_1detail_1_1_na_n_equal.html#a073b20b0d8d41ec8364b7c477421b9bf',1,'mlx::core::detail::NaNEqual::operator()()'],['../structmlx_1_1core_1_1detail_1_1_greater.html#aa3844c2bae3c7a981739f642aa0dd094',1,'mlx::core::detail::Greater::operator()()'],['../structmlx_1_1core_1_1detail_1_1_greater_equal.html#a3b005f85522ad0e4b57044eed930ac30',1,'mlx::core::detail::GreaterEqual::operator()()'],['../structmlx_1_1core_1_1detail_1_1_less.html#a0b4032dff1ad2b387745cb000aabdcbb',1,'mlx::core::detail::Less::operator()()'],['../structmlx_1_1core_1_1detail_1_1_less_equal.html#a31e70f8830a07557697541301555a7a7',1,'mlx::core::detail::LessEqual::operator()()'],['../structmlx_1_1core_1_1detail_1_1_maximum.html#a3eb37abec8426ebc42b8c685075c523a',1,'mlx::core::detail::Maximum::operator()(T x, T y)'],['../structmlx_1_1core_1_1detail_1_1_maximum.html#af99345c7c8bc95ccab1b22c0792ac6fd',1,'mlx::core::detail::Maximum::operator()(T x, T y)'],['../structmlx_1_1core_1_1detail_1_1_minimum.html#afca0861556416a8547dd8574528feb69',1,'mlx::core::detail::Minimum::operator()(T x, T y)'],['../structmlx_1_1core_1_1detail_1_1_minimum.html#a64b2eecfbc56aaef7deb939423bac3f8',1,'mlx::core::detail::Minimum::operator()(T x, T y)'],['../structmlx_1_1core_1_1detail_1_1_log_add_exp.html#ad1663fd809acaa4038f90666436599e5',1,'mlx::core::detail::LogAddExp::operator()()'],['../structmlx_1_1core_1_1detail_1_1_multiply.html#a898b090966b047723513224b8d3b22f1',1,'mlx::core::detail::Multiply::operator()()'],['../structmlx_1_1core_1_1detail_1_1_not_equal.html#a23d662b5fd968dc17d3bee2595b5f99d',1,'mlx::core::detail::NotEqual::operator()()'],['../structmlx_1_1core_1_1detail_1_1_power.html#a2c047e1b488e6525447a224975a75db8',1,'mlx::core::detail::Power::operator()(T base, T exp)'],['../structmlx_1_1core_1_1detail_1_1_power.html#a9967db24b8f67d54b6aa3810e274f28c',1,'mlx::core::detail::Power::operator()(T base, T exp)'],['../structmlx_1_1core_1_1detail_1_1_subtract.html#a72ef05830615a2d5d9662926ed82672a',1,'mlx::core::detail::Subtract::operator()()'],['../structmlx_1_1core_1_1detail_1_1_logical_and.html#a046536c1f2f9367983f052a213d7b7d8',1,'mlx::core::detail::LogicalAnd::operator()()'],['../structmlx_1_1core_1_1detail_1_1_logical_or.html#afb134dbab79307d4ba597843c61d0b1a',1,'mlx::core::detail::LogicalOr::operator()()'],['../structmlx_1_1core_1_1detail_1_1_select.html#a930f9da2e6b3453e04f21382435a2cfb',1,'mlx::core::detail::Select::operator()()'],['../structmlx_1_1core_1_1detail_1_1_bitwise_and.html#ae0bed77f95fe2b2f0b594addddd04700',1,'mlx::core::detail::BitwiseAnd::operator()()'],['../structmlx_1_1core_1_1detail_1_1_bitwise_or.html#a5ab05734c5000b454975de6647a08d20',1,'mlx::core::detail::BitwiseOr::operator()()'],['../structmlx_1_1core_1_1detail_1_1_bitwise_xor.html#a0989e3bcd064ae06c33f660696a869a0',1,'mlx::core::detail::BitwiseXor::operator()()'],['../structmlx_1_1core_1_1detail_1_1_left_shift.html#a9385f580830a6ad163dd9bb8c4905e7a',1,'mlx::core::detail::LeftShift::operator()()'],['../structmlx_1_1core_1_1detail_1_1_right_shift.html#a154528ba50e89a4c532a181f135b1620',1,'mlx::core::detail::RightShift::operator()()'],['../structmlx_1_1core_1_1_default_strided_reduce.html#a024682ab93b84e544a07e3a9c3c51fba',1,'mlx::core::DefaultStridedReduce::operator()()'],['../structmlx_1_1core_1_1_default_contiguous_reduce.html#a08144c7a3cdf10af5e47f4575da3694f',1,'mlx::core::DefaultContiguousReduce::operator()()'],['../struct_add.html#ac5c66b63d63a222d3ae0ab8cc7c90eb5',1,'Add::operator()()'],['../struct_floor_divide.html#a2b328e4d768e718fa439f955c524666a',1,'FloorDivide::operator()(T x, T y)'],['../struct_floor_divide.html#afc16a2b2a745225e0bc95640f3fc0219',1,'FloorDivide::operator()(float x, float y)'],['../struct_floor_divide.html#ae91719a15f7e643d552129f476089c6a',1,'FloorDivide::operator()(half x, half y)'],['../struct_floor_divide.html#a4aa9f858626583e02bd79f747229bbca',1,'FloorDivide::operator()(bfloat16_t x, bfloat16_t y)'],['../struct_divide.html#a0a16b9194abc2ab7c61129f81a9bbb3d',1,'Divide::operator()()'],['../struct_remainder.html#ab7875512ff4341c580c6dc372e64fc58',1,'Remainder::operator()(T x, T y)'],['../struct_remainder.html#a18150b5f4425e30b95ffabc6bb25cede',1,'Remainder::operator()(T x, T y)'],['../struct_remainder.html#ab3b75f54b56fd357c9755daadb2cafc2',1,'Remainder::operator()(T x, T y)'],['../struct_remainder.html#ae918ce0e246937d4fe04e2ea36e4b2c1',1,'Remainder::operator()(complex64_t x, complex64_t y)'],['../struct_equal.html#aa498087080900d4428ba428a6496a769',1,'Equal::operator()()'],['../struct_na_n_equal.html#a00220898e02db656d21dde9e9354a8dc',1,'NaNEqual::operator()(T x, T y)'],['../struct_na_n_equal.html#a6185e4554dce5b4659d21673c576be51',1,'NaNEqual::operator()(complex64_t x, complex64_t y)'],['../struct_greater.html#a98d7d8ee360cd0f469c6eb9a017560f5',1,'Greater::operator()()'],['../struct_greater_equal.html#ae69a3bccc567a46506cf0d296294ce80',1,'GreaterEqual::operator()()'],['../struct_less.html#a5ee0b31b2d9123dc4504f2979a5854d3',1,'Less::operator()()'],['../struct_less_equal.html#ae9f9a1b2eae548977139704f0044acfe',1,'LessEqual::operator()()'],['../struct_log_add_exp.html#ab32417f18e8ff68c15f78aceeb624edf',1,'LogAddExp::operator()()'],['../struct_maximum.html#a3ea0f42bc4cd80b68a98f189f9fa859c',1,'Maximum::operator()(T x, T y)'],['../struct_maximum.html#a0bc8fadc87f2c49fc440d625bfc97ca6',1,'Maximum::operator()(T x, T y)'],['../struct_maximum.html#a907e8793900be5927625377dab199644',1,'Maximum::operator()(complex64_t x, complex64_t y)'],['../struct_minimum.html#aa6113dfac3986c0f571fa53f65c5330e',1,'Minimum::operator()(T x, T y)'],['../struct_minimum.html#a0c939921de87ab9c6959238aac81a059',1,'Minimum::operator()(T x, T y)'],['../struct_minimum.html#a800fba087280f79c2f7e9aff75bed093',1,'Minimum::operator()(complex64_t x, complex64_t y)'],['../struct_multiply.html#a1327fc5a0713931afe997b0d4d2988e0',1,'Multiply::operator()()'],['../struct_not_equal.html#af008d73a5d9cde0b8309b7e8ee7438b2',1,'NotEqual::operator()(T x, T y)'],['../struct_not_equal.html#a14de494cea4e4869351202cad1149f17',1,'NotEqual::operator()(complex64_t x, complex64_t y)'],['../struct_power.html#a2b6df2a9e48155ff9734caca8504a79f',1,'Power::operator()(T base, T exp)'],['../struct_power.html#a36829163d42973034a1f8a7ecc57a1de',1,'Power::operator()(T base, T exp)'],['../struct_power.html#a27cdfb313c4e82b63bdcdaee923cbbef',1,'Power::operator()(complex64_t x, complex64_t y)'],['../struct_subtract.html#ae0856cd8d449074ca287baa7e460f68a',1,'Subtract::operator()()'],['../struct_logical_and.html#a8bc6bdabc0ea0678a46e2cf6217cb3a6',1,'LogicalAnd::operator()()'],['../struct_logical_or.html#ade6a931324a604a3119d2220d6f5460d',1,'LogicalOr::operator()()'],['../struct_bitwise_and.html#afb48af090b01dd0200963bc12d842e36',1,'BitwiseAnd::operator()()'],['../struct_bitwise_or.html#a41f847463daafa99ee56f4035578390f',1,'BitwiseOr::operator()()'],['../struct_bitwise_xor.html#a3a3e8a56caab739d40262d9349c9c485',1,'BitwiseXor::operator()()'],['../struct_left_shift.html#aa729747784c38bfdbba34794fcf5175b',1,'LeftShift::operator()()'],['../struct_right_shift.html#a2cc59b400c68342b0e43050431323c17',1,'RightShift::operator()()'],['../struct_arc_tan2.html#ac9b7729753e13be293ab700231d061ac',1,'ArcTan2::operator()()'],['../struct_div_mod.html#a8b5758f2ea18d4c903b462331b25abfe',1,'DivMod::operator()()'],['../struct_cum_prod_3_01bool_01_4.html#ad634be0b139d10ce6d21332eef0d936b',1,'CumProd< bool >::operator()()'],['../struct_cum_max.html#a781b9b955c5412466da6af6c70d73c06',1,'CumMax::operator()()'],['../struct_cum_min.html#ae0b8c3761e04fa538d304ca842281a66',1,'CumMin::operator()()'],['../struct_less_than.html#a2798eb377b411c93a4ed30cf35caade2',1,'LessThan::operator()()'],['../struct_select.html#adb51692aae3038de07dd745891bf9848',1,'Select::operator()()'],['../struct_abs.html#a9e7481dfcc162509769852026ff4a344',1,'Abs::operator()(T x)'],['../struct_abs.html#a0ca113fd036151c443df3f83cc667f28',1,'Abs::operator()(uint8_t x)'],['../struct_abs.html#adaeab32a7e377dc990077ab15f3dc4c2',1,'Abs::operator()(uint16_t x)'],['../struct_abs.html#a99d2a2f37a6cddd3168b0224f2a9b963',1,'Abs::operator()(uint32_t x)'],['../struct_abs.html#ac9cbc02422d930479303f240a7ea6c71',1,'Abs::operator()(uint64_t x)'],['../struct_abs.html#ac30835b27784d451bd2e4524c8eb9e11',1,'Abs::operator()(bool x)'],['../struct_abs.html#ab82917d6b30a2c579e7eb879d305c5fc',1,'Abs::operator()(complex64_t x)'],['../struct_arc_cos.html#a5553cecf58511e24e76ac97f2d90b9ac',1,'ArcCos::operator()()'],['../struct_arc_cosh.html#a5c9e7712c14c97298b23ec48e19abc58',1,'ArcCosh::operator()()'],['../struct_arc_sin.html#a0343872f2da93bae2bb0baadf49da022',1,'ArcSin::operator()()'],['../struct_arc_sinh.html#a3066fb7dc7c3180100fb55ff94af6a7a',1,'ArcSinh::operator()()'],['../struct_arc_tan.html#af3a0aec6acec8ae8f5e4c4d5cf8c91ba',1,'ArcTan::operator()()'],['../struct_arc_tanh.html#a37dc3e01ec2830de7e82ed6c6363ac88',1,'ArcTanh::operator()()'],['../struct_ceil.html#a5e2a4ef1b012f5d352064489156e5e44',1,'Ceil::operator()(T x)'],['../struct_ceil.html#a455cd8083ba859993077f2e078ae165b',1,'Ceil::operator()(int8_t x)'],['../struct_ceil.html#a2acb61bc658c7a216795e7f76ebcf98a',1,'Ceil::operator()(int16_t x)'],['../struct_ceil.html#aef8c37f7a8ee3fc80700d605a09891fb',1,'Ceil::operator()(int32_t x)'],['../struct_ceil.html#a93d0110511ad5dd200e12d37a3d7d6e3',1,'Ceil::operator()(int64_t x)'],['../struct_ceil.html#aa335b745fa26e0f443cdb36298105484',1,'Ceil::operator()(uint8_t x)'],['../struct_ceil.html#ade17e13b7f30f5c590fae1581a2013ac',1,'Ceil::operator()(uint16_t x)'],['../struct_ceil.html#a411c75cc35cdc088402e176a1defd22d',1,'Ceil::operator()(uint32_t x)'],['../struct_ceil.html#a9ac660ca29eef7a7429fceb7b917a68a',1,'Ceil::operator()(uint64_t x)'],['../struct_ceil.html#a40de367e62f06ebd7e1330afa93a9ad9',1,'Ceil::operator()(bool x)'],['../struct_cos.html#ae222f8710f6b8254c471ebd475aa5bda',1,'Cos::operator()(T x)'],['../struct_cos.html#a5f26feb1dcc4bec5f59a9ff511c5b163',1,'Cos::operator()(complex64_t x)'],['../struct_cosh.html#a5847ebeebb236fdc926798ddc16475ba',1,'Cosh::operator()(T x)'],['../struct_cosh.html#aefdd91298dac16d528d29ee47e2f7252',1,'Cosh::operator()(complex64_t x)'],['../struct_conjugate.html#acb0a2694285f1f57c7654b371ce8cbd8',1,'Conjugate::operator()()'],['../struct_erf.html#a80719402ad7f7d418859a6677d7b604d',1,'Erf::operator()()'],['../struct_erf_inv.html#afbf3668d1a512e889f093a0bc7673309',1,'ErfInv::operator()()'],['../struct_exp.html#a5ef395868e055348c0802fd5fe45669c',1,'Exp::operator()(T x)'],['../struct_exp.html#a2b341ac400c4d145397950eb60734336',1,'Exp::operator()(complex64_t x)'],['../struct_expm1.html#a4b834d42cf0b84daf03fec62c222091a',1,'Expm1::operator()()'],['../struct_floor.html#ace3551f28429081e9f3a3dab0c84212b',1,'Floor::operator()(T x)'],['../struct_floor.html#a10d7fd05b4c224c9f135451246d13014',1,'Floor::operator()(int8_t x)'],['../struct_floor.html#a2865a04a492e3590302f4bd3215a10d7',1,'Floor::operator()(int16_t x)'],['../struct_floor.html#a41012343ff0463ec44b4d06196f41182',1,'Floor::operator()(int32_t x)'],['../struct_floor.html#aae3181d15856796aa0628cf30c92aa2e',1,'Floor::operator()(int64_t x)'],['../struct_floor.html#ac6cf38d82c8e270911afdca4c69ad51b',1,'Floor::operator()(uint8_t x)'],['../struct_floor.html#a78969b9e2b53ae248e72a67259eea5d8',1,'Floor::operator()(uint16_t x)'],['../struct_floor.html#a959009320ed622ed45b39becab1d5b98',1,'Floor::operator()(uint32_t x)'],['../struct_floor.html#a7d04b83c3345cd867315cae2d7ff68ab',1,'Floor::operator()(uint64_t x)'],['../struct_floor.html#abea845fe5e8e6b93bd4bca8717337e0b',1,'Floor::operator()(bool x)'],['../struct_imag.html#a3b29e9f8a46c194d683f6a9938314400',1,'Imag::operator()()'],['../struct_log.html#a32a383cb6be06e616a75f23bf49089c3',1,'Log::operator()()'],['../struct_log2.html#ac1e067ecdcbdbffb6106e789c2b98b64',1,'Log2::operator()()'],['../struct_log10.html#ac596a74c1642a00f3eced07ee3334122',1,'Log10::operator()()'],['../struct_log1p.html#a4464c6e7bdbe55ffd7d961c695cd13ce',1,'Log1p::operator()()'],['../struct_logical_not.html#a8a620bac957ab8c09ac85adfddd96708',1,'LogicalNot::operator()()'],['../struct_negative.html#af6879b374314a559faa321e8cce3d710',1,'Negative::operator()()'],['../struct_real.html#a85b9c5b9e65297994fa26ff68e19e809',1,'Real::operator()()'],['../struct_round.html#aa06a0195867e2ceb679c403b6909a1c4',1,'Round::operator()(T x)'],['../struct_round.html#ad3a08f2276ff1033900bc0a7da812655',1,'Round::operator()(complex64_t x)'],['../struct_sigmoid.html#a75a24cd75cb4d4c9a072811b2d70ad55',1,'Sigmoid::operator()()'],['../struct_sign.html#aa3304c6b43bcad53061614b741d8403c',1,'Sign::operator()(T x)'],['../struct_sign.html#ac48992b675b8b28be1e27e1f2ec5d2f7',1,'Sign::operator()(uint32_t x)'],['../struct_sign.html#ae07a4249e1b61419a3b9ca6c337b7bb5',1,'Sign::operator()(complex64_t x)'],['../struct_sin.html#a7caf98c777521fa5d5c6ddaaa3b779fd',1,'Sin::operator()(T x)'],['../struct_sin.html#aa510cf4595b6d49065ab6b602d8fcb14',1,'Sin::operator()(complex64_t x)'],['../struct_sinh.html#a02cf32bcf560657b9ee34fb1affed8e2',1,'Sinh::operator()(T x)'],['../struct_sinh.html#a1f8ba1858d352ee68861cd6ea861af43',1,'Sinh::operator()(complex64_t x)'],['../struct_square.html#afde739fc544e45dd30964c02dca94310',1,'Square::operator()()'],['../struct_sqrt.html#ab9b16d2b9b03a1c54190f4479a56a4ad',1,'Sqrt::operator()()'],['../struct_rsqrt.html#ae16699fd829e40416436247a39233fda',1,'Rsqrt::operator()()'],['../struct_tan.html#a1e6fb8c691621c69cb9bd393de4f6e78',1,'Tan::operator()(T x)'],['../struct_tan.html#a2ef120c9f92b0d2e9cec8389eda05724',1,'Tan::operator()(complex64_t x)'],['../struct_tanh.html#adce11a7ad33226c6ecff34f46f5c45d7',1,'Tanh::operator()(T x)'],['../struct_tanh.html#aa8423b43c725bb4b88965a11e8cf20f6',1,'Tanh::operator()(complex64_t x)']]], - ['operator_2a_23',['operator*',['../structpocketfft_1_1detail_1_1cmplx.html#a26bf3d709a58f06228e502af6db8e5ac',1,'pocketfft::detail::cmplx::operator*(const T2 &other) const -> cmplx< decltype(r *other)>'],['../structpocketfft_1_1detail_1_1cmplx.html#ad9c591ef8ae976293f207937d273e9a1',1,'pocketfft::detail::cmplx::operator*(const cmplx< T2 > &other) const -> cmplx< decltype(r+other.r)>'],['../structmlx_1_1core_1_1array_1_1_array_iterator.html#a153756072fda6d3e53bcca11b46a1238',1,'mlx::core::array::ArrayIterator::operator*()'],['../backend_2metal_2kernels_2complex_8h.html#a681d4fb076973f58f7dac894ec62a385',1,'operator*(complex64_t a, complex64_t b): complex.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a8f06316063fc91747533105f256b55b5',1,'operator*(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7b3bce3f6f17089d87e13e91f580a581',1,'operator*(_MLX_BFloat16 lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a54ae7216b82c5cea362f6b83e1df3a9b',1,'operator*(float lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a852689073c17596de4fb545bc046b380',1,'operator*(_MLX_BFloat16 lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a168300bbd04d8e97c5e4218cb14ae378',1,'operator*(half lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a6278bd2e0e2805090b33ef666bf7f6bb',1,'operator*(_MLX_BFloat16 lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aecf703522d9ce32dfeefe1e6e903db06',1,'operator*(int32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7cd44d27fa9a4f13df39894c34fdb348',1,'operator*(_MLX_BFloat16 lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aee64dc1890abb6d1035361cb8c751f96',1,'operator*(uint32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad1a559ab88dbbb4fd2c7509d2c94e55b',1,'operator*(_MLX_BFloat16 lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a495ae2d9be5d97c4c6448fc4e50a03e1',1,'operator*(int64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a87ab4b7a502430da664ccb8abd383058',1,'operator*(_MLX_BFloat16 lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5f997839cf49c24ab594a0dff486a7bc',1,'operator*(uint64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1steel.html#aa0c2d29950926ae579adf6337fbea64b',1,'mlx::steel::operator*()'],['../group__ops.html#ga26c33f5cdb6fc10d272acd6e208034e0',1,'mlx::core::operator*(const array &a, const array &b)'],['../group__ops.html#gac22a67f7de797b1ae59029843cbdcab6',1,'mlx::core::operator*(T a, const array &b)'],['../group__ops.html#ga6f2369ed5fae8ff9b1528670a004dde2',1,'mlx::core::operator*(const array &a, T b)'],['../namespacemlx_1_1core.html#a0cc824d6318f97f7058918ab64ddfc25',1,'mlx::core::operator*(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a81e1c727c3fc48910b030cb65a9e7afa',1,'mlx::core::operator*(_MLX_BFloat16 lhs, float rhs)'],['../namespacemlx_1_1core.html#a861d948220d8f48d46c68d2ddb16a096',1,'mlx::core::operator*(float lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a13d16561812679b36e68185dc4b2d04d',1,'mlx::core::operator*(_MLX_BFloat16 lhs, double rhs)'],['../namespacemlx_1_1core.html#a5287610200ff573730c9c92413f48881',1,'mlx::core::operator*(double lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a377ccc6b4ef36767abca102dca56dc10',1,'mlx::core::operator*(_MLX_BFloat16 lhs, bool rhs)'],['../namespacemlx_1_1core.html#a5d696b63635ce6967526d6a410f7f6b1',1,'mlx::core::operator*(bool lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#abe90e9527bfa3e1c813d41df4a2372e7',1,'mlx::core::operator*(_MLX_BFloat16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a5f14963c77f96bcb5a3bef5661a86ba4',1,'mlx::core::operator*(int32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#acfb06fe9f5fee01dbb5a2b23bccfd0d3',1,'mlx::core::operator*(_MLX_BFloat16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#afc9a87f1fccbac05242b91bfbb35c24d',1,'mlx::core::operator*(uint32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a0b9678af9b487900cacf6639a4693de0',1,'mlx::core::operator*(_MLX_BFloat16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#ad5950619081389e6ed7512f38358d33d',1,'mlx::core::operator*(int64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a65d25d082374761c05b056e1046d1d4e',1,'mlx::core::operator*(_MLX_BFloat16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a759191fb984e7737f0ef529c2053ad73',1,'mlx::core::operator*(uint64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a3a52675c3d4552b319dd9707844abdec',1,'mlx::core::operator*(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a45d67f5d80fba4d42e34c682a8d22beb',1,'mlx::core::operator*(_MLX_Float16 lhs, float rhs)'],['../namespacemlx_1_1core.html#ad25880c67bbcbfafbe54dc16418bf736',1,'mlx::core::operator*(float lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a63c836e1141e07ae72cee770bad01200',1,'mlx::core::operator*(_MLX_Float16 lhs, double rhs)'],['../namespacemlx_1_1core.html#a265a37b8ee4a97390213e9ec49693e66',1,'mlx::core::operator*(double lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ab5a457da04dcb157a0b5172c4b2244b6',1,'mlx::core::operator*(_MLX_Float16 lhs, bool rhs)'],['../namespacemlx_1_1core.html#aa56a8bda08be9ef3711496e216a75c95',1,'mlx::core::operator*(bool lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#af89612098dd355b1eefb841c753b36ab',1,'mlx::core::operator*(_MLX_Float16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a4552687a0637f710b5d55bb6378fcabe',1,'mlx::core::operator*(int32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#af69db7def588d7da430434a69456e29c',1,'mlx::core::operator*(_MLX_Float16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a00af6e5095888f00791ee0ab6d993ad6',1,'mlx::core::operator*(uint32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ab48feddc1aa304383e5493923506ad7a',1,'mlx::core::operator*(_MLX_Float16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a0367b582e85162b4180e086f725e49e9',1,'mlx::core::operator*(int64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a45f0479526fbccdb00bc73ea7f3b7625',1,'mlx::core::operator*(_MLX_Float16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a394797646010ba9ef2a1f9b9a4b8ddd9',1,'mlx::core::operator*(uint64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#acaaa86b59c7ceb2e092ac07f2a75225c',1,'mlx::core::operator*(float16_t lhs, bfloat16_t rhs)'],['../namespacemlx_1_1core.html#a067d47823a322b88043cce7ce4a3ec78',1,'mlx::core::operator*(bfloat16_t lhs, float16_t rhs)']]], - ['operator_2a_3d_24',['operator*=',['../structpocketfft_1_1detail_1_1cmplx.html#a683fd490182c9189fa2c05b1823edd93',1,'pocketfft::detail::cmplx::operator*=(T2 other)'],['../structpocketfft_1_1detail_1_1cmplx.html#a06f2c26c6fc4722e61b44da4c242ed87',1,'pocketfft::detail::cmplx::operator*=(const cmplx< T2 > &other)'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7232b0a0e193b3c6172d6fc2578bf419',1,'operator*=(device _MLX_BFloat16 &lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ade65ebca11e38d56408c512df89b99f4',1,'operator*=(device float &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af4348ce3425dd99d069e8fdf06e25a3c',1,'operator*=(thread _MLX_BFloat16 &lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a2c3c5f793b3d957d7295d7f1faabebee',1,'operator*=(thread float &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac66657077d55e94197b52b63acb50b7d',1,'operator*=(threadgroup _MLX_BFloat16 &lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a383165ea838cc3feeee4d9cf54aa77cc',1,'operator*=(threadgroup float &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab706af260b61f735b28464877d02137c',1,'operator*=(device _MLX_BFloat16 &lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a979374b1dd4e0eaf602326fa901336d1',1,'operator*=(device half &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac815eec2c1b15a47b1c6ea6790e77d24',1,'operator*=(thread _MLX_BFloat16 &lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a8110fae7bcc34a0de5927546b24aa935',1,'operator*=(thread half &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae4acef3e7ae7dfe359422503f894e885',1,'operator*=(threadgroup _MLX_BFloat16 &lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#adc268cdbc30500f3009f5de2b2f0f67a',1,'operator*=(threadgroup half &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a81f65b04a87a25c7eb1a751d1be9fa55',1,'operator*=(device _MLX_BFloat16 &lhs, int16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a08c1f916302eb9d48c93f8b7260538fe',1,'operator*=(device int16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#adc8e82b8f593b12c6d405e2250ab0f62',1,'operator*=(thread _MLX_BFloat16 &lhs, int16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a4611728172afea51860a77fdb06cafa0',1,'operator*=(thread int16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0b8736e2ae24758b6e24ea72668df5b4',1,'operator*=(threadgroup _MLX_BFloat16 &lhs, int16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad920df9579603f0b0ee2689eba330617',1,'operator*=(threadgroup int16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae97ab6c3ddcc2754b24f86319a5398be',1,'operator*=(device _MLX_BFloat16 &lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a3ff4ff59f411010ac8502cfabda4bd6f',1,'operator*=(device int32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#abd3d82e2dec1847e97eb8fc3bab2985a',1,'operator*=(thread _MLX_BFloat16 &lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a738078eb7d5ff94ff48156a555d763a5',1,'operator*=(thread int32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a435f2f4256aadb1b57fd62bb7f733cf7',1,'operator*=(threadgroup _MLX_BFloat16 &lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0e4377b120d6305335d296e031ee5b30',1,'operator*=(threadgroup int32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a917354f77eac26189da8a2f610a00074',1,'operator*=(device _MLX_BFloat16 &lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af725f935bfa0405e5ff17ede3ac47283',1,'operator*=(device int64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7c56980c234a04260b8b19298085e526',1,'operator*=(thread _MLX_BFloat16 &lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab840ff9de0cdd0e9afffb8baa2a850a3',1,'operator*=(thread int64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a73416a7415f3fe31525e33419e5e8aab',1,'operator*=(threadgroup _MLX_BFloat16 &lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a16978f4b16d954ef4d4cf0f32f6c0b94',1,'operator*=(threadgroup int64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a99aa4cc110d1c7aa3b4c8c5cbf9235b7',1,'operator*=(device _MLX_BFloat16 &lhs, uint16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a2179abbc91ce8763e96e39e1917bfa6e',1,'operator*=(device uint16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab070ea4676d10a10ff3e9379a4068a57',1,'operator*=(thread _MLX_BFloat16 &lhs, uint16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0197e039d4c65bf49649a6f250c2d436',1,'operator*=(thread uint16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad3565cc6fd1e088d052b1108aa065851',1,'operator*=(threadgroup _MLX_BFloat16 &lhs, uint16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a711693988c437c2fb4d7da505982fe21',1,'operator*=(threadgroup uint16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aeff4c28986f98c23de1df17043edb0f5',1,'operator*=(device _MLX_BFloat16 &lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7dbf0c75df4817cb4ef8b60c417a89d0',1,'operator*=(device uint32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a323a80492cd17a49e2c3dd18f8c8b5cc',1,'operator*=(thread _MLX_BFloat16 &lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#adb465776d3868bda0525d632ffc4d129',1,'operator*=(thread uint32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a12a98d71d670b409b8065e0d61672d55',1,'operator*=(threadgroup _MLX_BFloat16 &lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5d00eb2ec2b0e15b2753d100694c45ae',1,'operator*=(threadgroup uint32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a1a2a683ff40490226eb1371fb905023d',1,'operator*=(device _MLX_BFloat16 &lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a4126fb7ed5bbb27a2332c543cf56a337',1,'operator*=(device uint64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab092d9790ef20fc0386707530aee89db',1,'operator*=(thread _MLX_BFloat16 &lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#abff1fd2439e31e6e64a3d2fdee3c7821',1,'operator*=(thread uint64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a625dcb133f1f953f263e6200399866c6',1,'operator*=(threadgroup _MLX_BFloat16 &lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a08b6071245513e1726ec68e3b63edc53',1,'operator*=(threadgroup uint64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a13aa79165ec87710e977f33fe0361e91',1,'operator*=(device _MLX_BFloat16 &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a3796dcf819adb1ef8152f57ba63ff6b1',1,'operator*=(thread _MLX_BFloat16 &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aaab79d0b4c9e9bdc059ace6ec58c5b00',1,'operator*=(threadgroup _MLX_BFloat16 &lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1core.html#a0dd3893abc8986901872c8365ab1509d',1,'mlx::core::operator*=(_MLX_BFloat16 &lhs, const float &rhs)'],['../namespacemlx_1_1core.html#a3cc5c154e4ad9a83ad43da8513146fdc',1,'mlx::core::operator*=(float &lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a600e77dbc72e78207b5f5dbf4b298781',1,'mlx::core::operator*=(_MLX_Float16 &lhs, const float &rhs)'],['../namespacemlx_1_1core.html#a54833be1d44bc3adfc9ea218fc3685bd',1,'mlx::core::operator*=(float &lhs, _MLX_Float16 rhs)']]], - ['operator_2b_25',['operator+',['../structpocketfft_1_1detail_1_1cmplx.html#a76447ef141c8732d57421749fc81b236',1,'pocketfft::detail::cmplx::operator+()'],['../structmlx_1_1core_1_1array_1_1_array_iterator.html#ae2adde594b5a4853f6bc78263a957d85',1,'mlx::core::array::ArrayIterator::operator+()'],['../backend_2metal_2kernels_2complex_8h.html#ad6af5c6c5ed4898b49758618e5aee189',1,'operator+(complex64_t a, complex64_t b): complex.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a09c1a797eb7f43742578680899932f50',1,'operator+(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a551b970f73bb4a3b287653021d000b60',1,'operator+(_MLX_BFloat16 lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a43a225e7e548bb041f3a5d844faaf0da',1,'operator+(float lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a8b6c3fd9d068a2159084359df8b9b449',1,'operator+(_MLX_BFloat16 lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0a5bfe15d95ba540795f4c25ebfa4f07',1,'operator+(half lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa415ce182fe7582d885fe633fc3527ce',1,'operator+(_MLX_BFloat16 lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a62f891b7dbba0000749cf338f594bedb',1,'operator+(int32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab43932322f81bf322aa1b0deeee9a987',1,'operator+(_MLX_BFloat16 lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#acd15d46ea5827a2a39898ccbb8352eb8',1,'operator+(uint32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a006763fae6e0577fc168ec9446f0f747',1,'operator+(_MLX_BFloat16 lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a12a47e8ac0be788edff57ae0a96d7830',1,'operator+(int64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af87dfa2122e9c76042dc41fb7f338a87',1,'operator+(_MLX_BFloat16 lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af2737d09c887ee8cd43fdeabceddbe82',1,'operator+(uint64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1steel.html#a12ff4f38aa8474bf76770c7b8e3e18cb',1,'mlx::steel::operator+()'],['../group__ops.html#ga26e5a043eaaaf066d1400adac9c11d0c',1,'mlx::core::operator+(const array &a, const array &b)'],['../group__ops.html#ga7d0ec8d01e7cefa6a6b25f11876761b5',1,'mlx::core::operator+(T a, const array &b)'],['../group__ops.html#ga7cc080a4f9d4a667f2099aa0dbfefadd',1,'mlx::core::operator+(const array &a, T b)'],['../namespacemlx_1_1core.html#ac14b984970cafd8fbe24d080949515cc',1,'mlx::core::operator+(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ab076069c6f0047c548a8dc29d35dd36a',1,'mlx::core::operator+(_MLX_BFloat16 lhs, float rhs)'],['../namespacemlx_1_1core.html#aab9d96b0a168f4d05146000a6212b5d8',1,'mlx::core::operator+(float lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ac4e6f03d7e4ae701b4eefa784f36185b',1,'mlx::core::operator+(_MLX_BFloat16 lhs, double rhs)'],['../namespacemlx_1_1core.html#a4cabd600a5271b0d416c91e8d31dd9c1',1,'mlx::core::operator+(double lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#af26df9dc279d71b7cc10892c72162b58',1,'mlx::core::operator+(_MLX_BFloat16 lhs, bool rhs)'],['../namespacemlx_1_1core.html#ac3b97eecec9bd8efb313f8f201560343',1,'mlx::core::operator+(bool lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a2e3bb121cbde30c2e6d806df0d41ff59',1,'mlx::core::operator+(_MLX_BFloat16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#ac87ecce4b44b0826e666a169ddc6f878',1,'mlx::core::operator+(int32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#aed3d9cd32698ef0fe65b1280f103b3f5',1,'mlx::core::operator+(_MLX_BFloat16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a6fa13b9359cf3f575fbda5260e6e035d',1,'mlx::core::operator+(uint32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#af240a6471ff827819192808bffeb857a',1,'mlx::core::operator+(_MLX_BFloat16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#ac25a05679f312b724c406d8b282803c9',1,'mlx::core::operator+(int64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a54863a54f258acf2b5c734950618e4e1',1,'mlx::core::operator+(_MLX_BFloat16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a9f81f5ea8909db9660197217612ee446',1,'mlx::core::operator+(uint64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a13e26c38da0a4e332e0ae4eb0aed9cb8',1,'mlx::core::operator+(const std::complex< float > &x, const complex64_t &y)'],['../namespacemlx_1_1core.html#a59bb13a0bb7f748c8de34415b248bc57',1,'mlx::core::operator+(const complex64_t &x, const std::complex< float > &y)'],['../namespacemlx_1_1core.html#a38a44c412c8be4c8b952d3082cc7db74',1,'mlx::core::operator+(const complex64_t &x, const complex64_t &y)'],['../namespacemlx_1_1core.html#a011dbdbd2413e59e744cf82b05431340',1,'mlx::core::operator+(bool x, const complex64_t &y)'],['../namespacemlx_1_1core.html#a230e3b7c479add1b171fa0aaa3a8b13c',1,'mlx::core::operator+(const complex64_t &x, bool y)'],['../namespacemlx_1_1core.html#a3a6f43c2485f0d42293184f1aecbeaee',1,'mlx::core::operator+(uint32_t x, const complex64_t &y)'],['../namespacemlx_1_1core.html#a766157c5d5d00fdf3da95eb7cb2981b9',1,'mlx::core::operator+(const complex64_t &x, uint32_t y)'],['../namespacemlx_1_1core.html#a64dceec2bb03eee963a2a1bc1ac69284',1,'mlx::core::operator+(uint64_t x, const complex64_t &y)'],['../namespacemlx_1_1core.html#ae36badb78a17cd7d13663a69645fc328',1,'mlx::core::operator+(const complex64_t &x, uint64_t y)'],['../namespacemlx_1_1core.html#ac1afa5d4c856e4b58109eff086e70ffd',1,'mlx::core::operator+(int32_t x, const complex64_t &y)'],['../namespacemlx_1_1core.html#a8978def3c2cfe2a96314d564613b80db',1,'mlx::core::operator+(const complex64_t &x, int32_t y)'],['../namespacemlx_1_1core.html#a5b8af5ca4c0e37aba0b7530542bd64c2',1,'mlx::core::operator+(int64_t x, const complex64_t &y)'],['../namespacemlx_1_1core.html#a3eaa72850205c18450c3af9a01cda219',1,'mlx::core::operator+(const complex64_t &x, int64_t y)'],['../namespacemlx_1_1core.html#ad38b38a3faf050735d45eed4438ee27a',1,'mlx::core::operator+(float16_t x, const complex64_t &y)'],['../namespacemlx_1_1core.html#a358e66ff205bda3e8542427b6d2edadc',1,'mlx::core::operator+(const complex64_t &x, float16_t y)'],['../namespacemlx_1_1core.html#af56d4b85e329e39a825c01a50e3a2522',1,'mlx::core::operator+(bfloat16_t x, const complex64_t &y)'],['../namespacemlx_1_1core.html#a806a495a129ebaab69cc57ca7db831d6',1,'mlx::core::operator+(const complex64_t &x, bfloat16_t y)'],['../namespacemlx_1_1core.html#a09fc6ebda917969383783a112a8547e7',1,'mlx::core::operator+(float x, const complex64_t &y)'],['../namespacemlx_1_1core.html#a7ed0e2cdb65612f54e67166762cb6408',1,'mlx::core::operator+(const complex64_t &x, float y)'],['../namespacemlx_1_1core.html#af7577c91b8c43682f0ebc9eb9758aae4',1,'mlx::core::operator+(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#abe36af9951afd8dd3ffe90ceedeb7f2b',1,'mlx::core::operator+(_MLX_Float16 lhs, float rhs)'],['../namespacemlx_1_1core.html#afb9f780dd056a4f975518f71a3b021ee',1,'mlx::core::operator+(float lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a6a8e093b24c4c789b7cd160f7e7f7de9',1,'mlx::core::operator+(_MLX_Float16 lhs, double rhs)'],['../namespacemlx_1_1core.html#af3a603690fd3de9e4f7f2035a4d25621',1,'mlx::core::operator+(double lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#afa2a4bccfeea9688ac922cb638341511',1,'mlx::core::operator+(_MLX_Float16 lhs, bool rhs)'],['../namespacemlx_1_1core.html#a6111e94d51de12391e5d68b765f28fc3',1,'mlx::core::operator+(bool lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a7c7dd6d346e0cdf398a896f2c6958258',1,'mlx::core::operator+(_MLX_Float16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a00872a443f462b0ae0a30c84fb001bc0',1,'mlx::core::operator+(int32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a4f5d80d03bae6d8d90455d3c47a8c116',1,'mlx::core::operator+(_MLX_Float16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a78f1f388f9d81ed93f60311f4645d8d0',1,'mlx::core::operator+(uint32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#aa43e1d6958c5d5a6fa9a625a1660e741',1,'mlx::core::operator+(_MLX_Float16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#ae877e1d5e3cf57734da8b49535fe3fb3',1,'mlx::core::operator+(int64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a9a5ae769f67f886d59c8e292a8218550',1,'mlx::core::operator+(_MLX_Float16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a058878237ce50baa4c909d8d15448d7e',1,'mlx::core::operator+(uint64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a95fd207028f125eefbafe9e0522407fe',1,'mlx::core::operator+(float16_t lhs, bfloat16_t rhs)'],['../namespacemlx_1_1core.html#abc6425a3fbb386f5ea5964b42507e989',1,'mlx::core::operator+(bfloat16_t lhs, float16_t rhs)']]], - ['operator_2b_2b_26',['operator++',['../structmlx_1_1core_1_1array_1_1_array_iterator.html#a3efe69356a84d0d4438f033992fcbd9d',1,'mlx::core::array::ArrayIterator']]], - ['operator_2b_3d_27',['operator+=',['../structpocketfft_1_1detail_1_1cmplx.html#ad4e69dcd89bdb7764c9c5807168f911e',1,'pocketfft::detail::cmplx::operator+=(const cmplx &other)'],['../structpocketfft_1_1detail_1_1cmplx.html#affa618d8850a7c232793b7c61db6d184',1,'pocketfft::detail::cmplx::operator+=(const cmplx< T2 > &other)'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab04f480aea9fbba0895068c7558dd400',1,'operator+=(device _MLX_BFloat16 &lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a251780ac4592cc2b1a543e417ff57770',1,'operator+=(device float &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a24381d991c2d570aa953694f396a69b5',1,'operator+=(thread _MLX_BFloat16 &lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7595740d4cc12924905d6bd1b99ee4da',1,'operator+=(thread float &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac1498acb8c3623b5f412f70ab6a6528b',1,'operator+=(threadgroup _MLX_BFloat16 &lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#abce5ab327110c164f054b43ed47f79a0',1,'operator+=(threadgroup float &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae0c70198e236ffe1a98f79987c686419',1,'operator+=(device _MLX_BFloat16 &lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a13b3338935440ae51ecc4a356093efc5',1,'operator+=(device half &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5a0cb8544b4ebd2906ba8e7f2868e8de',1,'operator+=(thread _MLX_BFloat16 &lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7b134429ea0c8493800ff8b465410f9c',1,'operator+=(thread half &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a4154f90ab7857ca856f9e15fe1bf5acf',1,'operator+=(threadgroup _MLX_BFloat16 &lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab9ae6a51e2027b02cac9966e05f3ba68',1,'operator+=(threadgroup half &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab93ce536eb7998bee00de4af868e31a9',1,'operator+=(device _MLX_BFloat16 &lhs, int16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad0ae9e2b4874f991a2c853e1c1fe735d',1,'operator+=(device int16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a194a6670cc25ade35a24b566f31af785',1,'operator+=(thread _MLX_BFloat16 &lhs, int16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a3d0d689516c99003659c5d026847bd2e',1,'operator+=(thread int16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a007f58508b98bb79e5c323ed0dec89b6',1,'operator+=(threadgroup _MLX_BFloat16 &lhs, int16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa7198e580e2a83c1fd01a4b6fdf86a80',1,'operator+=(threadgroup int16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a15573fefd880adefbba079b1c1bd8082',1,'operator+=(device _MLX_BFloat16 &lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a104cf94cb9e359d1b6ef92ced2ce0c27',1,'operator+=(device int32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa04cfcb52191fd23205a1a3572b46ae0',1,'operator+=(thread _MLX_BFloat16 &lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad684bc2ae1a2a627cd3e4a4c641e2d77',1,'operator+=(thread int32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad1e28448e35f4934075b397c34ba3d66',1,'operator+=(threadgroup _MLX_BFloat16 &lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a8ad16afd7f1711de83c0cec5af868f76',1,'operator+=(threadgroup int32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac45e9ca0c7155caebe3d0f7261518077',1,'operator+=(device _MLX_BFloat16 &lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a3c62ac679d6aa515144d40ebafe4a188',1,'operator+=(device int64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a9ff5ab3aef1057fa083b53a65c8aba03',1,'operator+=(thread _MLX_BFloat16 &lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae74bb0a3c12cd1a23f3d29ce307d6fb1',1,'operator+=(thread int64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac188bd19f236b098d603b0d8acd08921',1,'operator+=(threadgroup _MLX_BFloat16 &lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aef9fa600d107b509f2e3df7d6b080e01',1,'operator+=(threadgroup int64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af5713afb3a62967a02c3c20661951ee4',1,'operator+=(device _MLX_BFloat16 &lhs, uint16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7f1b84352a3ed6171444a43da1fc7e92',1,'operator+=(device uint16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af1983edd26245e6e51c6e47354095e32',1,'operator+=(thread _MLX_BFloat16 &lhs, uint16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a8cd55d1a579540eb450e12a8a8a950be',1,'operator+=(thread uint16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a588ef0f7e03f306758524d378278976f',1,'operator+=(threadgroup _MLX_BFloat16 &lhs, uint16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a74751abec7086f85f4f26ced44f1ca1f',1,'operator+=(threadgroup uint16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a4dd3cf0e5aa116ff330352a50c18cde7',1,'operator+=(device _MLX_BFloat16 &lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#afb9a0e18c0e40c77e6143fb7d84ebfba',1,'operator+=(device uint32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#adf0cfd9a608a6fb3d57933e32e7d81d2',1,'operator+=(thread _MLX_BFloat16 &lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a4bd92db6c8b9b5dc96332c7ae3eff8c7',1,'operator+=(thread uint32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5d628a5bc4fa755610392f47a523a1f1',1,'operator+=(threadgroup _MLX_BFloat16 &lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7c790442f77f2437b482c4a55e224fc3',1,'operator+=(threadgroup uint32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a77bab4481b41be50297b257e95058706',1,'operator+=(device _MLX_BFloat16 &lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7816a97d16b1d2f8a90227bb1da2f6ac',1,'operator+=(device uint64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac244d140c6149726ea44174d3e836ca3',1,'operator+=(thread _MLX_BFloat16 &lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af802541c4c65ee4442acd495de4d27fe',1,'operator+=(thread uint64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac06eb2fea47a09a8a8abdaa1aa9b4603',1,'operator+=(threadgroup _MLX_BFloat16 &lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5263b2463fecdc97f9521d00bffea059',1,'operator+=(threadgroup uint64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a24ca436ab299a710263d65302532dd3b',1,'operator+=(device _MLX_BFloat16 &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aee1bdf0ab2e445293708b476e8cfde3b',1,'operator+=(thread _MLX_BFloat16 &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a190e27077f0fba642a86f5c8f488bcc2',1,'operator+=(threadgroup _MLX_BFloat16 &lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1core.html#a9f2c9d2f21fbf9fbbacd940c6967c9d1',1,'mlx::core::operator+=(_MLX_BFloat16 &lhs, const float &rhs)'],['../namespacemlx_1_1core.html#a0b1b3c48afc0a785282e43435bba8418',1,'mlx::core::operator+=(float &lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a7b763db8194e6fcb1b87eab143dfa47a',1,'mlx::core::operator+=(_MLX_Float16 &lhs, const float &rhs)'],['../namespacemlx_1_1core.html#a827167f6a1ae55428fd218ddd51ec3b6',1,'mlx::core::operator+=(float &lhs, _MLX_Float16 rhs)']]], - ['operator_2d_28',['operator-',['../structpocketfft_1_1detail_1_1cmplx.html#a460da5db36d1c72fb1ed3496fd3abde4',1,'pocketfft::detail::cmplx::operator-()'],['../backend_2metal_2kernels_2complex_8h.html#a226cfd54d49f02e35c5aab3139c7596b',1,'operator-(complex64_t x): complex.h'],['../backend_2metal_2kernels_2complex_8h.html#af5608264cf920688607059b4e8cd3117',1,'operator-(complex64_t a, complex64_t b): complex.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a6aedc8d6d0980134ac69b96f22d9a855',1,'operator-(_MLX_BFloat16 x): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a333f67614dbf8027439a7e124052cb85',1,'operator-(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a891aa4bf46c20a26a55061736aba25f1',1,'operator-(_MLX_BFloat16 lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7ad7ff44a3200853711869f7a577d931',1,'operator-(float lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af69ef8f1d8ecae0e6f755bf1c46cf075',1,'operator-(_MLX_BFloat16 lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5bd875a54b79b2dcedf674807c3e53c5',1,'operator-(half lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab02f8646b47806e1d2038f248df03f06',1,'operator-(_MLX_BFloat16 lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab27b26182c7c6e08af37e6d511fd9253',1,'operator-(int32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5868c85c988ec3432cf86d7df40e464d',1,'operator-(_MLX_BFloat16 lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad03ef47e6cc7521bbfb45740dee20f88',1,'operator-(uint32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab789f8a400512ff27e36b3373170f0c5',1,'operator-(_MLX_BFloat16 lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7f601b22ecc480132d82ad782e5363bf',1,'operator-(int64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a152366ab4e2ccc867e919af6c74ced91',1,'operator-(_MLX_BFloat16 lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a42bead8ef0beb9f3452128d64cd4df9d',1,'operator-(uint64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1steel.html#aca8ef21c16984ccb329b3bd0c1e4be48',1,'mlx::steel::operator-()'],['../group__ops.html#gade2eea48989f4caaf36e89f7bd2a8816',1,'mlx::core::operator-(const array &a)'],['../group__ops.html#ga0c7f3cb36d4ca516c7a33142f88b9181',1,'mlx::core::operator-(const array &a, const array &b)'],['../group__ops.html#gae68d3d0691ba951501218e98439f3465',1,'mlx::core::operator-(T a, const array &b)'],['../group__ops.html#gaf5e5d882c51ad0a0ea315c274d5439b2',1,'mlx::core::operator-(const array &a, T b)'],['../namespacemlx_1_1core.html#a622ce842fe44e4b6a95e03242341b459',1,'mlx::core::operator-(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#af32a99d930d49e9b178472d7a65531ab',1,'mlx::core::operator-(_MLX_BFloat16 lhs, float rhs)'],['../namespacemlx_1_1core.html#a3555a2b31fc0925850d3240e85e03ec5',1,'mlx::core::operator-(float lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a46080889fd9e5c3f9916508e97dff5ad',1,'mlx::core::operator-(_MLX_BFloat16 lhs, double rhs)'],['../namespacemlx_1_1core.html#a9ca27fd1e512c8ed126342e565da12ae',1,'mlx::core::operator-(double lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a3803f8d36558d32bb7dd6e580ea683b4',1,'mlx::core::operator-(_MLX_BFloat16 lhs, bool rhs)'],['../namespacemlx_1_1core.html#af5d865528989ca66b3d357e5ce4e0300',1,'mlx::core::operator-(bool lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#afb784b960f55aeb4edd7f567fa74d443',1,'mlx::core::operator-(_MLX_BFloat16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a29cbacf4b399c24728fb0808fad498f9',1,'mlx::core::operator-(int32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#aececc0e451237aa6c0d1a2c3d828c86e',1,'mlx::core::operator-(_MLX_BFloat16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a383a26cc2689c98fd6c4435ade8dc669',1,'mlx::core::operator-(uint32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ad6311ef8df59bdfb212b5cf8169246b2',1,'mlx::core::operator-(_MLX_BFloat16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a23b7329bc1c93c8ac0a1f576565fefb0',1,'mlx::core::operator-(int64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ad8d650bf63998abd716ee0ca28e1cbb9',1,'mlx::core::operator-(_MLX_BFloat16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a7339b33201254e9119d99d3a728ded72',1,'mlx::core::operator-(uint64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a064318b7a16e5cb6d0a6407501b5c7dc',1,'mlx::core::operator-(_MLX_BFloat16 lhs)'],['../namespacemlx_1_1core.html#a7bae3ff296d9a60ff3c7e448f7fbc6bd',1,'mlx::core::operator-(const complex64_t &v)'],['../namespacemlx_1_1core.html#afb5069ecebdfd9d388c26f83df12c93c',1,'mlx::core::operator-(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a8d126e3f3fa9f8c1c1ae1b09f94df487',1,'mlx::core::operator-(_MLX_Float16 lhs, float rhs)'],['../namespacemlx_1_1core.html#ad04f1ccd2cd7c487a2f2aaa055939f64',1,'mlx::core::operator-(float lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a15eb2ea76508ff823fa0591e811d0b7d',1,'mlx::core::operator-(_MLX_Float16 lhs, double rhs)'],['../namespacemlx_1_1core.html#a96d9577db38d6809d022893e32feeda1',1,'mlx::core::operator-(double lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a5d9c02765c1672930757416411567bf2',1,'mlx::core::operator-(_MLX_Float16 lhs, bool rhs)'],['../namespacemlx_1_1core.html#a6105d3b5266666b7c6bb9469285a9ec3',1,'mlx::core::operator-(bool lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a777aa772dfb205b25d26f3180d98a2f6',1,'mlx::core::operator-(_MLX_Float16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a085eb092f4ada47f8169de62886cff90',1,'mlx::core::operator-(int32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ab25e5d211e2c8785b45c3a81a6282e2b',1,'mlx::core::operator-(_MLX_Float16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#abf5d09561a81b0f0b32d59d77e32e16f',1,'mlx::core::operator-(uint32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a4ce6867dbb4d1631d1870dac14022dbb',1,'mlx::core::operator-(_MLX_Float16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a8a049e646e0442064cfe9e202d7047c5',1,'mlx::core::operator-(int64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a78e2a1cfc65453185bcca13bd4f523cf',1,'mlx::core::operator-(_MLX_Float16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#af143cf68673e06390d4bb2ec2892bd22',1,'mlx::core::operator-(uint64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a46d502dfe0b027955950d4e716c2eb26',1,'mlx::core::operator-(_MLX_Float16 lhs)'],['../namespacemlx_1_1core.html#a2631e78c6f0a602f6754ac577ec75f83',1,'mlx::core::operator-(float16_t lhs, bfloat16_t rhs)'],['../namespacemlx_1_1core.html#a73d79cbd75d543d0837b8a51bf103f9e',1,'mlx::core::operator-(bfloat16_t lhs, float16_t rhs)']]], - ['operator_2d_3d_29',['operator-=',['../structpocketfft_1_1detail_1_1cmplx.html#a12441ff423274bd1b54245933d69ad7e',1,'pocketfft::detail::cmplx::operator-=()'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab225043bd02bb423930bc98aae9c2bca',1,'operator-=(device _MLX_BFloat16 &lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac2f1e1f2365cfa531b1519aa9ff67695',1,'operator-=(device float &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a513501355a5912a1263fd8b10864142b',1,'operator-=(thread _MLX_BFloat16 &lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab4f4ecd62c3d8b3363d02019573dc9f1',1,'operator-=(thread float &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a92d1348f201d78fcd474f75d5b23ef68',1,'operator-=(threadgroup _MLX_BFloat16 &lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a3eefe9a7f5fb226335ea687012f32d5c',1,'operator-=(threadgroup float &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aef62c7e3e494b6a511a7833c0d942a60',1,'operator-=(device _MLX_BFloat16 &lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad30726cc8b69fd300d33c2a46e123c28',1,'operator-=(device half &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a8859b5b8dc241e4f58243c85d2630cc8',1,'operator-=(thread _MLX_BFloat16 &lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7003e1e5881e3d106257f22b6a3e59fe',1,'operator-=(thread half &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a3165e37d393be50c2cfa9ddcba153684',1,'operator-=(threadgroup _MLX_BFloat16 &lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a76f5bd895b7214cbc3cea3440992718a',1,'operator-=(threadgroup half &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7167343d90eb70e5a0d5fa9ec5398e94',1,'operator-=(device _MLX_BFloat16 &lhs, int16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a9b31c363ebc93d592b6fa0e27b00335a',1,'operator-=(device int16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a967a1d7b5664f616e5b6f2d257367f0c',1,'operator-=(thread _MLX_BFloat16 &lhs, int16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aff19193e1b2cee29a8737318e95cc74a',1,'operator-=(thread int16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aede0cc4179507b739849948f1a2fed4b',1,'operator-=(threadgroup _MLX_BFloat16 &lhs, int16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7e1a6056f9c96f3c89fe204dbf103be5',1,'operator-=(threadgroup int16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a9d06cceea5c179bcc608452188bd7d6a',1,'operator-=(device _MLX_BFloat16 &lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0aa9ffe056f49fda181bbacbd60556ea',1,'operator-=(device int32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ada5685d99c2d6708d1c4ef826d68e879',1,'operator-=(thread _MLX_BFloat16 &lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a726cecf778b8584b6f7c37db1b064576',1,'operator-=(thread int32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a3816a35f8468156d59c239256c12dcf3',1,'operator-=(threadgroup _MLX_BFloat16 &lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa332fae098e7c6dc23b98bc0026f1070',1,'operator-=(threadgroup int32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#afb3cd302e0b78902c62111dce4494fe8',1,'operator-=(device _MLX_BFloat16 &lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#abb884888f14086cc674657677cb4b8bc',1,'operator-=(device int64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a38bb89f925eca4f9c042f6ee7a2c0193',1,'operator-=(thread _MLX_BFloat16 &lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac30c580713f354916088a7dc049ae4cd',1,'operator-=(thread int64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a715c824ee8c87e0256114a85624d9949',1,'operator-=(threadgroup _MLX_BFloat16 &lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7bc91aaaf476a37063264d1d53d862cc',1,'operator-=(threadgroup int64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab155f418f15cabd86ff942c6f9472ddb',1,'operator-=(device _MLX_BFloat16 &lhs, uint16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aaa66dc6d7b2c5efbfaa97ca9c7872bd8',1,'operator-=(device uint16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a696978d9401e09200045b2d8aad045c2',1,'operator-=(thread _MLX_BFloat16 &lhs, uint16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae998d8f423a9fb73405cfbd4b836bc72',1,'operator-=(thread uint16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a279d09ab8542f1c1a8dc8173b65946b6',1,'operator-=(threadgroup _MLX_BFloat16 &lhs, uint16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a491dadfae957cd7cc0c36188d910f6f6',1,'operator-=(threadgroup uint16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a9a837c3b9c4e42f53d7cd1ed0d266e2f',1,'operator-=(device _MLX_BFloat16 &lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#acf7af2284269544064b68e807064bba4',1,'operator-=(device uint32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a28d297705e29009197418546ef435393',1,'operator-=(thread _MLX_BFloat16 &lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a948579a4d9ba276523190b03b09578fb',1,'operator-=(thread uint32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5a4b98a0a11db5b77cf9168df37c8bc7',1,'operator-=(threadgroup _MLX_BFloat16 &lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a31a3d8f2ff8038f7e0d717845c039808',1,'operator-=(threadgroup uint32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a1dac193d9f1c8c0eb4473441895f8c58',1,'operator-=(device _MLX_BFloat16 &lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad2817d53fdd4b112babfb6f0b38c8f39',1,'operator-=(device uint64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa705d87cf4b78e9d7c6b07dd0c66cac6',1,'operator-=(thread _MLX_BFloat16 &lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a542affc376726840647a6e93acf2c1a7',1,'operator-=(thread uint64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#add18cfe4c0d38e95c6dff6bab3e7a932',1,'operator-=(threadgroup _MLX_BFloat16 &lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab1de7e7e7304ff3598925d2e69134764',1,'operator-=(threadgroup uint64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0d3fb52437c677c5d0f1a3642384b15c',1,'operator-=(device _MLX_BFloat16 &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#adda64cae388baac1f138b06dc8595237',1,'operator-=(thread _MLX_BFloat16 &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af20874a61c6c3f4c3fd045a96e806644',1,'operator-=(threadgroup _MLX_BFloat16 &lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1core.html#a8b8a55690df46d97fcfc2a60120783af',1,'mlx::core::operator-=(_MLX_BFloat16 &lhs, const float &rhs)'],['../namespacemlx_1_1core.html#ab03949b1f60fa035ce454a894cd73ae9',1,'mlx::core::operator-=(float &lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#adaf70bbfb3667df0d08fd3c99896e20a',1,'mlx::core::operator-=(_MLX_Float16 &lhs, const float &rhs)'],['../namespacemlx_1_1core.html#a321c98e5a78621d3c9a3895f707f2f1c',1,'mlx::core::operator-=(float &lhs, _MLX_Float16 rhs)']]], - ['operator_2f_30',['operator/',['../backend_2metal_2kernels_2complex_8h.html#ae6a708f67d6fd9b0962aa8877cec6d35',1,'operator/(complex64_t a, complex64_t b): complex.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a9f16a44e1c9836ca57edc1d7b93b5d7c',1,'operator/(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aacaedf12f862c76457133336dd6fc446',1,'operator/(_MLX_BFloat16 lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a584a513596de20663dad951a5b81695e',1,'operator/(float lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad8f7b11669736fbd6ed2e28211d877d4',1,'operator/(_MLX_BFloat16 lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a59515695ebc48844345fa5120511aed1',1,'operator/(half lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a8c8ac6736440fdca366ebdefe2a12b9f',1,'operator/(_MLX_BFloat16 lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad6859b04680d0d26d75fd6c4dd74ee24',1,'operator/(int32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a4720cc79ab2b8e39952ea9ef20e51250',1,'operator/(_MLX_BFloat16 lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a72d10ec0e62949247da129eb3a83fb9b',1,'operator/(uint32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad6399ba2b8708899739b4cdbb44add8d',1,'operator/(_MLX_BFloat16 lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a998b1ba877a606aedf722ab46b290403',1,'operator/(int64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa3277ae33976c70f7bd937ddff027b72',1,'operator/(_MLX_BFloat16 lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa708a970a200822c99c0489f389469fa',1,'operator/(uint64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1steel.html#a6bde717aca2051499f73a3eee199bfdd',1,'mlx::steel::operator/()'],['../group__ops.html#gaeedf77f722b394429f1a7f6c367883bf',1,'mlx::core::operator/(const array &a, const array &b)'],['../group__ops.html#ga7366ec7f453be2a4dc449f0faa1bf554',1,'mlx::core::operator/(double a, const array &b)'],['../group__ops.html#gadfb324ae9b4feb2c7ea0ac6ade639f38',1,'mlx::core::operator/(const array &a, double b)'],['../namespacemlx_1_1core.html#a7573ac3b93ddecd69e9c88a26fc84ba9',1,'mlx::core::operator/(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a40e868dad70401d9aa9ee9c32235c315',1,'mlx::core::operator/(_MLX_BFloat16 lhs, float rhs)'],['../namespacemlx_1_1core.html#a7587c28fbd2023b134e5fc12bb0dde23',1,'mlx::core::operator/(float lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a92cdd377c408becf4cf83c1ee9b7085d',1,'mlx::core::operator/(_MLX_BFloat16 lhs, double rhs)'],['../namespacemlx_1_1core.html#aef89566301cb133d98c8e7bdd2b7bec6',1,'mlx::core::operator/(double lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a94e7b51185590492b46916685641276f',1,'mlx::core::operator/(_MLX_BFloat16 lhs, bool rhs)'],['../namespacemlx_1_1core.html#a04584788c08180835219d0ea1e2b97b1',1,'mlx::core::operator/(bool lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ad5af96e2ff09d207eb1e1980fe3e7c2d',1,'mlx::core::operator/(_MLX_BFloat16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#ac2217bf760038cd011781158923149ed',1,'mlx::core::operator/(int32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#aea414c04bddc4b9b609262e97398f1b4',1,'mlx::core::operator/(_MLX_BFloat16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a27fe23230cd082c0363b9451b731ce6b',1,'mlx::core::operator/(uint32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#abdd9bb8fb4411e5924f3eb7ef1bb52f8',1,'mlx::core::operator/(_MLX_BFloat16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a50bae338a7353f8b0ed3441071bb0cf6',1,'mlx::core::operator/(int64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#aab26a3284dd3ac7d47c8b5b3a3290ce3',1,'mlx::core::operator/(_MLX_BFloat16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a749f48db01de38f259a0c6750a97fa77',1,'mlx::core::operator/(uint64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a32a6a08a2a4652975b0a1bd1fcf3eafd',1,'mlx::core::operator/(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a4b66fb38ddc5cc0c2489583d5c499602',1,'mlx::core::operator/(_MLX_Float16 lhs, float rhs)'],['../namespacemlx_1_1core.html#a45726f1905b709cf8253e6efa046027b',1,'mlx::core::operator/(float lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#afd4170c1e364384f30e6bae341146fa6',1,'mlx::core::operator/(_MLX_Float16 lhs, double rhs)'],['../namespacemlx_1_1core.html#aef85739d150b9d5609973da8a3f1086a',1,'mlx::core::operator/(double lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#af52a941f8ed9b25eec91402c7b9e281f',1,'mlx::core::operator/(_MLX_Float16 lhs, bool rhs)'],['../namespacemlx_1_1core.html#a477cade78296bc85894170f62db68870',1,'mlx::core::operator/(bool lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a22f5a2257e11423fc2fe18e2dce91590',1,'mlx::core::operator/(_MLX_Float16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a640d3574dfe6ad934c720ae8bdd78bfa',1,'mlx::core::operator/(int32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a6f65d8fd0cdddc96fc01f6af95804873',1,'mlx::core::operator/(_MLX_Float16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a517019d42d4e426b7b98e1c719bb47ce',1,'mlx::core::operator/(uint32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a0beb7a223c542015a4eff4aed814a9dd',1,'mlx::core::operator/(_MLX_Float16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#abc9b1bd5018d46514bc19d23db2e5063',1,'mlx::core::operator/(int64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#af22937df654ddbd6e398ef12764d18c0',1,'mlx::core::operator/(_MLX_Float16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a775aed5f49b530c57e71cbac81404d45',1,'mlx::core::operator/(uint64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a97efcd96d6be666e5608034ae77289ef',1,'mlx::core::operator/(float16_t lhs, bfloat16_t rhs)'],['../namespacemlx_1_1core.html#a899851f85dbddd96f9d36319b82542a0',1,'mlx::core::operator/(bfloat16_t lhs, float16_t rhs)']]], - ['operator_2f_3d_31',['operator/=',['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5aa3b8c68a2b58d41ea33eaabbf83095',1,'operator/=(device _MLX_BFloat16 &lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a90a1c5130db515db48624d8587edbb91',1,'operator/=(device float &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a65f30a2dc199134e35bc7c5d431b2263',1,'operator/=(thread _MLX_BFloat16 &lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7172d84db640e6c49dff0d08dd64b53e',1,'operator/=(thread float &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#acf7cb9927bf09022088401923f2e1916',1,'operator/=(threadgroup _MLX_BFloat16 &lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a86b2a001cbec0d3a8d762a3c7ff47b0b',1,'operator/=(threadgroup float &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a744f72ba83522fe3cc2a49a007b42543',1,'operator/=(device _MLX_BFloat16 &lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a77c678665b34df7652dcde053ca73185',1,'operator/=(device half &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae0614b6b199d8a65ae95d4621b118b82',1,'operator/=(thread _MLX_BFloat16 &lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa846fde89c7d2d18b18ef180a8a9c8a3',1,'operator/=(thread half &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a08e778be18e4a291c108fcc528b981d3',1,'operator/=(threadgroup _MLX_BFloat16 &lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a6b9e49ad9ea256d2d0220c0d81552602',1,'operator/=(threadgroup half &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab933bc3cdf9adfea10ab9dba5292c812',1,'operator/=(device _MLX_BFloat16 &lhs, int16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a25e7c5d2ecf3375756d59074f333858f',1,'operator/=(device int16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a4ae4a80fde67eea9a0a37b2803946544',1,'operator/=(thread _MLX_BFloat16 &lhs, int16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a912393b7208fa45bd1e87f30b218b68b',1,'operator/=(thread int16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a18963246f2b640874bef6dca7049f64d',1,'operator/=(threadgroup _MLX_BFloat16 &lhs, int16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0e2c2c2cb50b3a55ff213f18978aca35',1,'operator/=(threadgroup int16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a64f1136b17006f168ef837e17240814f',1,'operator/=(device _MLX_BFloat16 &lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae46d75b8046d557452d74513f1106710',1,'operator/=(device int32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a08d2460e259b9106d90d889481ad60d5',1,'operator/=(thread _MLX_BFloat16 &lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0f7fd418408806ef498745c6fdb2c062',1,'operator/=(thread int32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac703495cb370b52526a5a2d36ae26038',1,'operator/=(threadgroup _MLX_BFloat16 &lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a4ca11d43174baf0a729f93b35eabcbea',1,'operator/=(threadgroup int32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a9f835a0a80c411580c97b65fdc5bdfd3',1,'operator/=(device _MLX_BFloat16 &lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a17f47ec9cff60f8e1b3477a2793b7ac0',1,'operator/=(device int64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5be23e296bbed3a885586a6424b1666e',1,'operator/=(thread _MLX_BFloat16 &lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#afba39221eb54e272aae79910b3cd7ef5',1,'operator/=(thread int64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac057d95a2bf087575584aa6f9a2c6bf5',1,'operator/=(threadgroup _MLX_BFloat16 &lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab986ae2cec780a1f494b7b4468b7ba11',1,'operator/=(threadgroup int64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a44522c2304c6396bbe6b9d32000f4b6f',1,'operator/=(device _MLX_BFloat16 &lhs, uint16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aef8e7e499ea9d432aa743d83c076f945',1,'operator/=(device uint16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a3a0a3edbf1ba2314551454059c3f422b',1,'operator/=(thread _MLX_BFloat16 &lhs, uint16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#acb9f0aef9fbdfde8a4f46e33b0d6c52f',1,'operator/=(thread uint16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a303dfcc81ffd355f866f863d7d9f0fa5',1,'operator/=(threadgroup _MLX_BFloat16 &lhs, uint16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a359edd4bcb8776861ceb26a3005624c0',1,'operator/=(threadgroup uint16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#adc9f32cc6f40768df4285fba2e4783c7',1,'operator/=(device _MLX_BFloat16 &lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae71f66d814a03f6377c9d86cf0a2b5d7',1,'operator/=(device uint32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad0125b6baba3065a87a174ec27aa9a61',1,'operator/=(thread _MLX_BFloat16 &lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5cc74ad3e522d7104e6e2117751151ad',1,'operator/=(thread uint32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab3b594321fb42b0c2da99954d1e0976c',1,'operator/=(threadgroup _MLX_BFloat16 &lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a4a0023e2fd08875156cd6ef747fbb5cd',1,'operator/=(threadgroup uint32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a4358ee606e66ba2081fcf94f9c3b5915',1,'operator/=(device _MLX_BFloat16 &lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad1e7ef6f065695d4b1d017547b60ef62',1,'operator/=(device uint64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a284dfc702f0f67b9c233b87162eeabdd',1,'operator/=(thread _MLX_BFloat16 &lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab8f211ea896fc5190004f3ad6ad8932f',1,'operator/=(thread uint64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7e1bcf3bc06cbcbc304c0cdf729802bc',1,'operator/=(threadgroup _MLX_BFloat16 &lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#abbe42648a46092137b303ccd08f7df86',1,'operator/=(threadgroup uint64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af1a12a1efb618a57da6dd41ae18cb53c',1,'operator/=(device _MLX_BFloat16 &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a94686039356dfa9aa45608a8b0562fdc',1,'operator/=(thread _MLX_BFloat16 &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa251d6483d3b099d1b5311fbe6f0bce2',1,'operator/=(threadgroup _MLX_BFloat16 &lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1core.html#a045ff27257cb6d8ab7a94771ba5a17e6',1,'mlx::core::operator/=(_MLX_BFloat16 &lhs, const float &rhs)'],['../namespacemlx_1_1core.html#a58112951a56a0f9f8c90b60fe74f9508',1,'mlx::core::operator/=(float &lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ae736defc89a04fbaf7627ad2695bb838',1,'mlx::core::operator/=(_MLX_Float16 &lhs, const float &rhs)'],['../namespacemlx_1_1core.html#ab1f260710251256ef737dd59be9e143c',1,'mlx::core::operator/=(float &lhs, _MLX_Float16 rhs)']]], - ['operator_3c_32',['operator<',['../backend_2metal_2kernels_2complex_8h.html#a67674e32596a9dae2258bb8e0e6a2058',1,'operator<(complex64_t a, complex64_t b): complex.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a9ef6a57b7185e9ca49e255fec1a44e25',1,'operator<(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aab02c65bc38ea66335b2192ead4095a8',1,'operator<(_MLX_BFloat16 lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae91686513e284bcc9635833744bbdda1',1,'operator<(float lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a2486f3b5de85b0d57f458d8f21f82b42',1,'operator<(_MLX_BFloat16 lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a435a2aec4c777b4b184ff5d24992e8a1',1,'operator<(half lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#abdd04257e6a73883b5f56f1186d0e906',1,'operator<(_MLX_BFloat16 lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a69984aaa05ae1d4fccccf7f57e8ecb4a',1,'operator<(int32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a501cc01d5bf15d9f03aa28545f9624ea',1,'operator<(_MLX_BFloat16 lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a1b029e4ca72125a5f9471f582c819705',1,'operator<(uint32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0736a76f56578d26ba1422dc8b744a18',1,'operator<(_MLX_BFloat16 lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a24b1fa8998c892f90f8dde7c34fb10a5',1,'operator<(int64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af80ff2020ec2c4b406c5fdae3fe55e63',1,'operator<(_MLX_BFloat16 lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac03f6eefb836373d37dc280b0d813d78',1,'operator<(uint64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1steel.html#adb5f24b57d98214fc215a06475f21412',1,'mlx::steel::operator<()'],['../group__ops.html#gaee41e2b8f61d563200ff03575ac1d6c3',1,'mlx::core::operator<(const array &a, const array &b)'],['../group__ops.html#ga1ef8ea11cf15ce628c54201fa42748ef',1,'mlx::core::operator<(T a, const array &b)'],['../group__ops.html#ga95e72226dc7a79c40b3d16f990922050',1,'mlx::core::operator<(const array &a, T b)'],['../namespacemlx_1_1core.html#a987d631e1508e8df55d98ddd57e4d086',1,'mlx::core::operator<(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ad3fb46370cd8f0992866fad9e2c64a3c',1,'mlx::core::operator<(_MLX_BFloat16 lhs, float rhs)'],['../namespacemlx_1_1core.html#a3026691bf7ee5095243a8611bf3411aa',1,'mlx::core::operator<(float lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a0d42d6c1d5f77a96e2f296b8ebd79ee6',1,'mlx::core::operator<(_MLX_BFloat16 lhs, double rhs)'],['../namespacemlx_1_1core.html#ab5ce08a7de0a0ca00d61f7a7f8ea3ab4',1,'mlx::core::operator<(double lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#abce8b7f24b61e5ec0f9a3afe20845caf',1,'mlx::core::operator<(_MLX_BFloat16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#aff97612627ae1ed260c43c0a7af0d306',1,'mlx::core::operator<(int32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a9119e518234df7923cae2b3802d59bf2',1,'mlx::core::operator<(_MLX_BFloat16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#aefb9b05ce8864ada99a920ab32017b89',1,'mlx::core::operator<(uint32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#abc55f3676c2d112a6e9ab276bd6b1796',1,'mlx::core::operator<(_MLX_BFloat16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#afe6581a2c45f24d7fab1e4006c1e3c70',1,'mlx::core::operator<(int64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#aca1d50cdd9506481dcc4cd1ad4a4f734',1,'mlx::core::operator<(_MLX_BFloat16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a310720f513b6a2490e9df80c65f1bfb3',1,'mlx::core::operator<(uint64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a29e457a170b6cefb6ba1e394c96c6f7b',1,'mlx::core::operator<(const complex64_t &a, const complex64_t &b)'],['../namespacemlx_1_1core.html#afd4519985b6b207ec41ad8530d1036df',1,'mlx::core::operator<(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ae1e41ca94022e43a00cdfc5845102daa',1,'mlx::core::operator<(_MLX_Float16 lhs, float rhs)'],['../namespacemlx_1_1core.html#ac80f4022bffd95b57526685ce8e1cbc1',1,'mlx::core::operator<(float lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a3a8f6f0af477788c4f0aa98abfc5f1ab',1,'mlx::core::operator<(_MLX_Float16 lhs, double rhs)'],['../namespacemlx_1_1core.html#a3728ed9b6cbd152bf675251a0501b466',1,'mlx::core::operator<(double lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a5b9ad811a5e1358100c5423dd70ea387',1,'mlx::core::operator<(_MLX_Float16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a5c77e1db83995d3e06a8a26265bce5d6',1,'mlx::core::operator<(int32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ab8a0a3f70664049b35ce1887bd8ff5c2',1,'mlx::core::operator<(_MLX_Float16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a6652d93bfb2d426e261a1712a181a4d2',1,'mlx::core::operator<(uint32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a03758b8d13da2de07cc4f4fc45d2854b',1,'mlx::core::operator<(_MLX_Float16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a325161b81a9ff179fd37d949780a17ba',1,'mlx::core::operator<(int64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a92eca79fce8233e4299343eee3996511',1,'mlx::core::operator<(_MLX_Float16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#adb016662b8f7eb680abfe1a421eabe72',1,'mlx::core::operator<(uint64_t lhs, _MLX_Float16 rhs)']]], - ['operator_3c_3c_33',['operator<<',['../group__ops.html#gad656c30f9fd7d9467e405657b325aa7e',1,'mlx::core::operator<<(const array &a, const array &b)'],['../namespacemlx_1_1core.html#a1e5c30e316afa30c14bc48b92afdb794',1,'mlx::core::operator<<(std::ostream &os, const Device &d)'],['../namespacemlx_1_1core.html#a4ddd07021b36c848d6fb1dd9ac276822',1,'mlx::core::operator<<(std::ostream &os, const Stream &s)'],['../namespacemlx_1_1core.html#a0023c267cf81345fad65e7a797954cd3',1,'mlx::core::operator<<(std::ostream &os, const Dtype &d)'],['../namespacemlx_1_1core.html#a1fd58658474fb842d648dcf8f7d9f078',1,'mlx::core::operator<<(std::ostream &os, const Dtype::Kind &k)'],['../namespacemlx_1_1core.html#a123331f01188bd76e37623b63b6b4340',1,'mlx::core::operator<<(std::ostream &os, array a)'],['../namespacemlx_1_1core.html#a4e733bba89760abed32393e085812b22',1,'mlx::core::operator<<(std::ostream &os, const std::vector< int > &v)'],['../namespacemlx_1_1core.html#a6276bb9bad43ed4a27a1e2c3f5bfd990',1,'mlx::core::operator<<(std::ostream &os, const std::vector< size_t > &v)'],['../namespacemlx_1_1core.html#a5e5bd5c57b1cf19776bdb41e732861d9',1,'mlx::core::operator<<(std::ostream &os, const std::vector< int64_t > &v)'],['../namespacemlx_1_1core.html#a42a19c8442b173606e714364227e7d45',1,'mlx::core::operator<<(std::ostream &os, const complex64_t &v)'],['../namespacemlx_1_1core.html#a57eb97a5eba99a846ac429795e407574',1,'mlx::core::operator<<(std::ostream &os, const float16_t &v)'],['../namespacemlx_1_1core.html#a7db909d54cf07375e89424c32c07a29c',1,'mlx::core::operator<<(std::ostream &os, const bfloat16_t &v)']]], - ['operator_3c_3d_34',['operator<=',['../backend_2metal_2kernels_2complex_8h.html#aee04c9a63c6716a99a027418354debb0',1,'operator<=(complex64_t a, complex64_t b): complex.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af469c58cffeab488c681f4b33f02cd05',1,'operator<=(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5a81eae168dfafd299c2b94e3e8558cf',1,'operator<=(_MLX_BFloat16 lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0f486bf02c6ad5b9b6a96d3450f03e47',1,'operator<=(float lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#acba9efe192d22b7781b4622103c7a944',1,'operator<=(_MLX_BFloat16 lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aff100489cc40ad276c2d5d67a9df67db',1,'operator<=(half lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7eac96f64ca42991caf819c8e8c8d2bc',1,'operator<=(_MLX_BFloat16 lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a88c11cd37600de5480570da3d2ae5732',1,'operator<=(int32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a08c7d12a0d16565fbf052dba2db8b22d',1,'operator<=(_MLX_BFloat16 lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a2b9de9624c0a507b4ead85f898ad9daf',1,'operator<=(uint32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a28f8d21c5eef047c701cf690ce9c2ef0',1,'operator<=(_MLX_BFloat16 lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a14b56c687053ee2432398a25663c068f',1,'operator<=(int64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0f360806708b95a3be400af0b8871b57',1,'operator<=(_MLX_BFloat16 lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a80d288f22cadfdf5e904410349e616a1',1,'operator<=(uint64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1steel.html#a6cc3bab5e7f6e7c719c82afa90ad2827',1,'mlx::steel::operator<=()'],['../group__ops.html#ga4c8b8a1632944acaae50f0de6c23ece6',1,'mlx::core::operator<=(const array &a, const array &b)'],['../group__ops.html#ga150a9be467c9f91482a6d6fc13504bc4',1,'mlx::core::operator<=(T a, const array &b)'],['../group__ops.html#ga624eeccef0cc4b130e1325abfea057cb',1,'mlx::core::operator<=(const array &a, T b)'],['../namespacemlx_1_1core.html#a0066a47cb21223ddebc77992ee874fb9',1,'mlx::core::operator<=(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a2593dbace3ce50e7146d9514726a543f',1,'mlx::core::operator<=(_MLX_BFloat16 lhs, float rhs)'],['../namespacemlx_1_1core.html#a88654bcf6c9728517a2933ca2e29a7c1',1,'mlx::core::operator<=(float lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a5d4f449e9c1699b99fcf894dd15e8af3',1,'mlx::core::operator<=(_MLX_BFloat16 lhs, double rhs)'],['../namespacemlx_1_1core.html#a6b678bea8fdcda1f11c6691b56a15211',1,'mlx::core::operator<=(double lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ae8aacc606ea16f018a90eae758830a35',1,'mlx::core::operator<=(_MLX_BFloat16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a25668dea4ffb51c7c00eeecb9530d1d8',1,'mlx::core::operator<=(int32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a084558b6a5487549799c49c37c9e9652',1,'mlx::core::operator<=(_MLX_BFloat16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#ade2e2a0daa79d5c52f278f85f03dde2e',1,'mlx::core::operator<=(uint32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a750a2d2b4976ad94b08994d081f83445',1,'mlx::core::operator<=(_MLX_BFloat16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#ade5a175ff45347689ac4c798d04c8ffc',1,'mlx::core::operator<=(int64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ae25e0c01b46612f039313a4825ba6428',1,'mlx::core::operator<=(_MLX_BFloat16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a5c90f16d8f6edf4b75c96b945b9fa591',1,'mlx::core::operator<=(uint64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a8cd6583fa0fc9957f993e00b2ec01d91',1,'mlx::core::operator<=(const complex64_t &a, const complex64_t &b)'],['../namespacemlx_1_1core.html#a012130a0458cbc30b88365e0e0eab232',1,'mlx::core::operator<=(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ae8c890bdcffadee8c5dab85c907f57eb',1,'mlx::core::operator<=(_MLX_Float16 lhs, float rhs)'],['../namespacemlx_1_1core.html#a43cb070553c1f2fffb32ef6670e30980',1,'mlx::core::operator<=(float lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ac759b7798d668a99535e59e26d6ba192',1,'mlx::core::operator<=(_MLX_Float16 lhs, double rhs)'],['../namespacemlx_1_1core.html#a70e528a789b5660d98e783b045aaa379',1,'mlx::core::operator<=(double lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a40bd8abb8a4d989ddabbb298518bd7f5',1,'mlx::core::operator<=(_MLX_Float16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a4155d4b0c76f37ab5e0b54f9cd683f35',1,'mlx::core::operator<=(int32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ad8bb648d0603a206e0392990c911ca0b',1,'mlx::core::operator<=(_MLX_Float16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#ace72a5853f2afd6510dcb97d54fa650d',1,'mlx::core::operator<=(uint32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ab38f7a0d3c0809071ff5d3af859018d6',1,'mlx::core::operator<=(_MLX_Float16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a7904b886d7b535a6af0a885d00597323',1,'mlx::core::operator<=(int64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a57952168bd0b54c2677204d4ab1cb6e5',1,'mlx::core::operator<=(_MLX_Float16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a6235dc5f4db517618bb3449b08c96e8b',1,'mlx::core::operator<=(uint64_t lhs, _MLX_Float16 rhs)']]], - ['operator_3d_35',['operator=',['../classmlx_1_1core_1_1allocator_1_1_allocator.html#a027b84cddc8d476f736ac1f1a9991fe4',1,'mlx::core::allocator::Allocator::operator=(const Allocator &other)=delete'],['../classmlx_1_1core_1_1allocator_1_1_allocator.html#a2e971b47339b1d0849a334a902a9df3c',1,'mlx::core::allocator::Allocator::operator=(Allocator &&other)=delete'],['../classmlx_1_1core_1_1array.html#a8acf2b4c75f9b7f79da6675dbc36cf36',1,'mlx::core::array::operator=(const array &other) &&=delete'],['../classmlx_1_1core_1_1array.html#a5c89c2406a610b32943955f9a5060fbd',1,'mlx::core::array::operator=(array &&other) &&=delete'],['../classmlx_1_1core_1_1array.html#ad3277ff68f1336aa217f9cbe40181479',1,'mlx::core::array::operator=(array &&other) &=default'],['../classmlx_1_1core_1_1array.html#a5da41aabecf4c8055b7515341bf57147',1,'mlx::core::array::operator=(const array &other) &'],['../structmlx_1_1core_1_1array_1_1_data.html#a68e9417954fe811b5e41e6317a526748',1,'mlx::core::array::Data::operator=()'],['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#a3f42a1362b4a513fa89e7b3dcc570a8e',1,'mlx::core::metal::CommandEncoder::operator=()'],['../classmlx_1_1core_1_1metal_1_1_device.html#ad1d6382fd18a46b1906e1b43e0bd2e73',1,'mlx::core::metal::Device::operator=()'],['../classmlx_1_1core_1_1metal_1_1_residency_set.html#aef97dbbc755940789f99a26164591c45',1,'mlx::core::metal::ResidencySet::operator=()'],['../classmlx_1_1core_1_1_primitive.html#a6b1be7ea92f3a7bb19875c70259dad6b',1,'mlx::core::Primitive::operator=(const Primitive &other)=delete'],['../classmlx_1_1core_1_1_primitive.html#a50bbddd43e1ba0cf5f127cd7aa756a9e',1,'mlx::core::Primitive::operator=(Primitive &&other)=delete'],['../classmlx_1_1core_1_1_unary_primitive.html#a0a859309a4f192f2679e07f2e4ff4d22',1,'mlx::core::UnaryPrimitive::operator=(const UnaryPrimitive &other)=delete'],['../classmlx_1_1core_1_1_unary_primitive.html#ab90b2ea80f1d914be03cf44def5db5a5',1,'mlx::core::UnaryPrimitive::operator=(UnaryPrimitive &&other)=delete'],['../classmlx_1_1core_1_1scheduler_1_1_scheduler.html#ab170dbd2ce34c51e2eeebf5d08e7e2db',1,'mlx::core::scheduler::Scheduler::operator=(const Scheduler &)=delete'],['../classmlx_1_1core_1_1scheduler_1_1_scheduler.html#a035ea35f4dd8ee985973080f14029379',1,'mlx::core::scheduler::Scheduler::operator=(Scheduler &&)=delete'],['../structmlx_1_1core_1_1___m_l_x___b_float16.html#a0f65b0523b8ddd989f338da6cb2860e3',1,'mlx::core::_MLX_BFloat16::operator=(std::vector< bool >::reference x)'],['../structmlx_1_1core_1_1___m_l_x___b_float16.html#abb8cd44ee22b17c55333ff2eb4e13a14',1,'mlx::core::_MLX_BFloat16::operator=(const float &x)'],['../structmlx_1_1core_1_1___m_l_x___float16.html#a608a099bf7116ee608dcfd31ea3ade2c',1,'mlx::core::_MLX_Float16::operator=(std::vector< bool >::reference x)'],['../structmlx_1_1core_1_1___m_l_x___float16.html#a35543c3653d477c46350697fb808373d',1,'mlx::core::_MLX_Float16::operator=(const float &x)']]], - ['operator_3d_3d_36',['operator==',['../structmlx_1_1core_1_1array_1_1_array_iterator.html#a1afd6d2a19a2b0d712063f221ab4eba7',1,'mlx::core::array::ArrayIterator::operator=='],['../backend_2metal_2kernels_2complex_8h.html#abfc19f03616441245dfc7726b278f190',1,'operator==(complex64_t a, complex64_t b): complex.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a49a13b06a325ed3cca4004b6a0cde065',1,'operator==(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0aa3bfcfab53700488e5f386e6de60d5',1,'operator==(_MLX_BFloat16 lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a3936148781ab1c4f33f58d12c116f370',1,'operator==(float lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae753526b669fba27771089dc809abd66',1,'operator==(_MLX_BFloat16 lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a05a4f197a71d0f16879032f44492bb79',1,'operator==(half lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae86f5917847b1ec9f313996250f2e0be',1,'operator==(_MLX_BFloat16 lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aab74ec4d33a64b92b908717d500f1ecf',1,'operator==(int32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac30a2c1fa6f172af903fdeb6a8632606',1,'operator==(_MLX_BFloat16 lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab4e9ad547aa23daa351075e0ecc58fa2',1,'operator==(uint32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa5fa1a8f2b39c3508fe38205469756d1',1,'operator==(_MLX_BFloat16 lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aeadc1f36c6bdc219294ce9341d80afa5',1,'operator==(int64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a3ae2091ada1e39e857fbc53c97bdb79f',1,'operator==(_MLX_BFloat16 lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac7b4d295f3c7b1e09964f24f306422da',1,'operator==(uint64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1steel.html#abcc797f27e87e857b41c1a8d33ee2c78',1,'mlx::steel::operator==()'],['../namespacemlx_1_1core.html#a937503d72b66c661bf3f5fdcd98ef97c',1,'mlx::core::operator==(const Device &lhs, const Device &rhs)'],['../group__ops.html#gaa30cf69f3d22f65615f5e1696dd5703f',1,'mlx::core::operator==(const array &a, const array &b)'],['../group__ops.html#gaf115782d009ac2a547fcca395c9ec797',1,'mlx::core::operator==(T a, const array &b)'],['../group__ops.html#ga3ad3ed7aece2650943a35082dbe3a0a5',1,'mlx::core::operator==(const array &a, T b)'],['../namespacemlx_1_1core.html#ac470f937a379d6356c8f567c97cd7481',1,'mlx::core::operator==(const Stream &lhs, const Stream &rhs)'],['../namespacemlx_1_1core.html#aec63a0472cb943fe39f31e7678555572',1,'mlx::core::operator==(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ad05311ca8e2f19ffe5849e963837cec7',1,'mlx::core::operator==(_MLX_BFloat16 lhs, float rhs)'],['../namespacemlx_1_1core.html#aaaf591cb2188381e6cbd857132d04eb7',1,'mlx::core::operator==(float lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a7ef33c33509ccccf1ab217500e8b3c1a',1,'mlx::core::operator==(_MLX_BFloat16 lhs, double rhs)'],['../namespacemlx_1_1core.html#abec4200a718b7c5ed80b7abcc4447260',1,'mlx::core::operator==(double lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ad853981b1c5ba69b07d54c7b77055d22',1,'mlx::core::operator==(_MLX_BFloat16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a752d6cb4172a9cb91e5da19582329c6d',1,'mlx::core::operator==(int32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a0175beb3de139faa08479a88215b35ea',1,'mlx::core::operator==(_MLX_BFloat16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a61da2851cb3beeef28049228346c28b5',1,'mlx::core::operator==(uint32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#aa24713cb9e39bacb516c992eb03d2b2b',1,'mlx::core::operator==(_MLX_BFloat16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a6d565dd93c46259f9486d9fdf0969589',1,'mlx::core::operator==(int64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a24e79a82557861de64dad66d36e6ff30',1,'mlx::core::operator==(_MLX_BFloat16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#af27d515ac390d62bd852b73ea759a947',1,'mlx::core::operator==(uint64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ae3e1e8b7a5410e0edf35f31f74295e2f',1,'mlx::core::operator==(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#aaa22230a66b15c3e774d8ce45783a746',1,'mlx::core::operator==(_MLX_Float16 lhs, float rhs)'],['../namespacemlx_1_1core.html#ae2a0bcdc171d7e9745d33e1d9aac4f8a',1,'mlx::core::operator==(float lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a331ec62442a8d3eb8ccba7b4de5168d1',1,'mlx::core::operator==(_MLX_Float16 lhs, double rhs)'],['../namespacemlx_1_1core.html#acfcaefe0990eb3533e2b11a6f2657492',1,'mlx::core::operator==(double lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a8d48dbd49cccff07777affb2a412058c',1,'mlx::core::operator==(_MLX_Float16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a88eae27edd22fa4418776672023cb276',1,'mlx::core::operator==(int32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a188b363f633ea360407b3f9cf4e1f1a6',1,'mlx::core::operator==(_MLX_Float16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#ae065fe5c42c1a333d7858d19f6434fa9',1,'mlx::core::operator==(uint32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a2f98db199deb6d7a82551fa4afec655a',1,'mlx::core::operator==(_MLX_Float16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a85f83add412cb320b5cd1c3da6aadbd5',1,'mlx::core::operator==(int64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a7e2cee66c3ca1b56f4f3d7fd1d6e0be1',1,'mlx::core::operator==(_MLX_Float16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#ad436557da5c7fea71fc58182a876cfe5',1,'mlx::core::operator==(uint64_t lhs, _MLX_Float16 rhs)']]], - ['operator_3e_37',['operator>',['../backend_2metal_2kernels_2complex_8h.html#a032a8d3eec2384c9f03066f7fd945995',1,'operator>(complex64_t a, complex64_t b): complex.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae394c0a10e47d1d047854a888402eb57',1,'operator>(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab9cd098786d2f4c855c42e4a6f30ab3e',1,'operator>(_MLX_BFloat16 lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a55600f3b9859e2891e0e0b5690867b72',1,'operator>(float lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#afd7cdb8ed2a9820efe9cf322c06f188c',1,'operator>(_MLX_BFloat16 lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a31bbdbe0b62b90a4d6ea4bb0a7db586b',1,'operator>(half lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a68125e66f74eaffe5ea9267638ce870d',1,'operator>(_MLX_BFloat16 lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac89eb6b29edad8cca63727ab97171c29',1,'operator>(int32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a74e477567c9477c2cf0684f81ef4498f',1,'operator>(_MLX_BFloat16 lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a2d37130b6fd79b425f5ba92b65e36bed',1,'operator>(uint32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a41d55d167e9dc63bf29d15e0ff004869',1,'operator>(_MLX_BFloat16 lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa95f9ebfdab3c5f524775651362ce914',1,'operator>(int64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a2826bd301bb5393473ccd363f2052c0d',1,'operator>(_MLX_BFloat16 lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a62a512d0edd894759c69f724b970fbdb',1,'operator>(uint64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1steel.html#a7512eadda6160e4c9d9e6aa4049fac20',1,'mlx::steel::operator>()'],['../group__ops.html#ga74fd2777adef10e6fe628a9cdadb01cb',1,'mlx::core::operator>(const array &a, const array &b)'],['../group__ops.html#ga32e106e794e2c32e4e7decee2df2477f',1,'mlx::core::operator>(T a, const array &b)'],['../group__ops.html#ga96552b90e89923c5d2064cc427775ec5',1,'mlx::core::operator>(const array &a, T b)'],['../namespacemlx_1_1core.html#aedc4e9df4bf71c0ac34fcfae60cdf550',1,'mlx::core::operator>(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a14c188303d09b97867bcfd34519aa4a6',1,'mlx::core::operator>(_MLX_BFloat16 lhs, float rhs)'],['../namespacemlx_1_1core.html#ac97736fadafa7efa201624d0e1128ee8',1,'mlx::core::operator>(float lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a3c41a304126bc225bdc68062d1eb6e7e',1,'mlx::core::operator>(_MLX_BFloat16 lhs, double rhs)'],['../namespacemlx_1_1core.html#ab594f3ae1ee13227fae940fef0d00cb9',1,'mlx::core::operator>(double lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a01dabc077a872c115a9a9ccd95f1acec',1,'mlx::core::operator>(_MLX_BFloat16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#adabbd8768d216873617768249473a5c7',1,'mlx::core::operator>(int32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#adae1b14669d27ce1fe0c214771c07b77',1,'mlx::core::operator>(_MLX_BFloat16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#ab03a22961d99fa12d3e74b3116e94e8f',1,'mlx::core::operator>(uint32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a42011a27a3d23a60be5be44ee7cac87c',1,'mlx::core::operator>(_MLX_BFloat16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a50f6a94bb36d89cf28817aff88ab89c8',1,'mlx::core::operator>(int64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ac173de50ee57b1b066d49363ba978c53',1,'mlx::core::operator>(_MLX_BFloat16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#ab09f1b4879aa3190c2f66c9bd1224021',1,'mlx::core::operator>(uint64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a91eb6ca854217424129a55ae95a123b5',1,'mlx::core::operator>(const complex64_t &a, const complex64_t &b)'],['../namespacemlx_1_1core.html#a58d5795d8312599d101ae16f194e4a2a',1,'mlx::core::operator>(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#aafa3bbeda78610c4285f3e57042268f3',1,'mlx::core::operator>(_MLX_Float16 lhs, float rhs)'],['../namespacemlx_1_1core.html#a8a928d76a6fbf3d336296401e14617a4',1,'mlx::core::operator>(float lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ade2f9222fd433cd4d673c6182f256235',1,'mlx::core::operator>(_MLX_Float16 lhs, double rhs)'],['../namespacemlx_1_1core.html#ae24c337810c841ff23e327efde7045e1',1,'mlx::core::operator>(double lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#acf401ede354fcc998b13ea6442994d7e',1,'mlx::core::operator>(_MLX_Float16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a2bb28a9a0894a73ae1b27e7f4da0841a',1,'mlx::core::operator>(int32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a09d631e8a85fd7ae72e1a868b8f9b9cb',1,'mlx::core::operator>(_MLX_Float16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a49421ea65b5a98df080d75b1636b2157',1,'mlx::core::operator>(uint32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a692ce931b660415e17f92d18a8e0d446',1,'mlx::core::operator>(_MLX_Float16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a579bb87b3ede5663d7cd68c7c0f6fb9e',1,'mlx::core::operator>(int64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#af810587a17e692f4eec256d3c3cd27de',1,'mlx::core::operator>(_MLX_Float16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a50f4177d3ca03a95fc2614e100c7391d',1,'mlx::core::operator>(uint64_t lhs, _MLX_Float16 rhs)']]], - ['operator_3e_3d_38',['operator>=',['../backend_2metal_2kernels_2complex_8h.html#aafbd686c180398c98b33d7643f893a46',1,'operator>=(complex64_t a, complex64_t b): complex.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a430dd11fbf4c6f39bc1506ab43b2341f',1,'operator>=(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a64f6787a96386246f83a8981d274150e',1,'operator>=(_MLX_BFloat16 lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a1a788f82212afad30e4c2ee40f1c313c',1,'operator>=(float lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae88617c4a012c5dc12781a349a28c886',1,'operator>=(_MLX_BFloat16 lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a467a88531150a4d9d30fce07c49c126e',1,'operator>=(half lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a9e21c5ea9dd724dc2ca8c54ad908f09c',1,'operator>=(_MLX_BFloat16 lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a2f6286d222e2176bcbdc824c5d598100',1,'operator>=(int32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#abec53064aa96265385ecc57de5fbc74c',1,'operator>=(_MLX_BFloat16 lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac766839f8f9e4863e8e18418c342c875',1,'operator>=(uint32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a2807fa6862b0f9689c81199b1e695ed8',1,'operator>=(_MLX_BFloat16 lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aee3ae0d0d1f941463b06eca0bf041b2b',1,'operator>=(int64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a523eda93c809733368e2b45382d2add6',1,'operator>=(_MLX_BFloat16 lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a1f4e90909ac1c7280f4c7d1977c55fb7',1,'operator>=(uint64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1steel.html#aa3c95c60cf69603705bb4636de547bcb',1,'mlx::steel::operator>=()'],['../group__ops.html#ga3a41895f25ed083a36994d95fa102546',1,'mlx::core::operator>=(const array &a, const array &b)'],['../group__ops.html#gaf509f2cb3b18963232f20d6c3bd229b2',1,'mlx::core::operator>=(T a, const array &b)'],['../group__ops.html#gafa0eb25d5978674bfc9e59d4145ec590',1,'mlx::core::operator>=(const array &a, T b)'],['../namespacemlx_1_1core.html#a8494764f5c686743ede66dc76d85d955',1,'mlx::core::operator>=(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a019df48807b506d9995856684bf7797a',1,'mlx::core::operator>=(_MLX_BFloat16 lhs, float rhs)'],['../namespacemlx_1_1core.html#a96ab6405430efb887cdb5c828cb67d6e',1,'mlx::core::operator>=(float lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ac18be72269b1bcfb0249cc00a0600681',1,'mlx::core::operator>=(_MLX_BFloat16 lhs, double rhs)'],['../namespacemlx_1_1core.html#aeb879815228efbd2c8f80986e1c8d41f',1,'mlx::core::operator>=(double lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a0051156f6a568f58cd54850f746fb507',1,'mlx::core::operator>=(_MLX_BFloat16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#ae93556906e115625ed1b62d36cf21b70',1,'mlx::core::operator>=(int32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ab81ad16e3be591dfc9e42ac3c19b055f',1,'mlx::core::operator>=(_MLX_BFloat16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a6cfe9b03e7c5f1eb9374208a552c3cc9',1,'mlx::core::operator>=(uint32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a2f5add83812fb137dd9226c6c01e45d5',1,'mlx::core::operator>=(_MLX_BFloat16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#ad1014a836e7ce9301de8588eef1e89ee',1,'mlx::core::operator>=(int64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a17791561434dc995de9f268d145c0ed1',1,'mlx::core::operator>=(_MLX_BFloat16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a3755925b24a903045937464be117de2f',1,'mlx::core::operator>=(uint64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a6262aeb513d27fc8313293b261e72abb',1,'mlx::core::operator>=(const complex64_t &a, const complex64_t &b)'],['../namespacemlx_1_1core.html#a6feb4b3ea511b0eda4d1ec9725f3fb4c',1,'mlx::core::operator>=(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a03b3f7fcb755ec075985ab26336926f0',1,'mlx::core::operator>=(_MLX_Float16 lhs, float rhs)'],['../namespacemlx_1_1core.html#aecfbf5ef4872ae447eb4a374e4db28e4',1,'mlx::core::operator>=(float lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ae4690f349b2483f5d1a4b75aba67399f',1,'mlx::core::operator>=(_MLX_Float16 lhs, double rhs)'],['../namespacemlx_1_1core.html#a667e95146dd5199e67bcb121b984b1f0',1,'mlx::core::operator>=(double lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a3375f1562f148bdc07451f2b6e54e6df',1,'mlx::core::operator>=(_MLX_Float16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#ae83df12368cb07ccb1c10c1117ff3922',1,'mlx::core::operator>=(int32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ad41251938cf852b5560c1180944ebb49',1,'mlx::core::operator>=(_MLX_Float16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a4ddb5ef0b88929086f9b09729fda0dde',1,'mlx::core::operator>=(uint32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a0908a61ab261aff726922b33fa6ed159',1,'mlx::core::operator>=(_MLX_Float16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a0fdadf87edd8a0a57c63953fb0ebe053',1,'mlx::core::operator>=(int64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a47c82778e43032c0bbf5d59407e81dc9',1,'mlx::core::operator>=(_MLX_Float16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a14e6c43b924eacca1b2dac1d5d00ca2b',1,'mlx::core::operator>=(uint64_t lhs, _MLX_Float16 rhs)']]], - ['operator_3e_3e_39',['operator>>',['../group__ops.html#ga498b61f7e8f056ae00297fa0dc17303a',1,'mlx::core']]], - ['operator_5b_5d_40',['operator[]',['../classpocketfft_1_1detail_1_1arr.html#aea0bd899b19e03f54dfd6c188727061a',1,'pocketfft::detail::arr::operator[](size_t idx)'],['../classpocketfft_1_1detail_1_1arr.html#a99c54f96bc79c7cdd8925c1663462842',1,'pocketfft::detail::arr::operator[](size_t idx) const'],['../classpocketfft_1_1detail_1_1sincos__2pibyn.html#a71b02f67c47b24adb296eafd2c7a3598',1,'pocketfft::detail::sincos_2pibyn::operator[]()'],['../classpocketfft_1_1detail_1_1cndarr.html#ae4852d1fe936a5d61832b507816c7054',1,'pocketfft::detail::cndarr::operator[]()'],['../classpocketfft_1_1detail_1_1ndarr.html#a2b2c4e205e8b5c32c9fe55dfd7b8c8d8',1,'pocketfft::detail::ndarr::operator[]()']]], - ['operator_5e_41',['operator^',['../group__ops.html#gac3a6fe18694e84b3d63458e9553ac181',1,'mlx::core::operator^(const array &a, const array &b)'],['../namespacemlx_1_1core.html#ae36ea40b8477bfa12d41aae8245225c9',1,'mlx::core::operator^(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a03fc96696f5c6d9411841889d05f4670',1,'mlx::core::operator^(_MLX_BFloat16 lhs, uint16_t rhs)'],['../namespacemlx_1_1core.html#a55130edf926366db0d6207989e609b7c',1,'mlx::core::operator^(uint16_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a0b75198f364d742a1c25dd13e398f2c2',1,'mlx::core::operator^(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a7f205f1b10b23180a23bf2be4bb726b1',1,'mlx::core::operator^(_MLX_Float16 lhs, uint16_t rhs)'],['../namespacemlx_1_1core.html#a9edfe65f3c6da583c7b109290ec94b22',1,'mlx::core::operator^(uint16_t lhs, _MLX_Float16 rhs)']]], - ['operator_5e_3d_42',['operator^=',['../namespacemlx_1_1core.html#a97cb7d3eac404a442e84656cefe7cfb4',1,'mlx::core::operator^=(_MLX_BFloat16 &lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#abcfd2d9615c96561fd44dfb9c341cf8e',1,'mlx::core::operator^=(_MLX_BFloat16 &lhs, uint16_t rhs)'],['../namespacemlx_1_1core.html#ae78083d766b9cf6f87cded341bbcd63e',1,'mlx::core::operator^=(_MLX_Float16 &lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#acf36c10779fbf1efbe1e6a7fd41176cd',1,'mlx::core::operator^=(_MLX_Float16 &lhs, uint16_t rhs)']]], - ['operator_7c_43',['operator|',['../group__ops.html#ga52392a2a98f09a80da8d338c4908bd02',1,'mlx::core::operator|(const array &a, const array &b)'],['../namespacemlx_1_1core.html#af84ed854132c1514dca5a524fdb7ed05',1,'mlx::core::operator|(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a7423aac70f9f2e3fb6a5c9a3fc96f703',1,'mlx::core::operator|(_MLX_BFloat16 lhs, uint16_t rhs)'],['../namespacemlx_1_1core.html#a19805f505cb7ac72bfab66c339ea7900',1,'mlx::core::operator|(uint16_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a2d933573edf4ed305fddd8a0caef1ee8',1,'mlx::core::operator|(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#afab3d4eb1b36a276922879ce6e44b7f5',1,'mlx::core::operator|(_MLX_Float16 lhs, uint16_t rhs)'],['../namespacemlx_1_1core.html#ab132729fa6912d22a8e402057eb4ba12',1,'mlx::core::operator|(uint16_t lhs, _MLX_Float16 rhs)']]], - ['operator_7c_3d_44',['operator|=',['../namespacemlx_1_1core.html#a8e1d21375ae4b89b3cbea3a46d262abd',1,'mlx::core::operator|=(_MLX_BFloat16 &lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a28d6c2f89e73b7b874dd1f67f853a96f',1,'mlx::core::operator|=(_MLX_BFloat16 &lhs, uint16_t rhs)'],['../namespacemlx_1_1core.html#a2d8470b69cbbeefece08d3ffd46c0082',1,'mlx::core::operator|=(_MLX_Float16 &lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a359c6257097a304c00d41d64296ef4c9',1,'mlx::core::operator|=(_MLX_Float16 &lhs, uint16_t rhs)']]], - ['operator_7c_7c_45',['operator||',['../namespacemlx_1_1steel.html#a1bb3ac5061a04e407fc4cdcc9f6ea03f',1,'mlx::steel::operator||()'],['../group__ops.html#ga27af56a98270d4d76d139f0f9171b83a',1,'mlx::core::operator||()']]], - ['ops_2eh_46',['ops.h',['../backend_2common_2ops_8h.html',1,'(Global Namespace)'],['../backend_2metal_2kernels_2reduction_2ops_8h.html',1,'(Global Namespace)'],['../distributed_2ops_8h.html',1,'(Global Namespace)'],['../ops_8h.html',1,'(Global Namespace)']]], - ['or_47',['Or',['../struct_or.html',1,'Or< U >'],['../classmlx_1_1core_1_1distributed_1_1_all_reduce.html#abb4560980e5d01aed14175ce8f6fc924a7a959bb7b33f410a03b3c887173fd7ed',1,'mlx::core::distributed::AllReduce::Or'],['../classmlx_1_1core_1_1_bitwise_binary.html#a6f8b5d455d0c1770428a6bef1608f23da51065a44e7f9a76a6dab6de637c6db22',1,'mlx::core::BitwiseBinary::Or'],['../classmlx_1_1core_1_1_reduce.html#a0848518b16ae6d4043d6be247bdf31c9a2e53e38f8b906ed4def9a5653aeb51fe',1,'mlx::core::Reduce::Or']]], - ['ortho_48',['ortho',['../structpocketfft_1_1detail_1_1_exec_dcst.html#aea17551a49acaca5e7808dc181d38b7f',1,'pocketfft::detail::ExecDcst']]], - ['os_49',['oS',['../struct_m_l_x_conv_params.html#a19ccb9fecfccdc18b6a7f0cc43adbc6e',1,'MLXConvParams']]], - ['out_50',['out',['../struct_read_writer.html#abea3b913c952c505d0ca4e529c7316ef',1,'ReadWriter']]], - ['out_5fof_5fbounds_51',['out_of_bounds',['../struct_read_writer.html#a08e10626fbc789b6dff9172fd6c36f7c',1,'ReadWriter::out_of_bounds() const'],['../struct_read_writer.html#a6f946aea5452109dca7fc70ed39c6efe',1,'ReadWriter::out_of_bounds() const'],['../struct_read_writer.html#a8f40d7f343d32134fe27a694abfde6bf',1,'ReadWriter::out_of_bounds() const']]], - ['out_5fstrides_52',['out_strides',['../struct_m_l_x_conv_params.html#a0c8b2cfc26859a2af9d39a2cfcc3aea6',1,'MLXConvParams']]], - ['outer_53',['outer',['../group__ops.html#ga866af24e10db2797e1c5a5986dbf6c0d',1,'mlx::core']]], - ['output_5fshapes_54',['output_shapes',['../classmlx_1_1core_1_1_primitive.html#a8849dc20991398f6f9a24d6785673853',1,'mlx::core::Primitive::output_shapes()'],['../classmlx_1_1core_1_1_abs.html#ab6a2b147f58c83439ecefb9189c2da32',1,'mlx::core::Abs::output_shapes()'],['../classmlx_1_1core_1_1_add.html#a9884fece6ca4061a65241c985fcf1594',1,'mlx::core::Add::output_shapes()'],['../classmlx_1_1core_1_1_arc_cos.html#a8ecd5b9a8cc9cba841768a5b2b497974',1,'mlx::core::ArcCos::output_shapes()'],['../classmlx_1_1core_1_1_arc_cosh.html#ae5d6660121f7f5a55824b95e7fd3dc6b',1,'mlx::core::ArcCosh::output_shapes()'],['../classmlx_1_1core_1_1_arc_sin.html#a1c6e478804eb5d171e4859b872db29f5',1,'mlx::core::ArcSin::output_shapes()'],['../classmlx_1_1core_1_1_arc_sinh.html#a6e0319a3cee5f6b9d43a3ac256b2c2ed',1,'mlx::core::ArcSinh::output_shapes()'],['../classmlx_1_1core_1_1_arc_tan.html#aa5d1e60d50ffa77b1d0e14af8d7e127a',1,'mlx::core::ArcTan::output_shapes()'],['../classmlx_1_1core_1_1_arc_tan2.html#a3f4ad806a0c59c2d1ae1c55c9889bf03',1,'mlx::core::ArcTan2::output_shapes()'],['../classmlx_1_1core_1_1_arc_tanh.html#a30246c56e1d75638c3696f84323861d8',1,'mlx::core::ArcTanh::output_shapes()'],['../classmlx_1_1core_1_1_arg_partition.html#a28608aee76a2db25f6455da561526c64',1,'mlx::core::ArgPartition::output_shapes()'],['../classmlx_1_1core_1_1_arg_reduce.html#a40a047cb3ed8d1445d42100b3fd85179',1,'mlx::core::ArgReduce::output_shapes()'],['../classmlx_1_1core_1_1_arg_sort.html#ac50e0b76c457aae944425b3a57c33859',1,'mlx::core::ArgSort::output_shapes()'],['../classmlx_1_1core_1_1_as_type.html#a18922e68006b5cf005355f5c9ac57ac4',1,'mlx::core::AsType::output_shapes()'],['../classmlx_1_1core_1_1_bitwise_binary.html#a7d2dfa8884832fc1a94ce6400d0ed599',1,'mlx::core::BitwiseBinary::output_shapes()'],['../classmlx_1_1core_1_1_ceil.html#a1eb263c04df810e212855a17af0658ea',1,'mlx::core::Ceil::output_shapes()'],['../classmlx_1_1core_1_1_compiled.html#a453a10c68b7825def5b53207bc04a71c',1,'mlx::core::Compiled::output_shapes()'],['../classmlx_1_1core_1_1_conjugate.html#ada40413e9f210251476a37cc0d0ea37f',1,'mlx::core::Conjugate::output_shapes()'],['../classmlx_1_1core_1_1_contiguous.html#a1a53623d7c591ba6567ac1533fbc2b7c',1,'mlx::core::Contiguous::output_shapes()'],['../classmlx_1_1core_1_1_copy.html#ac3d13ebc6464403962fa1a9897fe6df3',1,'mlx::core::Copy::output_shapes()'],['../classmlx_1_1core_1_1_cos.html#a05b2d43942aa1d93a40c20ae8b90a25b',1,'mlx::core::Cos::output_shapes()'],['../classmlx_1_1core_1_1_cosh.html#a1bef7feac9a387ea80e7fc774f579962',1,'mlx::core::Cosh::output_shapes()'],['../classmlx_1_1core_1_1_divide.html#ad514bed77ad94742e26c93e446940994',1,'mlx::core::Divide::output_shapes()'],['../classmlx_1_1core_1_1_div_mod.html#a61d835d777c8063089dc708898ff314b',1,'mlx::core::DivMod::output_shapes()'],['../classmlx_1_1core_1_1_select.html#a295cd22e2284f2216bc93fdcf0b54867',1,'mlx::core::Select::output_shapes()'],['../classmlx_1_1core_1_1_remainder.html#a74bf3a9723b59200573ff8bac9a0b666',1,'mlx::core::Remainder::output_shapes()'],['../classmlx_1_1core_1_1_equal.html#a2f91e9603f63ad539837356b1ff3e7a9',1,'mlx::core::Equal::output_shapes()'],['../classmlx_1_1core_1_1_erf.html#afa4abbd7786b474c44c336a95481d187',1,'mlx::core::Erf::output_shapes()'],['../classmlx_1_1core_1_1_erf_inv.html#a22a95594e68b43b50c05355c82779639',1,'mlx::core::ErfInv::output_shapes()'],['../classmlx_1_1core_1_1_exp.html#aee7ba8d5be4a11f4b8f359b0338ab670',1,'mlx::core::Exp::output_shapes()'],['../classmlx_1_1core_1_1_expm1.html#ab9dbf34806eb43b928722ed9e8feed08',1,'mlx::core::Expm1::output_shapes()'],['../classmlx_1_1core_1_1_floor.html#aaf86becc7bfba6ee2af0d1f6d8e25015',1,'mlx::core::Floor::output_shapes()'],['../classmlx_1_1core_1_1_greater.html#ab2167a38c3baff99f527f17eb4c71d46',1,'mlx::core::Greater::output_shapes()'],['../classmlx_1_1core_1_1_greater_equal.html#a636a9cc00b0333e49978f39814af640f',1,'mlx::core::GreaterEqual::output_shapes()'],['../classmlx_1_1core_1_1_hadamard.html#a458614bc7820ae56493eb56d813b2cde',1,'mlx::core::Hadamard::output_shapes()'],['../classmlx_1_1core_1_1_imag.html#ab396ef74748abd3d4121ffee33a08d48',1,'mlx::core::Imag::output_shapes()'],['../classmlx_1_1core_1_1_less.html#a5e8b56574ccb91c065548f4bda40e278',1,'mlx::core::Less::output_shapes()'],['../classmlx_1_1core_1_1_less_equal.html#a2e259f3de11f97f3bd38a2e65667d78f',1,'mlx::core::LessEqual::output_shapes()'],['../classmlx_1_1core_1_1_log.html#a113dcc95e2a1a052238b1f5c8935a63d',1,'mlx::core::Log::output_shapes()'],['../classmlx_1_1core_1_1_log1p.html#aebf8f5b6670f55fa24283a934f4b25df',1,'mlx::core::Log1p::output_shapes()'],['../classmlx_1_1core_1_1_logical_not.html#a4a40511a052a6627085be378bbebe69c',1,'mlx::core::LogicalNot::output_shapes()'],['../classmlx_1_1core_1_1_logical_and.html#a191d69d92c01ed5ad82d4688f1de2617',1,'mlx::core::LogicalAnd::output_shapes()'],['../classmlx_1_1core_1_1_logical_or.html#a26259843be2de75d5e07cb7ea94fcfe4',1,'mlx::core::LogicalOr::output_shapes()'],['../classmlx_1_1core_1_1_log_add_exp.html#ac35cf432ecdd141d957b55fc4bff6635',1,'mlx::core::LogAddExp::output_shapes()'],['../classmlx_1_1core_1_1_maximum.html#a7bb80360ba4b74d0b0f3f74a5ff90d1b',1,'mlx::core::Maximum::output_shapes()'],['../classmlx_1_1core_1_1_minimum.html#ab4a85741dffaa64d8ead028f11539d70',1,'mlx::core::Minimum::output_shapes()'],['../classmlx_1_1core_1_1_multiply.html#a072de3911113247c95c28d3b52400061',1,'mlx::core::Multiply::output_shapes()'],['../classmlx_1_1core_1_1_negative.html#a253c08c7461bf2dce05f555c8dbf0014',1,'mlx::core::Negative::output_shapes()'],['../classmlx_1_1core_1_1_not_equal.html#a5b10e99bc564197e7b16dccb0577d89a',1,'mlx::core::NotEqual::output_shapes()'],['../classmlx_1_1core_1_1_number_of_elements.html#aae36bb1e125c0a2d7cd54e78be0f2af8',1,'mlx::core::NumberOfElements::output_shapes()'],['../classmlx_1_1core_1_1_partition.html#ae5b792df683bc14dde89f75ac6bcbeaf',1,'mlx::core::Partition::output_shapes()'],['../classmlx_1_1core_1_1_power.html#a1c17867ea1bad8899adb38185c9423c1',1,'mlx::core::Power::output_shapes()'],['../classmlx_1_1core_1_1_real.html#a75d7b85e68a7a03ec911c7acc09ddde5',1,'mlx::core::Real::output_shapes()'],['../classmlx_1_1core_1_1_reduce.html#a0f73c2a55dc324145e11020c9b4d9a65',1,'mlx::core::Reduce::output_shapes()'],['../classmlx_1_1core_1_1_round.html#ad9a26817864dfc94b56e66bc6d80b047',1,'mlx::core::Round::output_shapes()'],['../classmlx_1_1core_1_1_sigmoid.html#a34572023c8748971289c2cb109ff9a43',1,'mlx::core::Sigmoid::output_shapes()'],['../classmlx_1_1core_1_1_sign.html#a719709b3c5d6b15a75614bdadd185f67',1,'mlx::core::Sign::output_shapes()'],['../classmlx_1_1core_1_1_sin.html#a46f059f04fd540f175f6031d28dc9f3a',1,'mlx::core::Sin::output_shapes()'],['../classmlx_1_1core_1_1_sinh.html#a4f10e7e6daf500575d97e077901e7d28',1,'mlx::core::Sinh::output_shapes()'],['../classmlx_1_1core_1_1_softmax.html#afea757ba328b9d8f35058793eae73e35',1,'mlx::core::Softmax::output_shapes()'],['../classmlx_1_1core_1_1_sort.html#a271545b66607b22e5f06a0fefe69f22d',1,'mlx::core::Sort::output_shapes()'],['../classmlx_1_1core_1_1_square.html#ac4c4927639cab1c5b91a074e7f68da02',1,'mlx::core::Square::output_shapes()'],['../classmlx_1_1core_1_1_sqrt.html#ae3d4f99729a7e72be7decf5a56d095d5',1,'mlx::core::Sqrt::output_shapes()'],['../classmlx_1_1core_1_1_stop_gradient.html#a12e7f55e087aea58b2a56f239c69bb4e',1,'mlx::core::StopGradient::output_shapes()'],['../classmlx_1_1core_1_1_subtract.html#a0fbf4bc9a0c76edc37ebb4083d98f3fc',1,'mlx::core::Subtract::output_shapes()'],['../classmlx_1_1core_1_1_tan.html#a7be9fd77491a48b07b6e126ab68bdf37',1,'mlx::core::Tan::output_shapes()'],['../classmlx_1_1core_1_1_tanh.html#a0392f51a9e51915d4691615757ba4325',1,'mlx::core::Tanh::output_shapes()'],['../classmlx_1_1core_1_1_eigh.html#a68c890a4172711fbab8baef8da40a9c5',1,'mlx::core::Eigh::output_shapes()']]], - ['outputs_55',['outputs',['../structmlx_1_1core_1_1metal_1_1_device_stream.html#a55a7a92c6abad369c99a5ede7a2521b9',1,'mlx::core::metal::DeviceStream::outputs'],['../classmlx_1_1core_1_1array.html#a2c186fd527f984f0589d4183b4976289',1,'mlx::core::array::outputs()'],['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#aefa48740fdee884f02e2d379bca4e78f',1,'mlx::core::metal::CommandEncoder::outputs()']]], - ['overwrite_5fdescriptor_56',['overwrite_descriptor',['../classmlx_1_1core_1_1array.html#a95e6b156c8e05439f076b85c05079387',1,'mlx::core::array']]] + ['offset_5f_3',['offset_',['../classmlx_1_1core_1_1fast_1_1_ro_p_e.html#a5dd83599a4298f0d559e0e2542ee2c9f',1,'mlx::core::fast::RoPE']]], + ['offset_5fneg_5fidx_4',['offset_neg_idx',['../kernels_2indexing_8h.html#a58a65ea6215999cd4ccb4fe757cc2dc8',1,'indexing.h']]], + ['ofs_5',['ofs',['../classpocketfft_1_1detail_1_1simple__iter.html#ab59481ad9c8f04addb907c3ebb89f8fa',1,'pocketfft::detail::simple_iter::ofs()'],['../classpocketfft_1_1detail_1_1rev__iter.html#a78c3b4ad19edf9d20cab40ad109e9dd1',1,'pocketfft::detail::rev_iter::ofs()']]], + ['ones_6',['ones',['../group__ops.html#gae0069146cf8c819b15ba29aa7231a3f0',1,'mlx::core::ones(const Shape &shape, Dtype dtype, StreamOrDevice s={})'],['../group__ops.html#gace4cf016562af58991f9f961170e156f',1,'mlx::core::ones(const Shape &shape, StreamOrDevice s={})']]], + ['ones_5flike_7',['ones_like',['../group__ops.html#ga94f8d3b1906fee99da9cbe39f7be7d42',1,'mlx::core']]], + ['oofs_8',['oofs',['../classpocketfft_1_1detail_1_1multi__iter.html#aae63e67caac095d474ddd32daa5ffa34',1,'pocketfft::detail::multi_iter::oofs(size_t i) const'],['../classpocketfft_1_1detail_1_1multi__iter.html#a9236047e7419e5d21379cbf95eb3a78e',1,'pocketfft::detail::multi_iter::oofs(size_t j, size_t i) const']]], + ['op_9',['Op',['../classmlx_1_1core_1_1_bitwise_binary.html#a6f8b5d455d0c1770428a6bef1608f23d',1,'mlx::core::BitwiseBinary']]], + ['op_10',['op',['../structmlx_1_1core_1_1_default_strided_reduce.html#ac871f55a7ddd205574974cb4492a240b',1,'mlx::core::DefaultStridedReduce::op'],['../structmlx_1_1core_1_1_default_contiguous_reduce.html#a1928f07db988715cc177999e386f4830',1,'mlx::core::DefaultContiguousReduce::op'],['../common_2binary_8h.html#a70228731d29946574b238d21fb4b360c',1,'op: binary.h']]], + ['operations_11',['Core array operations',['../group__ops.html',1,'']]], + ['operator_20bool_12',['operator bool',['../struct___no_mask.html#ad3723c1e70e46beefd283ce6317416cb',1,'_NoMask::operator bool()'],['../struct___no_mask.html#aafbf8a3201e1cc1abf74dd1f1b7272cd',1,'_NoMask::operator bool() const threadgroup'],['../struct___no_mask.html#a73e9612a619885cbc97cbd8f40df71e7',1,'_NoMask::operator bool() const device'],['../struct___no_mask.html#a4bf336d472bc677028250f76b9cdc08c',1,'_NoMask::operator bool() const constant'],['../struct___no_mask.html#ad3723c1e70e46beefd283ce6317416cb',1,'_NoMask::operator bool()'],['../struct___no_mask.html#aafbf8a3201e1cc1abf74dd1f1b7272cd',1,'_NoMask::operator bool() const threadgroup'],['../struct___no_mask.html#a73e9612a619885cbc97cbd8f40df71e7',1,'_NoMask::operator bool() const device'],['../struct___no_mask.html#a4bf336d472bc677028250f76b9cdc08c',1,'_NoMask::operator bool() const constant']]], + ['operator_20dtype_13',['operator Dtype',['../structmlx_1_1core_1_1_type_to_dtype.html#aefdd0fd6a5bbf0197a3996ccd4adea13',1,'mlx::core::TypeToDtype']]], + ['operator_20float_14',['operator float',['../structmlx_1_1core_1_1___m_l_x___b_float16.html#aaae72e5340ce91325f1925be36ba46cb',1,'mlx::core::_MLX_BFloat16::operator float()'],['../structmlx_1_1core_1_1complex128__t.html#a3e2faf180c0b785646a0e4296f709a5e',1,'mlx::core::complex128_t::operator float()'],['../structmlx_1_1core_1_1complex64__t.html#a90d224dd37308345086bb9cc882ef6fc',1,'mlx::core::complex64_t::operator float()'],['../structmlx_1_1core_1_1___m_l_x___float16.html#a363de5054f3673bddc90293fc3c9bb99',1,'mlx::core::_MLX_Float16::operator float()']]], + ['operator_20t_15',['operator T',['../structcomplex64__t.html#a70e9b16031eeaff3baa601f400023fcd',1,'complex64_t::operator T() const thread'],['../structcomplex64__t.html#a4f3beea7ab6001189b782a74d1746b67',1,'complex64_t::operator T() const threadgroup'],['../structcomplex64__t.html#a9f4f7eca89ffe6c8d126a4145df6d9f2',1,'complex64_t::operator T() const device'],['../structcomplex64__t.html#ac33e2e5263fec76a4fb4418c6e1d8d14',1,'complex64_t::operator T() const constant'],['../struct___m_l_x___b_float16.html#aa7dfefdf0d15e102d2b8258c9ab01836',1,'_MLX_BFloat16::operator T() const thread'],['../struct___m_l_x___b_float16.html#a2546a8afa77e14ed5b3c5da79a281260',1,'_MLX_BFloat16::operator T() const threadgroup'],['../struct___m_l_x___b_float16.html#a1d523f87740fcb852db6ab57896c245a',1,'_MLX_BFloat16::operator T() const device'],['../struct___m_l_x___b_float16.html#a95acd29283024d7093a0bc58c9468a0a',1,'_MLX_BFloat16::operator T() const constant']]], + ['operator_20val_16',['operator Val',['../structmlx_1_1core_1_1_dtype.html#a3b3bc059be5836476da3cb88a4f5e9fd',1,'mlx::core::Dtype']]], + ['operator_20value_5ftype_17',['operator value_type',['../structmlx_1_1steel_1_1integral__constant.html#a0c11203bed44a6a2c387b365134dcd64',1,'mlx::steel::integral_constant']]], + ['operator_21_3d_18',['operator!=',['../structmlx_1_1core_1_1array_1_1_array_iterator.html#a971aa511ab2e7ae1caae09556643a0bd',1,'mlx::core::array::ArrayIterator::operator!='],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#afc6e4fc5589bbf30f978f34868dd4e55',1,'operator!=(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a6baa722c22d66c7510786bb275cb8cc2',1,'operator!=(_MLX_BFloat16 lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa8d9f01582a0a9f01a666d110c74db2a',1,'operator!=(float lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa504a474ab6e00ebe2b1b7ed2f7d1ffb',1,'operator!=(_MLX_BFloat16 lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#abf5f3040227f021a5b84cf2eda248b2f',1,'operator!=(half lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a347c9bbf816bad2e9e5e91aa448f8b65',1,'operator!=(_MLX_BFloat16 lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a33ea086b561c652f25833a5e1ded34dd',1,'operator!=(int32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a2bbdcece13148826d3fe33af727bb79b',1,'operator!=(_MLX_BFloat16 lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aeb1efa47c5f22cc0b35d49ccce73c406',1,'operator!=(uint32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa6b99cde403405df1865c989e4ce845a',1,'operator!=(_MLX_BFloat16 lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a204d13a881ae8d337f6efbb98673790c',1,'operator!=(int64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a3602117b4c61d5cd4fd72fb8e5f68bd6',1,'operator!=(_MLX_BFloat16 lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a2721c088adfc9d73cde442d6badd2a6c',1,'operator!=(uint64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1steel.html#aa4364eda56525cf7576ff00e550175e6',1,'mlx::steel::operator!=()'],['../namespacemlx_1_1core.html#a94d00a1b7f8a4717ab3f26f45e4da655',1,'mlx::core::operator!=(const Device &lhs, const Device &rhs)'],['../group__ops.html#ga0ac483d85f23252ca8757e9926d5a3c5',1,'mlx::core::operator!=(const array &a, const array &b)'],['../group__ops.html#ga3fecba9f3cb9a19afd8ca492cf509ce0',1,'mlx::core::operator!=(T a, const array &b)'],['../group__ops.html#gaebbf1cfde388c7480159a03c92c9a385',1,'mlx::core::operator!=(const array &a, T b)'],['../namespacemlx_1_1core.html#a164f109bc19c927b2b3bcc47a5021419',1,'mlx::core::operator!=(const Stream &lhs, const Stream &rhs)'],['../namespacemlx_1_1core.html#ad2f9e1c230ec35d5c406dd616e8f4dea',1,'mlx::core::operator!=(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#af5899b4d5644682cb0ac2a488f630d55',1,'mlx::core::operator!=(_MLX_BFloat16 lhs, float rhs)'],['../namespacemlx_1_1core.html#a72ac8edd190601d7a46782582cedecd8',1,'mlx::core::operator!=(float lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a8084162ba2dd3f9b89195d2bebc3fbb0',1,'mlx::core::operator!=(_MLX_BFloat16 lhs, double rhs)'],['../namespacemlx_1_1core.html#a514263e63f6825b490203ca586864687',1,'mlx::core::operator!=(double lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a1c482bb3d9f9d4c62dee5865892c1f96',1,'mlx::core::operator!=(_MLX_BFloat16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a0030fe7ad09837c670cdfb7d51279519',1,'mlx::core::operator!=(int32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ade3791bc723b8f10fbab22eadb0f705a',1,'mlx::core::operator!=(_MLX_BFloat16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#ad78c664f242cd36247c13868547e3dd4',1,'mlx::core::operator!=(uint32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ab0743a1a1dcb92d40f41ca42d36f242c',1,'mlx::core::operator!=(_MLX_BFloat16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#ae7a0f810e546a166c7d05849b5d41f30',1,'mlx::core::operator!=(int64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a676a40637a563f013c725d24fa33fdc8',1,'mlx::core::operator!=(_MLX_BFloat16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a9fcb662b1561e4136bac0106cfb63b6c',1,'mlx::core::operator!=(uint64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#abcca7fd43590c4347e0f5df8f134030c',1,'mlx::core::operator!=(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#af3ede3688a2e3b3ba8cb2da180ffe151',1,'mlx::core::operator!=(_MLX_Float16 lhs, float rhs)'],['../namespacemlx_1_1core.html#a54f48469fabd1414bef5097bcded0002',1,'mlx::core::operator!=(float lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#af8c648e892cbc6973de535aa17dc2cfe',1,'mlx::core::operator!=(_MLX_Float16 lhs, double rhs)'],['../namespacemlx_1_1core.html#abc855e1c0584b64d7d995e33211361ab',1,'mlx::core::operator!=(double lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ad3684d660d18a54505c759ab286bd936',1,'mlx::core::operator!=(_MLX_Float16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a8afdda14b14262ab5ce0a00c7745d7e8',1,'mlx::core::operator!=(int32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a7ccc479be236f2bf3f7725729c5ba201',1,'mlx::core::operator!=(_MLX_Float16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a26a721b8111fce3a1dec9bf724034cd4',1,'mlx::core::operator!=(uint32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ad5f8c221a53a89e8095aa39fd1f61867',1,'mlx::core::operator!=(_MLX_Float16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a017b52ecf30b33da4aa8da35ccc43220',1,'mlx::core::operator!=(int64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a43c10ca5fb05ee7d0ee63ba56f8a08a3',1,'mlx::core::operator!=(_MLX_Float16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a81284b6ac737f91a8d1ffbbbbf938fe5',1,'mlx::core::operator!=(uint64_t lhs, _MLX_Float16 rhs)']]], + ['operator_25_19',['operator%',['../backend_2metal_2kernels_2complex_8h.html#aaf53122a07c8eca858b5a8e38ae280e0',1,'operator%(): complex.h'],['../group__ops.html#gab3bfbf82b1e4de7b00bbcf1a2255fbde',1,'mlx::core::operator%(const array &a, const array &b)'],['../group__ops.html#ga50817666f0b82afcbf4a123486af9908',1,'mlx::core::operator%(T a, const array &b)'],['../group__ops.html#ga46c01daa07433542a477d216e13a8480',1,'mlx::core::operator%(const array &a, T b)'],['../namespacemlx_1_1core.html#a8723d145dd49021bfcb8e6c99e1c91a5',1,'mlx::core::operator%(complex64_t a, complex64_t b)']]], + ['operator_26_20',['operator&',['../group__ops.html#gaf0d232de4cbfffda1e2c838f8afdf6ff',1,'mlx::core::operator&(const array &a, const array &b)'],['../namespacemlx_1_1core.html#a9ee95f97bbd69262d99d7bea3bf77631',1,'mlx::core::operator&(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a0fefc3ae4f1350ebe05ec6098fd6bae3',1,'mlx::core::operator&(_MLX_BFloat16 lhs, uint16_t rhs)'],['../namespacemlx_1_1core.html#a1e4cb758ccfe5c267baed9aeb0044834',1,'mlx::core::operator&(uint16_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ab9d0f9910070231695d61de08cadb930',1,'mlx::core::operator&(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a889d401f425db79d1868aa3beea4829b',1,'mlx::core::operator&(_MLX_Float16 lhs, uint16_t rhs)'],['../namespacemlx_1_1core.html#a76dcd1fa3c68b386bc1d1d899a68a120',1,'mlx::core::operator&(uint16_t lhs, _MLX_Float16 rhs)']]], + ['operator_26_26_21',['operator&&',['../namespacemlx_1_1steel.html#a6353bf11881842e25c46b56f92b7044f',1,'mlx::steel::operator&&()'],['../group__ops.html#gaee1d774bb0843601d7a0a4257d616ae3',1,'mlx::core::operator&&(const array &a, const array &b)']]], + ['operator_26_3d_22',['operator&=',['../namespacemlx_1_1core.html#a60c263ef46e552c3954688869734b513',1,'mlx::core::operator&=(_MLX_BFloat16 &lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#af9670fc8088339669c54c68b3a320e25',1,'mlx::core::operator&=(_MLX_BFloat16 &lhs, uint16_t rhs)'],['../namespacemlx_1_1core.html#ad1f96f0a02024f347b4c4431629407fc',1,'mlx::core::operator&=(_MLX_Float16 &lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ae0540f16c4e7bd55d0e86a88495e4967',1,'mlx::core::operator&=(_MLX_Float16 &lhs, uint16_t rhs)']]], + ['operator_28_29_23',['operator()',['../structpocketfft_1_1detail_1_1_exec_c2_c.html#a4fd637f1a6d335826789af28ac089ecb',1,'pocketfft::detail::ExecC2C::operator()()'],['../structpocketfft_1_1detail_1_1_exec_hartley.html#a67c98b38d12440781053552b9a33bba1',1,'pocketfft::detail::ExecHartley::operator()()'],['../structpocketfft_1_1detail_1_1_exec_dcst.html#a67f4f56e3574c491695f8cb8a1e983d8',1,'pocketfft::detail::ExecDcst::operator()()'],['../structpocketfft_1_1detail_1_1_exec_r2_r.html#acdba1650962714e6afff51e9ca456970',1,'pocketfft::detail::ExecR2R::operator()()'],['../structmlx_1_1core_1_1detail_1_1_abs.html#a0d657bc9a381dca1b5860b9a1b5a5702',1,'mlx::core::detail::Abs::operator()(T x)'],['../structmlx_1_1core_1_1detail_1_1_abs.html#a564232db7d32811e2ae126c86de104f0',1,'mlx::core::detail::Abs::operator()(uint8_t x)'],['../structmlx_1_1core_1_1detail_1_1_abs.html#a5fac7e6c8277d8706535a52820503c9d',1,'mlx::core::detail::Abs::operator()(uint16_t x)'],['../structmlx_1_1core_1_1detail_1_1_abs.html#af2c3723e648bd5ed2fe558cc20b7f5eb',1,'mlx::core::detail::Abs::operator()(uint32_t x)'],['../structmlx_1_1core_1_1detail_1_1_abs.html#a57312cd8530dd0ede3b8037f9c401883',1,'mlx::core::detail::Abs::operator()(uint64_t x)'],['../structmlx_1_1core_1_1detail_1_1_abs.html#ab3b5e3853ed56bfbfa577d965c21112e',1,'mlx::core::detail::Abs::operator()(bool x)'],['../structmlx_1_1core_1_1detail_1_1_arc_cos.html#a04b4c9d1fc0160973aa28b1f809b9d51',1,'mlx::core::detail::ArcCos::operator()()'],['../structmlx_1_1core_1_1detail_1_1_arc_cosh.html#a767d354bec863942822ee0b9b6742a88',1,'mlx::core::detail::ArcCosh::operator()()'],['../structmlx_1_1core_1_1detail_1_1_arc_sin.html#ac69091929815e5317308b4088f5c2f46',1,'mlx::core::detail::ArcSin::operator()()'],['../structmlx_1_1core_1_1detail_1_1_arc_sinh.html#ac7bf9bac66fef917f75494b2345e6aaf',1,'mlx::core::detail::ArcSinh::operator()()'],['../structmlx_1_1core_1_1detail_1_1_arc_tan.html#aee87bf10c278a70ca788085d1b499afe',1,'mlx::core::detail::ArcTan::operator()()'],['../structmlx_1_1core_1_1detail_1_1_arc_tan2.html#a9040b7afcdb4969924aa782fa67f03ac',1,'mlx::core::detail::ArcTan2::operator()()'],['../structmlx_1_1core_1_1detail_1_1_arc_tanh.html#a601e8c52bb938eb3a616756a35419e8b',1,'mlx::core::detail::ArcTanh::operator()()'],['../structmlx_1_1core_1_1detail_1_1_ceil.html#a672f65e47d65e4e8d88be252bce0164b',1,'mlx::core::detail::Ceil::operator()(T x)'],['../structmlx_1_1core_1_1detail_1_1_ceil.html#a72a2cab2728fb5e1cc6329a539e5d573',1,'mlx::core::detail::Ceil::operator()(int8_t x)'],['../structmlx_1_1core_1_1detail_1_1_ceil.html#aa34590f6a41331be92988558a90dc6fa',1,'mlx::core::detail::Ceil::operator()(int16_t x)'],['../structmlx_1_1core_1_1detail_1_1_ceil.html#af14120f3dd98f6198ea257d75be223f7',1,'mlx::core::detail::Ceil::operator()(int32_t x)'],['../structmlx_1_1core_1_1detail_1_1_ceil.html#af263ce7743cf7319387baba616c375b5',1,'mlx::core::detail::Ceil::operator()(int64_t x)'],['../structmlx_1_1core_1_1detail_1_1_ceil.html#a48f00affcd5c2ea1f81d821e019fec29',1,'mlx::core::detail::Ceil::operator()(uint8_t x)'],['../structmlx_1_1core_1_1detail_1_1_ceil.html#ad4d24a44e8a328948393701dacb0ceac',1,'mlx::core::detail::Ceil::operator()(uint16_t x)'],['../structmlx_1_1core_1_1detail_1_1_ceil.html#a70da19b5c9c69f04b9f196bdf266f93c',1,'mlx::core::detail::Ceil::operator()(uint32_t x)'],['../structmlx_1_1core_1_1detail_1_1_ceil.html#af0e7e806b73c664ada837476f9d4d43b',1,'mlx::core::detail::Ceil::operator()(uint64_t x)'],['../structmlx_1_1core_1_1detail_1_1_ceil.html#acc1bfc84a9b91f6e9764234cbe3b9687',1,'mlx::core::detail::Ceil::operator()(bool x)'],['../structmlx_1_1core_1_1detail_1_1_conjugate.html#a7e662d05c6998bd6ced8ad9c187324a5',1,'mlx::core::detail::Conjugate::operator()()'],['../structmlx_1_1core_1_1detail_1_1_cos.html#ad4caef573f9d9071f8945a8efed231ad',1,'mlx::core::detail::Cos::operator()()'],['../structmlx_1_1core_1_1detail_1_1_cosh.html#a63591f49776d9aadc02200036ae38317',1,'mlx::core::detail::Cosh::operator()()'],['../structmlx_1_1core_1_1detail_1_1_erf.html#a168f8ccc6c8053b05dd1a48904ca8fd4',1,'mlx::core::detail::Erf::operator()()'],['../structmlx_1_1core_1_1detail_1_1_erf_inv.html#acc93c0511141404208b35f302f8c1fcb',1,'mlx::core::detail::ErfInv::operator()()'],['../structmlx_1_1core_1_1detail_1_1_exp.html#a0846300cee28315e5b42f74acafbd1a1',1,'mlx::core::detail::Exp::operator()(T x)'],['../structmlx_1_1core_1_1detail_1_1_exp.html#af247c0d19d59f3310fd0a081eb92cf8b',1,'mlx::core::detail::Exp::operator()(complex64_t x)'],['../structmlx_1_1core_1_1detail_1_1_expm1.html#abf7e61b8387521e9d44334ce88d833a0',1,'mlx::core::detail::Expm1::operator()()'],['../structmlx_1_1core_1_1detail_1_1_floor.html#a16c13cfe736098bffc81d655e172294a',1,'mlx::core::detail::Floor::operator()(T x)'],['../structmlx_1_1core_1_1detail_1_1_floor.html#a9b6c4c34b6594b8c413abe31f34a73df',1,'mlx::core::detail::Floor::operator()(int8_t x)'],['../structmlx_1_1core_1_1detail_1_1_floor.html#aca4c71204b3ceeca6329f7ea2b041f4c',1,'mlx::core::detail::Floor::operator()(int16_t x)'],['../structmlx_1_1core_1_1detail_1_1_floor.html#a3c3ab9e00d1fbd124802517e8c35fe02',1,'mlx::core::detail::Floor::operator()(int32_t x)'],['../structmlx_1_1core_1_1detail_1_1_floor.html#a4b5954ffc59c741dd7b86bafda69d5cc',1,'mlx::core::detail::Floor::operator()(int64_t x)'],['../structmlx_1_1core_1_1detail_1_1_floor.html#a2e33b10bd5b04551054a87c601440bc7',1,'mlx::core::detail::Floor::operator()(uint8_t x)'],['../structmlx_1_1core_1_1detail_1_1_floor.html#a2500f971100919a694f78669a5e4f438',1,'mlx::core::detail::Floor::operator()(uint16_t x)'],['../structmlx_1_1core_1_1detail_1_1_floor.html#a23df818301d68389e6e12f5a9ec1fbd7',1,'mlx::core::detail::Floor::operator()(uint32_t x)'],['../structmlx_1_1core_1_1detail_1_1_floor.html#ac988b4f265cf46c68609c9c8787c15fb',1,'mlx::core::detail::Floor::operator()(uint64_t x)'],['../structmlx_1_1core_1_1detail_1_1_floor.html#a7f936e3fd53772bc189d845c73b53202',1,'mlx::core::detail::Floor::operator()(bool x)'],['../structmlx_1_1core_1_1detail_1_1_imag.html#a5bd82e2185f3779e398c179d42a3e782',1,'mlx::core::detail::Imag::operator()()'],['../structmlx_1_1core_1_1detail_1_1_log.html#a0012a4e1744dbe9a28c3b5652be6e1c6',1,'mlx::core::detail::Log::operator()()'],['../structmlx_1_1core_1_1detail_1_1_log2.html#a467bd4c995674721ff5fff6df33aead8',1,'mlx::core::detail::Log2::operator()()'],['../structmlx_1_1core_1_1detail_1_1_log10.html#a2633c5b772bbc9f8b66cffd4a3e01a3f',1,'mlx::core::detail::Log10::operator()()'],['../structmlx_1_1core_1_1detail_1_1_log1p.html#a3220de8c6090c44aa2070b1fbb2dc340',1,'mlx::core::detail::Log1p::operator()()'],['../structmlx_1_1core_1_1detail_1_1_logical_not.html#a79799668ea5c364b0b4e2bc330e76253',1,'mlx::core::detail::LogicalNot::operator()()'],['../structmlx_1_1core_1_1detail_1_1_negative.html#afc4595c70ef7196df374cf4b2cc5e526',1,'mlx::core::detail::Negative::operator()()'],['../structmlx_1_1core_1_1detail_1_1_real.html#ae84a939fdb5916257a7731cda66d4d61',1,'mlx::core::detail::Real::operator()()'],['../structmlx_1_1core_1_1detail_1_1_round.html#a653f29c059bbfa6192378732a8a23351',1,'mlx::core::detail::Round::operator()(T x)'],['../structmlx_1_1core_1_1detail_1_1_round.html#a82a984f13568051009e257fe85227da6',1,'mlx::core::detail::Round::operator()(complex64_t x)'],['../structmlx_1_1core_1_1detail_1_1_sigmoid.html#a64b72561bfaf758632167f00648f4c89',1,'mlx::core::detail::Sigmoid::operator()()'],['../structmlx_1_1core_1_1detail_1_1_sign.html#a64ed5013cee7ff18c7fe70bc04737e7b',1,'mlx::core::detail::Sign::operator()(T x)'],['../structmlx_1_1core_1_1detail_1_1_sign.html#a7106ed1f2f98a365fcb3e6ee39084748',1,'mlx::core::detail::Sign::operator()(uint8_t x)'],['../structmlx_1_1core_1_1detail_1_1_sign.html#a7163e8c068dcc460600ed04014dc9945',1,'mlx::core::detail::Sign::operator()(uint16_t x)'],['../structmlx_1_1core_1_1detail_1_1_sign.html#ae8f56c7134721c846240830169424c22',1,'mlx::core::detail::Sign::operator()(uint32_t x)'],['../structmlx_1_1core_1_1detail_1_1_sign.html#a10ae519e9a74a327fc72c410e9ab2936',1,'mlx::core::detail::Sign::operator()(uint64_t x)'],['../structmlx_1_1core_1_1detail_1_1_sign.html#a91be4e273f6c7ea5d44cfab380b77603',1,'mlx::core::detail::Sign::operator()(complex64_t x)'],['../structmlx_1_1core_1_1detail_1_1_sin.html#ae95671816529cc2188389af37a2f1a13',1,'mlx::core::detail::Sin::operator()()'],['../structmlx_1_1core_1_1detail_1_1_sinh.html#a9663ddf0fa4c0003576b48f3d5385f00',1,'mlx::core::detail::Sinh::operator()()'],['../structmlx_1_1core_1_1detail_1_1_square.html#a54e9e3c0d0896e142289e8282eab1099',1,'mlx::core::detail::Square::operator()()'],['../structmlx_1_1core_1_1detail_1_1_sqrt.html#aa5a4830b3ef7efab20ea88a110667efd',1,'mlx::core::detail::Sqrt::operator()()'],['../structmlx_1_1core_1_1detail_1_1_rsqrt.html#a9af247be16bab83243038aac54446b79',1,'mlx::core::detail::Rsqrt::operator()()'],['../structmlx_1_1core_1_1detail_1_1_tan.html#aba397cd7ac05bbe06dfa9e3a64bdb05f',1,'mlx::core::detail::Tan::operator()()'],['../structmlx_1_1core_1_1detail_1_1_tanh.html#a1749ba1edfd53095ed7d45c0e53bab61',1,'mlx::core::detail::Tanh::operator()()'],['../structmlx_1_1core_1_1detail_1_1_add.html#a2d6011c35768b5fcd2bb75747b944353',1,'mlx::core::detail::Add::operator()()'],['../structmlx_1_1core_1_1detail_1_1_divide.html#a5e0d22e2084c4ca81bec0d457a46c662',1,'mlx::core::detail::Divide::operator()()'],['../structmlx_1_1core_1_1detail_1_1_remainder.html#a3bdaf1095ad883ecc0fecc455f02cbf3',1,'mlx::core::detail::Remainder::operator()(T numerator, T denominator)'],['../structmlx_1_1core_1_1detail_1_1_remainder.html#a52c3a2ba86fccb24d37d218ae8328954',1,'mlx::core::detail::Remainder::operator()(T numerator, T denominator)'],['../structmlx_1_1core_1_1detail_1_1_remainder.html#a0b0dd6ef5b08585fdf8355770da8d747',1,'mlx::core::detail::Remainder::operator()(T numerator, T denominator)'],['../structmlx_1_1core_1_1detail_1_1_remainder.html#a68fe542084fb94d9a5abd740fe07832b',1,'mlx::core::detail::Remainder::operator()(complex64_t numerator, complex64_t denominator)'],['../structmlx_1_1core_1_1detail_1_1_equal.html#a2994cf1884e7126e76d0a20b215fe3ab',1,'mlx::core::detail::Equal::operator()()'],['../structmlx_1_1core_1_1detail_1_1_na_n_equal.html#a073b20b0d8d41ec8364b7c477421b9bf',1,'mlx::core::detail::NaNEqual::operator()()'],['../structmlx_1_1core_1_1detail_1_1_greater.html#aa3844c2bae3c7a981739f642aa0dd094',1,'mlx::core::detail::Greater::operator()()'],['../structmlx_1_1core_1_1detail_1_1_greater_equal.html#a3b005f85522ad0e4b57044eed930ac30',1,'mlx::core::detail::GreaterEqual::operator()()'],['../structmlx_1_1core_1_1detail_1_1_less.html#a0b4032dff1ad2b387745cb000aabdcbb',1,'mlx::core::detail::Less::operator()()'],['../structmlx_1_1core_1_1detail_1_1_less_equal.html#a31e70f8830a07557697541301555a7a7',1,'mlx::core::detail::LessEqual::operator()()'],['../structmlx_1_1core_1_1detail_1_1_maximum.html#a3eb37abec8426ebc42b8c685075c523a',1,'mlx::core::detail::Maximum::operator()(T x, T y)'],['../structmlx_1_1core_1_1detail_1_1_maximum.html#af99345c7c8bc95ccab1b22c0792ac6fd',1,'mlx::core::detail::Maximum::operator()(T x, T y)'],['../structmlx_1_1core_1_1detail_1_1_minimum.html#afca0861556416a8547dd8574528feb69',1,'mlx::core::detail::Minimum::operator()(T x, T y)'],['../structmlx_1_1core_1_1detail_1_1_minimum.html#a64b2eecfbc56aaef7deb939423bac3f8',1,'mlx::core::detail::Minimum::operator()(T x, T y)'],['../structmlx_1_1core_1_1detail_1_1_log_add_exp.html#ad1663fd809acaa4038f90666436599e5',1,'mlx::core::detail::LogAddExp::operator()()'],['../structmlx_1_1core_1_1detail_1_1_multiply.html#a898b090966b047723513224b8d3b22f1',1,'mlx::core::detail::Multiply::operator()()'],['../structmlx_1_1core_1_1detail_1_1_not_equal.html#a23d662b5fd968dc17d3bee2595b5f99d',1,'mlx::core::detail::NotEqual::operator()()'],['../structmlx_1_1core_1_1detail_1_1_power.html#a2c047e1b488e6525447a224975a75db8',1,'mlx::core::detail::Power::operator()(T base, T exp)'],['../structmlx_1_1core_1_1detail_1_1_power.html#a9967db24b8f67d54b6aa3810e274f28c',1,'mlx::core::detail::Power::operator()(T base, T exp)'],['../structmlx_1_1core_1_1detail_1_1_subtract.html#a72ef05830615a2d5d9662926ed82672a',1,'mlx::core::detail::Subtract::operator()()'],['../structmlx_1_1core_1_1detail_1_1_logical_and.html#a046536c1f2f9367983f052a213d7b7d8',1,'mlx::core::detail::LogicalAnd::operator()()'],['../structmlx_1_1core_1_1detail_1_1_logical_or.html#afb134dbab79307d4ba597843c61d0b1a',1,'mlx::core::detail::LogicalOr::operator()()'],['../structmlx_1_1core_1_1detail_1_1_select.html#a930f9da2e6b3453e04f21382435a2cfb',1,'mlx::core::detail::Select::operator()()'],['../structmlx_1_1core_1_1detail_1_1_bitwise_and.html#ae0bed77f95fe2b2f0b594addddd04700',1,'mlx::core::detail::BitwiseAnd::operator()()'],['../structmlx_1_1core_1_1detail_1_1_bitwise_or.html#a5ab05734c5000b454975de6647a08d20',1,'mlx::core::detail::BitwiseOr::operator()()'],['../structmlx_1_1core_1_1detail_1_1_bitwise_xor.html#a0989e3bcd064ae06c33f660696a869a0',1,'mlx::core::detail::BitwiseXor::operator()()'],['../structmlx_1_1core_1_1detail_1_1_left_shift.html#a9385f580830a6ad163dd9bb8c4905e7a',1,'mlx::core::detail::LeftShift::operator()()'],['../structmlx_1_1core_1_1detail_1_1_right_shift.html#a154528ba50e89a4c532a181f135b1620',1,'mlx::core::detail::RightShift::operator()()'],['../structmlx_1_1core_1_1_default_strided_reduce.html#a024682ab93b84e544a07e3a9c3c51fba',1,'mlx::core::DefaultStridedReduce::operator()()'],['../structmlx_1_1core_1_1_default_contiguous_reduce.html#a08144c7a3cdf10af5e47f4575da3694f',1,'mlx::core::DefaultContiguousReduce::operator()()'],['../struct_add.html#ac5c66b63d63a222d3ae0ab8cc7c90eb5',1,'Add::operator()()'],['../struct_floor_divide.html#a2b328e4d768e718fa439f955c524666a',1,'FloorDivide::operator()(T x, T y)'],['../struct_floor_divide.html#afc16a2b2a745225e0bc95640f3fc0219',1,'FloorDivide::operator()(float x, float y)'],['../struct_floor_divide.html#ae91719a15f7e643d552129f476089c6a',1,'FloorDivide::operator()(half x, half y)'],['../struct_floor_divide.html#a4aa9f858626583e02bd79f747229bbca',1,'FloorDivide::operator()(bfloat16_t x, bfloat16_t y)'],['../struct_divide.html#a0a16b9194abc2ab7c61129f81a9bbb3d',1,'Divide::operator()()'],['../struct_remainder.html#ab7875512ff4341c580c6dc372e64fc58',1,'Remainder::operator()(T x, T y)'],['../struct_remainder.html#a18150b5f4425e30b95ffabc6bb25cede',1,'Remainder::operator()(T x, T y)'],['../struct_remainder.html#ab3b75f54b56fd357c9755daadb2cafc2',1,'Remainder::operator()(T x, T y)'],['../struct_remainder.html#ae918ce0e246937d4fe04e2ea36e4b2c1',1,'Remainder::operator()(complex64_t x, complex64_t y)'],['../struct_equal.html#aa498087080900d4428ba428a6496a769',1,'Equal::operator()()'],['../struct_na_n_equal.html#a00220898e02db656d21dde9e9354a8dc',1,'NaNEqual::operator()(T x, T y)'],['../struct_na_n_equal.html#a6185e4554dce5b4659d21673c576be51',1,'NaNEqual::operator()(complex64_t x, complex64_t y)'],['../struct_greater.html#a98d7d8ee360cd0f469c6eb9a017560f5',1,'Greater::operator()()'],['../struct_greater_equal.html#ae69a3bccc567a46506cf0d296294ce80',1,'GreaterEqual::operator()()'],['../struct_less.html#a5ee0b31b2d9123dc4504f2979a5854d3',1,'Less::operator()()'],['../struct_less_equal.html#ae9f9a1b2eae548977139704f0044acfe',1,'LessEqual::operator()()'],['../struct_log_add_exp.html#ab32417f18e8ff68c15f78aceeb624edf',1,'LogAddExp::operator()()'],['../struct_maximum.html#a3ea0f42bc4cd80b68a98f189f9fa859c',1,'Maximum::operator()(T x, T y)'],['../struct_maximum.html#a0bc8fadc87f2c49fc440d625bfc97ca6',1,'Maximum::operator()(T x, T y)'],['../struct_maximum.html#a907e8793900be5927625377dab199644',1,'Maximum::operator()(complex64_t x, complex64_t y)'],['../struct_minimum.html#aa6113dfac3986c0f571fa53f65c5330e',1,'Minimum::operator()(T x, T y)'],['../struct_minimum.html#a0c939921de87ab9c6959238aac81a059',1,'Minimum::operator()(T x, T y)'],['../struct_minimum.html#a800fba087280f79c2f7e9aff75bed093',1,'Minimum::operator()(complex64_t x, complex64_t y)'],['../struct_multiply.html#a1327fc5a0713931afe997b0d4d2988e0',1,'Multiply::operator()()'],['../struct_not_equal.html#af008d73a5d9cde0b8309b7e8ee7438b2',1,'NotEqual::operator()(T x, T y)'],['../struct_not_equal.html#a14de494cea4e4869351202cad1149f17',1,'NotEqual::operator()(complex64_t x, complex64_t y)'],['../struct_power.html#a2b6df2a9e48155ff9734caca8504a79f',1,'Power::operator()(T base, T exp)'],['../struct_power.html#a36829163d42973034a1f8a7ecc57a1de',1,'Power::operator()(T base, T exp)'],['../struct_power.html#a27cdfb313c4e82b63bdcdaee923cbbef',1,'Power::operator()(complex64_t x, complex64_t y)'],['../struct_subtract.html#ae0856cd8d449074ca287baa7e460f68a',1,'Subtract::operator()()'],['../struct_logical_and.html#a8bc6bdabc0ea0678a46e2cf6217cb3a6',1,'LogicalAnd::operator()()'],['../struct_logical_or.html#ade6a931324a604a3119d2220d6f5460d',1,'LogicalOr::operator()()'],['../struct_bitwise_and.html#afb48af090b01dd0200963bc12d842e36',1,'BitwiseAnd::operator()()'],['../struct_bitwise_or.html#a41f847463daafa99ee56f4035578390f',1,'BitwiseOr::operator()()'],['../struct_bitwise_xor.html#a3a3e8a56caab739d40262d9349c9c485',1,'BitwiseXor::operator()()'],['../struct_left_shift.html#aa729747784c38bfdbba34794fcf5175b',1,'LeftShift::operator()()'],['../struct_right_shift.html#a2cc59b400c68342b0e43050431323c17',1,'RightShift::operator()()'],['../struct_arc_tan2.html#ac9b7729753e13be293ab700231d061ac',1,'ArcTan2::operator()()'],['../struct_div_mod.html#a8b5758f2ea18d4c903b462331b25abfe',1,'DivMod::operator()()'],['../struct_cum_prod_3_01bool_01_4.html#ad634be0b139d10ce6d21332eef0d936b',1,'CumProd< bool >::operator()()'],['../struct_cum_max.html#a781b9b955c5412466da6af6c70d73c06',1,'CumMax::operator()()'],['../struct_cum_min.html#ae0b8c3761e04fa538d304ca842281a66',1,'CumMin::operator()()'],['../struct_less_than.html#a2798eb377b411c93a4ed30cf35caade2',1,'LessThan::operator()()'],['../struct_select.html#adb51692aae3038de07dd745891bf9848',1,'Select::operator()()'],['../struct_abs.html#a9e7481dfcc162509769852026ff4a344',1,'Abs::operator()(T x)'],['../struct_abs.html#a0ca113fd036151c443df3f83cc667f28',1,'Abs::operator()(uint8_t x)'],['../struct_abs.html#adaeab32a7e377dc990077ab15f3dc4c2',1,'Abs::operator()(uint16_t x)'],['../struct_abs.html#a99d2a2f37a6cddd3168b0224f2a9b963',1,'Abs::operator()(uint32_t x)'],['../struct_abs.html#ac9cbc02422d930479303f240a7ea6c71',1,'Abs::operator()(uint64_t x)'],['../struct_abs.html#ac30835b27784d451bd2e4524c8eb9e11',1,'Abs::operator()(bool x)'],['../struct_abs.html#ab82917d6b30a2c579e7eb879d305c5fc',1,'Abs::operator()(complex64_t x)'],['../struct_arc_cos.html#a5553cecf58511e24e76ac97f2d90b9ac',1,'ArcCos::operator()()'],['../struct_arc_cosh.html#a5c9e7712c14c97298b23ec48e19abc58',1,'ArcCosh::operator()()'],['../struct_arc_sin.html#a0343872f2da93bae2bb0baadf49da022',1,'ArcSin::operator()()'],['../struct_arc_sinh.html#a3066fb7dc7c3180100fb55ff94af6a7a',1,'ArcSinh::operator()()'],['../struct_arc_tan.html#af3a0aec6acec8ae8f5e4c4d5cf8c91ba',1,'ArcTan::operator()()'],['../struct_arc_tanh.html#a37dc3e01ec2830de7e82ed6c6363ac88',1,'ArcTanh::operator()()'],['../struct_ceil.html#a5e2a4ef1b012f5d352064489156e5e44',1,'Ceil::operator()(T x)'],['../struct_ceil.html#a455cd8083ba859993077f2e078ae165b',1,'Ceil::operator()(int8_t x)'],['../struct_ceil.html#a2acb61bc658c7a216795e7f76ebcf98a',1,'Ceil::operator()(int16_t x)'],['../struct_ceil.html#aef8c37f7a8ee3fc80700d605a09891fb',1,'Ceil::operator()(int32_t x)'],['../struct_ceil.html#a93d0110511ad5dd200e12d37a3d7d6e3',1,'Ceil::operator()(int64_t x)'],['../struct_ceil.html#aa335b745fa26e0f443cdb36298105484',1,'Ceil::operator()(uint8_t x)'],['../struct_ceil.html#ade17e13b7f30f5c590fae1581a2013ac',1,'Ceil::operator()(uint16_t x)'],['../struct_ceil.html#a411c75cc35cdc088402e176a1defd22d',1,'Ceil::operator()(uint32_t x)'],['../struct_ceil.html#a9ac660ca29eef7a7429fceb7b917a68a',1,'Ceil::operator()(uint64_t x)'],['../struct_ceil.html#a40de367e62f06ebd7e1330afa93a9ad9',1,'Ceil::operator()(bool x)'],['../struct_cos.html#ae222f8710f6b8254c471ebd475aa5bda',1,'Cos::operator()(T x)'],['../struct_cos.html#a5f26feb1dcc4bec5f59a9ff511c5b163',1,'Cos::operator()(complex64_t x)'],['../struct_cosh.html#a5847ebeebb236fdc926798ddc16475ba',1,'Cosh::operator()(T x)'],['../struct_cosh.html#aefdd91298dac16d528d29ee47e2f7252',1,'Cosh::operator()(complex64_t x)'],['../struct_conjugate.html#acb0a2694285f1f57c7654b371ce8cbd8',1,'Conjugate::operator()()'],['../struct_erf.html#a80719402ad7f7d418859a6677d7b604d',1,'Erf::operator()()'],['../struct_erf_inv.html#afbf3668d1a512e889f093a0bc7673309',1,'ErfInv::operator()()'],['../struct_exp.html#a5ef395868e055348c0802fd5fe45669c',1,'Exp::operator()(T x)'],['../struct_exp.html#a2b341ac400c4d145397950eb60734336',1,'Exp::operator()(complex64_t x)'],['../struct_expm1.html#a4b834d42cf0b84daf03fec62c222091a',1,'Expm1::operator()()'],['../struct_floor.html#ace3551f28429081e9f3a3dab0c84212b',1,'Floor::operator()(T x)'],['../struct_floor.html#a10d7fd05b4c224c9f135451246d13014',1,'Floor::operator()(int8_t x)'],['../struct_floor.html#a2865a04a492e3590302f4bd3215a10d7',1,'Floor::operator()(int16_t x)'],['../struct_floor.html#a41012343ff0463ec44b4d06196f41182',1,'Floor::operator()(int32_t x)'],['../struct_floor.html#aae3181d15856796aa0628cf30c92aa2e',1,'Floor::operator()(int64_t x)'],['../struct_floor.html#ac6cf38d82c8e270911afdca4c69ad51b',1,'Floor::operator()(uint8_t x)'],['../struct_floor.html#a78969b9e2b53ae248e72a67259eea5d8',1,'Floor::operator()(uint16_t x)'],['../struct_floor.html#a959009320ed622ed45b39becab1d5b98',1,'Floor::operator()(uint32_t x)'],['../struct_floor.html#a7d04b83c3345cd867315cae2d7ff68ab',1,'Floor::operator()(uint64_t x)'],['../struct_floor.html#abea845fe5e8e6b93bd4bca8717337e0b',1,'Floor::operator()(bool x)'],['../struct_imag.html#a3b29e9f8a46c194d683f6a9938314400',1,'Imag::operator()()'],['../struct_log.html#a32a383cb6be06e616a75f23bf49089c3',1,'Log::operator()()'],['../struct_log2.html#ac1e067ecdcbdbffb6106e789c2b98b64',1,'Log2::operator()()'],['../struct_log10.html#ac596a74c1642a00f3eced07ee3334122',1,'Log10::operator()()'],['../struct_log1p.html#a4464c6e7bdbe55ffd7d961c695cd13ce',1,'Log1p::operator()()'],['../struct_logical_not.html#a8a620bac957ab8c09ac85adfddd96708',1,'LogicalNot::operator()()'],['../struct_negative.html#af6879b374314a559faa321e8cce3d710',1,'Negative::operator()()'],['../struct_real.html#a85b9c5b9e65297994fa26ff68e19e809',1,'Real::operator()()'],['../struct_round.html#aa06a0195867e2ceb679c403b6909a1c4',1,'Round::operator()(T x)'],['../struct_round.html#ad3a08f2276ff1033900bc0a7da812655',1,'Round::operator()(complex64_t x)'],['../struct_sigmoid.html#a75a24cd75cb4d4c9a072811b2d70ad55',1,'Sigmoid::operator()()'],['../struct_sign.html#aa3304c6b43bcad53061614b741d8403c',1,'Sign::operator()(T x)'],['../struct_sign.html#ac48992b675b8b28be1e27e1f2ec5d2f7',1,'Sign::operator()(uint32_t x)'],['../struct_sign.html#ae07a4249e1b61419a3b9ca6c337b7bb5',1,'Sign::operator()(complex64_t x)'],['../struct_sin.html#a7caf98c777521fa5d5c6ddaaa3b779fd',1,'Sin::operator()(T x)'],['../struct_sin.html#aa510cf4595b6d49065ab6b602d8fcb14',1,'Sin::operator()(complex64_t x)'],['../struct_sinh.html#a02cf32bcf560657b9ee34fb1affed8e2',1,'Sinh::operator()(T x)'],['../struct_sinh.html#a1f8ba1858d352ee68861cd6ea861af43',1,'Sinh::operator()(complex64_t x)'],['../struct_square.html#afde739fc544e45dd30964c02dca94310',1,'Square::operator()()'],['../struct_sqrt.html#ab9b16d2b9b03a1c54190f4479a56a4ad',1,'Sqrt::operator()()'],['../struct_rsqrt.html#ae16699fd829e40416436247a39233fda',1,'Rsqrt::operator()()'],['../struct_tan.html#a1e6fb8c691621c69cb9bd393de4f6e78',1,'Tan::operator()(T x)'],['../struct_tan.html#a2ef120c9f92b0d2e9cec8389eda05724',1,'Tan::operator()(complex64_t x)'],['../struct_tanh.html#adce11a7ad33226c6ecff34f46f5c45d7',1,'Tanh::operator()(T x)'],['../struct_tanh.html#aa8423b43c725bb4b88965a11e8cf20f6',1,'Tanh::operator()(complex64_t x)']]], + ['operator_2a_24',['operator*',['../structpocketfft_1_1detail_1_1cmplx.html#a26bf3d709a58f06228e502af6db8e5ac',1,'pocketfft::detail::cmplx::operator*(const T2 &other) const -> cmplx< decltype(r *other)>'],['../structpocketfft_1_1detail_1_1cmplx.html#ad9c591ef8ae976293f207937d273e9a1',1,'pocketfft::detail::cmplx::operator*(const cmplx< T2 > &other) const -> cmplx< decltype(r+other.r)>'],['../structmlx_1_1core_1_1array_1_1_array_iterator.html#a153756072fda6d3e53bcca11b46a1238',1,'mlx::core::array::ArrayIterator::operator*()'],['../backend_2metal_2kernels_2complex_8h.html#a681d4fb076973f58f7dac894ec62a385',1,'operator*(complex64_t a, complex64_t b): complex.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a8f06316063fc91747533105f256b55b5',1,'operator*(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7b3bce3f6f17089d87e13e91f580a581',1,'operator*(_MLX_BFloat16 lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a54ae7216b82c5cea362f6b83e1df3a9b',1,'operator*(float lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a852689073c17596de4fb545bc046b380',1,'operator*(_MLX_BFloat16 lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a168300bbd04d8e97c5e4218cb14ae378',1,'operator*(half lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a6278bd2e0e2805090b33ef666bf7f6bb',1,'operator*(_MLX_BFloat16 lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aecf703522d9ce32dfeefe1e6e903db06',1,'operator*(int32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7cd44d27fa9a4f13df39894c34fdb348',1,'operator*(_MLX_BFloat16 lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aee64dc1890abb6d1035361cb8c751f96',1,'operator*(uint32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad1a559ab88dbbb4fd2c7509d2c94e55b',1,'operator*(_MLX_BFloat16 lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a495ae2d9be5d97c4c6448fc4e50a03e1',1,'operator*(int64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a87ab4b7a502430da664ccb8abd383058',1,'operator*(_MLX_BFloat16 lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5f997839cf49c24ab594a0dff486a7bc',1,'operator*(uint64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1steel.html#aa0c2d29950926ae579adf6337fbea64b',1,'mlx::steel::operator*()'],['../group__ops.html#ga26c33f5cdb6fc10d272acd6e208034e0',1,'mlx::core::operator*(const array &a, const array &b)'],['../group__ops.html#gac22a67f7de797b1ae59029843cbdcab6',1,'mlx::core::operator*(T a, const array &b)'],['../group__ops.html#ga6f2369ed5fae8ff9b1528670a004dde2',1,'mlx::core::operator*(const array &a, T b)'],['../namespacemlx_1_1core.html#a0cc824d6318f97f7058918ab64ddfc25',1,'mlx::core::operator*(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a81e1c727c3fc48910b030cb65a9e7afa',1,'mlx::core::operator*(_MLX_BFloat16 lhs, float rhs)'],['../namespacemlx_1_1core.html#a861d948220d8f48d46c68d2ddb16a096',1,'mlx::core::operator*(float lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a13d16561812679b36e68185dc4b2d04d',1,'mlx::core::operator*(_MLX_BFloat16 lhs, double rhs)'],['../namespacemlx_1_1core.html#a5287610200ff573730c9c92413f48881',1,'mlx::core::operator*(double lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a377ccc6b4ef36767abca102dca56dc10',1,'mlx::core::operator*(_MLX_BFloat16 lhs, bool rhs)'],['../namespacemlx_1_1core.html#a5d696b63635ce6967526d6a410f7f6b1',1,'mlx::core::operator*(bool lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#abe90e9527bfa3e1c813d41df4a2372e7',1,'mlx::core::operator*(_MLX_BFloat16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a5f14963c77f96bcb5a3bef5661a86ba4',1,'mlx::core::operator*(int32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#acfb06fe9f5fee01dbb5a2b23bccfd0d3',1,'mlx::core::operator*(_MLX_BFloat16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#afc9a87f1fccbac05242b91bfbb35c24d',1,'mlx::core::operator*(uint32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a0b9678af9b487900cacf6639a4693de0',1,'mlx::core::operator*(_MLX_BFloat16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#ad5950619081389e6ed7512f38358d33d',1,'mlx::core::operator*(int64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a65d25d082374761c05b056e1046d1d4e',1,'mlx::core::operator*(_MLX_BFloat16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a759191fb984e7737f0ef529c2053ad73',1,'mlx::core::operator*(uint64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a3a52675c3d4552b319dd9707844abdec',1,'mlx::core::operator*(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a45d67f5d80fba4d42e34c682a8d22beb',1,'mlx::core::operator*(_MLX_Float16 lhs, float rhs)'],['../namespacemlx_1_1core.html#ad25880c67bbcbfafbe54dc16418bf736',1,'mlx::core::operator*(float lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a63c836e1141e07ae72cee770bad01200',1,'mlx::core::operator*(_MLX_Float16 lhs, double rhs)'],['../namespacemlx_1_1core.html#a265a37b8ee4a97390213e9ec49693e66',1,'mlx::core::operator*(double lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ab5a457da04dcb157a0b5172c4b2244b6',1,'mlx::core::operator*(_MLX_Float16 lhs, bool rhs)'],['../namespacemlx_1_1core.html#aa56a8bda08be9ef3711496e216a75c95',1,'mlx::core::operator*(bool lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#af89612098dd355b1eefb841c753b36ab',1,'mlx::core::operator*(_MLX_Float16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a4552687a0637f710b5d55bb6378fcabe',1,'mlx::core::operator*(int32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#af69db7def588d7da430434a69456e29c',1,'mlx::core::operator*(_MLX_Float16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a00af6e5095888f00791ee0ab6d993ad6',1,'mlx::core::operator*(uint32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ab48feddc1aa304383e5493923506ad7a',1,'mlx::core::operator*(_MLX_Float16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a0367b582e85162b4180e086f725e49e9',1,'mlx::core::operator*(int64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a45f0479526fbccdb00bc73ea7f3b7625',1,'mlx::core::operator*(_MLX_Float16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a394797646010ba9ef2a1f9b9a4b8ddd9',1,'mlx::core::operator*(uint64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#acaaa86b59c7ceb2e092ac07f2a75225c',1,'mlx::core::operator*(float16_t lhs, bfloat16_t rhs)'],['../namespacemlx_1_1core.html#a067d47823a322b88043cce7ce4a3ec78',1,'mlx::core::operator*(bfloat16_t lhs, float16_t rhs)']]], + ['operator_2a_3d_25',['operator*=',['../structpocketfft_1_1detail_1_1cmplx.html#a683fd490182c9189fa2c05b1823edd93',1,'pocketfft::detail::cmplx::operator*=(T2 other)'],['../structpocketfft_1_1detail_1_1cmplx.html#a06f2c26c6fc4722e61b44da4c242ed87',1,'pocketfft::detail::cmplx::operator*=(const cmplx< T2 > &other)'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7232b0a0e193b3c6172d6fc2578bf419',1,'operator*=(device _MLX_BFloat16 &lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ade65ebca11e38d56408c512df89b99f4',1,'operator*=(device float &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af4348ce3425dd99d069e8fdf06e25a3c',1,'operator*=(thread _MLX_BFloat16 &lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a2c3c5f793b3d957d7295d7f1faabebee',1,'operator*=(thread float &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac66657077d55e94197b52b63acb50b7d',1,'operator*=(threadgroup _MLX_BFloat16 &lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a383165ea838cc3feeee4d9cf54aa77cc',1,'operator*=(threadgroup float &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab706af260b61f735b28464877d02137c',1,'operator*=(device _MLX_BFloat16 &lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a979374b1dd4e0eaf602326fa901336d1',1,'operator*=(device half &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac815eec2c1b15a47b1c6ea6790e77d24',1,'operator*=(thread _MLX_BFloat16 &lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a8110fae7bcc34a0de5927546b24aa935',1,'operator*=(thread half &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae4acef3e7ae7dfe359422503f894e885',1,'operator*=(threadgroup _MLX_BFloat16 &lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#adc268cdbc30500f3009f5de2b2f0f67a',1,'operator*=(threadgroup half &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a81f65b04a87a25c7eb1a751d1be9fa55',1,'operator*=(device _MLX_BFloat16 &lhs, int16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a08c1f916302eb9d48c93f8b7260538fe',1,'operator*=(device int16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#adc8e82b8f593b12c6d405e2250ab0f62',1,'operator*=(thread _MLX_BFloat16 &lhs, int16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a4611728172afea51860a77fdb06cafa0',1,'operator*=(thread int16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0b8736e2ae24758b6e24ea72668df5b4',1,'operator*=(threadgroup _MLX_BFloat16 &lhs, int16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad920df9579603f0b0ee2689eba330617',1,'operator*=(threadgroup int16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae97ab6c3ddcc2754b24f86319a5398be',1,'operator*=(device _MLX_BFloat16 &lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a3ff4ff59f411010ac8502cfabda4bd6f',1,'operator*=(device int32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#abd3d82e2dec1847e97eb8fc3bab2985a',1,'operator*=(thread _MLX_BFloat16 &lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a738078eb7d5ff94ff48156a555d763a5',1,'operator*=(thread int32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a435f2f4256aadb1b57fd62bb7f733cf7',1,'operator*=(threadgroup _MLX_BFloat16 &lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0e4377b120d6305335d296e031ee5b30',1,'operator*=(threadgroup int32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a917354f77eac26189da8a2f610a00074',1,'operator*=(device _MLX_BFloat16 &lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af725f935bfa0405e5ff17ede3ac47283',1,'operator*=(device int64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7c56980c234a04260b8b19298085e526',1,'operator*=(thread _MLX_BFloat16 &lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab840ff9de0cdd0e9afffb8baa2a850a3',1,'operator*=(thread int64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a73416a7415f3fe31525e33419e5e8aab',1,'operator*=(threadgroup _MLX_BFloat16 &lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a16978f4b16d954ef4d4cf0f32f6c0b94',1,'operator*=(threadgroup int64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a99aa4cc110d1c7aa3b4c8c5cbf9235b7',1,'operator*=(device _MLX_BFloat16 &lhs, uint16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a2179abbc91ce8763e96e39e1917bfa6e',1,'operator*=(device uint16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab070ea4676d10a10ff3e9379a4068a57',1,'operator*=(thread _MLX_BFloat16 &lhs, uint16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0197e039d4c65bf49649a6f250c2d436',1,'operator*=(thread uint16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad3565cc6fd1e088d052b1108aa065851',1,'operator*=(threadgroup _MLX_BFloat16 &lhs, uint16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a711693988c437c2fb4d7da505982fe21',1,'operator*=(threadgroup uint16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aeff4c28986f98c23de1df17043edb0f5',1,'operator*=(device _MLX_BFloat16 &lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7dbf0c75df4817cb4ef8b60c417a89d0',1,'operator*=(device uint32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a323a80492cd17a49e2c3dd18f8c8b5cc',1,'operator*=(thread _MLX_BFloat16 &lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#adb465776d3868bda0525d632ffc4d129',1,'operator*=(thread uint32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a12a98d71d670b409b8065e0d61672d55',1,'operator*=(threadgroup _MLX_BFloat16 &lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5d00eb2ec2b0e15b2753d100694c45ae',1,'operator*=(threadgroup uint32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a1a2a683ff40490226eb1371fb905023d',1,'operator*=(device _MLX_BFloat16 &lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a4126fb7ed5bbb27a2332c543cf56a337',1,'operator*=(device uint64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab092d9790ef20fc0386707530aee89db',1,'operator*=(thread _MLX_BFloat16 &lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#abff1fd2439e31e6e64a3d2fdee3c7821',1,'operator*=(thread uint64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a625dcb133f1f953f263e6200399866c6',1,'operator*=(threadgroup _MLX_BFloat16 &lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a08b6071245513e1726ec68e3b63edc53',1,'operator*=(threadgroup uint64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a13aa79165ec87710e977f33fe0361e91',1,'operator*=(device _MLX_BFloat16 &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a3796dcf819adb1ef8152f57ba63ff6b1',1,'operator*=(thread _MLX_BFloat16 &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aaab79d0b4c9e9bdc059ace6ec58c5b00',1,'operator*=(threadgroup _MLX_BFloat16 &lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1core.html#a0dd3893abc8986901872c8365ab1509d',1,'mlx::core::operator*=(_MLX_BFloat16 &lhs, const float &rhs)'],['../namespacemlx_1_1core.html#a3cc5c154e4ad9a83ad43da8513146fdc',1,'mlx::core::operator*=(float &lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a600e77dbc72e78207b5f5dbf4b298781',1,'mlx::core::operator*=(_MLX_Float16 &lhs, const float &rhs)'],['../namespacemlx_1_1core.html#a54833be1d44bc3adfc9ea218fc3685bd',1,'mlx::core::operator*=(float &lhs, _MLX_Float16 rhs)']]], + ['operator_2b_26',['operator+',['../structpocketfft_1_1detail_1_1cmplx.html#a76447ef141c8732d57421749fc81b236',1,'pocketfft::detail::cmplx::operator+()'],['../structmlx_1_1core_1_1array_1_1_array_iterator.html#ae2adde594b5a4853f6bc78263a957d85',1,'mlx::core::array::ArrayIterator::operator+()'],['../backend_2metal_2kernels_2complex_8h.html#ad6af5c6c5ed4898b49758618e5aee189',1,'operator+(complex64_t a, complex64_t b): complex.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a09c1a797eb7f43742578680899932f50',1,'operator+(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a551b970f73bb4a3b287653021d000b60',1,'operator+(_MLX_BFloat16 lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a43a225e7e548bb041f3a5d844faaf0da',1,'operator+(float lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a8b6c3fd9d068a2159084359df8b9b449',1,'operator+(_MLX_BFloat16 lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0a5bfe15d95ba540795f4c25ebfa4f07',1,'operator+(half lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa415ce182fe7582d885fe633fc3527ce',1,'operator+(_MLX_BFloat16 lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a62f891b7dbba0000749cf338f594bedb',1,'operator+(int32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab43932322f81bf322aa1b0deeee9a987',1,'operator+(_MLX_BFloat16 lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#acd15d46ea5827a2a39898ccbb8352eb8',1,'operator+(uint32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a006763fae6e0577fc168ec9446f0f747',1,'operator+(_MLX_BFloat16 lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a12a47e8ac0be788edff57ae0a96d7830',1,'operator+(int64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af87dfa2122e9c76042dc41fb7f338a87',1,'operator+(_MLX_BFloat16 lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af2737d09c887ee8cd43fdeabceddbe82',1,'operator+(uint64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1steel.html#a12ff4f38aa8474bf76770c7b8e3e18cb',1,'mlx::steel::operator+()'],['../group__ops.html#ga26e5a043eaaaf066d1400adac9c11d0c',1,'mlx::core::operator+(const array &a, const array &b)'],['../group__ops.html#ga7d0ec8d01e7cefa6a6b25f11876761b5',1,'mlx::core::operator+(T a, const array &b)'],['../group__ops.html#ga7cc080a4f9d4a667f2099aa0dbfefadd',1,'mlx::core::operator+(const array &a, T b)'],['../namespacemlx_1_1core.html#ac14b984970cafd8fbe24d080949515cc',1,'mlx::core::operator+(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ab076069c6f0047c548a8dc29d35dd36a',1,'mlx::core::operator+(_MLX_BFloat16 lhs, float rhs)'],['../namespacemlx_1_1core.html#aab9d96b0a168f4d05146000a6212b5d8',1,'mlx::core::operator+(float lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ac4e6f03d7e4ae701b4eefa784f36185b',1,'mlx::core::operator+(_MLX_BFloat16 lhs, double rhs)'],['../namespacemlx_1_1core.html#a4cabd600a5271b0d416c91e8d31dd9c1',1,'mlx::core::operator+(double lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#af26df9dc279d71b7cc10892c72162b58',1,'mlx::core::operator+(_MLX_BFloat16 lhs, bool rhs)'],['../namespacemlx_1_1core.html#ac3b97eecec9bd8efb313f8f201560343',1,'mlx::core::operator+(bool lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a2e3bb121cbde30c2e6d806df0d41ff59',1,'mlx::core::operator+(_MLX_BFloat16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#ac87ecce4b44b0826e666a169ddc6f878',1,'mlx::core::operator+(int32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#aed3d9cd32698ef0fe65b1280f103b3f5',1,'mlx::core::operator+(_MLX_BFloat16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a6fa13b9359cf3f575fbda5260e6e035d',1,'mlx::core::operator+(uint32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#af240a6471ff827819192808bffeb857a',1,'mlx::core::operator+(_MLX_BFloat16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#ac25a05679f312b724c406d8b282803c9',1,'mlx::core::operator+(int64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a54863a54f258acf2b5c734950618e4e1',1,'mlx::core::operator+(_MLX_BFloat16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a9f81f5ea8909db9660197217612ee446',1,'mlx::core::operator+(uint64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a13e26c38da0a4e332e0ae4eb0aed9cb8',1,'mlx::core::operator+(const std::complex< float > &x, const complex64_t &y)'],['../namespacemlx_1_1core.html#a59bb13a0bb7f748c8de34415b248bc57',1,'mlx::core::operator+(const complex64_t &x, const std::complex< float > &y)'],['../namespacemlx_1_1core.html#a38a44c412c8be4c8b952d3082cc7db74',1,'mlx::core::operator+(const complex64_t &x, const complex64_t &y)'],['../namespacemlx_1_1core.html#a011dbdbd2413e59e744cf82b05431340',1,'mlx::core::operator+(bool x, const complex64_t &y)'],['../namespacemlx_1_1core.html#a230e3b7c479add1b171fa0aaa3a8b13c',1,'mlx::core::operator+(const complex64_t &x, bool y)'],['../namespacemlx_1_1core.html#a3a6f43c2485f0d42293184f1aecbeaee',1,'mlx::core::operator+(uint32_t x, const complex64_t &y)'],['../namespacemlx_1_1core.html#a766157c5d5d00fdf3da95eb7cb2981b9',1,'mlx::core::operator+(const complex64_t &x, uint32_t y)'],['../namespacemlx_1_1core.html#a64dceec2bb03eee963a2a1bc1ac69284',1,'mlx::core::operator+(uint64_t x, const complex64_t &y)'],['../namespacemlx_1_1core.html#ae36badb78a17cd7d13663a69645fc328',1,'mlx::core::operator+(const complex64_t &x, uint64_t y)'],['../namespacemlx_1_1core.html#ac1afa5d4c856e4b58109eff086e70ffd',1,'mlx::core::operator+(int32_t x, const complex64_t &y)'],['../namespacemlx_1_1core.html#a8978def3c2cfe2a96314d564613b80db',1,'mlx::core::operator+(const complex64_t &x, int32_t y)'],['../namespacemlx_1_1core.html#a5b8af5ca4c0e37aba0b7530542bd64c2',1,'mlx::core::operator+(int64_t x, const complex64_t &y)'],['../namespacemlx_1_1core.html#a3eaa72850205c18450c3af9a01cda219',1,'mlx::core::operator+(const complex64_t &x, int64_t y)'],['../namespacemlx_1_1core.html#ad38b38a3faf050735d45eed4438ee27a',1,'mlx::core::operator+(float16_t x, const complex64_t &y)'],['../namespacemlx_1_1core.html#a358e66ff205bda3e8542427b6d2edadc',1,'mlx::core::operator+(const complex64_t &x, float16_t y)'],['../namespacemlx_1_1core.html#af56d4b85e329e39a825c01a50e3a2522',1,'mlx::core::operator+(bfloat16_t x, const complex64_t &y)'],['../namespacemlx_1_1core.html#a806a495a129ebaab69cc57ca7db831d6',1,'mlx::core::operator+(const complex64_t &x, bfloat16_t y)'],['../namespacemlx_1_1core.html#a09fc6ebda917969383783a112a8547e7',1,'mlx::core::operator+(float x, const complex64_t &y)'],['../namespacemlx_1_1core.html#a7ed0e2cdb65612f54e67166762cb6408',1,'mlx::core::operator+(const complex64_t &x, float y)'],['../namespacemlx_1_1core.html#af7577c91b8c43682f0ebc9eb9758aae4',1,'mlx::core::operator+(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#abe36af9951afd8dd3ffe90ceedeb7f2b',1,'mlx::core::operator+(_MLX_Float16 lhs, float rhs)'],['../namespacemlx_1_1core.html#afb9f780dd056a4f975518f71a3b021ee',1,'mlx::core::operator+(float lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a6a8e093b24c4c789b7cd160f7e7f7de9',1,'mlx::core::operator+(_MLX_Float16 lhs, double rhs)'],['../namespacemlx_1_1core.html#af3a603690fd3de9e4f7f2035a4d25621',1,'mlx::core::operator+(double lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#afa2a4bccfeea9688ac922cb638341511',1,'mlx::core::operator+(_MLX_Float16 lhs, bool rhs)'],['../namespacemlx_1_1core.html#a6111e94d51de12391e5d68b765f28fc3',1,'mlx::core::operator+(bool lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a7c7dd6d346e0cdf398a896f2c6958258',1,'mlx::core::operator+(_MLX_Float16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a00872a443f462b0ae0a30c84fb001bc0',1,'mlx::core::operator+(int32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a4f5d80d03bae6d8d90455d3c47a8c116',1,'mlx::core::operator+(_MLX_Float16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a78f1f388f9d81ed93f60311f4645d8d0',1,'mlx::core::operator+(uint32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#aa43e1d6958c5d5a6fa9a625a1660e741',1,'mlx::core::operator+(_MLX_Float16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#ae877e1d5e3cf57734da8b49535fe3fb3',1,'mlx::core::operator+(int64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a9a5ae769f67f886d59c8e292a8218550',1,'mlx::core::operator+(_MLX_Float16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a058878237ce50baa4c909d8d15448d7e',1,'mlx::core::operator+(uint64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a95fd207028f125eefbafe9e0522407fe',1,'mlx::core::operator+(float16_t lhs, bfloat16_t rhs)'],['../namespacemlx_1_1core.html#abc6425a3fbb386f5ea5964b42507e989',1,'mlx::core::operator+(bfloat16_t lhs, float16_t rhs)']]], + ['operator_2b_2b_27',['operator++',['../structmlx_1_1core_1_1array_1_1_array_iterator.html#a3efe69356a84d0d4438f033992fcbd9d',1,'mlx::core::array::ArrayIterator']]], + ['operator_2b_3d_28',['operator+=',['../structpocketfft_1_1detail_1_1cmplx.html#ad4e69dcd89bdb7764c9c5807168f911e',1,'pocketfft::detail::cmplx::operator+=(const cmplx &other)'],['../structpocketfft_1_1detail_1_1cmplx.html#affa618d8850a7c232793b7c61db6d184',1,'pocketfft::detail::cmplx::operator+=(const cmplx< T2 > &other)'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab04f480aea9fbba0895068c7558dd400',1,'operator+=(device _MLX_BFloat16 &lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a251780ac4592cc2b1a543e417ff57770',1,'operator+=(device float &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a24381d991c2d570aa953694f396a69b5',1,'operator+=(thread _MLX_BFloat16 &lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7595740d4cc12924905d6bd1b99ee4da',1,'operator+=(thread float &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac1498acb8c3623b5f412f70ab6a6528b',1,'operator+=(threadgroup _MLX_BFloat16 &lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#abce5ab327110c164f054b43ed47f79a0',1,'operator+=(threadgroup float &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae0c70198e236ffe1a98f79987c686419',1,'operator+=(device _MLX_BFloat16 &lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a13b3338935440ae51ecc4a356093efc5',1,'operator+=(device half &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5a0cb8544b4ebd2906ba8e7f2868e8de',1,'operator+=(thread _MLX_BFloat16 &lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7b134429ea0c8493800ff8b465410f9c',1,'operator+=(thread half &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a4154f90ab7857ca856f9e15fe1bf5acf',1,'operator+=(threadgroup _MLX_BFloat16 &lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab9ae6a51e2027b02cac9966e05f3ba68',1,'operator+=(threadgroup half &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab93ce536eb7998bee00de4af868e31a9',1,'operator+=(device _MLX_BFloat16 &lhs, int16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad0ae9e2b4874f991a2c853e1c1fe735d',1,'operator+=(device int16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a194a6670cc25ade35a24b566f31af785',1,'operator+=(thread _MLX_BFloat16 &lhs, int16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a3d0d689516c99003659c5d026847bd2e',1,'operator+=(thread int16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a007f58508b98bb79e5c323ed0dec89b6',1,'operator+=(threadgroup _MLX_BFloat16 &lhs, int16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa7198e580e2a83c1fd01a4b6fdf86a80',1,'operator+=(threadgroup int16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a15573fefd880adefbba079b1c1bd8082',1,'operator+=(device _MLX_BFloat16 &lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a104cf94cb9e359d1b6ef92ced2ce0c27',1,'operator+=(device int32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa04cfcb52191fd23205a1a3572b46ae0',1,'operator+=(thread _MLX_BFloat16 &lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad684bc2ae1a2a627cd3e4a4c641e2d77',1,'operator+=(thread int32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad1e28448e35f4934075b397c34ba3d66',1,'operator+=(threadgroup _MLX_BFloat16 &lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a8ad16afd7f1711de83c0cec5af868f76',1,'operator+=(threadgroup int32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac45e9ca0c7155caebe3d0f7261518077',1,'operator+=(device _MLX_BFloat16 &lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a3c62ac679d6aa515144d40ebafe4a188',1,'operator+=(device int64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a9ff5ab3aef1057fa083b53a65c8aba03',1,'operator+=(thread _MLX_BFloat16 &lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae74bb0a3c12cd1a23f3d29ce307d6fb1',1,'operator+=(thread int64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac188bd19f236b098d603b0d8acd08921',1,'operator+=(threadgroup _MLX_BFloat16 &lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aef9fa600d107b509f2e3df7d6b080e01',1,'operator+=(threadgroup int64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af5713afb3a62967a02c3c20661951ee4',1,'operator+=(device _MLX_BFloat16 &lhs, uint16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7f1b84352a3ed6171444a43da1fc7e92',1,'operator+=(device uint16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af1983edd26245e6e51c6e47354095e32',1,'operator+=(thread _MLX_BFloat16 &lhs, uint16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a8cd55d1a579540eb450e12a8a8a950be',1,'operator+=(thread uint16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a588ef0f7e03f306758524d378278976f',1,'operator+=(threadgroup _MLX_BFloat16 &lhs, uint16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a74751abec7086f85f4f26ced44f1ca1f',1,'operator+=(threadgroup uint16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a4dd3cf0e5aa116ff330352a50c18cde7',1,'operator+=(device _MLX_BFloat16 &lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#afb9a0e18c0e40c77e6143fb7d84ebfba',1,'operator+=(device uint32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#adf0cfd9a608a6fb3d57933e32e7d81d2',1,'operator+=(thread _MLX_BFloat16 &lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a4bd92db6c8b9b5dc96332c7ae3eff8c7',1,'operator+=(thread uint32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5d628a5bc4fa755610392f47a523a1f1',1,'operator+=(threadgroup _MLX_BFloat16 &lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7c790442f77f2437b482c4a55e224fc3',1,'operator+=(threadgroup uint32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a77bab4481b41be50297b257e95058706',1,'operator+=(device _MLX_BFloat16 &lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7816a97d16b1d2f8a90227bb1da2f6ac',1,'operator+=(device uint64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac244d140c6149726ea44174d3e836ca3',1,'operator+=(thread _MLX_BFloat16 &lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af802541c4c65ee4442acd495de4d27fe',1,'operator+=(thread uint64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac06eb2fea47a09a8a8abdaa1aa9b4603',1,'operator+=(threadgroup _MLX_BFloat16 &lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5263b2463fecdc97f9521d00bffea059',1,'operator+=(threadgroup uint64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a24ca436ab299a710263d65302532dd3b',1,'operator+=(device _MLX_BFloat16 &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aee1bdf0ab2e445293708b476e8cfde3b',1,'operator+=(thread _MLX_BFloat16 &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a190e27077f0fba642a86f5c8f488bcc2',1,'operator+=(threadgroup _MLX_BFloat16 &lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1core.html#a9f2c9d2f21fbf9fbbacd940c6967c9d1',1,'mlx::core::operator+=(_MLX_BFloat16 &lhs, const float &rhs)'],['../namespacemlx_1_1core.html#a0b1b3c48afc0a785282e43435bba8418',1,'mlx::core::operator+=(float &lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a7b763db8194e6fcb1b87eab143dfa47a',1,'mlx::core::operator+=(_MLX_Float16 &lhs, const float &rhs)'],['../namespacemlx_1_1core.html#a827167f6a1ae55428fd218ddd51ec3b6',1,'mlx::core::operator+=(float &lhs, _MLX_Float16 rhs)']]], + ['operator_2d_29',['operator-',['../structpocketfft_1_1detail_1_1cmplx.html#a460da5db36d1c72fb1ed3496fd3abde4',1,'pocketfft::detail::cmplx::operator-()'],['../backend_2metal_2kernels_2complex_8h.html#a226cfd54d49f02e35c5aab3139c7596b',1,'operator-(complex64_t x): complex.h'],['../backend_2metal_2kernels_2complex_8h.html#af5608264cf920688607059b4e8cd3117',1,'operator-(complex64_t a, complex64_t b): complex.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a6aedc8d6d0980134ac69b96f22d9a855',1,'operator-(_MLX_BFloat16 x): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a333f67614dbf8027439a7e124052cb85',1,'operator-(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a891aa4bf46c20a26a55061736aba25f1',1,'operator-(_MLX_BFloat16 lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7ad7ff44a3200853711869f7a577d931',1,'operator-(float lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af69ef8f1d8ecae0e6f755bf1c46cf075',1,'operator-(_MLX_BFloat16 lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5bd875a54b79b2dcedf674807c3e53c5',1,'operator-(half lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab02f8646b47806e1d2038f248df03f06',1,'operator-(_MLX_BFloat16 lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab27b26182c7c6e08af37e6d511fd9253',1,'operator-(int32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5868c85c988ec3432cf86d7df40e464d',1,'operator-(_MLX_BFloat16 lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad03ef47e6cc7521bbfb45740dee20f88',1,'operator-(uint32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab789f8a400512ff27e36b3373170f0c5',1,'operator-(_MLX_BFloat16 lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7f601b22ecc480132d82ad782e5363bf',1,'operator-(int64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a152366ab4e2ccc867e919af6c74ced91',1,'operator-(_MLX_BFloat16 lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a42bead8ef0beb9f3452128d64cd4df9d',1,'operator-(uint64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1steel.html#aca8ef21c16984ccb329b3bd0c1e4be48',1,'mlx::steel::operator-()'],['../group__ops.html#gade2eea48989f4caaf36e89f7bd2a8816',1,'mlx::core::operator-(const array &a)'],['../group__ops.html#ga0c7f3cb36d4ca516c7a33142f88b9181',1,'mlx::core::operator-(const array &a, const array &b)'],['../group__ops.html#gae68d3d0691ba951501218e98439f3465',1,'mlx::core::operator-(T a, const array &b)'],['../group__ops.html#gaf5e5d882c51ad0a0ea315c274d5439b2',1,'mlx::core::operator-(const array &a, T b)'],['../namespacemlx_1_1core.html#a622ce842fe44e4b6a95e03242341b459',1,'mlx::core::operator-(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#af32a99d930d49e9b178472d7a65531ab',1,'mlx::core::operator-(_MLX_BFloat16 lhs, float rhs)'],['../namespacemlx_1_1core.html#a3555a2b31fc0925850d3240e85e03ec5',1,'mlx::core::operator-(float lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a46080889fd9e5c3f9916508e97dff5ad',1,'mlx::core::operator-(_MLX_BFloat16 lhs, double rhs)'],['../namespacemlx_1_1core.html#a9ca27fd1e512c8ed126342e565da12ae',1,'mlx::core::operator-(double lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a3803f8d36558d32bb7dd6e580ea683b4',1,'mlx::core::operator-(_MLX_BFloat16 lhs, bool rhs)'],['../namespacemlx_1_1core.html#af5d865528989ca66b3d357e5ce4e0300',1,'mlx::core::operator-(bool lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#afb784b960f55aeb4edd7f567fa74d443',1,'mlx::core::operator-(_MLX_BFloat16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a29cbacf4b399c24728fb0808fad498f9',1,'mlx::core::operator-(int32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#aececc0e451237aa6c0d1a2c3d828c86e',1,'mlx::core::operator-(_MLX_BFloat16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a383a26cc2689c98fd6c4435ade8dc669',1,'mlx::core::operator-(uint32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ad6311ef8df59bdfb212b5cf8169246b2',1,'mlx::core::operator-(_MLX_BFloat16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a23b7329bc1c93c8ac0a1f576565fefb0',1,'mlx::core::operator-(int64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ad8d650bf63998abd716ee0ca28e1cbb9',1,'mlx::core::operator-(_MLX_BFloat16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a7339b33201254e9119d99d3a728ded72',1,'mlx::core::operator-(uint64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a064318b7a16e5cb6d0a6407501b5c7dc',1,'mlx::core::operator-(_MLX_BFloat16 lhs)'],['../namespacemlx_1_1core.html#a7bae3ff296d9a60ff3c7e448f7fbc6bd',1,'mlx::core::operator-(const complex64_t &v)'],['../namespacemlx_1_1core.html#afb5069ecebdfd9d388c26f83df12c93c',1,'mlx::core::operator-(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a8d126e3f3fa9f8c1c1ae1b09f94df487',1,'mlx::core::operator-(_MLX_Float16 lhs, float rhs)'],['../namespacemlx_1_1core.html#ad04f1ccd2cd7c487a2f2aaa055939f64',1,'mlx::core::operator-(float lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a15eb2ea76508ff823fa0591e811d0b7d',1,'mlx::core::operator-(_MLX_Float16 lhs, double rhs)'],['../namespacemlx_1_1core.html#a96d9577db38d6809d022893e32feeda1',1,'mlx::core::operator-(double lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a5d9c02765c1672930757416411567bf2',1,'mlx::core::operator-(_MLX_Float16 lhs, bool rhs)'],['../namespacemlx_1_1core.html#a6105d3b5266666b7c6bb9469285a9ec3',1,'mlx::core::operator-(bool lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a777aa772dfb205b25d26f3180d98a2f6',1,'mlx::core::operator-(_MLX_Float16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a085eb092f4ada47f8169de62886cff90',1,'mlx::core::operator-(int32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ab25e5d211e2c8785b45c3a81a6282e2b',1,'mlx::core::operator-(_MLX_Float16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#abf5d09561a81b0f0b32d59d77e32e16f',1,'mlx::core::operator-(uint32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a4ce6867dbb4d1631d1870dac14022dbb',1,'mlx::core::operator-(_MLX_Float16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a8a049e646e0442064cfe9e202d7047c5',1,'mlx::core::operator-(int64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a78e2a1cfc65453185bcca13bd4f523cf',1,'mlx::core::operator-(_MLX_Float16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#af143cf68673e06390d4bb2ec2892bd22',1,'mlx::core::operator-(uint64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a46d502dfe0b027955950d4e716c2eb26',1,'mlx::core::operator-(_MLX_Float16 lhs)'],['../namespacemlx_1_1core.html#a2631e78c6f0a602f6754ac577ec75f83',1,'mlx::core::operator-(float16_t lhs, bfloat16_t rhs)'],['../namespacemlx_1_1core.html#a73d79cbd75d543d0837b8a51bf103f9e',1,'mlx::core::operator-(bfloat16_t lhs, float16_t rhs)']]], + ['operator_2d_3d_30',['operator-=',['../structpocketfft_1_1detail_1_1cmplx.html#a12441ff423274bd1b54245933d69ad7e',1,'pocketfft::detail::cmplx::operator-=()'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab225043bd02bb423930bc98aae9c2bca',1,'operator-=(device _MLX_BFloat16 &lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac2f1e1f2365cfa531b1519aa9ff67695',1,'operator-=(device float &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a513501355a5912a1263fd8b10864142b',1,'operator-=(thread _MLX_BFloat16 &lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab4f4ecd62c3d8b3363d02019573dc9f1',1,'operator-=(thread float &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a92d1348f201d78fcd474f75d5b23ef68',1,'operator-=(threadgroup _MLX_BFloat16 &lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a3eefe9a7f5fb226335ea687012f32d5c',1,'operator-=(threadgroup float &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aef62c7e3e494b6a511a7833c0d942a60',1,'operator-=(device _MLX_BFloat16 &lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad30726cc8b69fd300d33c2a46e123c28',1,'operator-=(device half &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a8859b5b8dc241e4f58243c85d2630cc8',1,'operator-=(thread _MLX_BFloat16 &lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7003e1e5881e3d106257f22b6a3e59fe',1,'operator-=(thread half &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a3165e37d393be50c2cfa9ddcba153684',1,'operator-=(threadgroup _MLX_BFloat16 &lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a76f5bd895b7214cbc3cea3440992718a',1,'operator-=(threadgroup half &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7167343d90eb70e5a0d5fa9ec5398e94',1,'operator-=(device _MLX_BFloat16 &lhs, int16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a9b31c363ebc93d592b6fa0e27b00335a',1,'operator-=(device int16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a967a1d7b5664f616e5b6f2d257367f0c',1,'operator-=(thread _MLX_BFloat16 &lhs, int16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aff19193e1b2cee29a8737318e95cc74a',1,'operator-=(thread int16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aede0cc4179507b739849948f1a2fed4b',1,'operator-=(threadgroup _MLX_BFloat16 &lhs, int16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7e1a6056f9c96f3c89fe204dbf103be5',1,'operator-=(threadgroup int16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a9d06cceea5c179bcc608452188bd7d6a',1,'operator-=(device _MLX_BFloat16 &lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0aa9ffe056f49fda181bbacbd60556ea',1,'operator-=(device int32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ada5685d99c2d6708d1c4ef826d68e879',1,'operator-=(thread _MLX_BFloat16 &lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a726cecf778b8584b6f7c37db1b064576',1,'operator-=(thread int32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a3816a35f8468156d59c239256c12dcf3',1,'operator-=(threadgroup _MLX_BFloat16 &lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa332fae098e7c6dc23b98bc0026f1070',1,'operator-=(threadgroup int32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#afb3cd302e0b78902c62111dce4494fe8',1,'operator-=(device _MLX_BFloat16 &lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#abb884888f14086cc674657677cb4b8bc',1,'operator-=(device int64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a38bb89f925eca4f9c042f6ee7a2c0193',1,'operator-=(thread _MLX_BFloat16 &lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac30c580713f354916088a7dc049ae4cd',1,'operator-=(thread int64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a715c824ee8c87e0256114a85624d9949',1,'operator-=(threadgroup _MLX_BFloat16 &lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7bc91aaaf476a37063264d1d53d862cc',1,'operator-=(threadgroup int64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab155f418f15cabd86ff942c6f9472ddb',1,'operator-=(device _MLX_BFloat16 &lhs, uint16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aaa66dc6d7b2c5efbfaa97ca9c7872bd8',1,'operator-=(device uint16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a696978d9401e09200045b2d8aad045c2',1,'operator-=(thread _MLX_BFloat16 &lhs, uint16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae998d8f423a9fb73405cfbd4b836bc72',1,'operator-=(thread uint16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a279d09ab8542f1c1a8dc8173b65946b6',1,'operator-=(threadgroup _MLX_BFloat16 &lhs, uint16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a491dadfae957cd7cc0c36188d910f6f6',1,'operator-=(threadgroup uint16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a9a837c3b9c4e42f53d7cd1ed0d266e2f',1,'operator-=(device _MLX_BFloat16 &lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#acf7af2284269544064b68e807064bba4',1,'operator-=(device uint32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a28d297705e29009197418546ef435393',1,'operator-=(thread _MLX_BFloat16 &lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a948579a4d9ba276523190b03b09578fb',1,'operator-=(thread uint32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5a4b98a0a11db5b77cf9168df37c8bc7',1,'operator-=(threadgroup _MLX_BFloat16 &lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a31a3d8f2ff8038f7e0d717845c039808',1,'operator-=(threadgroup uint32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a1dac193d9f1c8c0eb4473441895f8c58',1,'operator-=(device _MLX_BFloat16 &lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad2817d53fdd4b112babfb6f0b38c8f39',1,'operator-=(device uint64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa705d87cf4b78e9d7c6b07dd0c66cac6',1,'operator-=(thread _MLX_BFloat16 &lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a542affc376726840647a6e93acf2c1a7',1,'operator-=(thread uint64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#add18cfe4c0d38e95c6dff6bab3e7a932',1,'operator-=(threadgroup _MLX_BFloat16 &lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab1de7e7e7304ff3598925d2e69134764',1,'operator-=(threadgroup uint64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0d3fb52437c677c5d0f1a3642384b15c',1,'operator-=(device _MLX_BFloat16 &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#adda64cae388baac1f138b06dc8595237',1,'operator-=(thread _MLX_BFloat16 &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af20874a61c6c3f4c3fd045a96e806644',1,'operator-=(threadgroup _MLX_BFloat16 &lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1core.html#a8b8a55690df46d97fcfc2a60120783af',1,'mlx::core::operator-=(_MLX_BFloat16 &lhs, const float &rhs)'],['../namespacemlx_1_1core.html#ab03949b1f60fa035ce454a894cd73ae9',1,'mlx::core::operator-=(float &lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#adaf70bbfb3667df0d08fd3c99896e20a',1,'mlx::core::operator-=(_MLX_Float16 &lhs, const float &rhs)'],['../namespacemlx_1_1core.html#a321c98e5a78621d3c9a3895f707f2f1c',1,'mlx::core::operator-=(float &lhs, _MLX_Float16 rhs)']]], + ['operator_2f_31',['operator/',['../backend_2metal_2kernels_2complex_8h.html#ae6a708f67d6fd9b0962aa8877cec6d35',1,'operator/(complex64_t a, complex64_t b): complex.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a9f16a44e1c9836ca57edc1d7b93b5d7c',1,'operator/(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aacaedf12f862c76457133336dd6fc446',1,'operator/(_MLX_BFloat16 lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a584a513596de20663dad951a5b81695e',1,'operator/(float lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad8f7b11669736fbd6ed2e28211d877d4',1,'operator/(_MLX_BFloat16 lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a59515695ebc48844345fa5120511aed1',1,'operator/(half lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a8c8ac6736440fdca366ebdefe2a12b9f',1,'operator/(_MLX_BFloat16 lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad6859b04680d0d26d75fd6c4dd74ee24',1,'operator/(int32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a4720cc79ab2b8e39952ea9ef20e51250',1,'operator/(_MLX_BFloat16 lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a72d10ec0e62949247da129eb3a83fb9b',1,'operator/(uint32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad6399ba2b8708899739b4cdbb44add8d',1,'operator/(_MLX_BFloat16 lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a998b1ba877a606aedf722ab46b290403',1,'operator/(int64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa3277ae33976c70f7bd937ddff027b72',1,'operator/(_MLX_BFloat16 lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa708a970a200822c99c0489f389469fa',1,'operator/(uint64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1steel.html#a6bde717aca2051499f73a3eee199bfdd',1,'mlx::steel::operator/()'],['../group__ops.html#gaeedf77f722b394429f1a7f6c367883bf',1,'mlx::core::operator/(const array &a, const array &b)'],['../group__ops.html#ga7366ec7f453be2a4dc449f0faa1bf554',1,'mlx::core::operator/(double a, const array &b)'],['../group__ops.html#gadfb324ae9b4feb2c7ea0ac6ade639f38',1,'mlx::core::operator/(const array &a, double b)'],['../namespacemlx_1_1core.html#a7573ac3b93ddecd69e9c88a26fc84ba9',1,'mlx::core::operator/(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a40e868dad70401d9aa9ee9c32235c315',1,'mlx::core::operator/(_MLX_BFloat16 lhs, float rhs)'],['../namespacemlx_1_1core.html#a7587c28fbd2023b134e5fc12bb0dde23',1,'mlx::core::operator/(float lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a92cdd377c408becf4cf83c1ee9b7085d',1,'mlx::core::operator/(_MLX_BFloat16 lhs, double rhs)'],['../namespacemlx_1_1core.html#aef89566301cb133d98c8e7bdd2b7bec6',1,'mlx::core::operator/(double lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a94e7b51185590492b46916685641276f',1,'mlx::core::operator/(_MLX_BFloat16 lhs, bool rhs)'],['../namespacemlx_1_1core.html#a04584788c08180835219d0ea1e2b97b1',1,'mlx::core::operator/(bool lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ad5af96e2ff09d207eb1e1980fe3e7c2d',1,'mlx::core::operator/(_MLX_BFloat16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#ac2217bf760038cd011781158923149ed',1,'mlx::core::operator/(int32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#aea414c04bddc4b9b609262e97398f1b4',1,'mlx::core::operator/(_MLX_BFloat16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a27fe23230cd082c0363b9451b731ce6b',1,'mlx::core::operator/(uint32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#abdd9bb8fb4411e5924f3eb7ef1bb52f8',1,'mlx::core::operator/(_MLX_BFloat16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a50bae338a7353f8b0ed3441071bb0cf6',1,'mlx::core::operator/(int64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#aab26a3284dd3ac7d47c8b5b3a3290ce3',1,'mlx::core::operator/(_MLX_BFloat16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a749f48db01de38f259a0c6750a97fa77',1,'mlx::core::operator/(uint64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a32a6a08a2a4652975b0a1bd1fcf3eafd',1,'mlx::core::operator/(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a4b66fb38ddc5cc0c2489583d5c499602',1,'mlx::core::operator/(_MLX_Float16 lhs, float rhs)'],['../namespacemlx_1_1core.html#a45726f1905b709cf8253e6efa046027b',1,'mlx::core::operator/(float lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#afd4170c1e364384f30e6bae341146fa6',1,'mlx::core::operator/(_MLX_Float16 lhs, double rhs)'],['../namespacemlx_1_1core.html#aef85739d150b9d5609973da8a3f1086a',1,'mlx::core::operator/(double lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#af52a941f8ed9b25eec91402c7b9e281f',1,'mlx::core::operator/(_MLX_Float16 lhs, bool rhs)'],['../namespacemlx_1_1core.html#a477cade78296bc85894170f62db68870',1,'mlx::core::operator/(bool lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a22f5a2257e11423fc2fe18e2dce91590',1,'mlx::core::operator/(_MLX_Float16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a640d3574dfe6ad934c720ae8bdd78bfa',1,'mlx::core::operator/(int32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a6f65d8fd0cdddc96fc01f6af95804873',1,'mlx::core::operator/(_MLX_Float16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a517019d42d4e426b7b98e1c719bb47ce',1,'mlx::core::operator/(uint32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a0beb7a223c542015a4eff4aed814a9dd',1,'mlx::core::operator/(_MLX_Float16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#abc9b1bd5018d46514bc19d23db2e5063',1,'mlx::core::operator/(int64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#af22937df654ddbd6e398ef12764d18c0',1,'mlx::core::operator/(_MLX_Float16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a775aed5f49b530c57e71cbac81404d45',1,'mlx::core::operator/(uint64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a97efcd96d6be666e5608034ae77289ef',1,'mlx::core::operator/(float16_t lhs, bfloat16_t rhs)'],['../namespacemlx_1_1core.html#a899851f85dbddd96f9d36319b82542a0',1,'mlx::core::operator/(bfloat16_t lhs, float16_t rhs)']]], + ['operator_2f_3d_32',['operator/=',['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5aa3b8c68a2b58d41ea33eaabbf83095',1,'operator/=(device _MLX_BFloat16 &lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a90a1c5130db515db48624d8587edbb91',1,'operator/=(device float &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a65f30a2dc199134e35bc7c5d431b2263',1,'operator/=(thread _MLX_BFloat16 &lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7172d84db640e6c49dff0d08dd64b53e',1,'operator/=(thread float &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#acf7cb9927bf09022088401923f2e1916',1,'operator/=(threadgroup _MLX_BFloat16 &lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a86b2a001cbec0d3a8d762a3c7ff47b0b',1,'operator/=(threadgroup float &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a744f72ba83522fe3cc2a49a007b42543',1,'operator/=(device _MLX_BFloat16 &lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a77c678665b34df7652dcde053ca73185',1,'operator/=(device half &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae0614b6b199d8a65ae95d4621b118b82',1,'operator/=(thread _MLX_BFloat16 &lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa846fde89c7d2d18b18ef180a8a9c8a3',1,'operator/=(thread half &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a08e778be18e4a291c108fcc528b981d3',1,'operator/=(threadgroup _MLX_BFloat16 &lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a6b9e49ad9ea256d2d0220c0d81552602',1,'operator/=(threadgroup half &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab933bc3cdf9adfea10ab9dba5292c812',1,'operator/=(device _MLX_BFloat16 &lhs, int16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a25e7c5d2ecf3375756d59074f333858f',1,'operator/=(device int16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a4ae4a80fde67eea9a0a37b2803946544',1,'operator/=(thread _MLX_BFloat16 &lhs, int16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a912393b7208fa45bd1e87f30b218b68b',1,'operator/=(thread int16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a18963246f2b640874bef6dca7049f64d',1,'operator/=(threadgroup _MLX_BFloat16 &lhs, int16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0e2c2c2cb50b3a55ff213f18978aca35',1,'operator/=(threadgroup int16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a64f1136b17006f168ef837e17240814f',1,'operator/=(device _MLX_BFloat16 &lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae46d75b8046d557452d74513f1106710',1,'operator/=(device int32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a08d2460e259b9106d90d889481ad60d5',1,'operator/=(thread _MLX_BFloat16 &lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0f7fd418408806ef498745c6fdb2c062',1,'operator/=(thread int32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac703495cb370b52526a5a2d36ae26038',1,'operator/=(threadgroup _MLX_BFloat16 &lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a4ca11d43174baf0a729f93b35eabcbea',1,'operator/=(threadgroup int32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a9f835a0a80c411580c97b65fdc5bdfd3',1,'operator/=(device _MLX_BFloat16 &lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a17f47ec9cff60f8e1b3477a2793b7ac0',1,'operator/=(device int64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5be23e296bbed3a885586a6424b1666e',1,'operator/=(thread _MLX_BFloat16 &lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#afba39221eb54e272aae79910b3cd7ef5',1,'operator/=(thread int64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac057d95a2bf087575584aa6f9a2c6bf5',1,'operator/=(threadgroup _MLX_BFloat16 &lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab986ae2cec780a1f494b7b4468b7ba11',1,'operator/=(threadgroup int64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a44522c2304c6396bbe6b9d32000f4b6f',1,'operator/=(device _MLX_BFloat16 &lhs, uint16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aef8e7e499ea9d432aa743d83c076f945',1,'operator/=(device uint16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a3a0a3edbf1ba2314551454059c3f422b',1,'operator/=(thread _MLX_BFloat16 &lhs, uint16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#acb9f0aef9fbdfde8a4f46e33b0d6c52f',1,'operator/=(thread uint16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a303dfcc81ffd355f866f863d7d9f0fa5',1,'operator/=(threadgroup _MLX_BFloat16 &lhs, uint16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a359edd4bcb8776861ceb26a3005624c0',1,'operator/=(threadgroup uint16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#adc9f32cc6f40768df4285fba2e4783c7',1,'operator/=(device _MLX_BFloat16 &lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae71f66d814a03f6377c9d86cf0a2b5d7',1,'operator/=(device uint32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad0125b6baba3065a87a174ec27aa9a61',1,'operator/=(thread _MLX_BFloat16 &lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5cc74ad3e522d7104e6e2117751151ad',1,'operator/=(thread uint32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab3b594321fb42b0c2da99954d1e0976c',1,'operator/=(threadgroup _MLX_BFloat16 &lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a4a0023e2fd08875156cd6ef747fbb5cd',1,'operator/=(threadgroup uint32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a4358ee606e66ba2081fcf94f9c3b5915',1,'operator/=(device _MLX_BFloat16 &lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad1e7ef6f065695d4b1d017547b60ef62',1,'operator/=(device uint64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a284dfc702f0f67b9c233b87162eeabdd',1,'operator/=(thread _MLX_BFloat16 &lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab8f211ea896fc5190004f3ad6ad8932f',1,'operator/=(thread uint64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7e1bcf3bc06cbcbc304c0cdf729802bc',1,'operator/=(threadgroup _MLX_BFloat16 &lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#abbe42648a46092137b303ccd08f7df86',1,'operator/=(threadgroup uint64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af1a12a1efb618a57da6dd41ae18cb53c',1,'operator/=(device _MLX_BFloat16 &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a94686039356dfa9aa45608a8b0562fdc',1,'operator/=(thread _MLX_BFloat16 &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa251d6483d3b099d1b5311fbe6f0bce2',1,'operator/=(threadgroup _MLX_BFloat16 &lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1core.html#a045ff27257cb6d8ab7a94771ba5a17e6',1,'mlx::core::operator/=(_MLX_BFloat16 &lhs, const float &rhs)'],['../namespacemlx_1_1core.html#a58112951a56a0f9f8c90b60fe74f9508',1,'mlx::core::operator/=(float &lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ae736defc89a04fbaf7627ad2695bb838',1,'mlx::core::operator/=(_MLX_Float16 &lhs, const float &rhs)'],['../namespacemlx_1_1core.html#ab1f260710251256ef737dd59be9e143c',1,'mlx::core::operator/=(float &lhs, _MLX_Float16 rhs)']]], + ['operator_3c_33',['operator<',['../backend_2metal_2kernels_2complex_8h.html#a67674e32596a9dae2258bb8e0e6a2058',1,'operator<(complex64_t a, complex64_t b): complex.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a9ef6a57b7185e9ca49e255fec1a44e25',1,'operator<(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aab02c65bc38ea66335b2192ead4095a8',1,'operator<(_MLX_BFloat16 lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae91686513e284bcc9635833744bbdda1',1,'operator<(float lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a2486f3b5de85b0d57f458d8f21f82b42',1,'operator<(_MLX_BFloat16 lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a435a2aec4c777b4b184ff5d24992e8a1',1,'operator<(half lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#abdd04257e6a73883b5f56f1186d0e906',1,'operator<(_MLX_BFloat16 lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a69984aaa05ae1d4fccccf7f57e8ecb4a',1,'operator<(int32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a501cc01d5bf15d9f03aa28545f9624ea',1,'operator<(_MLX_BFloat16 lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a1b029e4ca72125a5f9471f582c819705',1,'operator<(uint32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0736a76f56578d26ba1422dc8b744a18',1,'operator<(_MLX_BFloat16 lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a24b1fa8998c892f90f8dde7c34fb10a5',1,'operator<(int64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af80ff2020ec2c4b406c5fdae3fe55e63',1,'operator<(_MLX_BFloat16 lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac03f6eefb836373d37dc280b0d813d78',1,'operator<(uint64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1steel.html#adb5f24b57d98214fc215a06475f21412',1,'mlx::steel::operator<()'],['../group__ops.html#gaee41e2b8f61d563200ff03575ac1d6c3',1,'mlx::core::operator<(const array &a, const array &b)'],['../group__ops.html#ga1ef8ea11cf15ce628c54201fa42748ef',1,'mlx::core::operator<(T a, const array &b)'],['../group__ops.html#ga95e72226dc7a79c40b3d16f990922050',1,'mlx::core::operator<(const array &a, T b)'],['../namespacemlx_1_1core.html#a987d631e1508e8df55d98ddd57e4d086',1,'mlx::core::operator<(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ad3fb46370cd8f0992866fad9e2c64a3c',1,'mlx::core::operator<(_MLX_BFloat16 lhs, float rhs)'],['../namespacemlx_1_1core.html#a3026691bf7ee5095243a8611bf3411aa',1,'mlx::core::operator<(float lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a0d42d6c1d5f77a96e2f296b8ebd79ee6',1,'mlx::core::operator<(_MLX_BFloat16 lhs, double rhs)'],['../namespacemlx_1_1core.html#ab5ce08a7de0a0ca00d61f7a7f8ea3ab4',1,'mlx::core::operator<(double lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#abce8b7f24b61e5ec0f9a3afe20845caf',1,'mlx::core::operator<(_MLX_BFloat16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#aff97612627ae1ed260c43c0a7af0d306',1,'mlx::core::operator<(int32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a9119e518234df7923cae2b3802d59bf2',1,'mlx::core::operator<(_MLX_BFloat16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#aefb9b05ce8864ada99a920ab32017b89',1,'mlx::core::operator<(uint32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#abc55f3676c2d112a6e9ab276bd6b1796',1,'mlx::core::operator<(_MLX_BFloat16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#afe6581a2c45f24d7fab1e4006c1e3c70',1,'mlx::core::operator<(int64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#aca1d50cdd9506481dcc4cd1ad4a4f734',1,'mlx::core::operator<(_MLX_BFloat16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a310720f513b6a2490e9df80c65f1bfb3',1,'mlx::core::operator<(uint64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a29e457a170b6cefb6ba1e394c96c6f7b',1,'mlx::core::operator<(const complex64_t &a, const complex64_t &b)'],['../namespacemlx_1_1core.html#afd4519985b6b207ec41ad8530d1036df',1,'mlx::core::operator<(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ae1e41ca94022e43a00cdfc5845102daa',1,'mlx::core::operator<(_MLX_Float16 lhs, float rhs)'],['../namespacemlx_1_1core.html#ac80f4022bffd95b57526685ce8e1cbc1',1,'mlx::core::operator<(float lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a3a8f6f0af477788c4f0aa98abfc5f1ab',1,'mlx::core::operator<(_MLX_Float16 lhs, double rhs)'],['../namespacemlx_1_1core.html#a3728ed9b6cbd152bf675251a0501b466',1,'mlx::core::operator<(double lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a5b9ad811a5e1358100c5423dd70ea387',1,'mlx::core::operator<(_MLX_Float16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a5c77e1db83995d3e06a8a26265bce5d6',1,'mlx::core::operator<(int32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ab8a0a3f70664049b35ce1887bd8ff5c2',1,'mlx::core::operator<(_MLX_Float16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a6652d93bfb2d426e261a1712a181a4d2',1,'mlx::core::operator<(uint32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a03758b8d13da2de07cc4f4fc45d2854b',1,'mlx::core::operator<(_MLX_Float16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a325161b81a9ff179fd37d949780a17ba',1,'mlx::core::operator<(int64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a92eca79fce8233e4299343eee3996511',1,'mlx::core::operator<(_MLX_Float16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#adb016662b8f7eb680abfe1a421eabe72',1,'mlx::core::operator<(uint64_t lhs, _MLX_Float16 rhs)']]], + ['operator_3c_3c_34',['operator<<',['../group__ops.html#gad656c30f9fd7d9467e405657b325aa7e',1,'mlx::core::operator<<(const array &a, const array &b)'],['../namespacemlx_1_1core.html#a1e5c30e316afa30c14bc48b92afdb794',1,'mlx::core::operator<<(std::ostream &os, const Device &d)'],['../namespacemlx_1_1core.html#a4ddd07021b36c848d6fb1dd9ac276822',1,'mlx::core::operator<<(std::ostream &os, const Stream &s)'],['../namespacemlx_1_1core.html#a0023c267cf81345fad65e7a797954cd3',1,'mlx::core::operator<<(std::ostream &os, const Dtype &d)'],['../namespacemlx_1_1core.html#a1fd58658474fb842d648dcf8f7d9f078',1,'mlx::core::operator<<(std::ostream &os, const Dtype::Kind &k)'],['../namespacemlx_1_1core.html#a123331f01188bd76e37623b63b6b4340',1,'mlx::core::operator<<(std::ostream &os, array a)'],['../namespacemlx_1_1core.html#a9146063485ab071977150c6b224d0e7b',1,'mlx::core::operator<<(std::ostream &os, const Shape &v)'],['../namespacemlx_1_1core.html#a860a8ed99050bd93f37a8795245c4f5b',1,'mlx::core::operator<<(std::ostream &os, const Strides &v)'],['../namespacemlx_1_1core.html#a5e5bd5c57b1cf19776bdb41e732861d9',1,'mlx::core::operator<<(std::ostream &os, const std::vector< int64_t > &v)'],['../namespacemlx_1_1core.html#a42a19c8442b173606e714364227e7d45',1,'mlx::core::operator<<(std::ostream &os, const complex64_t &v)'],['../namespacemlx_1_1core.html#a57eb97a5eba99a846ac429795e407574',1,'mlx::core::operator<<(std::ostream &os, const float16_t &v)'],['../namespacemlx_1_1core.html#a7db909d54cf07375e89424c32c07a29c',1,'mlx::core::operator<<(std::ostream &os, const bfloat16_t &v)']]], + ['operator_3c_3d_35',['operator<=',['../backend_2metal_2kernels_2complex_8h.html#aee04c9a63c6716a99a027418354debb0',1,'operator<=(complex64_t a, complex64_t b): complex.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af469c58cffeab488c681f4b33f02cd05',1,'operator<=(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5a81eae168dfafd299c2b94e3e8558cf',1,'operator<=(_MLX_BFloat16 lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0f486bf02c6ad5b9b6a96d3450f03e47',1,'operator<=(float lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#acba9efe192d22b7781b4622103c7a944',1,'operator<=(_MLX_BFloat16 lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aff100489cc40ad276c2d5d67a9df67db',1,'operator<=(half lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7eac96f64ca42991caf819c8e8c8d2bc',1,'operator<=(_MLX_BFloat16 lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a88c11cd37600de5480570da3d2ae5732',1,'operator<=(int32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a08c7d12a0d16565fbf052dba2db8b22d',1,'operator<=(_MLX_BFloat16 lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a2b9de9624c0a507b4ead85f898ad9daf',1,'operator<=(uint32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a28f8d21c5eef047c701cf690ce9c2ef0',1,'operator<=(_MLX_BFloat16 lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a14b56c687053ee2432398a25663c068f',1,'operator<=(int64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0f360806708b95a3be400af0b8871b57',1,'operator<=(_MLX_BFloat16 lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a80d288f22cadfdf5e904410349e616a1',1,'operator<=(uint64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1steel.html#a6cc3bab5e7f6e7c719c82afa90ad2827',1,'mlx::steel::operator<=()'],['../group__ops.html#ga4c8b8a1632944acaae50f0de6c23ece6',1,'mlx::core::operator<=(const array &a, const array &b)'],['../group__ops.html#ga150a9be467c9f91482a6d6fc13504bc4',1,'mlx::core::operator<=(T a, const array &b)'],['../group__ops.html#ga624eeccef0cc4b130e1325abfea057cb',1,'mlx::core::operator<=(const array &a, T b)'],['../namespacemlx_1_1core.html#a0066a47cb21223ddebc77992ee874fb9',1,'mlx::core::operator<=(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a2593dbace3ce50e7146d9514726a543f',1,'mlx::core::operator<=(_MLX_BFloat16 lhs, float rhs)'],['../namespacemlx_1_1core.html#a88654bcf6c9728517a2933ca2e29a7c1',1,'mlx::core::operator<=(float lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a5d4f449e9c1699b99fcf894dd15e8af3',1,'mlx::core::operator<=(_MLX_BFloat16 lhs, double rhs)'],['../namespacemlx_1_1core.html#a6b678bea8fdcda1f11c6691b56a15211',1,'mlx::core::operator<=(double lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ae8aacc606ea16f018a90eae758830a35',1,'mlx::core::operator<=(_MLX_BFloat16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a25668dea4ffb51c7c00eeecb9530d1d8',1,'mlx::core::operator<=(int32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a084558b6a5487549799c49c37c9e9652',1,'mlx::core::operator<=(_MLX_BFloat16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#ade2e2a0daa79d5c52f278f85f03dde2e',1,'mlx::core::operator<=(uint32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a750a2d2b4976ad94b08994d081f83445',1,'mlx::core::operator<=(_MLX_BFloat16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#ade5a175ff45347689ac4c798d04c8ffc',1,'mlx::core::operator<=(int64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ae25e0c01b46612f039313a4825ba6428',1,'mlx::core::operator<=(_MLX_BFloat16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a5c90f16d8f6edf4b75c96b945b9fa591',1,'mlx::core::operator<=(uint64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a8cd6583fa0fc9957f993e00b2ec01d91',1,'mlx::core::operator<=(const complex64_t &a, const complex64_t &b)'],['../namespacemlx_1_1core.html#a012130a0458cbc30b88365e0e0eab232',1,'mlx::core::operator<=(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ae8c890bdcffadee8c5dab85c907f57eb',1,'mlx::core::operator<=(_MLX_Float16 lhs, float rhs)'],['../namespacemlx_1_1core.html#a43cb070553c1f2fffb32ef6670e30980',1,'mlx::core::operator<=(float lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ac759b7798d668a99535e59e26d6ba192',1,'mlx::core::operator<=(_MLX_Float16 lhs, double rhs)'],['../namespacemlx_1_1core.html#a70e528a789b5660d98e783b045aaa379',1,'mlx::core::operator<=(double lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a40bd8abb8a4d989ddabbb298518bd7f5',1,'mlx::core::operator<=(_MLX_Float16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a4155d4b0c76f37ab5e0b54f9cd683f35',1,'mlx::core::operator<=(int32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ad8bb648d0603a206e0392990c911ca0b',1,'mlx::core::operator<=(_MLX_Float16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#ace72a5853f2afd6510dcb97d54fa650d',1,'mlx::core::operator<=(uint32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ab38f7a0d3c0809071ff5d3af859018d6',1,'mlx::core::operator<=(_MLX_Float16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a7904b886d7b535a6af0a885d00597323',1,'mlx::core::operator<=(int64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a57952168bd0b54c2677204d4ab1cb6e5',1,'mlx::core::operator<=(_MLX_Float16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a6235dc5f4db517618bb3449b08c96e8b',1,'mlx::core::operator<=(uint64_t lhs, _MLX_Float16 rhs)']]], + ['operator_3d_36',['operator=',['../classmlx_1_1core_1_1allocator_1_1_allocator.html#a027b84cddc8d476f736ac1f1a9991fe4',1,'mlx::core::allocator::Allocator::operator=(const Allocator &other)=delete'],['../classmlx_1_1core_1_1allocator_1_1_allocator.html#a2e971b47339b1d0849a334a902a9df3c',1,'mlx::core::allocator::Allocator::operator=(Allocator &&other)=delete'],['../classmlx_1_1core_1_1array.html#a8acf2b4c75f9b7f79da6675dbc36cf36',1,'mlx::core::array::operator=(const array &other) &&=delete'],['../classmlx_1_1core_1_1array.html#a5c89c2406a610b32943955f9a5060fbd',1,'mlx::core::array::operator=(array &&other) &&=delete'],['../classmlx_1_1core_1_1array.html#ad3277ff68f1336aa217f9cbe40181479',1,'mlx::core::array::operator=(array &&other) &=default'],['../classmlx_1_1core_1_1array.html#a5da41aabecf4c8055b7515341bf57147',1,'mlx::core::array::operator=(const array &other) &'],['../structmlx_1_1core_1_1array_1_1_data.html#a68e9417954fe811b5e41e6317a526748',1,'mlx::core::array::Data::operator=()'],['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#a3f42a1362b4a513fa89e7b3dcc570a8e',1,'mlx::core::metal::CommandEncoder::operator=()'],['../classmlx_1_1core_1_1metal_1_1_device.html#ad1d6382fd18a46b1906e1b43e0bd2e73',1,'mlx::core::metal::Device::operator=()'],['../classmlx_1_1core_1_1metal_1_1_residency_set.html#aef97dbbc755940789f99a26164591c45',1,'mlx::core::metal::ResidencySet::operator=()'],['../classmlx_1_1core_1_1_primitive.html#a6b1be7ea92f3a7bb19875c70259dad6b',1,'mlx::core::Primitive::operator=(const Primitive &other)=delete'],['../classmlx_1_1core_1_1_primitive.html#a50bbddd43e1ba0cf5f127cd7aa756a9e',1,'mlx::core::Primitive::operator=(Primitive &&other)=delete'],['../classmlx_1_1core_1_1_unary_primitive.html#a0a859309a4f192f2679e07f2e4ff4d22',1,'mlx::core::UnaryPrimitive::operator=(const UnaryPrimitive &other)=delete'],['../classmlx_1_1core_1_1_unary_primitive.html#ab90b2ea80f1d914be03cf44def5db5a5',1,'mlx::core::UnaryPrimitive::operator=(UnaryPrimitive &&other)=delete'],['../classmlx_1_1core_1_1scheduler_1_1_scheduler.html#ab170dbd2ce34c51e2eeebf5d08e7e2db',1,'mlx::core::scheduler::Scheduler::operator=(const Scheduler &)=delete'],['../classmlx_1_1core_1_1scheduler_1_1_scheduler.html#a035ea35f4dd8ee985973080f14029379',1,'mlx::core::scheduler::Scheduler::operator=(Scheduler &&)=delete'],['../structmlx_1_1core_1_1___m_l_x___b_float16.html#a0f65b0523b8ddd989f338da6cb2860e3',1,'mlx::core::_MLX_BFloat16::operator=(std::vector< bool >::reference x)'],['../structmlx_1_1core_1_1___m_l_x___b_float16.html#abb8cd44ee22b17c55333ff2eb4e13a14',1,'mlx::core::_MLX_BFloat16::operator=(const float &x)'],['../structmlx_1_1core_1_1___m_l_x___float16.html#a608a099bf7116ee608dcfd31ea3ade2c',1,'mlx::core::_MLX_Float16::operator=(std::vector< bool >::reference x)'],['../structmlx_1_1core_1_1___m_l_x___float16.html#a35543c3653d477c46350697fb808373d',1,'mlx::core::_MLX_Float16::operator=(const float &x)']]], + ['operator_3d_3d_37',['operator==',['../structmlx_1_1core_1_1array_1_1_array_iterator.html#a1afd6d2a19a2b0d712063f221ab4eba7',1,'mlx::core::array::ArrayIterator::operator=='],['../backend_2metal_2kernels_2complex_8h.html#abfc19f03616441245dfc7726b278f190',1,'operator==(complex64_t a, complex64_t b): complex.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a49a13b06a325ed3cca4004b6a0cde065',1,'operator==(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0aa3bfcfab53700488e5f386e6de60d5',1,'operator==(_MLX_BFloat16 lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a3936148781ab1c4f33f58d12c116f370',1,'operator==(float lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae753526b669fba27771089dc809abd66',1,'operator==(_MLX_BFloat16 lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a05a4f197a71d0f16879032f44492bb79',1,'operator==(half lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae86f5917847b1ec9f313996250f2e0be',1,'operator==(_MLX_BFloat16 lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aab74ec4d33a64b92b908717d500f1ecf',1,'operator==(int32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac30a2c1fa6f172af903fdeb6a8632606',1,'operator==(_MLX_BFloat16 lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab4e9ad547aa23daa351075e0ecc58fa2',1,'operator==(uint32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa5fa1a8f2b39c3508fe38205469756d1',1,'operator==(_MLX_BFloat16 lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aeadc1f36c6bdc219294ce9341d80afa5',1,'operator==(int64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a3ae2091ada1e39e857fbc53c97bdb79f',1,'operator==(_MLX_BFloat16 lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac7b4d295f3c7b1e09964f24f306422da',1,'operator==(uint64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1steel.html#abcc797f27e87e857b41c1a8d33ee2c78',1,'mlx::steel::operator==()'],['../namespacemlx_1_1core.html#a937503d72b66c661bf3f5fdcd98ef97c',1,'mlx::core::operator==(const Device &lhs, const Device &rhs)'],['../group__ops.html#gaa30cf69f3d22f65615f5e1696dd5703f',1,'mlx::core::operator==(const array &a, const array &b)'],['../group__ops.html#gaf115782d009ac2a547fcca395c9ec797',1,'mlx::core::operator==(T a, const array &b)'],['../group__ops.html#ga3ad3ed7aece2650943a35082dbe3a0a5',1,'mlx::core::operator==(const array &a, T b)'],['../namespacemlx_1_1core.html#ac470f937a379d6356c8f567c97cd7481',1,'mlx::core::operator==(const Stream &lhs, const Stream &rhs)'],['../namespacemlx_1_1core.html#aec63a0472cb943fe39f31e7678555572',1,'mlx::core::operator==(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ad05311ca8e2f19ffe5849e963837cec7',1,'mlx::core::operator==(_MLX_BFloat16 lhs, float rhs)'],['../namespacemlx_1_1core.html#aaaf591cb2188381e6cbd857132d04eb7',1,'mlx::core::operator==(float lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a7ef33c33509ccccf1ab217500e8b3c1a',1,'mlx::core::operator==(_MLX_BFloat16 lhs, double rhs)'],['../namespacemlx_1_1core.html#abec4200a718b7c5ed80b7abcc4447260',1,'mlx::core::operator==(double lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ad853981b1c5ba69b07d54c7b77055d22',1,'mlx::core::operator==(_MLX_BFloat16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a752d6cb4172a9cb91e5da19582329c6d',1,'mlx::core::operator==(int32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a0175beb3de139faa08479a88215b35ea',1,'mlx::core::operator==(_MLX_BFloat16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a61da2851cb3beeef28049228346c28b5',1,'mlx::core::operator==(uint32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#aa24713cb9e39bacb516c992eb03d2b2b',1,'mlx::core::operator==(_MLX_BFloat16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a6d565dd93c46259f9486d9fdf0969589',1,'mlx::core::operator==(int64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a24e79a82557861de64dad66d36e6ff30',1,'mlx::core::operator==(_MLX_BFloat16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#af27d515ac390d62bd852b73ea759a947',1,'mlx::core::operator==(uint64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ae3e1e8b7a5410e0edf35f31f74295e2f',1,'mlx::core::operator==(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#aaa22230a66b15c3e774d8ce45783a746',1,'mlx::core::operator==(_MLX_Float16 lhs, float rhs)'],['../namespacemlx_1_1core.html#ae2a0bcdc171d7e9745d33e1d9aac4f8a',1,'mlx::core::operator==(float lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a331ec62442a8d3eb8ccba7b4de5168d1',1,'mlx::core::operator==(_MLX_Float16 lhs, double rhs)'],['../namespacemlx_1_1core.html#acfcaefe0990eb3533e2b11a6f2657492',1,'mlx::core::operator==(double lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a8d48dbd49cccff07777affb2a412058c',1,'mlx::core::operator==(_MLX_Float16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a88eae27edd22fa4418776672023cb276',1,'mlx::core::operator==(int32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a188b363f633ea360407b3f9cf4e1f1a6',1,'mlx::core::operator==(_MLX_Float16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#ae065fe5c42c1a333d7858d19f6434fa9',1,'mlx::core::operator==(uint32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a2f98db199deb6d7a82551fa4afec655a',1,'mlx::core::operator==(_MLX_Float16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a85f83add412cb320b5cd1c3da6aadbd5',1,'mlx::core::operator==(int64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a7e2cee66c3ca1b56f4f3d7fd1d6e0be1',1,'mlx::core::operator==(_MLX_Float16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#ad436557da5c7fea71fc58182a876cfe5',1,'mlx::core::operator==(uint64_t lhs, _MLX_Float16 rhs)']]], + ['operator_3e_38',['operator>',['../backend_2metal_2kernels_2complex_8h.html#a032a8d3eec2384c9f03066f7fd945995',1,'operator>(complex64_t a, complex64_t b): complex.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae394c0a10e47d1d047854a888402eb57',1,'operator>(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab9cd098786d2f4c855c42e4a6f30ab3e',1,'operator>(_MLX_BFloat16 lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a55600f3b9859e2891e0e0b5690867b72',1,'operator>(float lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#afd7cdb8ed2a9820efe9cf322c06f188c',1,'operator>(_MLX_BFloat16 lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a31bbdbe0b62b90a4d6ea4bb0a7db586b',1,'operator>(half lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a68125e66f74eaffe5ea9267638ce870d',1,'operator>(_MLX_BFloat16 lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac89eb6b29edad8cca63727ab97171c29',1,'operator>(int32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a74e477567c9477c2cf0684f81ef4498f',1,'operator>(_MLX_BFloat16 lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a2d37130b6fd79b425f5ba92b65e36bed',1,'operator>(uint32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a41d55d167e9dc63bf29d15e0ff004869',1,'operator>(_MLX_BFloat16 lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa95f9ebfdab3c5f524775651362ce914',1,'operator>(int64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a2826bd301bb5393473ccd363f2052c0d',1,'operator>(_MLX_BFloat16 lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a62a512d0edd894759c69f724b970fbdb',1,'operator>(uint64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1steel.html#a7512eadda6160e4c9d9e6aa4049fac20',1,'mlx::steel::operator>()'],['../group__ops.html#ga74fd2777adef10e6fe628a9cdadb01cb',1,'mlx::core::operator>(const array &a, const array &b)'],['../group__ops.html#ga32e106e794e2c32e4e7decee2df2477f',1,'mlx::core::operator>(T a, const array &b)'],['../group__ops.html#ga96552b90e89923c5d2064cc427775ec5',1,'mlx::core::operator>(const array &a, T b)'],['../namespacemlx_1_1core.html#aedc4e9df4bf71c0ac34fcfae60cdf550',1,'mlx::core::operator>(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a14c188303d09b97867bcfd34519aa4a6',1,'mlx::core::operator>(_MLX_BFloat16 lhs, float rhs)'],['../namespacemlx_1_1core.html#ac97736fadafa7efa201624d0e1128ee8',1,'mlx::core::operator>(float lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a3c41a304126bc225bdc68062d1eb6e7e',1,'mlx::core::operator>(_MLX_BFloat16 lhs, double rhs)'],['../namespacemlx_1_1core.html#ab594f3ae1ee13227fae940fef0d00cb9',1,'mlx::core::operator>(double lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a01dabc077a872c115a9a9ccd95f1acec',1,'mlx::core::operator>(_MLX_BFloat16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#adabbd8768d216873617768249473a5c7',1,'mlx::core::operator>(int32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#adae1b14669d27ce1fe0c214771c07b77',1,'mlx::core::operator>(_MLX_BFloat16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#ab03a22961d99fa12d3e74b3116e94e8f',1,'mlx::core::operator>(uint32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a42011a27a3d23a60be5be44ee7cac87c',1,'mlx::core::operator>(_MLX_BFloat16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a50f6a94bb36d89cf28817aff88ab89c8',1,'mlx::core::operator>(int64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ac173de50ee57b1b066d49363ba978c53',1,'mlx::core::operator>(_MLX_BFloat16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#ab09f1b4879aa3190c2f66c9bd1224021',1,'mlx::core::operator>(uint64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a91eb6ca854217424129a55ae95a123b5',1,'mlx::core::operator>(const complex64_t &a, const complex64_t &b)'],['../namespacemlx_1_1core.html#a58d5795d8312599d101ae16f194e4a2a',1,'mlx::core::operator>(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#aafa3bbeda78610c4285f3e57042268f3',1,'mlx::core::operator>(_MLX_Float16 lhs, float rhs)'],['../namespacemlx_1_1core.html#a8a928d76a6fbf3d336296401e14617a4',1,'mlx::core::operator>(float lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ade2f9222fd433cd4d673c6182f256235',1,'mlx::core::operator>(_MLX_Float16 lhs, double rhs)'],['../namespacemlx_1_1core.html#ae24c337810c841ff23e327efde7045e1',1,'mlx::core::operator>(double lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#acf401ede354fcc998b13ea6442994d7e',1,'mlx::core::operator>(_MLX_Float16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a2bb28a9a0894a73ae1b27e7f4da0841a',1,'mlx::core::operator>(int32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a09d631e8a85fd7ae72e1a868b8f9b9cb',1,'mlx::core::operator>(_MLX_Float16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a49421ea65b5a98df080d75b1636b2157',1,'mlx::core::operator>(uint32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a692ce931b660415e17f92d18a8e0d446',1,'mlx::core::operator>(_MLX_Float16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a579bb87b3ede5663d7cd68c7c0f6fb9e',1,'mlx::core::operator>(int64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#af810587a17e692f4eec256d3c3cd27de',1,'mlx::core::operator>(_MLX_Float16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a50f4177d3ca03a95fc2614e100c7391d',1,'mlx::core::operator>(uint64_t lhs, _MLX_Float16 rhs)']]], + ['operator_3e_3d_39',['operator>=',['../backend_2metal_2kernels_2complex_8h.html#aafbd686c180398c98b33d7643f893a46',1,'operator>=(complex64_t a, complex64_t b): complex.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a430dd11fbf4c6f39bc1506ab43b2341f',1,'operator>=(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a64f6787a96386246f83a8981d274150e',1,'operator>=(_MLX_BFloat16 lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a1a788f82212afad30e4c2ee40f1c313c',1,'operator>=(float lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae88617c4a012c5dc12781a349a28c886',1,'operator>=(_MLX_BFloat16 lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a467a88531150a4d9d30fce07c49c126e',1,'operator>=(half lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a9e21c5ea9dd724dc2ca8c54ad908f09c',1,'operator>=(_MLX_BFloat16 lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a2f6286d222e2176bcbdc824c5d598100',1,'operator>=(int32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#abec53064aa96265385ecc57de5fbc74c',1,'operator>=(_MLX_BFloat16 lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac766839f8f9e4863e8e18418c342c875',1,'operator>=(uint32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a2807fa6862b0f9689c81199b1e695ed8',1,'operator>=(_MLX_BFloat16 lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aee3ae0d0d1f941463b06eca0bf041b2b',1,'operator>=(int64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a523eda93c809733368e2b45382d2add6',1,'operator>=(_MLX_BFloat16 lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a1f4e90909ac1c7280f4c7d1977c55fb7',1,'operator>=(uint64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1steel.html#aa3c95c60cf69603705bb4636de547bcb',1,'mlx::steel::operator>=()'],['../group__ops.html#ga3a41895f25ed083a36994d95fa102546',1,'mlx::core::operator>=(const array &a, const array &b)'],['../group__ops.html#gaf509f2cb3b18963232f20d6c3bd229b2',1,'mlx::core::operator>=(T a, const array &b)'],['../group__ops.html#gafa0eb25d5978674bfc9e59d4145ec590',1,'mlx::core::operator>=(const array &a, T b)'],['../namespacemlx_1_1core.html#a8494764f5c686743ede66dc76d85d955',1,'mlx::core::operator>=(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a019df48807b506d9995856684bf7797a',1,'mlx::core::operator>=(_MLX_BFloat16 lhs, float rhs)'],['../namespacemlx_1_1core.html#a96ab6405430efb887cdb5c828cb67d6e',1,'mlx::core::operator>=(float lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ac18be72269b1bcfb0249cc00a0600681',1,'mlx::core::operator>=(_MLX_BFloat16 lhs, double rhs)'],['../namespacemlx_1_1core.html#aeb879815228efbd2c8f80986e1c8d41f',1,'mlx::core::operator>=(double lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a0051156f6a568f58cd54850f746fb507',1,'mlx::core::operator>=(_MLX_BFloat16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#ae93556906e115625ed1b62d36cf21b70',1,'mlx::core::operator>=(int32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ab81ad16e3be591dfc9e42ac3c19b055f',1,'mlx::core::operator>=(_MLX_BFloat16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a6cfe9b03e7c5f1eb9374208a552c3cc9',1,'mlx::core::operator>=(uint32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a2f5add83812fb137dd9226c6c01e45d5',1,'mlx::core::operator>=(_MLX_BFloat16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#ad1014a836e7ce9301de8588eef1e89ee',1,'mlx::core::operator>=(int64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a17791561434dc995de9f268d145c0ed1',1,'mlx::core::operator>=(_MLX_BFloat16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a3755925b24a903045937464be117de2f',1,'mlx::core::operator>=(uint64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a6262aeb513d27fc8313293b261e72abb',1,'mlx::core::operator>=(const complex64_t &a, const complex64_t &b)'],['../namespacemlx_1_1core.html#a6feb4b3ea511b0eda4d1ec9725f3fb4c',1,'mlx::core::operator>=(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a03b3f7fcb755ec075985ab26336926f0',1,'mlx::core::operator>=(_MLX_Float16 lhs, float rhs)'],['../namespacemlx_1_1core.html#aecfbf5ef4872ae447eb4a374e4db28e4',1,'mlx::core::operator>=(float lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ae4690f349b2483f5d1a4b75aba67399f',1,'mlx::core::operator>=(_MLX_Float16 lhs, double rhs)'],['../namespacemlx_1_1core.html#a667e95146dd5199e67bcb121b984b1f0',1,'mlx::core::operator>=(double lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a3375f1562f148bdc07451f2b6e54e6df',1,'mlx::core::operator>=(_MLX_Float16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#ae83df12368cb07ccb1c10c1117ff3922',1,'mlx::core::operator>=(int32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ad41251938cf852b5560c1180944ebb49',1,'mlx::core::operator>=(_MLX_Float16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a4ddb5ef0b88929086f9b09729fda0dde',1,'mlx::core::operator>=(uint32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a0908a61ab261aff726922b33fa6ed159',1,'mlx::core::operator>=(_MLX_Float16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a0fdadf87edd8a0a57c63953fb0ebe053',1,'mlx::core::operator>=(int64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a47c82778e43032c0bbf5d59407e81dc9',1,'mlx::core::operator>=(_MLX_Float16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a14e6c43b924eacca1b2dac1d5d00ca2b',1,'mlx::core::operator>=(uint64_t lhs, _MLX_Float16 rhs)']]], + ['operator_3e_3e_40',['operator>>',['../group__ops.html#ga498b61f7e8f056ae00297fa0dc17303a',1,'mlx::core']]], + ['operator_5b_5d_41',['operator[]',['../classpocketfft_1_1detail_1_1arr.html#aea0bd899b19e03f54dfd6c188727061a',1,'pocketfft::detail::arr::operator[](size_t idx)'],['../classpocketfft_1_1detail_1_1arr.html#a99c54f96bc79c7cdd8925c1663462842',1,'pocketfft::detail::arr::operator[](size_t idx) const'],['../classpocketfft_1_1detail_1_1sincos__2pibyn.html#a71b02f67c47b24adb296eafd2c7a3598',1,'pocketfft::detail::sincos_2pibyn::operator[]()'],['../classpocketfft_1_1detail_1_1cndarr.html#ae4852d1fe936a5d61832b507816c7054',1,'pocketfft::detail::cndarr::operator[]()'],['../classpocketfft_1_1detail_1_1ndarr.html#a2b2c4e205e8b5c32c9fe55dfd7b8c8d8',1,'pocketfft::detail::ndarr::operator[]()']]], + ['operator_5e_42',['operator^',['../group__ops.html#gac3a6fe18694e84b3d63458e9553ac181',1,'mlx::core::operator^(const array &a, const array &b)'],['../namespacemlx_1_1core.html#ae36ea40b8477bfa12d41aae8245225c9',1,'mlx::core::operator^(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a03fc96696f5c6d9411841889d05f4670',1,'mlx::core::operator^(_MLX_BFloat16 lhs, uint16_t rhs)'],['../namespacemlx_1_1core.html#a55130edf926366db0d6207989e609b7c',1,'mlx::core::operator^(uint16_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a0b75198f364d742a1c25dd13e398f2c2',1,'mlx::core::operator^(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a7f205f1b10b23180a23bf2be4bb726b1',1,'mlx::core::operator^(_MLX_Float16 lhs, uint16_t rhs)'],['../namespacemlx_1_1core.html#a9edfe65f3c6da583c7b109290ec94b22',1,'mlx::core::operator^(uint16_t lhs, _MLX_Float16 rhs)']]], + ['operator_5e_3d_43',['operator^=',['../namespacemlx_1_1core.html#a97cb7d3eac404a442e84656cefe7cfb4',1,'mlx::core::operator^=(_MLX_BFloat16 &lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#abcfd2d9615c96561fd44dfb9c341cf8e',1,'mlx::core::operator^=(_MLX_BFloat16 &lhs, uint16_t rhs)'],['../namespacemlx_1_1core.html#ae78083d766b9cf6f87cded341bbcd63e',1,'mlx::core::operator^=(_MLX_Float16 &lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#acf36c10779fbf1efbe1e6a7fd41176cd',1,'mlx::core::operator^=(_MLX_Float16 &lhs, uint16_t rhs)']]], + ['operator_7c_44',['operator|',['../group__ops.html#ga52392a2a98f09a80da8d338c4908bd02',1,'mlx::core::operator|(const array &a, const array &b)'],['../namespacemlx_1_1core.html#af84ed854132c1514dca5a524fdb7ed05',1,'mlx::core::operator|(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a7423aac70f9f2e3fb6a5c9a3fc96f703',1,'mlx::core::operator|(_MLX_BFloat16 lhs, uint16_t rhs)'],['../namespacemlx_1_1core.html#a19805f505cb7ac72bfab66c339ea7900',1,'mlx::core::operator|(uint16_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a2d933573edf4ed305fddd8a0caef1ee8',1,'mlx::core::operator|(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#afab3d4eb1b36a276922879ce6e44b7f5',1,'mlx::core::operator|(_MLX_Float16 lhs, uint16_t rhs)'],['../namespacemlx_1_1core.html#ab132729fa6912d22a8e402057eb4ba12',1,'mlx::core::operator|(uint16_t lhs, _MLX_Float16 rhs)']]], + ['operator_7c_3d_45',['operator|=',['../namespacemlx_1_1core.html#a8e1d21375ae4b89b3cbea3a46d262abd',1,'mlx::core::operator|=(_MLX_BFloat16 &lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a28d6c2f89e73b7b874dd1f67f853a96f',1,'mlx::core::operator|=(_MLX_BFloat16 &lhs, uint16_t rhs)'],['../namespacemlx_1_1core.html#a2d8470b69cbbeefece08d3ffd46c0082',1,'mlx::core::operator|=(_MLX_Float16 &lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a359c6257097a304c00d41d64296ef4c9',1,'mlx::core::operator|=(_MLX_Float16 &lhs, uint16_t rhs)']]], + ['operator_7c_7c_46',['operator||',['../namespacemlx_1_1steel.html#a1bb3ac5061a04e407fc4cdcc9f6ea03f',1,'mlx::steel::operator||()'],['../group__ops.html#ga27af56a98270d4d76d139f0f9171b83a',1,'mlx::core::operator||()']]], + ['ops_2eh_47',['ops.h',['../backend_2common_2ops_8h.html',1,'(Global Namespace)'],['../backend_2metal_2kernels_2reduction_2ops_8h.html',1,'(Global Namespace)'],['../distributed_2ops_8h.html',1,'(Global Namespace)'],['../ops_8h.html',1,'(Global Namespace)']]], + ['or_48',['Or',['../struct_or.html',1,'Or< U >'],['../classmlx_1_1core_1_1distributed_1_1_all_reduce.html#abb4560980e5d01aed14175ce8f6fc924a7a959bb7b33f410a03b3c887173fd7ed',1,'mlx::core::distributed::AllReduce::Or'],['../classmlx_1_1core_1_1_bitwise_binary.html#a6f8b5d455d0c1770428a6bef1608f23da51065a44e7f9a76a6dab6de637c6db22',1,'mlx::core::BitwiseBinary::Or'],['../classmlx_1_1core_1_1_reduce.html#a0848518b16ae6d4043d6be247bdf31c9a2e53e38f8b906ed4def9a5653aeb51fe',1,'mlx::core::Reduce::Or']]], + ['ortho_49',['ortho',['../structpocketfft_1_1detail_1_1_exec_dcst.html#aea17551a49acaca5e7808dc181d38b7f',1,'pocketfft::detail::ExecDcst']]], + ['os_50',['oS',['../struct_m_l_x_conv_params.html#a19ccb9fecfccdc18b6a7f0cc43adbc6e',1,'MLXConvParams']]], + ['out_51',['out',['../struct_read_writer.html#abea3b913c952c505d0ca4e529c7316ef',1,'ReadWriter']]], + ['out_5fof_5fbounds_52',['out_of_bounds',['../struct_read_writer.html#a08e10626fbc789b6dff9172fd6c36f7c',1,'ReadWriter::out_of_bounds() const'],['../struct_read_writer.html#a6f946aea5452109dca7fc70ed39c6efe',1,'ReadWriter::out_of_bounds() const'],['../struct_read_writer.html#a8f40d7f343d32134fe27a694abfde6bf',1,'ReadWriter::out_of_bounds() const']]], + ['out_5fstrides_53',['out_strides',['../struct_m_l_x_conv_params.html#a0c8b2cfc26859a2af9d39a2cfcc3aea6',1,'MLXConvParams']]], + ['outer_54',['outer',['../group__ops.html#ga866af24e10db2797e1c5a5986dbf6c0d',1,'mlx::core']]], + ['output_5fshapes_55',['output_shapes',['../classmlx_1_1core_1_1fast_1_1_affine_quantize.html#a50934862ccdb16a3dcce6626c5727080',1,'mlx::core::fast::AffineQuantize::output_shapes()'],['../classmlx_1_1core_1_1_primitive.html#aa5b443d71db1c7ed31a5ae6e31b7fe29',1,'mlx::core::Primitive::output_shapes()'],['../classmlx_1_1core_1_1_abs.html#ac9d55481e5490423e4aaf02b95cafc75',1,'mlx::core::Abs::output_shapes()'],['../classmlx_1_1core_1_1_add.html#a50877893083fd78b31aa25152f750418',1,'mlx::core::Add::output_shapes()'],['../classmlx_1_1core_1_1_arange.html#a447083a1403d3d42a7ad9c307a666946',1,'mlx::core::Arange::output_shapes()'],['../classmlx_1_1core_1_1_arc_cos.html#a67a5025f8d7e5bac22888ad4bf813679',1,'mlx::core::ArcCos::output_shapes()'],['../classmlx_1_1core_1_1_arc_cosh.html#a3ab82e9f0452faea735338abccb5f0ac',1,'mlx::core::ArcCosh::output_shapes()'],['../classmlx_1_1core_1_1_arc_sin.html#a0217b9a4e18196ed65ba96b4ad096ecd',1,'mlx::core::ArcSin::output_shapes()'],['../classmlx_1_1core_1_1_arc_sinh.html#a2f668f230d93c7b90e62200a0b7cb6f6',1,'mlx::core::ArcSinh::output_shapes()'],['../classmlx_1_1core_1_1_arc_tan.html#a2ebabfd1c2963199df0d7610b7ddf422',1,'mlx::core::ArcTan::output_shapes()'],['../classmlx_1_1core_1_1_arc_tan2.html#acb8e5cf85c4bc58f909ce2e8b83c3619',1,'mlx::core::ArcTan2::output_shapes()'],['../classmlx_1_1core_1_1_arc_tanh.html#a6806f04142d850f107a18a71900759c6',1,'mlx::core::ArcTanh::output_shapes()'],['../classmlx_1_1core_1_1_arg_partition.html#a587ce69b0639683ba646652f887d0239',1,'mlx::core::ArgPartition::output_shapes()'],['../classmlx_1_1core_1_1_arg_reduce.html#a81a70885480c1d436329025091b2fa4c',1,'mlx::core::ArgReduce::output_shapes()'],['../classmlx_1_1core_1_1_arg_sort.html#a219ce04a811397a900c3235d8e6aef5c',1,'mlx::core::ArgSort::output_shapes()'],['../classmlx_1_1core_1_1_as_type.html#a3975b31cfd86d6eb33dc73554b357b88',1,'mlx::core::AsType::output_shapes()'],['../classmlx_1_1core_1_1_bitwise_binary.html#a49c9d2688d3cca8abf5698a250d57d56',1,'mlx::core::BitwiseBinary::output_shapes()'],['../classmlx_1_1core_1_1_ceil.html#a3bf7db5178ed26e23d9ba360ba34ab85',1,'mlx::core::Ceil::output_shapes()'],['../classmlx_1_1core_1_1_compiled.html#a15cb081590ee024ba11476494581a4d4',1,'mlx::core::Compiled::output_shapes()'],['../classmlx_1_1core_1_1_concatenate.html#af8415a2fe28804a1437d0876ba15615f',1,'mlx::core::Concatenate::output_shapes()'],['../classmlx_1_1core_1_1_conjugate.html#afd68332463d12e69c47388f6b81ae96c',1,'mlx::core::Conjugate::output_shapes()'],['../classmlx_1_1core_1_1_contiguous.html#afff58fbf61f0c26b3606208dd2fa2072',1,'mlx::core::Contiguous::output_shapes()'],['../classmlx_1_1core_1_1_copy.html#a6bbe5fd9ce3cb5a39853b316106d2674',1,'mlx::core::Copy::output_shapes()'],['../classmlx_1_1core_1_1_cos.html#a923312e71c5a003a38b37ab67ec82580',1,'mlx::core::Cos::output_shapes()'],['../classmlx_1_1core_1_1_cosh.html#adf58c7e24b5059e66007132bc16dfe49',1,'mlx::core::Cosh::output_shapes()'],['../classmlx_1_1core_1_1_divide.html#a9563d9ee243204cfdaac6aca34853cd7',1,'mlx::core::Divide::output_shapes()'],['../classmlx_1_1core_1_1_div_mod.html#a1b7f104346cb5423ac15371b45c7ef86',1,'mlx::core::DivMod::output_shapes()'],['../classmlx_1_1core_1_1_select.html#a10e837a391542b364186288a87e11513',1,'mlx::core::Select::output_shapes()'],['../classmlx_1_1core_1_1_remainder.html#ab4de49818d1fdea8cdfef502f519b255',1,'mlx::core::Remainder::output_shapes()'],['../classmlx_1_1core_1_1_equal.html#ae714c2b0641fc9c339a2f8483bb4e257',1,'mlx::core::Equal::output_shapes()'],['../classmlx_1_1core_1_1_erf.html#ace70b96c48419e29243982ed697f6411',1,'mlx::core::Erf::output_shapes()'],['../classmlx_1_1core_1_1_erf_inv.html#a067cac7a7244b4dae6629c7e4466589f',1,'mlx::core::ErfInv::output_shapes()'],['../classmlx_1_1core_1_1_exp.html#aef2b3c24dba3ca3a63a210d3bd8e39b6',1,'mlx::core::Exp::output_shapes()'],['../classmlx_1_1core_1_1_expm1.html#ae78f03a204687f16164ed702cfc0d5cc',1,'mlx::core::Expm1::output_shapes()'],['../classmlx_1_1core_1_1_floor.html#a0a62dee6df6a82fcd955bf7670be2cd5',1,'mlx::core::Floor::output_shapes()'],['../classmlx_1_1core_1_1_gather.html#a53d89a6c4ebb634bc208bd85aa2fcda1',1,'mlx::core::Gather::output_shapes()'],['../classmlx_1_1core_1_1_greater.html#af798a7cd704a2a9a8b3ecb6ef49583b0',1,'mlx::core::Greater::output_shapes()'],['../classmlx_1_1core_1_1_greater_equal.html#a1a77c18d89ee227171ff38efef6cacf6',1,'mlx::core::GreaterEqual::output_shapes()'],['../classmlx_1_1core_1_1_hadamard.html#aa709166de3c493308689769579d665e8',1,'mlx::core::Hadamard::output_shapes()'],['../classmlx_1_1core_1_1_imag.html#ad4f847483ba07d20aba5b927c2689be8',1,'mlx::core::Imag::output_shapes()'],['../classmlx_1_1core_1_1_less.html#ad7604a75b79260d263ac0c7d959cadd5',1,'mlx::core::Less::output_shapes()'],['../classmlx_1_1core_1_1_less_equal.html#a5598c700e881673098928e47b4da9ff8',1,'mlx::core::LessEqual::output_shapes()'],['../classmlx_1_1core_1_1_log.html#ab2cae6889352ca0674f6463f8f52d77d',1,'mlx::core::Log::output_shapes()'],['../classmlx_1_1core_1_1_log1p.html#a73a02ddf0f125fff83462d97146a0a08',1,'mlx::core::Log1p::output_shapes()'],['../classmlx_1_1core_1_1_logical_not.html#ad3889969521c6a040aa2f26caee219b7',1,'mlx::core::LogicalNot::output_shapes()'],['../classmlx_1_1core_1_1_logical_and.html#a266f1eaced19b8b11e273de9219cf9ed',1,'mlx::core::LogicalAnd::output_shapes()'],['../classmlx_1_1core_1_1_logical_or.html#a931b98fca3e19085af9fa97a43db8ced',1,'mlx::core::LogicalOr::output_shapes()'],['../classmlx_1_1core_1_1_log_add_exp.html#a234f8c8ea5f5bf2fb7e371588fea98b9',1,'mlx::core::LogAddExp::output_shapes()'],['../classmlx_1_1core_1_1_matmul.html#abfabe69f428f7f125bf5665713a0eb5c',1,'mlx::core::Matmul::output_shapes()'],['../classmlx_1_1core_1_1_maximum.html#a888a69fb68726c3c18973f3ea38cfd2b',1,'mlx::core::Maximum::output_shapes()'],['../classmlx_1_1core_1_1_minimum.html#af921b5202ebf9716972bcf0e3056742a',1,'mlx::core::Minimum::output_shapes()'],['../classmlx_1_1core_1_1_multiply.html#adfd4c7f89660b42ab58e088b1ae19435',1,'mlx::core::Multiply::output_shapes()'],['../classmlx_1_1core_1_1_negative.html#a606fb13a48d10c88707f1a2c41bee9e8',1,'mlx::core::Negative::output_shapes()'],['../classmlx_1_1core_1_1_not_equal.html#ad1e8a577dc103d96f1ab65bf3b389d35',1,'mlx::core::NotEqual::output_shapes()'],['../classmlx_1_1core_1_1_number_of_elements.html#a6cdf307348ba22b3dc8f90f1fb1e0757',1,'mlx::core::NumberOfElements::output_shapes()'],['../classmlx_1_1core_1_1_partition.html#a5e62aa0109e53fb4acb861ef39787b4a',1,'mlx::core::Partition::output_shapes()'],['../classmlx_1_1core_1_1_power.html#af23ed795bdcdc4c3f91f0d4c1bb1d928',1,'mlx::core::Power::output_shapes()'],['../classmlx_1_1core_1_1_quantized_matmul.html#a7d57a31d41c58e1bd88ffe9c6b0dbf52',1,'mlx::core::QuantizedMatmul::output_shapes()'],['../classmlx_1_1core_1_1_real.html#a75999bd0b97d97a5675b9cdbab27dcff',1,'mlx::core::Real::output_shapes()'],['../classmlx_1_1core_1_1_reduce.html#aaf3da1c98cdf530803118b382c5f58bc',1,'mlx::core::Reduce::output_shapes()'],['../classmlx_1_1core_1_1_round.html#a61821399e177e142723fc986e437d459',1,'mlx::core::Round::output_shapes()'],['../classmlx_1_1core_1_1_sigmoid.html#aff024a3309584724c9842f172a4e440b',1,'mlx::core::Sigmoid::output_shapes()'],['../classmlx_1_1core_1_1_sign.html#a2260f2e8e081010192eb8a6f90acde6e',1,'mlx::core::Sign::output_shapes()'],['../classmlx_1_1core_1_1_sin.html#abdd433ecbb54898161b43aa9e14ec7f1',1,'mlx::core::Sin::output_shapes()'],['../classmlx_1_1core_1_1_sinh.html#ae04d8f6175c691a8f0d2a9fdd15af0ad',1,'mlx::core::Sinh::output_shapes()'],['../classmlx_1_1core_1_1_softmax.html#a1a798a4dcd62486362d4b58582357490',1,'mlx::core::Softmax::output_shapes()'],['../classmlx_1_1core_1_1_sort.html#acc0a3f078b3f4c83e6e1137cb81ee62c',1,'mlx::core::Sort::output_shapes()'],['../classmlx_1_1core_1_1_square.html#a0513541766bb997ed166643fe95a6d38',1,'mlx::core::Square::output_shapes()'],['../classmlx_1_1core_1_1_sqrt.html#ae45215d61e2e99749d9a0bae291edd45',1,'mlx::core::Sqrt::output_shapes()'],['../classmlx_1_1core_1_1_stop_gradient.html#a8af7641d478505d1dc39c75ba7d5a3cf',1,'mlx::core::StopGradient::output_shapes()'],['../classmlx_1_1core_1_1_subtract.html#aaaff4872bde70ad40cf90e6131ea0489',1,'mlx::core::Subtract::output_shapes()'],['../classmlx_1_1core_1_1_tan.html#a9e4bba311bb24617dbb5ca591bc2868e',1,'mlx::core::Tan::output_shapes()'],['../classmlx_1_1core_1_1_tanh.html#a8873286b69b805486fa83c4806843f3d',1,'mlx::core::Tanh::output_shapes()'],['../classmlx_1_1core_1_1_transpose.html#ac9328f43900bedec555909d09202ccd7',1,'mlx::core::Transpose::output_shapes()'],['../classmlx_1_1core_1_1_eigh.html#a9892f5b72dec19a5a2f7af5efcf2a952',1,'mlx::core::Eigh::output_shapes()']]], + ['outputs_56',['outputs',['../structmlx_1_1core_1_1metal_1_1_device_stream.html#a55a7a92c6abad369c99a5ede7a2521b9',1,'mlx::core::metal::DeviceStream::outputs'],['../classmlx_1_1core_1_1array.html#a2c186fd527f984f0589d4183b4976289',1,'mlx::core::array::outputs()'],['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#aefa48740fdee884f02e2d379bca4e78f',1,'mlx::core::metal::CommandEncoder::outputs()']]], + ['overwrite_5fdescriptor_57',['overwrite_descriptor',['../classmlx_1_1core_1_1array.html#a95e6b156c8e05439f076b85c05079387',1,'mlx::core::array']]] ]; diff --git a/docs/build/html/search/classes_3.js b/docs/build/html/search/classes_3.js index 1dbd6b015..cab75a1bf 100644 --- a/docs/build/html/search/classes_3.js +++ b/docs/build/html/search/classes_3.js @@ -21,30 +21,32 @@ var searchData= ['concurrent_5fqueue_18',['concurrent_queue',['../classpocketfft_1_1detail_1_1threading_1_1concurrent__queue.html',1,'pocketfft::detail::threading']]], ['concurrent_5fqueue_3c_20std_3a_3afunction_3c_20void_28_29_3e_20_3e_19',['concurrent_queue< std::function< void()> >',['../classpocketfft_1_1detail_1_1threading_1_1concurrent__queue.html',1,'pocketfft::detail::threading']]], ['concurrentcontext_20',['ConcurrentContext',['../structmlx_1_1core_1_1metal_1_1_command_encoder_1_1_concurrent_context.html',1,'mlx::core::metal::CommandEncoder']]], - ['conjugate_21',['Conjugate',['../struct_conjugate.html',1,'Conjugate'],['../classmlx_1_1core_1_1_conjugate.html',1,'mlx::core::Conjugate'],['../structmlx_1_1core_1_1detail_1_1_conjugate.html',1,'mlx::core::detail::Conjugate']]], - ['contiguous_22',['Contiguous',['../classmlx_1_1core_1_1_contiguous.html',1,'mlx::core']]], - ['contiguousiterator_23',['ContiguousIterator',['../structmlx_1_1core_1_1_contiguous_iterator.html',1,'mlx::core']]], - ['conv2dgeneralbaseinfo_24',['Conv2DGeneralBaseInfo',['../structmlx_1_1steel_1_1_conv2_d_general_base_info.html',1,'mlx::steel']]], - ['conv2dgeneraljumpparams_25',['Conv2DGeneralJumpParams',['../structmlx_1_1steel_1_1_conv2_d_general_jump_params.html',1,'mlx::steel']]], - ['conv2dinputblockloadergeneral_26',['Conv2DInputBlockLoaderGeneral',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html',1,'mlx::steel']]], - ['conv2dinputblockloaderlargefilter_27',['Conv2DInputBlockLoaderLargeFilter',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html',1,'mlx::steel']]], - ['conv2dinputblockloadersmallchannels_28',['Conv2DInputBlockLoaderSmallChannels',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html',1,'mlx::steel']]], - ['conv2dinputblockloadersmallfilter_29',['Conv2DInputBlockLoaderSmallFilter',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html',1,'mlx::steel']]], - ['conv2dweightblockloader_30',['Conv2DWeightBlockLoader',['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html',1,'mlx::steel']]], - ['conv2dweightblockloadergeneral_31',['Conv2DWeightBlockLoaderGeneral',['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html',1,'mlx::steel']]], - ['conv2dweightblockloadersmallchannels_32',['Conv2DWeightBlockLoaderSmallChannels',['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html',1,'mlx::steel']]], - ['convolution_33',['Convolution',['../classmlx_1_1core_1_1_convolution.html',1,'mlx::core']]], - ['copy_34',['Copy',['../classmlx_1_1core_1_1_copy.html',1,'mlx::core']]], - ['cos_35',['Cos',['../struct_cos.html',1,'Cos'],['../classmlx_1_1core_1_1_cos.html',1,'mlx::core::Cos'],['../structmlx_1_1core_1_1detail_1_1_cos.html',1,'mlx::core::detail::Cos']]], - ['cosh_36',['Cosh',['../struct_cosh.html',1,'Cosh'],['../classmlx_1_1core_1_1_cosh.html',1,'mlx::core::Cosh'],['../structmlx_1_1core_1_1detail_1_1_cosh.html',1,'mlx::core::detail::Cosh']]], - ['cshape_37',['CShape',['../structmlx_1_1steel_1_1_c_shape.html',1,'mlx::steel']]], - ['cummax_38',['CumMax',['../struct_cum_max.html',1,'']]], - ['cummin_39',['CumMin',['../struct_cum_min.html',1,'']]], - ['cumprod_40',['CumProd',['../struct_cum_prod.html',1,'']]], - ['cumprod_3c_20bool_20_3e_41',['CumProd< bool >',['../struct_cum_prod_3_01bool_01_4.html',1,'']]], - ['cumsum_42',['CumSum',['../struct_cum_sum.html',1,'']]], - ['custom_43',['Custom',['../classmlx_1_1core_1_1fast_1_1_custom.html',1,'mlx::core::fast']]], - ['customkernel_44',['CustomKernel',['../classmlx_1_1core_1_1fast_1_1_custom_kernel.html',1,'mlx::core::fast']]], - ['customkernelshapeinfo_45',['CustomKernelShapeInfo',['../structmlx_1_1core_1_1fast_1_1_custom_kernel_shape_info.html',1,'mlx::core::fast']]], - ['customtransforms_46',['CustomTransforms',['../classmlx_1_1core_1_1_custom_transforms.html',1,'mlx::core']]] + ['conditionaltype_21',['ConditionalType',['../struct_conditional_type.html',1,'']]], + ['conditionaltype_3c_20true_2c_20t_2c_20u_20_3e_22',['ConditionalType< true, T, U >',['../struct_conditional_type_3_01true_00_01_t_00_01_u_01_4.html',1,'']]], + ['conjugate_23',['Conjugate',['../struct_conjugate.html',1,'Conjugate'],['../classmlx_1_1core_1_1_conjugate.html',1,'mlx::core::Conjugate'],['../structmlx_1_1core_1_1detail_1_1_conjugate.html',1,'mlx::core::detail::Conjugate']]], + ['contiguous_24',['Contiguous',['../classmlx_1_1core_1_1_contiguous.html',1,'mlx::core']]], + ['contiguousiterator_25',['ContiguousIterator',['../structmlx_1_1core_1_1_contiguous_iterator.html',1,'mlx::core']]], + ['conv2dgeneralbaseinfo_26',['Conv2DGeneralBaseInfo',['../structmlx_1_1steel_1_1_conv2_d_general_base_info.html',1,'mlx::steel']]], + ['conv2dgeneraljumpparams_27',['Conv2DGeneralJumpParams',['../structmlx_1_1steel_1_1_conv2_d_general_jump_params.html',1,'mlx::steel']]], + ['conv2dinputblockloadergeneral_28',['Conv2DInputBlockLoaderGeneral',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html',1,'mlx::steel']]], + ['conv2dinputblockloaderlargefilter_29',['Conv2DInputBlockLoaderLargeFilter',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html',1,'mlx::steel']]], + ['conv2dinputblockloadersmallchannels_30',['Conv2DInputBlockLoaderSmallChannels',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html',1,'mlx::steel']]], + ['conv2dinputblockloadersmallfilter_31',['Conv2DInputBlockLoaderSmallFilter',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html',1,'mlx::steel']]], + ['conv2dweightblockloader_32',['Conv2DWeightBlockLoader',['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html',1,'mlx::steel']]], + ['conv2dweightblockloadergeneral_33',['Conv2DWeightBlockLoaderGeneral',['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html',1,'mlx::steel']]], + ['conv2dweightblockloadersmallchannels_34',['Conv2DWeightBlockLoaderSmallChannels',['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html',1,'mlx::steel']]], + ['convolution_35',['Convolution',['../classmlx_1_1core_1_1_convolution.html',1,'mlx::core']]], + ['copy_36',['Copy',['../classmlx_1_1core_1_1_copy.html',1,'mlx::core']]], + ['cos_37',['Cos',['../struct_cos.html',1,'Cos'],['../classmlx_1_1core_1_1_cos.html',1,'mlx::core::Cos'],['../structmlx_1_1core_1_1detail_1_1_cos.html',1,'mlx::core::detail::Cos']]], + ['cosh_38',['Cosh',['../struct_cosh.html',1,'Cosh'],['../classmlx_1_1core_1_1_cosh.html',1,'mlx::core::Cosh'],['../structmlx_1_1core_1_1detail_1_1_cosh.html',1,'mlx::core::detail::Cosh']]], + ['cshape_39',['CShape',['../structmlx_1_1steel_1_1_c_shape.html',1,'mlx::steel']]], + ['cummax_40',['CumMax',['../struct_cum_max.html',1,'']]], + ['cummin_41',['CumMin',['../struct_cum_min.html',1,'']]], + ['cumprod_42',['CumProd',['../struct_cum_prod.html',1,'']]], + ['cumprod_3c_20bool_20_3e_43',['CumProd< bool >',['../struct_cum_prod_3_01bool_01_4.html',1,'']]], + ['cumsum_44',['CumSum',['../struct_cum_sum.html',1,'']]], + ['custom_45',['Custom',['../classmlx_1_1core_1_1fast_1_1_custom.html',1,'mlx::core::fast']]], + ['customkernel_46',['CustomKernel',['../classmlx_1_1core_1_1fast_1_1_custom_kernel.html',1,'mlx::core::fast']]], + ['customkernelshapeinfo_47',['CustomKernelShapeInfo',['../structmlx_1_1core_1_1fast_1_1_custom_kernel_shape_info.html',1,'mlx::core::fast']]], + ['customtransforms_48',['CustomTransforms',['../classmlx_1_1core_1_1_custom_transforms.html',1,'mlx::core']]] ]; diff --git a/docs/build/html/search/functions_1.js b/docs/build/html/search/functions_1.js index 51915fc81..4317f85a5 100644 --- a/docs/build/html/search/functions_1.js +++ b/docs/build/html/search/functions_1.js @@ -61,13 +61,13 @@ var searchData= ['argument_5fencoder_58',['argument_encoder',['../classmlx_1_1core_1_1metal_1_1_device.html#a6e33e2b1287324fb4a6575e0da5e5881',1,'mlx::core::metal::Device']]], ['arr_59',['arr',['../classpocketfft_1_1detail_1_1arr.html#a961a24410638b35129cd6b81850d2a42',1,'pocketfft::detail::arr::arr()'],['../classpocketfft_1_1detail_1_1arr.html#a04f832b780a4453fdf3b69bf75b182bd',1,'pocketfft::detail::arr::arr(size_t n)'],['../classpocketfft_1_1detail_1_1arr.html#a0cd8fb4a588a74d428a7349d38b477d0',1,'pocketfft::detail::arr::arr(arr &&other)']]], ['arr_5finfo_60',['arr_info',['../classpocketfft_1_1detail_1_1arr__info.html#a0dbddb7d86ca306159fc9ef9a453b21e',1,'pocketfft::detail::arr_info']]], - ['array_61',['array',['../classmlx_1_1core_1_1array.html#a75fac72da3ce214fa3737df92a64b232',1,'mlx::core::array::array(T val, Dtype dtype=TypeToDtype< T >())'],['../classmlx_1_1core_1_1array.html#a6db4b8c28c767cc16ad2785ece496dca',1,'mlx::core::array::array(const std::complex< float > &val, Dtype dtype=complex64)'],['../classmlx_1_1core_1_1array.html#a3e506a53b9c7567448f7809dda680210',1,'mlx::core::array::array(It data, std::vector< int > shape, Dtype dtype=TypeToDtype< typename std::iterator_traits< It >::value_type >())'],['../classmlx_1_1core_1_1array.html#a87f170384f4fb93decf2b80ae7280f00',1,'mlx::core::array::array(std::initializer_list< T > data, Dtype dtype=TypeToDtype< T >())'],['../classmlx_1_1core_1_1array.html#a46642301da11e3eb4312c37349fbc9d7',1,'mlx::core::array::array(std::initializer_list< float > data)'],['../classmlx_1_1core_1_1array.html#a5e1812029394bfb1a706c83611286f49',1,'mlx::core::array::array(std::initializer_list< int > data, Dtype dtype)'],['../classmlx_1_1core_1_1array.html#a44e57a41819321e0d796e08cb9a06e4b',1,'mlx::core::array::array(std::initializer_list< T > data, std::vector< int > shape, Dtype dtype=TypeToDtype< T >())'],['../classmlx_1_1core_1_1array.html#a5b5f562ff14c150842cb61628e531663',1,'mlx::core::array::array(allocator::Buffer data, std::vector< int > shape, Dtype dtype, deleter_t deleter=allocator::free)'],['../classmlx_1_1core_1_1array.html#a297df274e2da5cb884257bbeffd6b187',1,'mlx::core::array::array(const array &other)=default'],['../classmlx_1_1core_1_1array.html#ab6cbccbba66cc54acda4390b19f0397c',1,'mlx::core::array::array(array &&other)=default'],['../classmlx_1_1core_1_1array.html#adaade8f4bb7f8ecc0ba07efb17cd2620',1,'mlx::core::array::array(std::vector< int > shape, Dtype dtype, std::shared_ptr< Primitive > primitive, std::vector< array > inputs)']]], + ['array_61',['array',['../classmlx_1_1core_1_1array.html#a75fac72da3ce214fa3737df92a64b232',1,'mlx::core::array::array(T val, Dtype dtype=TypeToDtype< T >())'],['../classmlx_1_1core_1_1array.html#a6db4b8c28c767cc16ad2785ece496dca',1,'mlx::core::array::array(const std::complex< float > &val, Dtype dtype=complex64)'],['../classmlx_1_1core_1_1array.html#abcc030a1c2434ec75ad9425751bffdc7',1,'mlx::core::array::array(It data, Shape shape, Dtype dtype=TypeToDtype< typename std::iterator_traits< It >::value_type >())'],['../classmlx_1_1core_1_1array.html#a87f170384f4fb93decf2b80ae7280f00',1,'mlx::core::array::array(std::initializer_list< T > data, Dtype dtype=TypeToDtype< T >())'],['../classmlx_1_1core_1_1array.html#a46642301da11e3eb4312c37349fbc9d7',1,'mlx::core::array::array(std::initializer_list< float > data)'],['../classmlx_1_1core_1_1array.html#a5e1812029394bfb1a706c83611286f49',1,'mlx::core::array::array(std::initializer_list< int > data, Dtype dtype)'],['../classmlx_1_1core_1_1array.html#a89a7b0c02366ca456232d347ebb11507',1,'mlx::core::array::array(std::initializer_list< T > data, Shape shape, Dtype dtype=TypeToDtype< T >())'],['../classmlx_1_1core_1_1array.html#a485399a6680a370cabb08470306b63d4',1,'mlx::core::array::array(allocator::Buffer data, Shape shape, Dtype dtype, Deleter deleter=allocator::free)'],['../classmlx_1_1core_1_1array.html#a297df274e2da5cb884257bbeffd6b187',1,'mlx::core::array::array(const array &other)=default'],['../classmlx_1_1core_1_1array.html#ab6cbccbba66cc54acda4390b19f0397c',1,'mlx::core::array::array(array &&other)=default'],['../classmlx_1_1core_1_1array.html#abc26528271076510822e374d1668a94b',1,'mlx::core::array::array(Shape shape, Dtype dtype, std::shared_ptr< Primitive > primitive, std::vector< array > inputs)']]], ['array_5fequal_62',['array_equal',['../group__ops.html#ga8f3059336ee0c87207b1f8c6ab312645',1,'mlx::core::array_equal(const array &a, const array &b, bool equal_nan, StreamOrDevice s={})'],['../group__ops.html#gaf79cf0271ca0105d7b14295a90d0ed14',1,'mlx::core::array_equal(const array &a, const array &b, StreamOrDevice s={})']]], ['arrayiterator_63',['ArrayIterator',['../structmlx_1_1core_1_1array_1_1_array_iterator.html#ad3afcb24c6db7642bbc06835f7f3e27a',1,'mlx::core::array::ArrayIterator']]], - ['as_5fstrided_64',['as_strided',['../group__ops.html#ga8de80ecef30fc560003d40f61a38b99d',1,'mlx::core']]], + ['as_5fstrided_64',['as_strided',['../group__ops.html#ga6085b03f2662ef2a61de523fd609f3bf',1,'mlx::core']]], ['asin_65',['asin',['../namespacemetal.html#a16e843194df3fd136404bf80ba5ac95c',1,'metal::asin()'],['../namespacemetal_1_1fast.html#a769455a283da99654b6e42c3acf13eb1',1,'metal::fast::asin()'],['../namespacemetal_1_1precise.html#adc7b8b6e12e320cb32030f728dcbf438',1,'metal::precise::asin()']]], ['asinh_66',['asinh',['../namespacemetal.html#abcc3251866930cfe880f89e7473d0e63',1,'metal::asinh()'],['../namespacemetal_1_1fast.html#a4367034b7b3e14310803bb2be975a556',1,'metal::fast::asinh()'],['../namespacemetal_1_1precise.html#aaad1cdde6687c8011fbc5fda1bb13424',1,'metal::precise::asinh()']]], - ['asstrided_67',['AsStrided',['../classmlx_1_1core_1_1_as_strided.html#a80c0547f72ed53374eafc57d57b5d4af',1,'mlx::core::AsStrided']]], + ['asstrided_67',['AsStrided',['../classmlx_1_1core_1_1_as_strided.html#aee21aadc21343fd15aacb8f2f8ac3761',1,'mlx::core::AsStrided']]], ['astype_68',['AsType',['../classmlx_1_1core_1_1_as_type.html#a8c3241d402a8977bb4db037e225f5b47',1,'mlx::core::AsType']]], ['astype_69',['astype',['../group__ops.html#ga0e58c24fc5668e5a521e5b45e8370a62',1,'mlx::core']]], ['async_5feval_70',['async_eval',['../namespacemlx_1_1core.html#a15dda19aa7fa1fc5fca35df5cf963297',1,'mlx::core']]], diff --git a/docs/build/html/search/functions_12.js b/docs/build/html/search/functions_12.js index 99c84c46a..19b8559cd 100644 --- a/docs/build/html/search/functions_12.js +++ b/docs/build/html/search/functions_12.js @@ -21,7 +21,7 @@ var searchData= ['radix_5ffunc_18',['radix_func',['../metal_2kernels_2hadamard_8h.html#a590e5366adc78bab4fe44e37885d413f',1,'hadamard.h']]], ['radix_5fn_5fsteps_19',['radix_n_steps',['../backend_2metal_2kernels_2fft_8h.html#aba8d32e0911499671df93678f39da08b',1,'fft.h']]], ['randint_20',['randint',['../namespacemlx_1_1core_1_1random.html#a7289d3791aa4e8bfe28fafef4fb40e3b',1,'mlx::core::random::randint(const array &low, const array &high, const std::vector< int > &shape, Dtype dtype=int32, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1random.html#afe20b1c6188f4c8a83203e60b70b8946',1,'mlx::core::random::randint(T low, U high, const std::vector< int > &shape, Dtype dtype=int32, const std::optional< array > &key=std::nullopt, StreamOrDevice s={})']]], - ['randombits_21',['RandomBits',['../classmlx_1_1core_1_1_random_bits.html#a7dd5ed03f2a4ab45d1d5e8e2b587de6b',1,'mlx::core::RandomBits']]], + ['randombits_21',['RandomBits',['../classmlx_1_1core_1_1_random_bits.html#acd79c5ea2d67132c98d00fa927f08e26',1,'mlx::core::RandomBits']]], ['rank_22',['rank',['../structmlx_1_1core_1_1distributed_1_1_group.html#ad4a5cdab8e2209ad4825f0c63a9cbec7',1,'mlx::core::distributed::Group']]], ['raw_5fevent_23',['raw_event',['../classmlx_1_1core_1_1_event.html#af408d30df17c4771e9e2aa550cb6e921',1,'mlx::core::Event']]], ['raw_5fgroup_24',['raw_group',['../structmlx_1_1core_1_1distributed_1_1_group.html#a3285b94851cf145a2a472f60b7f7ca36',1,'mlx::core::distributed::Group']]], @@ -46,8 +46,8 @@ var searchData= ['repeat_43',['repeat',['../group__ops.html#gab49e3a687e826554ed1574186e8ae974',1,'mlx::core::repeat(const array &arr, int repeats, int axis, StreamOrDevice s={})'],['../group__ops.html#ga4f75f5d5db999f02f43ecbc6dccf3ba6',1,'mlx::core::repeat(const array &arr, int repeats, StreamOrDevice s={})']]], ['reset_44',['reset',['../structmlx_1_1core_1_1_contiguous_iterator.html#a56336d55be846426e9522f375fc11297',1,'mlx::core::ContiguousIterator']]], ['reset_5fpeak_5fmemory_45',['reset_peak_memory',['../classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a26b9c8ac7ed56c3bb7ddc194009ec5a6',1,'mlx::core::metal::MetalAllocator::reset_peak_memory()'],['../namespacemlx_1_1core_1_1metal.html#adec8bb375da6c9dd5ff625a3a8434122',1,'mlx::core::metal::reset_peak_memory()']]], - ['reshape_46',['Reshape',['../classmlx_1_1core_1_1_reshape.html#aa7c5a6e18d0615ad36102de01929eb26',1,'mlx::core::Reshape']]], - ['reshape_47',['reshape',['../group__ops.html#ga7b0e3d46a39d99b1628b422049790082',1,'mlx::core']]], + ['reshape_46',['Reshape',['../classmlx_1_1core_1_1_reshape.html#aa5a5d520b6ec6c8d9ba9d79808e36312',1,'mlx::core::Reshape']]], + ['reshape_47',['reshape',['../group__ops.html#ga084f03ce2b22258afb7c8b45e17af828',1,'mlx::core']]], ['residencyset_48',['ResidencySet',['../classmlx_1_1core_1_1metal_1_1_residency_set.html#abb69d020da017a7e52e9e3903b877eec',1,'mlx::core::metal::ResidencySet::ResidencySet(MTL::Device *d)'],['../classmlx_1_1core_1_1metal_1_1_residency_set.html#aabbf8c16f269f38e4c38097b947d18b7',1,'mlx::core::metal::ResidencySet::ResidencySet(const ResidencySet &)=delete']]], ['resize_49',['resize',['../classpocketfft_1_1detail_1_1arr.html#a8d73baaefa02dff8714e4398c83917e0',1,'pocketfft::detail::arr::resize()'],['../classmlx_1_1core_1_1metal_1_1_residency_set.html#a0364647bca4324ac41ea3900925a69b5',1,'mlx::core::metal::ResidencySet::resize()']]], ['restart_50',['restart',['../classpocketfft_1_1detail_1_1threading_1_1thread__pool.html#a51d252df8d0cd060f15be8ba2bfe3288',1,'pocketfft::detail::threading::thread_pool']]], @@ -65,7 +65,7 @@ var searchData= ['rms_5fnorm_62',['rms_norm',['../namespacemlx_1_1core_1_1fast.html#ac7b620275c6386f822b7aacc6b312e62',1,'mlx::core::fast']]], ['rmsnorm_63',['RMSNorm',['../classmlx_1_1core_1_1fast_1_1_r_m_s_norm.html#a22adaff0749711263388ec151fcfebe2',1,'mlx::core::fast::RMSNorm']]], ['rmsnormvjp_64',['RMSNormVJP',['../classmlx_1_1core_1_1fast_1_1_r_m_s_norm_v_j_p.html#aac060129b2e1af79bf388bfe705381ca',1,'mlx::core::fast::RMSNormVJP']]], - ['roll_65',['roll',['../group__ops.html#gac40e48c69f9c715a767912c30836e75c',1,'mlx::core::roll(const array &a, int shift, StreamOrDevice s={})'],['../group__ops.html#gab30fb942bb6ee00bb50da04033f949a9',1,'mlx::core::roll(const array &a, const std::vector< int > &shift, StreamOrDevice s={})'],['../group__ops.html#ga8694ec137165752cb6d8a36a6b7c3436',1,'mlx::core::roll(const array &a, int shift, int axis, StreamOrDevice s={})'],['../group__ops.html#ga665f502ecc96f1f4467556b784abf9ae',1,'mlx::core::roll(const array &a, int shift, const std::vector< int > &axes, StreamOrDevice s={})'],['../group__ops.html#ga4c335f86ff2a05daf8dd8aedc628aa59',1,'mlx::core::roll(const array &a, const std::vector< int > &shift, int axis, StreamOrDevice s={})'],['../group__ops.html#ga6c6fe942a8f7c573a1cb2342566f74d2',1,'mlx::core::roll(const array &a, const std::vector< int > &shift, const std::vector< int > &axes, StreamOrDevice s={})']]], + ['roll_65',['roll',['../group__ops.html#gac40e48c69f9c715a767912c30836e75c',1,'mlx::core::roll(const array &a, int shift, StreamOrDevice s={})'],['../group__ops.html#ga5011d1a5735c64e5b91afa56c7e2cc02',1,'mlx::core::roll(const array &a, const Shape &shift, StreamOrDevice s={})'],['../group__ops.html#ga8694ec137165752cb6d8a36a6b7c3436',1,'mlx::core::roll(const array &a, int shift, int axis, StreamOrDevice s={})'],['../group__ops.html#ga5e9833b1b7a1c636db6f7ad9809ce902',1,'mlx::core::roll(const array &a, int shift, const Shape &axes, StreamOrDevice s={})'],['../group__ops.html#ga79137f90bc44ac9e35f408c012701df9',1,'mlx::core::roll(const array &a, const Shape &shift, int axis, StreamOrDevice s={})'],['../group__ops.html#ga9d76930fb567a7d459ff96fb851abe36',1,'mlx::core::roll(const array &a, const Shape &shift, const std::vector< int > &axes, StreamOrDevice s={})']]], ['rope_66',['RoPE',['../classmlx_1_1core_1_1fast_1_1_ro_p_e.html#a031fa27aeba94cfa5ccc633137a12163',1,'mlx::core::fast::RoPE']]], ['rope_67',['rope',['../namespacemlx_1_1core_1_1fast.html#a534ef357eae24892684a6ecd866d3fab',1,'mlx::core::fast']]], ['rot90_68',['ROT90',['../namespacepocketfft_1_1detail.html#a928bad5278df636ee47402c0a75f64ef',1,'pocketfft::detail']]], diff --git a/docs/build/html/search/functions_13.js b/docs/build/html/search/functions_13.js index d6e60eb7d..1d5e681ae 100644 --- a/docs/build/html/search/functions_13.js +++ b/docs/build/html/search/functions_13.js @@ -30,7 +30,7 @@ var searchData= ['set_5fcache_5flimit_27',['set_cache_limit',['../classmlx_1_1core_1_1metal_1_1_metal_allocator.html#af392bced29d9e4e3f1a7cc4725d83764',1,'mlx::core::metal::MetalAllocator::set_cache_limit()'],['../namespacemlx_1_1core_1_1metal.html#ab09c9b60f1e886ab859e6a066c9a5b9d',1,'mlx::core::metal::set_cache_limit()']]], ['set_5fcompile_5fmode_28',['set_compile_mode',['../namespacemlx_1_1core.html#a49445a55f976c4397f25ea18e1e92bef',1,'mlx::core']]], ['set_5fcompute_5fpipeline_5fstate_29',['set_compute_pipeline_state',['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#a6d4c03a6585deedb5ccd1a1057d0c6ef',1,'mlx::core::metal::CommandEncoder']]], - ['set_5fdata_30',['set_data',['../classmlx_1_1core_1_1array.html#a631acd8e318189640b8338f9ae1a554d',1,'mlx::core::array::set_data(allocator::Buffer buffer, deleter_t d=allocator::free)'],['../classmlx_1_1core_1_1array.html#a2112af5fba37b3135cd2e6ac9e851606',1,'mlx::core::array::set_data(allocator::Buffer buffer, size_t data_size, std::vector< size_t > strides, Flags flags, deleter_t d=allocator::free)']]], + ['set_5fdata_30',['set_data',['../classmlx_1_1core_1_1array.html#af9e3a02b4c0023c36248dc75c887214f',1,'mlx::core::array::set_data(allocator::Buffer buffer, Deleter d=allocator::free)'],['../classmlx_1_1core_1_1array.html#a5f338202a39d37fa3f4241e851a15838',1,'mlx::core::array::set_data(allocator::Buffer buffer, size_t data_size, Strides strides, Flags flags, Deleter d=allocator::free)']]], ['set_5fdefault_5fdevice_31',['set_default_device',['../namespacemlx_1_1core.html#a312a2de41367fe52caeaf8c0f596a120',1,'mlx::core']]], ['set_5fdefault_5fstream_32',['set_default_stream',['../classmlx_1_1core_1_1scheduler_1_1_scheduler.html#a6d15314ac9cf25efc9bd1278de9a66bb',1,'mlx::core::scheduler::Scheduler::set_default_stream()'],['../namespacemlx_1_1core.html#af35a2b06517d8bb7dbb469692b4f841c',1,'mlx::core::set_default_stream()']]], ['set_5finput_5farray_33',['set_input_array',['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#ab69ff0d7f14b9b59db4df0608193dce4',1,'mlx::core::metal::CommandEncoder']]], @@ -43,7 +43,7 @@ var searchData= ['set_5fvalue_40',['set_value',['../classmlx_1_1core_1_1_event.html#a0d077b11f4b28f882b42440b7ac6d40d',1,'mlx::core::Event']]], ['set_5fvector_5fbytes_41',['set_vector_bytes',['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#a68c3c6a036e11ec40211c09811bbed1b',1,'mlx::core::metal::CommandEncoder::set_vector_bytes(const std::vector< T > &vec, size_t nelems, int idx)'],['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#a7375adf9ee5355bcf4b7f5f210efd115',1,'mlx::core::metal::CommandEncoder::set_vector_bytes(const std::vector< T > &vec, int idx)']]], ['set_5fwired_5flimit_42',['set_wired_limit',['../classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a84fa0347da18055bc13ba0a5c4b57253',1,'mlx::core::metal::MetalAllocator::set_wired_limit()'],['../namespacemlx_1_1core_1_1metal.html#a31eab4828d31d292bc84e07b0d961e1e',1,'mlx::core::metal::set_wired_limit()']]], - ['shape_43',['shape',['../classpocketfft_1_1detail_1_1arr__info.html#accada8146cb8d3ab7facb4c1e3413ec0',1,'pocketfft::detail::arr_info::shape() const'],['../classpocketfft_1_1detail_1_1arr__info.html#ac601c660c64a4c252aa8be4ae7dfa7a8',1,'pocketfft::detail::arr_info::shape(size_t i) const'],['../classmlx_1_1core_1_1array.html#a4a2a2c8a4a5beafd723fc13f2055d55d',1,'mlx::core::array::shape() const'],['../classmlx_1_1core_1_1array.html#a51ed0c45666264dc172d06fba159eb8f',1,'mlx::core::array::shape(int dim) const']]], + ['shape_43',['shape',['../classpocketfft_1_1detail_1_1arr__info.html#accada8146cb8d3ab7facb4c1e3413ec0',1,'pocketfft::detail::arr_info::shape() const'],['../classpocketfft_1_1detail_1_1arr__info.html#ac601c660c64a4c252aa8be4ae7dfa7a8',1,'pocketfft::detail::arr_info::shape(size_t i) const'],['../classmlx_1_1core_1_1array.html#a1d06c76b0f3010a5c329d0e9e29e0597',1,'mlx::core::array::shape() const'],['../classmlx_1_1core_1_1array.html#ac50382b652f6e8fbd50d42b7ff595810',1,'mlx::core::array::shape(int dim) const']]], ['shape2d_44',['Shape2D',['../structmlx_1_1steel_1_1_shape2_d.html#a070ce70eb6d84361c7f313159c438a5c',1,'mlx::steel::Shape2D']]], ['shapes_5fwithout_5freduction_5faxes_45',['shapes_without_reduction_axes',['../namespacemlx_1_1core.html#a44c3ea6db6553c3f6552b9ba64a69494',1,'mlx::core']]], ['shared_5fbuffer_5fslice_46',['shared_buffer_slice',['../namespacemlx_1_1core.html#aea2a6a4eddfd4cfac89d20786059de2a',1,'mlx::core']]], @@ -85,9 +85,9 @@ var searchData= ['size_82',['size',['../classpocketfft_1_1detail_1_1arr.html#a95bca00060957f540ff25b69632c6952',1,'pocketfft::detail::arr::size()'],['../classpocketfft_1_1detail_1_1arr__info.html#a003a7106f7fa59a3c55ac1f0116313a5',1,'pocketfft::detail::arr_info::size()'],['../classmlx_1_1core_1_1allocator_1_1_allocator.html#a2adf9a9c968f113dde830cc0dc27dcc6',1,'mlx::core::allocator::Allocator::size()'],['../classmlx_1_1core_1_1allocator_1_1_common_allocator.html#aafa92e8310db089b1ac72b840777e26b',1,'mlx::core::allocator::CommonAllocator::size()'],['../classmlx_1_1core_1_1array.html#a598f87161926d9e0b516860f0ea2c8f6',1,'mlx::core::array::size()'],['../classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a51f6587e8065be16f0418ca42a796e05',1,'mlx::core::metal::MetalAllocator::size()'],['../structmlx_1_1core_1_1distributed_1_1_group.html#abd96a09217e3d1bcc522888257d22cef',1,'mlx::core::distributed::Group::size()'],['../structmlx_1_1core_1_1_dtype.html#ab54051563d85212c7f0f049166bc9971',1,'mlx::core::Dtype::size()']]], ['size_5fof_83',['size_of',['../namespacemlx_1_1core.html#add4794cc0ffe5d717fc146084a235d95',1,'mlx::core']]], ['slice_84',['Slice',['../classmlx_1_1core_1_1_slice.html#a8a38feb7bb6b72bdeebb83f053e2fd7f',1,'mlx::core::Slice']]], - ['slice_85',['slice',['../group__ops.html#gad66135407dbb41b3c5d2cdfd51226c21',1,'mlx::core::slice(const array &a, std::vector< int > start, std::vector< int > stop, std::vector< int > strides, StreamOrDevice s={})'],['../group__ops.html#gaa97ce866c5e38b92b093e9321affcc57',1,'mlx::core::slice(const array &a, std::vector< int > start, std::vector< int > stop, StreamOrDevice s={})']]], + ['slice_85',['slice',['../group__ops.html#ga29718cd5005dbcde0396b6fd65cc041d',1,'mlx::core::slice(const array &a, Shape start, Shape stop, Shape strides, StreamOrDevice s={})'],['../group__ops.html#gaec56dcb94d5e7f7b885fb60b4bf4aa9d',1,'mlx::core::slice(const array &a, Shape start, Shape stop, StreamOrDevice s={})']]], ['slice_5fgpu_86',['slice_gpu',['../namespacemlx_1_1core.html#a59048c5ff114c101a496bf33f62e3de9',1,'mlx::core']]], - ['slice_5fupdate_87',['slice_update',['../group__ops.html#ga3875660e4ce2c8add8bfcf8144078708',1,'mlx::core::slice_update(const array &src, const array &update, std::vector< int > start, std::vector< int > stop, std::vector< int > strides, StreamOrDevice s={})'],['../group__ops.html#ga03ffbbb4d989a463ef43f41ebf7eabef',1,'mlx::core::slice_update(const array &src, const array &update, std::vector< int > start, std::vector< int > stop, StreamOrDevice s={})']]], + ['slice_5fupdate_87',['slice_update',['../group__ops.html#ga7b7e786985d27789aaed20bb2f9509be',1,'mlx::core::slice_update(const array &src, const array &update, Shape start, Shape stop, Shape strides, StreamOrDevice s={})'],['../group__ops.html#ga3b7c6136ae5a38dd6457b65c1833aa67',1,'mlx::core::slice_update(const array &src, const array &update, Shape start, Shape stop, StreamOrDevice s={})']]], ['sliceupdate_88',['SliceUpdate',['../classmlx_1_1core_1_1_slice_update.html#aa30a7f22f557c56e1a2b5fcf44488990',1,'mlx::core::SliceUpdate']]], ['softmax_89',['Softmax',['../classmlx_1_1core_1_1_softmax.html#a4ec686aac4e06f0dfe2cbd6801af40eb',1,'mlx::core::Softmax']]], ['softmax_90',['softmax',['../namespacemlx_1_1core_1_1metal.html#a4fe937c2c584fd646926057f31d54ca6',1,'mlx::core::metal::softmax()'],['../group__ops.html#ga7e9bb08b43c8fd0444b7d3c9e09dc1c6',1,'mlx::core::softmax(const array &a, const std::vector< int > &axes, bool precise=false, StreamOrDevice s={})'],['../group__ops.html#ga1ae3614d07d873892a530d14c3857d0b',1,'mlx::core::softmax(const array &a, bool precise=false, StreamOrDevice s={})'],['../group__ops.html#ga06f570d73716a24303e6de3aaba4457b',1,'mlx::core::softmax(const array &a, int axis, bool precise=false, StreamOrDevice s={})']]], @@ -133,7 +133,7 @@ var searchData= ['stride_5fout_130',['stride_out',['../classpocketfft_1_1detail_1_1multi__iter.html#a81d71a13bf0b85e556fbb9834167ecc7',1,'pocketfft::detail::multi_iter']]], ['strided_5freduce_5fgeneral_5fdispatch_131',['strided_reduce_general_dispatch',['../namespacemlx_1_1core.html#aa0332c64ee9965f05026c30a0b778000',1,'mlx::core']]], ['strided_5fscan_132',['strided_scan',['../scan_8h.html#a7abb6ffb6c3b96b88c2a63cd4cc2f7ae',1,'scan.h']]], - ['strides_133',['strides',['../classmlx_1_1core_1_1array.html#a186cf2648da92584d5c1c8b24e69629b',1,'mlx::core::array::strides() const'],['../classmlx_1_1core_1_1array.html#a919f850ca087d1c40aa68f854cb30be2',1,'mlx::core::array::strides(int dim) const']]], + ['strides_133',['strides',['../classmlx_1_1core_1_1array.html#a28cf1928f5ec2f972a94ff1c0e71187d',1,'mlx::core::array::strides() const'],['../classmlx_1_1core_1_1array.html#ac9bfc251a9937eaefbe7f8c5ffd304d1',1,'mlx::core::array::strides(int dim) const']]], ['submit_134',['submit',['../classpocketfft_1_1detail_1_1threading_1_1thread__pool.html#a8698d49e8f406cdb88006aac6a91f9a4',1,'pocketfft::detail::threading::thread_pool']]], ['subtract_135',['Subtract',['../classmlx_1_1core_1_1_subtract.html#a834854757394f8de7082af65bf86ed9c',1,'mlx::core::Subtract']]], ['subtract_136',['subtract',['../group__ops.html#ga196c240d3d0fcbb4713802c485e15133',1,'mlx::core']]], diff --git a/docs/build/html/search/functions_14.js b/docs/build/html/search/functions_14.js index 884f5242e..05e21c2d5 100644 --- a/docs/build/html/search/functions_14.js +++ b/docs/build/html/search/functions_14.js @@ -15,7 +15,7 @@ var searchData= ['tensordot_12',['tensordot',['../group__ops.html#gaf5c9735f4690327e1500e04e728fae70',1,'mlx::core::tensordot(const array &a, const array &b, const int axis=2, StreamOrDevice s={})'],['../group__ops.html#gad7fe00b566f89d607639c1a497cabbc6',1,'mlx::core::tensordot(const array &a, const array &b, const std::vector< int > &axes_a, const std::vector< int > &axes_b, StreamOrDevice s={})']]], ['ternary_13',['ternary',['../namespacemlx_1_1core_1_1metal.html#a2d1c92ba6897c0a7a428fed63279b61f',1,'mlx::core::metal']]], ['ternary_5fg_14',['ternary_g',['../metal_2kernels_2ternary_8h.html#ab2051fd944c2e24c57d5b4af54894d72',1,'ternary.h']]], - ['ternary_5fg_5fnd1_15',['ternary_g_nd1',['../metal_2kernels_2ternary_8h.html#a1bd5918559850f3f80e3adee2391fe6a',1,'ternary.h']]], + ['ternary_5fg_5fnd1_15',['ternary_g_nd1',['../metal_2kernels_2ternary_8h.html#ad63096b65467d3048eefa68f4109878d',1,'ternary.h']]], ['ternary_5fg_5fnd2_16',['ternary_g_nd2',['../metal_2kernels_2ternary_8h.html#adec9ca8a8bf527cb15d70da5857af15d',1,'ternary.h']]], ['ternary_5fg_5fnd3_17',['ternary_g_nd3',['../metal_2kernels_2ternary_8h.html#a046dcbf67cd2318d45355dc7516e3ff4',1,'ternary.h']]], ['ternary_5fop_5fgpu_18',['ternary_op_gpu',['../namespacemlx_1_1core.html#aa63e62b6d3906e4cac871d498515a1cd',1,'mlx::core']]], diff --git a/docs/build/html/search/functions_18.js b/docs/build/html/search/functions_18.js index 285c51f9c..3d28808a0 100644 --- a/docs/build/html/search/functions_18.js +++ b/docs/build/html/search/functions_18.js @@ -1,5 +1,5 @@ var searchData= [ - ['zeros_0',['zeros',['../group__ops.html#ga34573eb2ead179839579142f3aedb3b8',1,'mlx::core::zeros(const std::vector< int > &shape, Dtype dtype, StreamOrDevice s={})'],['../group__ops.html#ga7c1487f8a830c9df75a961b3a24527ee',1,'mlx::core::zeros(const std::vector< int > &shape, StreamOrDevice s={})']]], + ['zeros_0',['zeros',['../group__ops.html#gae2cace3b388cec4e520659a91879e1c1',1,'mlx::core::zeros(const Shape &shape, Dtype dtype, StreamOrDevice s={})'],['../group__ops.html#gac8aa722f5e798819b7091693173f1f36',1,'mlx::core::zeros(const Shape &shape, StreamOrDevice s={})']]], ['zeros_5flike_1',['zeros_like',['../group__ops.html#gafbb857094d784b38c78683a091ffdbde',1,'mlx::core']]] ]; diff --git a/docs/build/html/search/functions_2.js b/docs/build/html/search/functions_2.js index afd8977e5..77d072cf1 100644 --- a/docs/build/html/search/functions_2.js +++ b/docs/build/html/search/functions_2.js @@ -7,7 +7,7 @@ var searchData= ['bfs_5fmax_5fwidth_4',['bfs_max_width',['../namespacemlx_1_1core_1_1env.html#ac3266e1259a64c8b56bdc6c7029179f2',1,'mlx::core::env']]], ['binary_5',['binary',['../namespacemlx_1_1core_1_1metal.html#a269d591ec02e2f7c0f7a718fbfa37f73',1,'mlx::core::metal']]], ['binary_5fg_6',['binary_g',['../metal_2kernels_2binary_8h.html#ab1b49438a70f6c707c18afd5bce12bb3',1,'binary_g(device const T *a, device const T *b, device U *c, constant const int *shape, constant const size_t *a_strides, constant const size_t *b_strides, constant const int &ndim, uint3 index, uint3 grid_dim): binary.h'],['../metal_2kernels_2binary__two_8h.html#aaf6edb734cea627bca4f6540dc338fbd',1,'binary_g(device const T *a, device const T *b, device U *c, device U *d, constant const int *shape, constant const size_t *a_strides, constant const size_t *b_strides, constant const int &ndim, uint3 index, uint3 grid_dim): binary_two.h']]], - ['binary_5fg_5fnd1_7',['binary_g_nd1',['../metal_2kernels_2binary_8h.html#a6808bfb006cb5473da087a2758d0d867',1,'binary_g_nd1(device const T *a, device const T *b, device U *c, constant const size_t &a_stride, constant const size_t &b_stride, uint index): binary.h'],['../metal_2kernels_2binary__two_8h.html#ad1fad37c168192b212a4294f4cf78133',1,'binary_g_nd1(device const T *a, device const T *b, device U *c, device U *d, constant const size_t &a_stride, constant const size_t &b_stride, uint index): binary_two.h']]], + ['binary_5fg_5fnd1_7',['binary_g_nd1',['../metal_2kernels_2binary_8h.html#a3d0bb75c43854274b6040c52914e5c12',1,'binary_g_nd1(device const T *a, device const T *b, device U *c, constant const size_t &a_stride, constant const size_t &b_stride, uint index): binary.h'],['../metal_2kernels_2binary__two_8h.html#a44e8241fa805906fa9644204e4d1237f',1,'binary_g_nd1(device const T *a, device const T *b, device U *c, device U *d, constant const size_t &a_stride, constant const size_t &b_stride, uint index): binary_two.h']]], ['binary_5fg_5fnd2_8',['binary_g_nd2',['../metal_2kernels_2binary_8h.html#a6cefcfee68bd62f3a6924df0cd53dd49',1,'binary_g_nd2(device const T *a, device const T *b, device U *c, constant const size_t a_strides[2], constant const size_t b_strides[2], uint2 index, uint2 grid_dim): binary.h'],['../metal_2kernels_2binary__two_8h.html#a97b5613aff654d32c49225209a19bb95',1,'binary_g_nd2(device const T *a, device const T *b, device U *c, device U *d, constant const size_t a_strides[2], constant const size_t b_strides[2], uint2 index, uint2 grid_dim): binary_two.h']]], ['binary_5fg_5fnd3_9',['binary_g_nd3',['../metal_2kernels_2binary_8h.html#abb15de8250f9a259de80618c6de46dfa',1,'binary_g_nd3(device const T *a, device const T *b, device U *c, constant const size_t a_strides[3], constant const size_t b_strides[3], uint3 index, uint3 grid_dim): binary.h'],['../metal_2kernels_2binary__two_8h.html#aae07014f8dffa3649a5c7f4671e1268e',1,'binary_g_nd3(device const T *a, device const T *b, device U *c, device U *d, constant const size_t a_strides[3], constant const size_t b_strides[3], uint3 index, uint3 grid_dim): binary_two.h']]], ['binary_5fop_5fgpu_10',['binary_op_gpu',['../namespacemlx_1_1core.html#ad884f4a36308b5b4f8a5d990d2e086df',1,'mlx::core::binary_op_gpu(const std::vector< array > &inputs, std::vector< array > &outputs, const std::string &op, const Stream &s)'],['../namespacemlx_1_1core.html#a094876ea5a2a2445ab64efc8222da202',1,'mlx::core::binary_op_gpu(const std::vector< array > &inputs, array &out, const std::string &op, const Stream &s)']]], @@ -36,10 +36,10 @@ var searchData= ['blockmaskedmm_33',['BlockMaskedMM',['../classmlx_1_1core_1_1_block_masked_m_m.html#ad26509deb5306d0c5eb72477e9a57477',1,'mlx::core::BlockMaskedMM']]], ['blockmma_34',['BlockMMA',['../structmlx_1_1steel_1_1_block_m_m_a.html#aa14406b7298456ac45d23dd3c4642dd8',1,'mlx::steel::BlockMMA::BlockMMA(ushort simd_group_id, ushort simd_lane_id)'],['../structmlx_1_1steel_1_1_block_m_m_a.html#aa14406b7298456ac45d23dd3c4642dd8',1,'mlx::steel::BlockMMA::BlockMMA(ushort simd_group_id, ushort simd_lane_id)']]], ['bluestein_5ffft_35',['bluestein_fft',['../backend_2metal_2kernels_2fft_8h.html#a0abc609e9756475800e996775a96a87e',1,'fft.h']]], - ['broadcast_36',['Broadcast',['../classmlx_1_1core_1_1_broadcast.html#accbab8433c93e281608a268d11afaefb',1,'mlx::core::Broadcast']]], + ['broadcast_36',['Broadcast',['../classmlx_1_1core_1_1_broadcast.html#a004cce3029c0427569830016f99648cb',1,'mlx::core::Broadcast']]], ['broadcast_5farrays_37',['broadcast_arrays',['../group__ops.html#gab783890428b596f715dc7dd2057eae99',1,'mlx::core']]], - ['broadcast_5fshapes_38',['broadcast_shapes',['../namespacemlx_1_1core.html#a075e07def338cd9d815182d0e6a656c0',1,'mlx::core']]], - ['broadcast_5fto_39',['broadcast_to',['../group__ops.html#gad256e86cc1a6e6b3832e392baa90318d',1,'mlx::core']]], + ['broadcast_5fshapes_38',['broadcast_shapes',['../namespacemlx_1_1core.html#aefa6a2ec6439e9619cafd227a1dc14ab',1,'mlx::core']]], + ['broadcast_5fto_39',['broadcast_to',['../group__ops.html#ga2fd5891f11593b7f09550e884f969013',1,'mlx::core']]], ['bs_5fqmm_5fn_40',['bs_qmm_n',['../quantized_8h.html#a1a66b061c46383952a0f067c3848971f',1,'quantized.h']]], ['bs_5fqmm_5ft_41',['bs_qmm_t',['../quantized_8h.html#ab1ae143eba2afceb8df63f38b26f9a84',1,'quantized.h']]], ['bs_5fqmv_42',['bs_qmv',['../quantized_8h.html#acf4c7fc77821a83b31aedfb48443d3ed',1,'quantized.h']]], diff --git a/docs/build/html/search/functions_3.js b/docs/build/html/search/functions_3.js index b74b4a074..47e91ebda 100644 --- a/docs/build/html/search/functions_3.js +++ b/docs/build/html/search/functions_3.js @@ -26,7 +26,7 @@ var searchData= ['commandencoder_23',['CommandEncoder',['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#a2334774486f447213ee997e55c2e52a3',1,'mlx::core::metal::CommandEncoder::CommandEncoder(MTL::CommandBuffer *cbuf)'],['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#ac68ca977b5bde5434284ce7979647f14',1,'mlx::core::metal::CommandEncoder::CommandEncoder(const CommandEncoder &)=delete']]], ['commit_5fcommand_5fbuffer_24',['commit_command_buffer',['../classmlx_1_1core_1_1metal_1_1_device.html#a95248f1387824067fd4fed23ace5ac0c',1,'mlx::core::metal::Device']]], ['communication_5fstream_25',['communication_stream',['../namespacemlx_1_1core_1_1distributed_1_1detail.html#ac3612edf0e0e18c1e4ba0ce7c6e35cd6',1,'mlx::core::distributed::detail']]], - ['compile_26',['compile',['../namespacemlx_1_1core.html#a3ac798e65e59fe10b7fb5c522efce782',1,'mlx::core::compile()'],['../namespacemlx_1_1core_1_1detail.html#ac3b7b09892ff7290d5f3ef26cb444329',1,'mlx::core::detail::compile(const std::function< std::vector< array >(const std::vector< array > &)> &fun, std::uintptr_t fun_id, bool shapeless=false, std::vector< uint64_t > constants={})']]], + ['compile_26',['compile',['../namespacemlx_1_1core.html#a55933c6665de9f81059120d6b0de1c87',1,'mlx::core::compile(std::function< std::vector< array >(const std::vector< array > &)> fun, bool shapeless=false)'],['../namespacemlx_1_1core.html#a56de948c2dffbf35c88035bc1561db53',1,'mlx::core::compile(std::vector< array >(fun)(const std::vector< array > &), bool shapeless=false)'],['../namespacemlx_1_1core.html#ace67713d269595f5f2265e46728a6f9c',1,'mlx::core::compile(F &&f, bool shapeless=false)'],['../namespacemlx_1_1core_1_1detail.html#af556c7576658b2e2498ead70339d95e5',1,'mlx::core::detail::compile(std::function< std::vector< array >(const std::vector< array > &)> fun, std::uintptr_t fun_id, bool shapeless=false, std::vector< uint64_t > constants={})']]], ['compile_5favailable_5ffor_5fdevice_27',['compile_available_for_device',['../namespacemlx_1_1core_1_1detail.html#aeeff2ba6ec3d9d4ed090de6d2681dbc2',1,'mlx::core::detail']]], ['compile_5fclear_5fcache_28',['compile_clear_cache',['../namespacemlx_1_1core_1_1detail.html#a3fb927c209b946aefebb195993fbe4cf',1,'mlx::core::detail']]], ['compile_5ferase_29',['compile_erase',['../namespacemlx_1_1core_1_1detail.html#a69eb76a14f845ca000f1ccb2edda0175',1,'mlx::core::detail']]], @@ -68,11 +68,11 @@ var searchData= ['copy_65',['Copy',['../classmlx_1_1core_1_1_copy.html#a6243e044af119105ffaaed7d405cd584',1,'mlx::core::Copy']]], ['copy_66',['copy',['../namespacemlx_1_1core.html#a479648542a2bea151b947b18f0e79dd2',1,'mlx::core::copy()'],['../namespacemlx_1_1core_1_1metal.html#aa215e631e2680f04a591b88d91571719',1,'mlx::core::metal::copy()'],['../group__ops.html#gae306e93af12f774bd80bad6c231b09d6',1,'mlx::core::copy()']]], ['copy_5fg_67',['copy_g',['../metal_2kernels_2copy_8h.html#a71e4103db4689d90ef6f9d5ba93604cf',1,'copy.h']]], - ['copy_5fg_5fnd1_68',['copy_g_nd1',['../metal_2kernels_2copy_8h.html#aba4530a7db6a61ca36f50e4f5e58fb77',1,'copy.h']]], + ['copy_5fg_5fnd1_68',['copy_g_nd1',['../metal_2kernels_2copy_8h.html#a232c5c6b8386cf8ecbf4cdadb6e4176e',1,'copy.h']]], ['copy_5fg_5fnd2_69',['copy_g_nd2',['../metal_2kernels_2copy_8h.html#a39ec5b7b8351e4332b842982a2ee6260',1,'copy.h']]], ['copy_5fg_5fnd3_70',['copy_g_nd3',['../metal_2kernels_2copy_8h.html#aab82689380897ff4716b5eafd6ef3ecc',1,'copy.h']]], ['copy_5fgg_71',['copy_gg',['../metal_2kernels_2copy_8h.html#ade9a9eea9b8262a854a11721fe2bb9fa',1,'copy.h']]], - ['copy_5fgg_5fnd1_72',['copy_gg_nd1',['../metal_2kernels_2copy_8h.html#a3278d9c999718bee3ccbe2922f501bf1',1,'copy.h']]], + ['copy_5fgg_5fnd1_72',['copy_gg_nd1',['../metal_2kernels_2copy_8h.html#a370d7bbba1a4b0d64da873bafd29a78b',1,'copy.h']]], ['copy_5fgg_5fnd2_73',['copy_gg_nd2',['../metal_2kernels_2copy_8h.html#af0b06ac3a96852a64fa4274a94b58301',1,'copy.h']]], ['copy_5fgg_5fnd3_74',['copy_gg_nd3',['../metal_2kernels_2copy_8h.html#a3f3836ad0b6545ec9b9e1864224f7a13',1,'copy.h']]], ['copy_5fgpu_75',['copy_gpu',['../namespacemlx_1_1core.html#addaa46a13ac2deb1d9ce621338320e0e',1,'mlx::core::copy_gpu(const array &src, array &out, CopyType ctype, const Stream &s)'],['../namespacemlx_1_1core.html#a6a6f4e46c8fc44fdc74c50ace02bcf38',1,'mlx::core::copy_gpu(const array &src, array &out, CopyType ctype)']]], @@ -83,7 +83,7 @@ var searchData= ['copy_5foutput_80',['copy_output',['../namespacepocketfft_1_1detail.html#a1523a037300a8da05db210b802d9cb0e',1,'pocketfft::detail::copy_output(const multi_iter< vlen > &it, const cmplx< vtype_t< T > > *src, ndarr< cmplx< T > > &dst)'],['../namespacepocketfft_1_1detail.html#a21980853aca4d92ed06e3dcffe7ef660',1,'pocketfft::detail::copy_output(const multi_iter< vlen > &it, const vtype_t< T > *src, ndarr< T > &dst)'],['../namespacepocketfft_1_1detail.html#a310481c334e46674710ba794ad7403c0',1,'pocketfft::detail::copy_output(const multi_iter< vlen > &it, const T *src, ndarr< T > &dst)']]], ['copy_5fs_81',['copy_s',['../metal_2kernels_2copy_8h.html#aef09f9b9475345b1bba121d037d222ea',1,'copy.h']]], ['copy_5fs2_82',['copy_s2',['../metal_2kernels_2copy_8h.html#a8023e9335cc5334847a8d315042be3a3',1,'copy.h']]], - ['copy_5fshared_5fbuffer_83',['copy_shared_buffer',['../classmlx_1_1core_1_1array.html#a28df7a333d90a311c49bc4bce7a1ad6d',1,'mlx::core::array::copy_shared_buffer(const array &other, const std::vector< size_t > &strides, Flags flags, size_t data_size, size_t offset=0)'],['../classmlx_1_1core_1_1array.html#a92974c656c35a972ad241f80584bbd29',1,'mlx::core::array::copy_shared_buffer(const array &other)']]], + ['copy_5fshared_5fbuffer_83',['copy_shared_buffer',['../classmlx_1_1core_1_1array.html#ad2814dbffa5ad174d9c97a10bf4cf26b',1,'mlx::core::array::copy_shared_buffer(const array &other, const Strides &strides, Flags flags, size_t data_size, size_t offset=0)'],['../classmlx_1_1core_1_1array.html#a92974c656c35a972ad241f80584bbd29',1,'mlx::core::array::copy_shared_buffer(const array &other)']]], ['copy_5fv_84',['copy_v',['../metal_2kernels_2copy_8h.html#ae26a13e0c8e6c15f7b10078e65970659',1,'copy.h']]], ['copy_5fv2_85',['copy_v2',['../metal_2kernels_2copy_8h.html#aee14a5326f53d9b30b0b38e27d180ef3',1,'copy.h']]], ['cos_86',['Cos',['../classmlx_1_1core_1_1_cos.html#a2acb9fcf0901462189c476756fd99995',1,'mlx::core::Cos']]], diff --git a/docs/build/html/search/functions_4.js b/docs/build/html/search/functions_4.js index 974863786..0855780e1 100644 --- a/docs/build/html/search/functions_4.js +++ b/docs/build/html/search/functions_4.js @@ -1,6 +1,6 @@ var searchData= [ - ['data_0',['Data',['../structmlx_1_1core_1_1array_1_1_data.html#a77e2ea35fac1d54e4062468a432e1482',1,'mlx::core::array::Data::Data(allocator::Buffer buffer, deleter_t d=allocator::free)'],['../structmlx_1_1core_1_1array_1_1_data.html#a50f242040b123052e48e18c244ff70fc',1,'mlx::core::array::Data::Data(const Data &d)=delete']]], + ['data_0',['Data',['../structmlx_1_1core_1_1array_1_1_data.html#a123d7c1738773dedfc9db075fdd7062d',1,'mlx::core::array::Data::Data(allocator::Buffer buffer, Deleter d=allocator::free)'],['../structmlx_1_1core_1_1array_1_1_data.html#a50f242040b123052e48e18c244ff70fc',1,'mlx::core::array::Data::Data(const Data &d)=delete']]], ['data_1',['data',['../classpocketfft_1_1detail_1_1arr.html#aec0f2191b4663b4187aab92454c34de8',1,'pocketfft::detail::arr::data()'],['../classpocketfft_1_1detail_1_1arr.html#ac82daa17e9f991072b012343f9d7c182',1,'pocketfft::detail::arr::data() const'],['../classmlx_1_1core_1_1array.html#a72e3ce6c03fefe272cadf214bd127b95',1,'mlx::core::array::data()'],['../classmlx_1_1core_1_1array.html#a99fb28eeab39b9f429373f8bd7557676',1,'mlx::core::array::data() const']]], ['data_5fshared_5fptr_2',['data_shared_ptr',['../classmlx_1_1core_1_1array.html#ab84c792117e29cdf90ef3433303f6141',1,'mlx::core::array']]], ['data_5fsize_3',['data_size',['../classmlx_1_1core_1_1array.html#afaf2a370fa35d96af1b27a4b814e3bfd',1,'mlx::core::array']]], diff --git a/docs/build/html/search/functions_6.js b/docs/build/html/search/functions_6.js index 2cfc4370e..2d6c13939 100644 --- a/docs/build/html/search/functions_6.js +++ b/docs/build/html/search/functions_6.js @@ -32,5 +32,5 @@ var searchData= ['free_29',['free',['../classmlx_1_1core_1_1allocator_1_1_allocator.html#ae963d551be646ae0e13df2c16f2beefb',1,'mlx::core::allocator::Allocator::free()'],['../classmlx_1_1core_1_1allocator_1_1_common_allocator.html#a84b50d1a3cbffa12c1a6cf0ed8c71079',1,'mlx::core::allocator::CommonAllocator::free()'],['../classmlx_1_1core_1_1metal_1_1_metal_allocator.html#a109a0a37fb0b3be381a62dc3b1a54bf0',1,'mlx::core::metal::MetalAllocator::free()'],['../namespacemlx_1_1core_1_1allocator.html#a77f0a1215be242db6485612bcb273af5',1,'mlx::core::allocator::free()']]], ['frexp_30',['frexp',['../namespacemetal.html#ac89d4ef524d21a301da6c37dbd95ff9f',1,'metal::frexp()'],['../namespacemetal_1_1fast.html#a23902df22aeaa859ef673a36381387c2',1,'metal::fast::frexp()'],['../namespacemetal_1_1precise.html#a0fbb1624c308b97380f894f92fd858b4',1,'metal::precise::frexp()']]], ['full_31',['Full',['../classmlx_1_1core_1_1_full.html#aafcb86a2e41353853ec48c717e0c54d6',1,'mlx::core::Full']]], - ['full_32',['full',['../group__ops.html#ga7e85a476530c96ab73b894d1bddacf84',1,'mlx::core::full(std::vector< int > shape, array vals, Dtype dtype, StreamOrDevice s={})'],['../group__ops.html#ga9e3b15c3ec6b7922296777c5e1878d52',1,'mlx::core::full(std::vector< int > shape, array vals, StreamOrDevice s={})'],['../group__ops.html#gac34ff7f1e217b93e878053aaa5a51e58',1,'mlx::core::full(std::vector< int > shape, T val, Dtype dtype, StreamOrDevice s={})'],['../group__ops.html#ga5e33cf83db1a65c35e688142bd41d35c',1,'mlx::core::full(std::vector< int > shape, T val, StreamOrDevice s={})']]] + ['full_32',['full',['../group__ops.html#ga1cf232308668fe3f4214c8b895ed4aee',1,'mlx::core::full(Shape shape, array vals, Dtype dtype, StreamOrDevice s={})'],['../group__ops.html#ga59f6c844cbb173e108c3eeb11801f8c6',1,'mlx::core::full(Shape shape, array vals, StreamOrDevice s={})'],['../group__ops.html#gaf073760b7b51fe35932da0d81c531a55',1,'mlx::core::full(Shape shape, T val, Dtype dtype, StreamOrDevice s={})'],['../group__ops.html#gaf6f2cce92aff9b71756a3cc3c961fd5a',1,'mlx::core::full(Shape shape, T val, StreamOrDevice s={})']]] ]; diff --git a/docs/build/html/search/functions_7.js b/docs/build/html/search/functions_7.js index ad5526ce0..199696a5e 100644 --- a/docs/build/html/search/functions_7.js +++ b/docs/build/html/search/functions_7.js @@ -1,7 +1,7 @@ var searchData= [ ['gather_0',['Gather',['../classmlx_1_1core_1_1_gather.html#a5b5f47ceff1d43477c87be5116f261d0',1,'mlx::core::Gather']]], - ['gather_1',['gather',['../namespacemlx_1_1core_1_1metal.html#a545de371fefba1feec2e70b7e9f4187c',1,'mlx::core::metal::gather()'],['../group__ops.html#gab6e7f655a9ff15350ca5379692f9d444',1,'mlx::core::gather(const array &a, const std::vector< array > &indices, const std::vector< int > &axes, const std::vector< int > &slice_sizes, StreamOrDevice s={})'],['../group__ops.html#gadb4337ca5d4f88fe9e7c083bc478158b',1,'mlx::core::gather(const array &a, const array &indices, int axis, const std::vector< int > &slice_sizes, StreamOrDevice s={})']]], + ['gather_1',['gather',['../namespacemlx_1_1core_1_1metal.html#a545de371fefba1feec2e70b7e9f4187c',1,'mlx::core::metal::gather()'],['../group__ops.html#ga8fcc3ad0677c834c36b72d5b2ebba6d0',1,'mlx::core::gather(const array &a, const std::vector< array > &indices, const std::vector< int > &axes, const Shape &slice_sizes, StreamOrDevice s={})'],['../group__ops.html#gafe2bd174c9953ed7f12664f7abaca0e6',1,'mlx::core::gather(const array &a, const array &indices, int axis, const Shape &slice_sizes, StreamOrDevice s={})']]], ['gather_5fimpl_2',['gather_impl',['../gather_8h.html#a767d7c5be6f2f649101f581449af5599',1,'gather.h']]], ['gather_5fmm_3',['gather_mm',['../group__ops.html#ga8d50480266d258cac40ff51bcb0fc6a7',1,'mlx::core']]], ['gather_5fqmm_4',['gather_qmm',['../group__ops.html#ga368a0dc0e5dfb76922e7aa55a95f12f0',1,'mlx::core']]], diff --git a/docs/build/html/search/functions_9.js b/docs/build/html/search/functions_9.js index f6f0725a4..b0102bf7e 100644 --- a/docs/build/html/search/functions_9.js +++ b/docs/build/html/search/functions_9.js @@ -26,7 +26,7 @@ var searchData= ['irfftn_23',['irfftn',['../namespacemlx_1_1core_1_1fft.html#a33f2973ea1b621e67064e46136d2960f',1,'mlx::core::fft::irfftn(const array &a, const std::vector< int > &n, const std::vector< int > &axes, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1fft.html#a1c9ad11121c5879d5c04bbde2ee238c3',1,'mlx::core::fft::irfftn(const array &a, const std::vector< int > &axes, StreamOrDevice s={})'],['../namespacemlx_1_1core_1_1fft.html#aaf5a7ef93b3426b94c2363a23a5a5b36',1,'mlx::core::fft::irfftn(const array &a, StreamOrDevice s={})']]], ['is_5favailable_24',['is_available',['../classmlx_1_1core_1_1array.html#aebed1f37c19197be76105161102a8a40',1,'mlx::core::array::is_available()'],['../namespacemlx_1_1core_1_1metal.html#a0cdf2c08c7bc0927a86070adc206987f',1,'mlx::core::metal::is_available()'],['../namespacemlx_1_1core_1_1distributed.html#a95655473cd0032c06e5fe3fca85aeef3',1,'mlx::core::distributed::is_available()']]], ['is_5fdonatable_25',['is_donatable',['../classmlx_1_1core_1_1array.html#a4677a404b5d191af20b52649225de087',1,'mlx::core::array::is_donatable()'],['../namespacemlx_1_1core.html#af650e831ce21759da1ac103037d08d84',1,'mlx::core::is_donatable()']]], - ['is_5fequivalent_26',['is_equivalent',['../classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention.html#af08b1294f3f93505a96fdfa85b1edd62',1,'mlx::core::fast::ScaledDotProductAttention::is_equivalent()'],['../classmlx_1_1core_1_1_primitive.html#a6140a502af4c2bbbc776ab26e9afebcd',1,'mlx::core::Primitive::is_equivalent()'],['../classmlx_1_1core_1_1_abs.html#ab6f0ec56bc7c048382297e12dabadc67',1,'mlx::core::Abs::is_equivalent()'],['../classmlx_1_1core_1_1_add.html#aba0a35410c3aac53d0f7a0c283d9ee3f',1,'mlx::core::Add::is_equivalent()'],['../classmlx_1_1core_1_1_add_m_m.html#a6e37c6882dba995a63fb6d8dfb01754f',1,'mlx::core::AddMM::is_equivalent()'],['../classmlx_1_1core_1_1_arange.html#a7b6a45cf9c4b109d4e0373f3fe576c35',1,'mlx::core::Arange::is_equivalent()'],['../classmlx_1_1core_1_1_arc_cos.html#a39557461e3235801886675a9b7d25bf5',1,'mlx::core::ArcCos::is_equivalent()'],['../classmlx_1_1core_1_1_arc_cosh.html#a6928e827b9ac2e86e7d5b02b78150eee',1,'mlx::core::ArcCosh::is_equivalent()'],['../classmlx_1_1core_1_1_arc_sin.html#a13b5e39eeccaf32d94b8eb85b3b753ab',1,'mlx::core::ArcSin::is_equivalent()'],['../classmlx_1_1core_1_1_arc_sinh.html#a63c7a765c7906242dc3371deec094f0f',1,'mlx::core::ArcSinh::is_equivalent()'],['../classmlx_1_1core_1_1_arc_tan.html#a0e5b5fc7218143ecd0a8666d9137c34c',1,'mlx::core::ArcTan::is_equivalent()'],['../classmlx_1_1core_1_1_arc_tan2.html#aeaee58cd803d3ebf0b76574a409682cc',1,'mlx::core::ArcTan2::is_equivalent()'],['../classmlx_1_1core_1_1_arc_tanh.html#ac8ecdd640043dab0461d49d7650679a2',1,'mlx::core::ArcTanh::is_equivalent()'],['../classmlx_1_1core_1_1_arg_partition.html#ad87509ce70b51fb75dfb9c3a05a5b31a',1,'mlx::core::ArgPartition::is_equivalent()'],['../classmlx_1_1core_1_1_arg_reduce.html#a03b81a670dcb1e39bf7279e4d4583b97',1,'mlx::core::ArgReduce::is_equivalent()'],['../classmlx_1_1core_1_1_arg_sort.html#a048cd09c557d29d1111726f97010a845',1,'mlx::core::ArgSort::is_equivalent()'],['../classmlx_1_1core_1_1_as_type.html#a8e6c8b2428ab15c4fb43f2e3a8fb38af',1,'mlx::core::AsType::is_equivalent()'],['../classmlx_1_1core_1_1_as_strided.html#a1738c6aa0a3a3eb68530f0d5b436e094',1,'mlx::core::AsStrided::is_equivalent()'],['../classmlx_1_1core_1_1_bitwise_binary.html#a8cd6b916b4838a6c329cf4df8530c3b8',1,'mlx::core::BitwiseBinary::is_equivalent()'],['../classmlx_1_1core_1_1_block_masked_m_m.html#aef1c303955f9b8f445296372cf181160',1,'mlx::core::BlockMaskedMM::is_equivalent()'],['../classmlx_1_1core_1_1_gather_m_m.html#a163f17f6ce2c002f22e81b302777342b',1,'mlx::core::GatherMM::is_equivalent()'],['../classmlx_1_1core_1_1_broadcast.html#a0e27692b0090ec451954649a36042616',1,'mlx::core::Broadcast::is_equivalent()'],['../classmlx_1_1core_1_1_ceil.html#aacd90acb56eb0649c1cef807aa21df52',1,'mlx::core::Ceil::is_equivalent()'],['../classmlx_1_1core_1_1_compiled.html#a63e5016458887813b4a59dee5a0a3f10',1,'mlx::core::Compiled::is_equivalent()'],['../classmlx_1_1core_1_1_concatenate.html#aaf8a72a0c30114460caf519580cc35d2',1,'mlx::core::Concatenate::is_equivalent()'],['../classmlx_1_1core_1_1_conjugate.html#af42f00a790c6bc5572bd8fe9e5b36c5e',1,'mlx::core::Conjugate::is_equivalent()'],['../classmlx_1_1core_1_1_contiguous.html#aa5d273a461fc6e64f3c9a67c24cb3372',1,'mlx::core::Contiguous::is_equivalent()'],['../classmlx_1_1core_1_1_convolution.html#afb87708a5e3aab2e9e663daa9d8863de',1,'mlx::core::Convolution::is_equivalent()'],['../classmlx_1_1core_1_1_copy.html#afcfa39465015f638e294aa954ea0f3da',1,'mlx::core::Copy::is_equivalent()'],['../classmlx_1_1core_1_1_cos.html#ab611ca38c987915659f7ffcce0370417',1,'mlx::core::Cos::is_equivalent()'],['../classmlx_1_1core_1_1_cosh.html#ae0bacccaf501f5349db0c13cca776ff9',1,'mlx::core::Cosh::is_equivalent()'],['../classmlx_1_1core_1_1_divide.html#a3dda091f05c4164c29bb8129e9712650',1,'mlx::core::Divide::is_equivalent()'],['../classmlx_1_1core_1_1_div_mod.html#af5fcf8ec8515d46844cbeeab6dafb38a',1,'mlx::core::DivMod::is_equivalent()'],['../classmlx_1_1core_1_1_select.html#afc3c333fac7f902c98839921ef2874c8',1,'mlx::core::Select::is_equivalent()'],['../classmlx_1_1core_1_1_remainder.html#a802039faaa2ed7b763ec3d7debcce814',1,'mlx::core::Remainder::is_equivalent()'],['../classmlx_1_1core_1_1_equal.html#a58c1c5003e43f47dc0788c1851deaa02',1,'mlx::core::Equal::is_equivalent()'],['../classmlx_1_1core_1_1_erf.html#abe99dfbc2954c3a7d5dec56ab165ee82',1,'mlx::core::Erf::is_equivalent()'],['../classmlx_1_1core_1_1_erf_inv.html#aaac9e3b454ba564f9c6e804ab6562832',1,'mlx::core::ErfInv::is_equivalent()'],['../classmlx_1_1core_1_1_exp.html#ac6e44bffe7a643ab4ca51e74c7328357',1,'mlx::core::Exp::is_equivalent()'],['../classmlx_1_1core_1_1_f_f_t.html#a0ede3bc8b6d77d560c0a750b68fddc06',1,'mlx::core::FFT::is_equivalent()'],['../classmlx_1_1core_1_1_floor.html#a24b64feb026c4fcd02fc481cffdb1c94',1,'mlx::core::Floor::is_equivalent()'],['../classmlx_1_1core_1_1_full.html#afafcbcae1e28597fe8f7fde289105792',1,'mlx::core::Full::is_equivalent()'],['../classmlx_1_1core_1_1_gather.html#a23ff1406dbf0c770e75ad47440b467aa',1,'mlx::core::Gather::is_equivalent()'],['../classmlx_1_1core_1_1_greater.html#a6877a6888614a618dc64296763ccabb1',1,'mlx::core::Greater::is_equivalent()'],['../classmlx_1_1core_1_1_greater_equal.html#a3daef8596b963026b602019bc56fc5fc',1,'mlx::core::GreaterEqual::is_equivalent()'],['../classmlx_1_1core_1_1_hadamard.html#a8a528d8d69a7343bdfd704a3e74230b8',1,'mlx::core::Hadamard::is_equivalent()'],['../classmlx_1_1core_1_1_imag.html#a51c15ae82855edebba2ba779516465f5',1,'mlx::core::Imag::is_equivalent()'],['../classmlx_1_1core_1_1_less.html#a7d6ed6353a0dcefebd008026dbd3cd63',1,'mlx::core::Less::is_equivalent()'],['../classmlx_1_1core_1_1_less_equal.html#a76ee1438cf4bd109eae4e0b3472b26af',1,'mlx::core::LessEqual::is_equivalent()'],['../classmlx_1_1core_1_1_log.html#a2fc58ea4ca744db493b947d1136d05f8',1,'mlx::core::Log::is_equivalent()'],['../classmlx_1_1core_1_1_logical_not.html#aba53675da351cd9b71a73d475b4bbe99',1,'mlx::core::LogicalNot::is_equivalent()'],['../classmlx_1_1core_1_1_logical_and.html#a9572c35f72e0db2f7f86bbf42438a6be',1,'mlx::core::LogicalAnd::is_equivalent()'],['../classmlx_1_1core_1_1_logical_or.html#a9c8b10a5cf5c69fdc2362390197e4e71',1,'mlx::core::LogicalOr::is_equivalent()'],['../classmlx_1_1core_1_1_log_add_exp.html#a3cf9a202c05aff39919d713d6e2b32e4',1,'mlx::core::LogAddExp::is_equivalent()'],['../classmlx_1_1core_1_1_matmul.html#aab372b59eae0840fc4f75ef5719a2630',1,'mlx::core::Matmul::is_equivalent()'],['../classmlx_1_1core_1_1_maximum.html#a21fe93fbd7799682f481260aee8bdb46',1,'mlx::core::Maximum::is_equivalent()'],['../classmlx_1_1core_1_1_minimum.html#a56c54ee3293cc2cd84462b9ec7ac36b4',1,'mlx::core::Minimum::is_equivalent()'],['../classmlx_1_1core_1_1_multiply.html#ae288159fa2d6d35087a85aca8eafa9b2',1,'mlx::core::Multiply::is_equivalent()'],['../classmlx_1_1core_1_1_negative.html#ac2a4d8159c548639d6289980c8975823',1,'mlx::core::Negative::is_equivalent()'],['../classmlx_1_1core_1_1_not_equal.html#ac12fd6b3e2f2e7e4e622b59badf2c73d',1,'mlx::core::NotEqual::is_equivalent()'],['../classmlx_1_1core_1_1_number_of_elements.html#ad6a32565ccc64499e368e15bba0b438f',1,'mlx::core::NumberOfElements::is_equivalent()'],['../classmlx_1_1core_1_1_pad.html#aad7c3bfecafe435d6a8e807de4c7ea9b',1,'mlx::core::Pad::is_equivalent()'],['../classmlx_1_1core_1_1_partition.html#aabdf6ef4f2159b2bfe93e0e87d4772f8',1,'mlx::core::Partition::is_equivalent()'],['../classmlx_1_1core_1_1_power.html#a76b4ec9d1ff07f06189e414480453d68',1,'mlx::core::Power::is_equivalent()'],['../classmlx_1_1core_1_1_quantized_matmul.html#af28b36e3f40ea41785387800326cc8e1',1,'mlx::core::QuantizedMatmul::is_equivalent()'],['../classmlx_1_1core_1_1_gather_q_m_m.html#a6a7da6bcf657fcdb157c45bf35fdec11',1,'mlx::core::GatherQMM::is_equivalent()'],['../classmlx_1_1core_1_1_random_bits.html#a72ec915debf5823e7c0463045b2894e6',1,'mlx::core::RandomBits::is_equivalent()'],['../classmlx_1_1core_1_1_real.html#a6d9bed396862a9e9d6abfbdcd8d8d239',1,'mlx::core::Real::is_equivalent()'],['../classmlx_1_1core_1_1_reshape.html#abd07c53af476777a04307e0423784cf3',1,'mlx::core::Reshape::is_equivalent()'],['../classmlx_1_1core_1_1_reduce.html#abe8f3327d617d0dd7438f066497ae08e',1,'mlx::core::Reduce::is_equivalent()'],['../classmlx_1_1core_1_1_round.html#aeb3d8607bbba7345a3142d4cbd4e6927',1,'mlx::core::Round::is_equivalent()'],['../classmlx_1_1core_1_1_scan.html#a54445a4d677ca4fe2a58d08eb5223ac6',1,'mlx::core::Scan::is_equivalent()'],['../classmlx_1_1core_1_1_scatter.html#a0208172562abdc90472e6eb5f84c987f',1,'mlx::core::Scatter::is_equivalent()'],['../classmlx_1_1core_1_1_sigmoid.html#a04814ba1b0edf8299d5ca1bcb8749d8e',1,'mlx::core::Sigmoid::is_equivalent()'],['../classmlx_1_1core_1_1_sign.html#a8c0934acbcc4b146e5aacd35a8c445bb',1,'mlx::core::Sign::is_equivalent()'],['../classmlx_1_1core_1_1_sin.html#af00b0e5516f884996ce7a97e6c1e3e6a',1,'mlx::core::Sin::is_equivalent()'],['../classmlx_1_1core_1_1_sinh.html#adcb1878996fd4902cd550042dd6ad70d',1,'mlx::core::Sinh::is_equivalent()'],['../classmlx_1_1core_1_1_slice.html#a43202c3b8966ae1db9ab82072e4918b0',1,'mlx::core::Slice::is_equivalent()'],['../classmlx_1_1core_1_1_slice_update.html#a60f588acced42391e6e5615ae8d16119',1,'mlx::core::SliceUpdate::is_equivalent()'],['../classmlx_1_1core_1_1_softmax.html#a9215ed7bd36bc11276c58dfb9808d728',1,'mlx::core::Softmax::is_equivalent()'],['../classmlx_1_1core_1_1_sort.html#ae48f07cf641d54234fc4fb6529a33511',1,'mlx::core::Sort::is_equivalent()'],['../classmlx_1_1core_1_1_split.html#af25a0cc259573b9dce60d285eee18345',1,'mlx::core::Split::is_equivalent()'],['../classmlx_1_1core_1_1_square.html#a6abc881d44071019aa15481e5ea75ab2',1,'mlx::core::Square::is_equivalent()'],['../classmlx_1_1core_1_1_sqrt.html#ab871c2b8ab4a27a3f782a005d0e87c46',1,'mlx::core::Sqrt::is_equivalent()'],['../classmlx_1_1core_1_1_stop_gradient.html#a327539298b21d800d26482b94fce41b3',1,'mlx::core::StopGradient::is_equivalent()'],['../classmlx_1_1core_1_1_subtract.html#af1c05e1e3f703ba916d54f8ccbbd102b',1,'mlx::core::Subtract::is_equivalent()'],['../classmlx_1_1core_1_1_tan.html#afdf46288e7f60ea7f878688347dff7e4',1,'mlx::core::Tan::is_equivalent()'],['../classmlx_1_1core_1_1_tanh.html#a0692a1de2373b86eb394252ed4fecfda',1,'mlx::core::Tanh::is_equivalent()'],['../classmlx_1_1core_1_1_uniform.html#abb6048807a7c5b2e35a77e06a17f801b',1,'mlx::core::Uniform::is_equivalent()'],['../classmlx_1_1core_1_1_view.html#a7cb8403a96a47cb258caac4e3b850f64',1,'mlx::core::View::is_equivalent()'],['../classmlx_1_1core_1_1_transpose.html#a799ec3c3fa9f1b9e6177c755252a3eab',1,'mlx::core::Transpose::is_equivalent()'],['../classmlx_1_1core_1_1_eigh.html#a09414e3fe88a952408d164d6dd0af381',1,'mlx::core::Eigh::is_equivalent()']]], + ['is_5fequivalent_26',['is_equivalent',['../classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention.html#af08b1294f3f93505a96fdfa85b1edd62',1,'mlx::core::fast::ScaledDotProductAttention::is_equivalent()'],['../classmlx_1_1core_1_1fast_1_1_affine_quantize.html#a5936175e5923aec272d6f718785f57a1',1,'mlx::core::fast::AffineQuantize::is_equivalent()'],['../classmlx_1_1core_1_1_primitive.html#a6140a502af4c2bbbc776ab26e9afebcd',1,'mlx::core::Primitive::is_equivalent()'],['../classmlx_1_1core_1_1_abs.html#ab6f0ec56bc7c048382297e12dabadc67',1,'mlx::core::Abs::is_equivalent()'],['../classmlx_1_1core_1_1_add.html#aba0a35410c3aac53d0f7a0c283d9ee3f',1,'mlx::core::Add::is_equivalent()'],['../classmlx_1_1core_1_1_add_m_m.html#a6e37c6882dba995a63fb6d8dfb01754f',1,'mlx::core::AddMM::is_equivalent()'],['../classmlx_1_1core_1_1_arange.html#a7b6a45cf9c4b109d4e0373f3fe576c35',1,'mlx::core::Arange::is_equivalent()'],['../classmlx_1_1core_1_1_arc_cos.html#a39557461e3235801886675a9b7d25bf5',1,'mlx::core::ArcCos::is_equivalent()'],['../classmlx_1_1core_1_1_arc_cosh.html#a6928e827b9ac2e86e7d5b02b78150eee',1,'mlx::core::ArcCosh::is_equivalent()'],['../classmlx_1_1core_1_1_arc_sin.html#a13b5e39eeccaf32d94b8eb85b3b753ab',1,'mlx::core::ArcSin::is_equivalent()'],['../classmlx_1_1core_1_1_arc_sinh.html#a63c7a765c7906242dc3371deec094f0f',1,'mlx::core::ArcSinh::is_equivalent()'],['../classmlx_1_1core_1_1_arc_tan.html#a0e5b5fc7218143ecd0a8666d9137c34c',1,'mlx::core::ArcTan::is_equivalent()'],['../classmlx_1_1core_1_1_arc_tan2.html#aeaee58cd803d3ebf0b76574a409682cc',1,'mlx::core::ArcTan2::is_equivalent()'],['../classmlx_1_1core_1_1_arc_tanh.html#ac8ecdd640043dab0461d49d7650679a2',1,'mlx::core::ArcTanh::is_equivalent()'],['../classmlx_1_1core_1_1_arg_partition.html#ad87509ce70b51fb75dfb9c3a05a5b31a',1,'mlx::core::ArgPartition::is_equivalent()'],['../classmlx_1_1core_1_1_arg_reduce.html#a03b81a670dcb1e39bf7279e4d4583b97',1,'mlx::core::ArgReduce::is_equivalent()'],['../classmlx_1_1core_1_1_arg_sort.html#a048cd09c557d29d1111726f97010a845',1,'mlx::core::ArgSort::is_equivalent()'],['../classmlx_1_1core_1_1_as_type.html#a8e6c8b2428ab15c4fb43f2e3a8fb38af',1,'mlx::core::AsType::is_equivalent()'],['../classmlx_1_1core_1_1_as_strided.html#a1738c6aa0a3a3eb68530f0d5b436e094',1,'mlx::core::AsStrided::is_equivalent()'],['../classmlx_1_1core_1_1_bitwise_binary.html#a8cd6b916b4838a6c329cf4df8530c3b8',1,'mlx::core::BitwiseBinary::is_equivalent()'],['../classmlx_1_1core_1_1_block_masked_m_m.html#aef1c303955f9b8f445296372cf181160',1,'mlx::core::BlockMaskedMM::is_equivalent()'],['../classmlx_1_1core_1_1_gather_m_m.html#a163f17f6ce2c002f22e81b302777342b',1,'mlx::core::GatherMM::is_equivalent()'],['../classmlx_1_1core_1_1_broadcast.html#a0e27692b0090ec451954649a36042616',1,'mlx::core::Broadcast::is_equivalent()'],['../classmlx_1_1core_1_1_ceil.html#aacd90acb56eb0649c1cef807aa21df52',1,'mlx::core::Ceil::is_equivalent()'],['../classmlx_1_1core_1_1_compiled.html#a63e5016458887813b4a59dee5a0a3f10',1,'mlx::core::Compiled::is_equivalent()'],['../classmlx_1_1core_1_1_concatenate.html#aaf8a72a0c30114460caf519580cc35d2',1,'mlx::core::Concatenate::is_equivalent()'],['../classmlx_1_1core_1_1_conjugate.html#af42f00a790c6bc5572bd8fe9e5b36c5e',1,'mlx::core::Conjugate::is_equivalent()'],['../classmlx_1_1core_1_1_contiguous.html#aa5d273a461fc6e64f3c9a67c24cb3372',1,'mlx::core::Contiguous::is_equivalent()'],['../classmlx_1_1core_1_1_convolution.html#afb87708a5e3aab2e9e663daa9d8863de',1,'mlx::core::Convolution::is_equivalent()'],['../classmlx_1_1core_1_1_copy.html#afcfa39465015f638e294aa954ea0f3da',1,'mlx::core::Copy::is_equivalent()'],['../classmlx_1_1core_1_1_cos.html#ab611ca38c987915659f7ffcce0370417',1,'mlx::core::Cos::is_equivalent()'],['../classmlx_1_1core_1_1_cosh.html#ae0bacccaf501f5349db0c13cca776ff9',1,'mlx::core::Cosh::is_equivalent()'],['../classmlx_1_1core_1_1_divide.html#a3dda091f05c4164c29bb8129e9712650',1,'mlx::core::Divide::is_equivalent()'],['../classmlx_1_1core_1_1_div_mod.html#af5fcf8ec8515d46844cbeeab6dafb38a',1,'mlx::core::DivMod::is_equivalent()'],['../classmlx_1_1core_1_1_select.html#afc3c333fac7f902c98839921ef2874c8',1,'mlx::core::Select::is_equivalent()'],['../classmlx_1_1core_1_1_remainder.html#a802039faaa2ed7b763ec3d7debcce814',1,'mlx::core::Remainder::is_equivalent()'],['../classmlx_1_1core_1_1_equal.html#a58c1c5003e43f47dc0788c1851deaa02',1,'mlx::core::Equal::is_equivalent()'],['../classmlx_1_1core_1_1_erf.html#abe99dfbc2954c3a7d5dec56ab165ee82',1,'mlx::core::Erf::is_equivalent()'],['../classmlx_1_1core_1_1_erf_inv.html#aaac9e3b454ba564f9c6e804ab6562832',1,'mlx::core::ErfInv::is_equivalent()'],['../classmlx_1_1core_1_1_exp.html#ac6e44bffe7a643ab4ca51e74c7328357',1,'mlx::core::Exp::is_equivalent()'],['../classmlx_1_1core_1_1_f_f_t.html#a0ede3bc8b6d77d560c0a750b68fddc06',1,'mlx::core::FFT::is_equivalent()'],['../classmlx_1_1core_1_1_floor.html#a24b64feb026c4fcd02fc481cffdb1c94',1,'mlx::core::Floor::is_equivalent()'],['../classmlx_1_1core_1_1_full.html#afafcbcae1e28597fe8f7fde289105792',1,'mlx::core::Full::is_equivalent()'],['../classmlx_1_1core_1_1_gather.html#a23ff1406dbf0c770e75ad47440b467aa',1,'mlx::core::Gather::is_equivalent()'],['../classmlx_1_1core_1_1_greater.html#a6877a6888614a618dc64296763ccabb1',1,'mlx::core::Greater::is_equivalent()'],['../classmlx_1_1core_1_1_greater_equal.html#a3daef8596b963026b602019bc56fc5fc',1,'mlx::core::GreaterEqual::is_equivalent()'],['../classmlx_1_1core_1_1_hadamard.html#a8a528d8d69a7343bdfd704a3e74230b8',1,'mlx::core::Hadamard::is_equivalent()'],['../classmlx_1_1core_1_1_imag.html#a51c15ae82855edebba2ba779516465f5',1,'mlx::core::Imag::is_equivalent()'],['../classmlx_1_1core_1_1_less.html#a7d6ed6353a0dcefebd008026dbd3cd63',1,'mlx::core::Less::is_equivalent()'],['../classmlx_1_1core_1_1_less_equal.html#a76ee1438cf4bd109eae4e0b3472b26af',1,'mlx::core::LessEqual::is_equivalent()'],['../classmlx_1_1core_1_1_log.html#a2fc58ea4ca744db493b947d1136d05f8',1,'mlx::core::Log::is_equivalent()'],['../classmlx_1_1core_1_1_logical_not.html#aba53675da351cd9b71a73d475b4bbe99',1,'mlx::core::LogicalNot::is_equivalent()'],['../classmlx_1_1core_1_1_logical_and.html#a9572c35f72e0db2f7f86bbf42438a6be',1,'mlx::core::LogicalAnd::is_equivalent()'],['../classmlx_1_1core_1_1_logical_or.html#a9c8b10a5cf5c69fdc2362390197e4e71',1,'mlx::core::LogicalOr::is_equivalent()'],['../classmlx_1_1core_1_1_log_add_exp.html#a3cf9a202c05aff39919d713d6e2b32e4',1,'mlx::core::LogAddExp::is_equivalent()'],['../classmlx_1_1core_1_1_matmul.html#aab372b59eae0840fc4f75ef5719a2630',1,'mlx::core::Matmul::is_equivalent()'],['../classmlx_1_1core_1_1_maximum.html#a21fe93fbd7799682f481260aee8bdb46',1,'mlx::core::Maximum::is_equivalent()'],['../classmlx_1_1core_1_1_minimum.html#a56c54ee3293cc2cd84462b9ec7ac36b4',1,'mlx::core::Minimum::is_equivalent()'],['../classmlx_1_1core_1_1_multiply.html#ae288159fa2d6d35087a85aca8eafa9b2',1,'mlx::core::Multiply::is_equivalent()'],['../classmlx_1_1core_1_1_negative.html#ac2a4d8159c548639d6289980c8975823',1,'mlx::core::Negative::is_equivalent()'],['../classmlx_1_1core_1_1_not_equal.html#ac12fd6b3e2f2e7e4e622b59badf2c73d',1,'mlx::core::NotEqual::is_equivalent()'],['../classmlx_1_1core_1_1_number_of_elements.html#ad6a32565ccc64499e368e15bba0b438f',1,'mlx::core::NumberOfElements::is_equivalent()'],['../classmlx_1_1core_1_1_pad.html#aad7c3bfecafe435d6a8e807de4c7ea9b',1,'mlx::core::Pad::is_equivalent()'],['../classmlx_1_1core_1_1_partition.html#aabdf6ef4f2159b2bfe93e0e87d4772f8',1,'mlx::core::Partition::is_equivalent()'],['../classmlx_1_1core_1_1_power.html#a76b4ec9d1ff07f06189e414480453d68',1,'mlx::core::Power::is_equivalent()'],['../classmlx_1_1core_1_1_quantized_matmul.html#af28b36e3f40ea41785387800326cc8e1',1,'mlx::core::QuantizedMatmul::is_equivalent()'],['../classmlx_1_1core_1_1_gather_q_m_m.html#a6a7da6bcf657fcdb157c45bf35fdec11',1,'mlx::core::GatherQMM::is_equivalent()'],['../classmlx_1_1core_1_1_random_bits.html#a72ec915debf5823e7c0463045b2894e6',1,'mlx::core::RandomBits::is_equivalent()'],['../classmlx_1_1core_1_1_real.html#a6d9bed396862a9e9d6abfbdcd8d8d239',1,'mlx::core::Real::is_equivalent()'],['../classmlx_1_1core_1_1_reshape.html#abd07c53af476777a04307e0423784cf3',1,'mlx::core::Reshape::is_equivalent()'],['../classmlx_1_1core_1_1_reduce.html#abe8f3327d617d0dd7438f066497ae08e',1,'mlx::core::Reduce::is_equivalent()'],['../classmlx_1_1core_1_1_round.html#aeb3d8607bbba7345a3142d4cbd4e6927',1,'mlx::core::Round::is_equivalent()'],['../classmlx_1_1core_1_1_scan.html#a54445a4d677ca4fe2a58d08eb5223ac6',1,'mlx::core::Scan::is_equivalent()'],['../classmlx_1_1core_1_1_scatter.html#a0208172562abdc90472e6eb5f84c987f',1,'mlx::core::Scatter::is_equivalent()'],['../classmlx_1_1core_1_1_sigmoid.html#a04814ba1b0edf8299d5ca1bcb8749d8e',1,'mlx::core::Sigmoid::is_equivalent()'],['../classmlx_1_1core_1_1_sign.html#a8c0934acbcc4b146e5aacd35a8c445bb',1,'mlx::core::Sign::is_equivalent()'],['../classmlx_1_1core_1_1_sin.html#af00b0e5516f884996ce7a97e6c1e3e6a',1,'mlx::core::Sin::is_equivalent()'],['../classmlx_1_1core_1_1_sinh.html#adcb1878996fd4902cd550042dd6ad70d',1,'mlx::core::Sinh::is_equivalent()'],['../classmlx_1_1core_1_1_slice.html#a43202c3b8966ae1db9ab82072e4918b0',1,'mlx::core::Slice::is_equivalent()'],['../classmlx_1_1core_1_1_slice_update.html#a60f588acced42391e6e5615ae8d16119',1,'mlx::core::SliceUpdate::is_equivalent()'],['../classmlx_1_1core_1_1_softmax.html#a9215ed7bd36bc11276c58dfb9808d728',1,'mlx::core::Softmax::is_equivalent()'],['../classmlx_1_1core_1_1_sort.html#ae48f07cf641d54234fc4fb6529a33511',1,'mlx::core::Sort::is_equivalent()'],['../classmlx_1_1core_1_1_split.html#af25a0cc259573b9dce60d285eee18345',1,'mlx::core::Split::is_equivalent()'],['../classmlx_1_1core_1_1_square.html#a6abc881d44071019aa15481e5ea75ab2',1,'mlx::core::Square::is_equivalent()'],['../classmlx_1_1core_1_1_sqrt.html#ab871c2b8ab4a27a3f782a005d0e87c46',1,'mlx::core::Sqrt::is_equivalent()'],['../classmlx_1_1core_1_1_stop_gradient.html#a327539298b21d800d26482b94fce41b3',1,'mlx::core::StopGradient::is_equivalent()'],['../classmlx_1_1core_1_1_subtract.html#af1c05e1e3f703ba916d54f8ccbbd102b',1,'mlx::core::Subtract::is_equivalent()'],['../classmlx_1_1core_1_1_tan.html#afdf46288e7f60ea7f878688347dff7e4',1,'mlx::core::Tan::is_equivalent()'],['../classmlx_1_1core_1_1_tanh.html#a0692a1de2373b86eb394252ed4fecfda',1,'mlx::core::Tanh::is_equivalent()'],['../classmlx_1_1core_1_1_uniform.html#abb6048807a7c5b2e35a77e06a17f801b',1,'mlx::core::Uniform::is_equivalent()'],['../classmlx_1_1core_1_1_view.html#a7cb8403a96a47cb258caac4e3b850f64',1,'mlx::core::View::is_equivalent()'],['../classmlx_1_1core_1_1_transpose.html#a799ec3c3fa9f1b9e6177c755252a3eab',1,'mlx::core::Transpose::is_equivalent()'],['../classmlx_1_1core_1_1_eigh.html#a09414e3fe88a952408d164d6dd0af381',1,'mlx::core::Eigh::is_equivalent()']]], ['is_5fopen_27',['is_open',['../classmlx_1_1core_1_1io_1_1_reader.html#a780f504058bd9c80cb3d105046a9f985',1,'mlx::core::io::Reader::is_open()'],['../classmlx_1_1core_1_1io_1_1_writer.html#a85aa36bdb0dbfb8c5b6cfd955b03417a',1,'mlx::core::io::Writer::is_open()'],['../classmlx_1_1core_1_1io_1_1_parallel_file_reader.html#a653009adbcbce8248bc666df502fdbde',1,'mlx::core::io::ParallelFileReader::is_open()'],['../classmlx_1_1core_1_1io_1_1_file_writer.html#ad5d2ee671a81700cb1658c41309d6676',1,'mlx::core::io::FileWriter::is_open()']]], ['is_5fpower_5fof_5f2_28',['is_power_of_2',['../namespacemlx_1_1core.html#adacbc4526e8964b267a8ec3eb1bc1a32',1,'mlx::core']]], ['is_5fready_29',['is_ready',['../classpocketfft_1_1detail_1_1threading_1_1latch.html#ab41ecc5adb6187aa2682ca190fd920f3',1,'pocketfft::detail::threading::latch']]], diff --git a/docs/build/html/search/functions_d.js b/docs/build/html/search/functions_d.js index eb37eb174..3cb3a20e2 100644 --- a/docs/build/html/search/functions_d.js +++ b/docs/build/html/search/functions_d.js @@ -1,6 +1,6 @@ var searchData= [ - ['make_5farrays_0',['make_arrays',['../classmlx_1_1core_1_1array.html#a1173db4e23f5a8230911cb8fba45d5e6',1,'mlx::core::array']]], + ['make_5farrays_0',['make_arrays',['../classmlx_1_1core_1_1array.html#a45b1c9763fe921fe5880ca28316ae98c',1,'mlx::core::array']]], ['make_5fcontiguous_5fstrides_1',['make_contiguous_strides',['../namespacemlx_1_1core.html#a085379297e21d57f5b3aa38ae1c26070',1,'mlx::core']]], ['make_5fstring_2',['make_string',['../namespacemlx_1_1core.html#aed148d95e7b5221f1312473deded0d27',1,'mlx::core']]], ['make_5fsynchronize_5ftask_3',['make_synchronize_task',['../namespacemlx_1_1core_1_1metal.html#ab31abdda3052162d59f6590a89e38337',1,'mlx::core::metal']]], @@ -43,7 +43,7 @@ var searchData= ['mma_40',['mma',['../structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#a8028512f5a3d2b6acaf966be529627a3',1,'mlx::steel::BaseMMAFrag< T, 8, 8 >::mma(thread frag_type &D, thread frag_type &A, thread frag_type &B, thread frag_type &C)'],['../structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#a1868f57d57c8adedab2c58492ec76946',1,'mlx::steel::BaseMMAFrag< T, 8, 8 >::mma(thread mat_type &D, thread mat_type &A, thread mat_type &B, thread mat_type &C)'],['../structmlx_1_1steel_1_1_block_m_m_a.html#a6a2c2a6d5e767d52c41b42a9d36086b0',1,'mlx::steel::BlockMMA::mma()'],['../structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#a8028512f5a3d2b6acaf966be529627a3',1,'mlx::steel::BaseMMAFrag< T, 8, 8 >::mma(thread frag_type &D, thread frag_type &A, thread frag_type &B, thread frag_type &C)'],['../structmlx_1_1steel_1_1_base_m_m_a_frag_3_01_t_00_018_00_018_01_4.html#a1868f57d57c8adedab2c58492ec76946',1,'mlx::steel::BaseMMAFrag< T, 8, 8 >::mma(thread mat_type &D, thread mat_type &A, thread mat_type &B, thread mat_type &C)'],['../structmlx_1_1steel_1_1_block_m_m_a.html#a6a2c2a6d5e767d52c41b42a9d36086b0',1,'mlx::steel::BlockMMA::mma()']]], ['mmatile_41',['MMATile',['../structmlx_1_1steel_1_1_m_m_a_tile.html#aa3fb310dd08ec23c334511f7b316d1b6',1,'mlx::steel::MMATile::MMATile() thread'],['../structmlx_1_1steel_1_1_m_m_a_tile.html#aa3fb310dd08ec23c334511f7b316d1b6',1,'mlx::steel::MMATile::MMATile() thread']]], ['move_5for_5fcopy_42',['move_or_copy',['../namespacemlx_1_1core.html#a830a47d8a317dffb0c88e5a7afe6aee2',1,'mlx::core::move_or_copy(const array &in, array &out)'],['../namespacemlx_1_1core.html#aae1e770954edf1f9a35d19e0de4d857a',1,'mlx::core::move_or_copy(const array &in, array &out, const std::vector< size_t > &strides, array::Flags flags, size_t data_size, size_t offset=0)']]], - ['move_5fshared_5fbuffer_43',['move_shared_buffer',['../classmlx_1_1core_1_1array.html#acce00db63e0f3d80f797b02397ade836',1,'mlx::core::array::move_shared_buffer(array other, const std::vector< size_t > &strides, Flags flags, size_t data_size, size_t offset=0)'],['../classmlx_1_1core_1_1array.html#a38d7ad605f8282e5e49d0c09e0555c78',1,'mlx::core::array::move_shared_buffer(array other)']]], + ['move_5fshared_5fbuffer_43',['move_shared_buffer',['../classmlx_1_1core_1_1array.html#ad41cc5e7aebfcad849ad15d697584cf8',1,'mlx::core::array::move_shared_buffer(array other, const Strides &strides, Flags flags, size_t data_size, size_t offset=0)'],['../classmlx_1_1core_1_1array.html#a38d7ad605f8282e5e49d0c09e0555c78',1,'mlx::core::array::move_shared_buffer(array other)']]], ['moveaxis_44',['moveaxis',['../group__ops.html#ga24067d10a842db2c9d509ea48135a2c3',1,'mlx::core']]], ['mpinplace_45',['MPINPLACE',['../namespacepocketfft_1_1detail.html#af5eedf3cdfc83c0a30807092c39a9ce2',1,'pocketfft::detail']]], ['mtl_5fdevice_46',['mtl_device',['../classmlx_1_1core_1_1metal_1_1_device.html#a31dba377f2be44a746db10d1b9367653',1,'mlx::core::metal::Device']]], diff --git a/docs/build/html/search/functions_f.js b/docs/build/html/search/functions_f.js index 976a1fc85..2d34fd3b0 100644 --- a/docs/build/html/search/functions_f.js +++ b/docs/build/html/search/functions_f.js @@ -2,7 +2,7 @@ var searchData= [ ['offset_5fneg_5fidx_0',['offset_neg_idx',['../kernels_2indexing_8h.html#a58a65ea6215999cd4ccb4fe757cc2dc8',1,'indexing.h']]], ['ofs_1',['ofs',['../classpocketfft_1_1detail_1_1simple__iter.html#ab59481ad9c8f04addb907c3ebb89f8fa',1,'pocketfft::detail::simple_iter::ofs()'],['../classpocketfft_1_1detail_1_1rev__iter.html#a78c3b4ad19edf9d20cab40ad109e9dd1',1,'pocketfft::detail::rev_iter::ofs()']]], - ['ones_2',['ones',['../group__ops.html#ga54eeed455321a54c8e72e16552a978f2',1,'mlx::core::ones(const std::vector< int > &shape, Dtype dtype, StreamOrDevice s={})'],['../group__ops.html#ga6cf4b5e8580e4436302c519d05897dab',1,'mlx::core::ones(const std::vector< int > &shape, StreamOrDevice s={})']]], + ['ones_2',['ones',['../group__ops.html#gae0069146cf8c819b15ba29aa7231a3f0',1,'mlx::core::ones(const Shape &shape, Dtype dtype, StreamOrDevice s={})'],['../group__ops.html#gace4cf016562af58991f9f961170e156f',1,'mlx::core::ones(const Shape &shape, StreamOrDevice s={})']]], ['ones_5flike_3',['ones_like',['../group__ops.html#ga94f8d3b1906fee99da9cbe39f7be7d42',1,'mlx::core']]], ['oofs_4',['oofs',['../classpocketfft_1_1detail_1_1multi__iter.html#aae63e67caac095d474ddd32daa5ffa34',1,'pocketfft::detail::multi_iter::oofs(size_t i) const'],['../classpocketfft_1_1detail_1_1multi__iter.html#a9236047e7419e5d21379cbf95eb3a78e',1,'pocketfft::detail::multi_iter::oofs(size_t j, size_t i) const']]], ['operator_20bool_5',['operator bool',['../struct___no_mask.html#ad3723c1e70e46beefd283ce6317416cb',1,'_NoMask::operator bool()'],['../struct___no_mask.html#aafbf8a3201e1cc1abf74dd1f1b7272cd',1,'_NoMask::operator bool() const threadgroup'],['../struct___no_mask.html#a73e9612a619885cbc97cbd8f40df71e7',1,'_NoMask::operator bool() const device'],['../struct___no_mask.html#a4bf336d472bc677028250f76b9cdc08c',1,'_NoMask::operator bool() const constant'],['../struct___no_mask.html#ad3723c1e70e46beefd283ce6317416cb',1,'_NoMask::operator bool()'],['../struct___no_mask.html#aafbf8a3201e1cc1abf74dd1f1b7272cd',1,'_NoMask::operator bool() const threadgroup'],['../struct___no_mask.html#a73e9612a619885cbc97cbd8f40df71e7',1,'_NoMask::operator bool() const device'],['../struct___no_mask.html#a4bf336d472bc677028250f76b9cdc08c',1,'_NoMask::operator bool() const constant']]], @@ -27,7 +27,7 @@ var searchData= ['operator_2f_24',['operator/',['../backend_2metal_2kernels_2complex_8h.html#ae6a708f67d6fd9b0962aa8877cec6d35',1,'operator/(complex64_t a, complex64_t b): complex.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a9f16a44e1c9836ca57edc1d7b93b5d7c',1,'operator/(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aacaedf12f862c76457133336dd6fc446',1,'operator/(_MLX_BFloat16 lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a584a513596de20663dad951a5b81695e',1,'operator/(float lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad8f7b11669736fbd6ed2e28211d877d4',1,'operator/(_MLX_BFloat16 lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a59515695ebc48844345fa5120511aed1',1,'operator/(half lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a8c8ac6736440fdca366ebdefe2a12b9f',1,'operator/(_MLX_BFloat16 lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad6859b04680d0d26d75fd6c4dd74ee24',1,'operator/(int32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a4720cc79ab2b8e39952ea9ef20e51250',1,'operator/(_MLX_BFloat16 lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a72d10ec0e62949247da129eb3a83fb9b',1,'operator/(uint32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad6399ba2b8708899739b4cdbb44add8d',1,'operator/(_MLX_BFloat16 lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a998b1ba877a606aedf722ab46b290403',1,'operator/(int64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa3277ae33976c70f7bd937ddff027b72',1,'operator/(_MLX_BFloat16 lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa708a970a200822c99c0489f389469fa',1,'operator/(uint64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1steel.html#a6bde717aca2051499f73a3eee199bfdd',1,'mlx::steel::operator/()'],['../group__ops.html#gaeedf77f722b394429f1a7f6c367883bf',1,'mlx::core::operator/(const array &a, const array &b)'],['../group__ops.html#ga7366ec7f453be2a4dc449f0faa1bf554',1,'mlx::core::operator/(double a, const array &b)'],['../group__ops.html#gadfb324ae9b4feb2c7ea0ac6ade639f38',1,'mlx::core::operator/(const array &a, double b)'],['../namespacemlx_1_1core.html#a7573ac3b93ddecd69e9c88a26fc84ba9',1,'mlx::core::operator/(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a40e868dad70401d9aa9ee9c32235c315',1,'mlx::core::operator/(_MLX_BFloat16 lhs, float rhs)'],['../namespacemlx_1_1core.html#a7587c28fbd2023b134e5fc12bb0dde23',1,'mlx::core::operator/(float lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a92cdd377c408becf4cf83c1ee9b7085d',1,'mlx::core::operator/(_MLX_BFloat16 lhs, double rhs)'],['../namespacemlx_1_1core.html#aef89566301cb133d98c8e7bdd2b7bec6',1,'mlx::core::operator/(double lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a94e7b51185590492b46916685641276f',1,'mlx::core::operator/(_MLX_BFloat16 lhs, bool rhs)'],['../namespacemlx_1_1core.html#a04584788c08180835219d0ea1e2b97b1',1,'mlx::core::operator/(bool lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ad5af96e2ff09d207eb1e1980fe3e7c2d',1,'mlx::core::operator/(_MLX_BFloat16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#ac2217bf760038cd011781158923149ed',1,'mlx::core::operator/(int32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#aea414c04bddc4b9b609262e97398f1b4',1,'mlx::core::operator/(_MLX_BFloat16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a27fe23230cd082c0363b9451b731ce6b',1,'mlx::core::operator/(uint32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#abdd9bb8fb4411e5924f3eb7ef1bb52f8',1,'mlx::core::operator/(_MLX_BFloat16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a50bae338a7353f8b0ed3441071bb0cf6',1,'mlx::core::operator/(int64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#aab26a3284dd3ac7d47c8b5b3a3290ce3',1,'mlx::core::operator/(_MLX_BFloat16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a749f48db01de38f259a0c6750a97fa77',1,'mlx::core::operator/(uint64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a32a6a08a2a4652975b0a1bd1fcf3eafd',1,'mlx::core::operator/(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a4b66fb38ddc5cc0c2489583d5c499602',1,'mlx::core::operator/(_MLX_Float16 lhs, float rhs)'],['../namespacemlx_1_1core.html#a45726f1905b709cf8253e6efa046027b',1,'mlx::core::operator/(float lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#afd4170c1e364384f30e6bae341146fa6',1,'mlx::core::operator/(_MLX_Float16 lhs, double rhs)'],['../namespacemlx_1_1core.html#aef85739d150b9d5609973da8a3f1086a',1,'mlx::core::operator/(double lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#af52a941f8ed9b25eec91402c7b9e281f',1,'mlx::core::operator/(_MLX_Float16 lhs, bool rhs)'],['../namespacemlx_1_1core.html#a477cade78296bc85894170f62db68870',1,'mlx::core::operator/(bool lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a22f5a2257e11423fc2fe18e2dce91590',1,'mlx::core::operator/(_MLX_Float16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a640d3574dfe6ad934c720ae8bdd78bfa',1,'mlx::core::operator/(int32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a6f65d8fd0cdddc96fc01f6af95804873',1,'mlx::core::operator/(_MLX_Float16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a517019d42d4e426b7b98e1c719bb47ce',1,'mlx::core::operator/(uint32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a0beb7a223c542015a4eff4aed814a9dd',1,'mlx::core::operator/(_MLX_Float16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#abc9b1bd5018d46514bc19d23db2e5063',1,'mlx::core::operator/(int64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#af22937df654ddbd6e398ef12764d18c0',1,'mlx::core::operator/(_MLX_Float16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a775aed5f49b530c57e71cbac81404d45',1,'mlx::core::operator/(uint64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a97efcd96d6be666e5608034ae77289ef',1,'mlx::core::operator/(float16_t lhs, bfloat16_t rhs)'],['../namespacemlx_1_1core.html#a899851f85dbddd96f9d36319b82542a0',1,'mlx::core::operator/(bfloat16_t lhs, float16_t rhs)']]], ['operator_2f_3d_25',['operator/=',['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5aa3b8c68a2b58d41ea33eaabbf83095',1,'operator/=(device _MLX_BFloat16 &lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a90a1c5130db515db48624d8587edbb91',1,'operator/=(device float &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a65f30a2dc199134e35bc7c5d431b2263',1,'operator/=(thread _MLX_BFloat16 &lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7172d84db640e6c49dff0d08dd64b53e',1,'operator/=(thread float &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#acf7cb9927bf09022088401923f2e1916',1,'operator/=(threadgroup _MLX_BFloat16 &lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a86b2a001cbec0d3a8d762a3c7ff47b0b',1,'operator/=(threadgroup float &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a744f72ba83522fe3cc2a49a007b42543',1,'operator/=(device _MLX_BFloat16 &lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a77c678665b34df7652dcde053ca73185',1,'operator/=(device half &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae0614b6b199d8a65ae95d4621b118b82',1,'operator/=(thread _MLX_BFloat16 &lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa846fde89c7d2d18b18ef180a8a9c8a3',1,'operator/=(thread half &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a08e778be18e4a291c108fcc528b981d3',1,'operator/=(threadgroup _MLX_BFloat16 &lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a6b9e49ad9ea256d2d0220c0d81552602',1,'operator/=(threadgroup half &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab933bc3cdf9adfea10ab9dba5292c812',1,'operator/=(device _MLX_BFloat16 &lhs, int16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a25e7c5d2ecf3375756d59074f333858f',1,'operator/=(device int16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a4ae4a80fde67eea9a0a37b2803946544',1,'operator/=(thread _MLX_BFloat16 &lhs, int16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a912393b7208fa45bd1e87f30b218b68b',1,'operator/=(thread int16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a18963246f2b640874bef6dca7049f64d',1,'operator/=(threadgroup _MLX_BFloat16 &lhs, int16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0e2c2c2cb50b3a55ff213f18978aca35',1,'operator/=(threadgroup int16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a64f1136b17006f168ef837e17240814f',1,'operator/=(device _MLX_BFloat16 &lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae46d75b8046d557452d74513f1106710',1,'operator/=(device int32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a08d2460e259b9106d90d889481ad60d5',1,'operator/=(thread _MLX_BFloat16 &lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0f7fd418408806ef498745c6fdb2c062',1,'operator/=(thread int32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac703495cb370b52526a5a2d36ae26038',1,'operator/=(threadgroup _MLX_BFloat16 &lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a4ca11d43174baf0a729f93b35eabcbea',1,'operator/=(threadgroup int32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a9f835a0a80c411580c97b65fdc5bdfd3',1,'operator/=(device _MLX_BFloat16 &lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a17f47ec9cff60f8e1b3477a2793b7ac0',1,'operator/=(device int64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5be23e296bbed3a885586a6424b1666e',1,'operator/=(thread _MLX_BFloat16 &lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#afba39221eb54e272aae79910b3cd7ef5',1,'operator/=(thread int64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac057d95a2bf087575584aa6f9a2c6bf5',1,'operator/=(threadgroup _MLX_BFloat16 &lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab986ae2cec780a1f494b7b4468b7ba11',1,'operator/=(threadgroup int64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a44522c2304c6396bbe6b9d32000f4b6f',1,'operator/=(device _MLX_BFloat16 &lhs, uint16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aef8e7e499ea9d432aa743d83c076f945',1,'operator/=(device uint16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a3a0a3edbf1ba2314551454059c3f422b',1,'operator/=(thread _MLX_BFloat16 &lhs, uint16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#acb9f0aef9fbdfde8a4f46e33b0d6c52f',1,'operator/=(thread uint16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a303dfcc81ffd355f866f863d7d9f0fa5',1,'operator/=(threadgroup _MLX_BFloat16 &lhs, uint16_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a359edd4bcb8776861ceb26a3005624c0',1,'operator/=(threadgroup uint16_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#adc9f32cc6f40768df4285fba2e4783c7',1,'operator/=(device _MLX_BFloat16 &lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae71f66d814a03f6377c9d86cf0a2b5d7',1,'operator/=(device uint32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad0125b6baba3065a87a174ec27aa9a61',1,'operator/=(thread _MLX_BFloat16 &lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5cc74ad3e522d7104e6e2117751151ad',1,'operator/=(thread uint32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab3b594321fb42b0c2da99954d1e0976c',1,'operator/=(threadgroup _MLX_BFloat16 &lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a4a0023e2fd08875156cd6ef747fbb5cd',1,'operator/=(threadgroup uint32_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a4358ee606e66ba2081fcf94f9c3b5915',1,'operator/=(device _MLX_BFloat16 &lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ad1e7ef6f065695d4b1d017547b60ef62',1,'operator/=(device uint64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a284dfc702f0f67b9c233b87162eeabdd',1,'operator/=(thread _MLX_BFloat16 &lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab8f211ea896fc5190004f3ad6ad8932f',1,'operator/=(thread uint64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7e1bcf3bc06cbcbc304c0cdf729802bc',1,'operator/=(threadgroup _MLX_BFloat16 &lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#abbe42648a46092137b303ccd08f7df86',1,'operator/=(threadgroup uint64_t &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af1a12a1efb618a57da6dd41ae18cb53c',1,'operator/=(device _MLX_BFloat16 &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a94686039356dfa9aa45608a8b0562fdc',1,'operator/=(thread _MLX_BFloat16 &lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa251d6483d3b099d1b5311fbe6f0bce2',1,'operator/=(threadgroup _MLX_BFloat16 &lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1core.html#a045ff27257cb6d8ab7a94771ba5a17e6',1,'mlx::core::operator/=(_MLX_BFloat16 &lhs, const float &rhs)'],['../namespacemlx_1_1core.html#a58112951a56a0f9f8c90b60fe74f9508',1,'mlx::core::operator/=(float &lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ae736defc89a04fbaf7627ad2695bb838',1,'mlx::core::operator/=(_MLX_Float16 &lhs, const float &rhs)'],['../namespacemlx_1_1core.html#ab1f260710251256ef737dd59be9e143c',1,'mlx::core::operator/=(float &lhs, _MLX_Float16 rhs)']]], ['operator_3c_26',['operator<',['../backend_2metal_2kernels_2complex_8h.html#a67674e32596a9dae2258bb8e0e6a2058',1,'operator<(complex64_t a, complex64_t b): complex.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a9ef6a57b7185e9ca49e255fec1a44e25',1,'operator<(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aab02c65bc38ea66335b2192ead4095a8',1,'operator<(_MLX_BFloat16 lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae91686513e284bcc9635833744bbdda1',1,'operator<(float lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a2486f3b5de85b0d57f458d8f21f82b42',1,'operator<(_MLX_BFloat16 lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a435a2aec4c777b4b184ff5d24992e8a1',1,'operator<(half lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#abdd04257e6a73883b5f56f1186d0e906',1,'operator<(_MLX_BFloat16 lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a69984aaa05ae1d4fccccf7f57e8ecb4a',1,'operator<(int32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a501cc01d5bf15d9f03aa28545f9624ea',1,'operator<(_MLX_BFloat16 lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a1b029e4ca72125a5f9471f582c819705',1,'operator<(uint32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0736a76f56578d26ba1422dc8b744a18',1,'operator<(_MLX_BFloat16 lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a24b1fa8998c892f90f8dde7c34fb10a5',1,'operator<(int64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af80ff2020ec2c4b406c5fdae3fe55e63',1,'operator<(_MLX_BFloat16 lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac03f6eefb836373d37dc280b0d813d78',1,'operator<(uint64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1steel.html#adb5f24b57d98214fc215a06475f21412',1,'mlx::steel::operator<()'],['../group__ops.html#gaee41e2b8f61d563200ff03575ac1d6c3',1,'mlx::core::operator<(const array &a, const array &b)'],['../group__ops.html#ga1ef8ea11cf15ce628c54201fa42748ef',1,'mlx::core::operator<(T a, const array &b)'],['../group__ops.html#ga95e72226dc7a79c40b3d16f990922050',1,'mlx::core::operator<(const array &a, T b)'],['../namespacemlx_1_1core.html#a987d631e1508e8df55d98ddd57e4d086',1,'mlx::core::operator<(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ad3fb46370cd8f0992866fad9e2c64a3c',1,'mlx::core::operator<(_MLX_BFloat16 lhs, float rhs)'],['../namespacemlx_1_1core.html#a3026691bf7ee5095243a8611bf3411aa',1,'mlx::core::operator<(float lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a0d42d6c1d5f77a96e2f296b8ebd79ee6',1,'mlx::core::operator<(_MLX_BFloat16 lhs, double rhs)'],['../namespacemlx_1_1core.html#ab5ce08a7de0a0ca00d61f7a7f8ea3ab4',1,'mlx::core::operator<(double lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#abce8b7f24b61e5ec0f9a3afe20845caf',1,'mlx::core::operator<(_MLX_BFloat16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#aff97612627ae1ed260c43c0a7af0d306',1,'mlx::core::operator<(int32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a9119e518234df7923cae2b3802d59bf2',1,'mlx::core::operator<(_MLX_BFloat16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#aefb9b05ce8864ada99a920ab32017b89',1,'mlx::core::operator<(uint32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#abc55f3676c2d112a6e9ab276bd6b1796',1,'mlx::core::operator<(_MLX_BFloat16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#afe6581a2c45f24d7fab1e4006c1e3c70',1,'mlx::core::operator<(int64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#aca1d50cdd9506481dcc4cd1ad4a4f734',1,'mlx::core::operator<(_MLX_BFloat16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a310720f513b6a2490e9df80c65f1bfb3',1,'mlx::core::operator<(uint64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a29e457a170b6cefb6ba1e394c96c6f7b',1,'mlx::core::operator<(const complex64_t &a, const complex64_t &b)'],['../namespacemlx_1_1core.html#afd4519985b6b207ec41ad8530d1036df',1,'mlx::core::operator<(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ae1e41ca94022e43a00cdfc5845102daa',1,'mlx::core::operator<(_MLX_Float16 lhs, float rhs)'],['../namespacemlx_1_1core.html#ac80f4022bffd95b57526685ce8e1cbc1',1,'mlx::core::operator<(float lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a3a8f6f0af477788c4f0aa98abfc5f1ab',1,'mlx::core::operator<(_MLX_Float16 lhs, double rhs)'],['../namespacemlx_1_1core.html#a3728ed9b6cbd152bf675251a0501b466',1,'mlx::core::operator<(double lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a5b9ad811a5e1358100c5423dd70ea387',1,'mlx::core::operator<(_MLX_Float16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a5c77e1db83995d3e06a8a26265bce5d6',1,'mlx::core::operator<(int32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ab8a0a3f70664049b35ce1887bd8ff5c2',1,'mlx::core::operator<(_MLX_Float16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a6652d93bfb2d426e261a1712a181a4d2',1,'mlx::core::operator<(uint32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a03758b8d13da2de07cc4f4fc45d2854b',1,'mlx::core::operator<(_MLX_Float16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a325161b81a9ff179fd37d949780a17ba',1,'mlx::core::operator<(int64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a92eca79fce8233e4299343eee3996511',1,'mlx::core::operator<(_MLX_Float16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#adb016662b8f7eb680abfe1a421eabe72',1,'mlx::core::operator<(uint64_t lhs, _MLX_Float16 rhs)']]], - ['operator_3c_3c_27',['operator<<',['../group__ops.html#gad656c30f9fd7d9467e405657b325aa7e',1,'mlx::core::operator<<(const array &a, const array &b)'],['../namespacemlx_1_1core.html#a1e5c30e316afa30c14bc48b92afdb794',1,'mlx::core::operator<<(std::ostream &os, const Device &d)'],['../namespacemlx_1_1core.html#a4ddd07021b36c848d6fb1dd9ac276822',1,'mlx::core::operator<<(std::ostream &os, const Stream &s)'],['../namespacemlx_1_1core.html#a0023c267cf81345fad65e7a797954cd3',1,'mlx::core::operator<<(std::ostream &os, const Dtype &d)'],['../namespacemlx_1_1core.html#a1fd58658474fb842d648dcf8f7d9f078',1,'mlx::core::operator<<(std::ostream &os, const Dtype::Kind &k)'],['../namespacemlx_1_1core.html#a123331f01188bd76e37623b63b6b4340',1,'mlx::core::operator<<(std::ostream &os, array a)'],['../namespacemlx_1_1core.html#a4e733bba89760abed32393e085812b22',1,'mlx::core::operator<<(std::ostream &os, const std::vector< int > &v)'],['../namespacemlx_1_1core.html#a6276bb9bad43ed4a27a1e2c3f5bfd990',1,'mlx::core::operator<<(std::ostream &os, const std::vector< size_t > &v)'],['../namespacemlx_1_1core.html#a5e5bd5c57b1cf19776bdb41e732861d9',1,'mlx::core::operator<<(std::ostream &os, const std::vector< int64_t > &v)'],['../namespacemlx_1_1core.html#a42a19c8442b173606e714364227e7d45',1,'mlx::core::operator<<(std::ostream &os, const complex64_t &v)'],['../namespacemlx_1_1core.html#a57eb97a5eba99a846ac429795e407574',1,'mlx::core::operator<<(std::ostream &os, const float16_t &v)'],['../namespacemlx_1_1core.html#a7db909d54cf07375e89424c32c07a29c',1,'mlx::core::operator<<(std::ostream &os, const bfloat16_t &v)']]], + ['operator_3c_3c_27',['operator<<',['../group__ops.html#gad656c30f9fd7d9467e405657b325aa7e',1,'mlx::core::operator<<(const array &a, const array &b)'],['../namespacemlx_1_1core.html#a1e5c30e316afa30c14bc48b92afdb794',1,'mlx::core::operator<<(std::ostream &os, const Device &d)'],['../namespacemlx_1_1core.html#a4ddd07021b36c848d6fb1dd9ac276822',1,'mlx::core::operator<<(std::ostream &os, const Stream &s)'],['../namespacemlx_1_1core.html#a0023c267cf81345fad65e7a797954cd3',1,'mlx::core::operator<<(std::ostream &os, const Dtype &d)'],['../namespacemlx_1_1core.html#a1fd58658474fb842d648dcf8f7d9f078',1,'mlx::core::operator<<(std::ostream &os, const Dtype::Kind &k)'],['../namespacemlx_1_1core.html#a123331f01188bd76e37623b63b6b4340',1,'mlx::core::operator<<(std::ostream &os, array a)'],['../namespacemlx_1_1core.html#a9146063485ab071977150c6b224d0e7b',1,'mlx::core::operator<<(std::ostream &os, const Shape &v)'],['../namespacemlx_1_1core.html#a860a8ed99050bd93f37a8795245c4f5b',1,'mlx::core::operator<<(std::ostream &os, const Strides &v)'],['../namespacemlx_1_1core.html#a5e5bd5c57b1cf19776bdb41e732861d9',1,'mlx::core::operator<<(std::ostream &os, const std::vector< int64_t > &v)'],['../namespacemlx_1_1core.html#a42a19c8442b173606e714364227e7d45',1,'mlx::core::operator<<(std::ostream &os, const complex64_t &v)'],['../namespacemlx_1_1core.html#a57eb97a5eba99a846ac429795e407574',1,'mlx::core::operator<<(std::ostream &os, const float16_t &v)'],['../namespacemlx_1_1core.html#a7db909d54cf07375e89424c32c07a29c',1,'mlx::core::operator<<(std::ostream &os, const bfloat16_t &v)']]], ['operator_3c_3d_28',['operator<=',['../backend_2metal_2kernels_2complex_8h.html#aee04c9a63c6716a99a027418354debb0',1,'operator<=(complex64_t a, complex64_t b): complex.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#af469c58cffeab488c681f4b33f02cd05',1,'operator<=(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a5a81eae168dfafd299c2b94e3e8558cf',1,'operator<=(_MLX_BFloat16 lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0f486bf02c6ad5b9b6a96d3450f03e47',1,'operator<=(float lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#acba9efe192d22b7781b4622103c7a944',1,'operator<=(_MLX_BFloat16 lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aff100489cc40ad276c2d5d67a9df67db',1,'operator<=(half lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a7eac96f64ca42991caf819c8e8c8d2bc',1,'operator<=(_MLX_BFloat16 lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a88c11cd37600de5480570da3d2ae5732',1,'operator<=(int32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a08c7d12a0d16565fbf052dba2db8b22d',1,'operator<=(_MLX_BFloat16 lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a2b9de9624c0a507b4ead85f898ad9daf',1,'operator<=(uint32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a28f8d21c5eef047c701cf690ce9c2ef0',1,'operator<=(_MLX_BFloat16 lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a14b56c687053ee2432398a25663c068f',1,'operator<=(int64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0f360806708b95a3be400af0b8871b57',1,'operator<=(_MLX_BFloat16 lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a80d288f22cadfdf5e904410349e616a1',1,'operator<=(uint64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1steel.html#a6cc3bab5e7f6e7c719c82afa90ad2827',1,'mlx::steel::operator<=()'],['../group__ops.html#ga4c8b8a1632944acaae50f0de6c23ece6',1,'mlx::core::operator<=(const array &a, const array &b)'],['../group__ops.html#ga150a9be467c9f91482a6d6fc13504bc4',1,'mlx::core::operator<=(T a, const array &b)'],['../group__ops.html#ga624eeccef0cc4b130e1325abfea057cb',1,'mlx::core::operator<=(const array &a, T b)'],['../namespacemlx_1_1core.html#a0066a47cb21223ddebc77992ee874fb9',1,'mlx::core::operator<=(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a2593dbace3ce50e7146d9514726a543f',1,'mlx::core::operator<=(_MLX_BFloat16 lhs, float rhs)'],['../namespacemlx_1_1core.html#a88654bcf6c9728517a2933ca2e29a7c1',1,'mlx::core::operator<=(float lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a5d4f449e9c1699b99fcf894dd15e8af3',1,'mlx::core::operator<=(_MLX_BFloat16 lhs, double rhs)'],['../namespacemlx_1_1core.html#a6b678bea8fdcda1f11c6691b56a15211',1,'mlx::core::operator<=(double lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ae8aacc606ea16f018a90eae758830a35',1,'mlx::core::operator<=(_MLX_BFloat16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a25668dea4ffb51c7c00eeecb9530d1d8',1,'mlx::core::operator<=(int32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a084558b6a5487549799c49c37c9e9652',1,'mlx::core::operator<=(_MLX_BFloat16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#ade2e2a0daa79d5c52f278f85f03dde2e',1,'mlx::core::operator<=(uint32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a750a2d2b4976ad94b08994d081f83445',1,'mlx::core::operator<=(_MLX_BFloat16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#ade5a175ff45347689ac4c798d04c8ffc',1,'mlx::core::operator<=(int64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ae25e0c01b46612f039313a4825ba6428',1,'mlx::core::operator<=(_MLX_BFloat16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a5c90f16d8f6edf4b75c96b945b9fa591',1,'mlx::core::operator<=(uint64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a8cd6583fa0fc9957f993e00b2ec01d91',1,'mlx::core::operator<=(const complex64_t &a, const complex64_t &b)'],['../namespacemlx_1_1core.html#a012130a0458cbc30b88365e0e0eab232',1,'mlx::core::operator<=(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ae8c890bdcffadee8c5dab85c907f57eb',1,'mlx::core::operator<=(_MLX_Float16 lhs, float rhs)'],['../namespacemlx_1_1core.html#a43cb070553c1f2fffb32ef6670e30980',1,'mlx::core::operator<=(float lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ac759b7798d668a99535e59e26d6ba192',1,'mlx::core::operator<=(_MLX_Float16 lhs, double rhs)'],['../namespacemlx_1_1core.html#a70e528a789b5660d98e783b045aaa379',1,'mlx::core::operator<=(double lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a40bd8abb8a4d989ddabbb298518bd7f5',1,'mlx::core::operator<=(_MLX_Float16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a4155d4b0c76f37ab5e0b54f9cd683f35',1,'mlx::core::operator<=(int32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ad8bb648d0603a206e0392990c911ca0b',1,'mlx::core::operator<=(_MLX_Float16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#ace72a5853f2afd6510dcb97d54fa650d',1,'mlx::core::operator<=(uint32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#ab38f7a0d3c0809071ff5d3af859018d6',1,'mlx::core::operator<=(_MLX_Float16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a7904b886d7b535a6af0a885d00597323',1,'mlx::core::operator<=(int64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a57952168bd0b54c2677204d4ab1cb6e5',1,'mlx::core::operator<=(_MLX_Float16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#a6235dc5f4db517618bb3449b08c96e8b',1,'mlx::core::operator<=(uint64_t lhs, _MLX_Float16 rhs)']]], ['operator_3d_29',['operator=',['../classmlx_1_1core_1_1allocator_1_1_allocator.html#a027b84cddc8d476f736ac1f1a9991fe4',1,'mlx::core::allocator::Allocator::operator=(const Allocator &other)=delete'],['../classmlx_1_1core_1_1allocator_1_1_allocator.html#a2e971b47339b1d0849a334a902a9df3c',1,'mlx::core::allocator::Allocator::operator=(Allocator &&other)=delete'],['../classmlx_1_1core_1_1array.html#a8acf2b4c75f9b7f79da6675dbc36cf36',1,'mlx::core::array::operator=(const array &other) &&=delete'],['../classmlx_1_1core_1_1array.html#a5c89c2406a610b32943955f9a5060fbd',1,'mlx::core::array::operator=(array &&other) &&=delete'],['../classmlx_1_1core_1_1array.html#ad3277ff68f1336aa217f9cbe40181479',1,'mlx::core::array::operator=(array &&other) &=default'],['../classmlx_1_1core_1_1array.html#a5da41aabecf4c8055b7515341bf57147',1,'mlx::core::array::operator=(const array &other) &'],['../structmlx_1_1core_1_1array_1_1_data.html#a68e9417954fe811b5e41e6317a526748',1,'mlx::core::array::Data::operator=()'],['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#a3f42a1362b4a513fa89e7b3dcc570a8e',1,'mlx::core::metal::CommandEncoder::operator=()'],['../classmlx_1_1core_1_1metal_1_1_device.html#ad1d6382fd18a46b1906e1b43e0bd2e73',1,'mlx::core::metal::Device::operator=()'],['../classmlx_1_1core_1_1metal_1_1_residency_set.html#aef97dbbc755940789f99a26164591c45',1,'mlx::core::metal::ResidencySet::operator=()'],['../classmlx_1_1core_1_1_primitive.html#a6b1be7ea92f3a7bb19875c70259dad6b',1,'mlx::core::Primitive::operator=(const Primitive &other)=delete'],['../classmlx_1_1core_1_1_primitive.html#a50bbddd43e1ba0cf5f127cd7aa756a9e',1,'mlx::core::Primitive::operator=(Primitive &&other)=delete'],['../classmlx_1_1core_1_1_unary_primitive.html#a0a859309a4f192f2679e07f2e4ff4d22',1,'mlx::core::UnaryPrimitive::operator=(const UnaryPrimitive &other)=delete'],['../classmlx_1_1core_1_1_unary_primitive.html#ab90b2ea80f1d914be03cf44def5db5a5',1,'mlx::core::UnaryPrimitive::operator=(UnaryPrimitive &&other)=delete'],['../classmlx_1_1core_1_1scheduler_1_1_scheduler.html#ab170dbd2ce34c51e2eeebf5d08e7e2db',1,'mlx::core::scheduler::Scheduler::operator=(const Scheduler &)=delete'],['../classmlx_1_1core_1_1scheduler_1_1_scheduler.html#a035ea35f4dd8ee985973080f14029379',1,'mlx::core::scheduler::Scheduler::operator=(Scheduler &&)=delete'],['../structmlx_1_1core_1_1___m_l_x___b_float16.html#a0f65b0523b8ddd989f338da6cb2860e3',1,'mlx::core::_MLX_BFloat16::operator=(std::vector< bool >::reference x)'],['../structmlx_1_1core_1_1___m_l_x___b_float16.html#abb8cd44ee22b17c55333ff2eb4e13a14',1,'mlx::core::_MLX_BFloat16::operator=(const float &x)'],['../structmlx_1_1core_1_1___m_l_x___float16.html#a608a099bf7116ee608dcfd31ea3ade2c',1,'mlx::core::_MLX_Float16::operator=(std::vector< bool >::reference x)'],['../structmlx_1_1core_1_1___m_l_x___float16.html#a35543c3653d477c46350697fb808373d',1,'mlx::core::_MLX_Float16::operator=(const float &x)']]], ['operator_3d_3d_30',['operator==',['../backend_2metal_2kernels_2complex_8h.html#abfc19f03616441245dfc7726b278f190',1,'operator==(complex64_t a, complex64_t b): complex.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a49a13b06a325ed3cca4004b6a0cde065',1,'operator==(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a0aa3bfcfab53700488e5f386e6de60d5',1,'operator==(_MLX_BFloat16 lhs, float rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a3936148781ab1c4f33f58d12c116f370',1,'operator==(float lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae753526b669fba27771089dc809abd66',1,'operator==(_MLX_BFloat16 lhs, half rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a05a4f197a71d0f16879032f44492bb79',1,'operator==(half lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ae86f5917847b1ec9f313996250f2e0be',1,'operator==(_MLX_BFloat16 lhs, int32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aab74ec4d33a64b92b908717d500f1ecf',1,'operator==(int32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac30a2c1fa6f172af903fdeb6a8632606',1,'operator==(_MLX_BFloat16 lhs, uint32_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ab4e9ad547aa23daa351075e0ecc58fa2',1,'operator==(uint32_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aa5fa1a8f2b39c3508fe38205469756d1',1,'operator==(_MLX_BFloat16 lhs, int64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#aeadc1f36c6bdc219294ce9341d80afa5',1,'operator==(int64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#a3ae2091ada1e39e857fbc53c97bdb79f',1,'operator==(_MLX_BFloat16 lhs, uint64_t rhs): bf16.h'],['../backend_2metal_2kernels_2metal__3__0_2bf16_8h.html#ac7b4d295f3c7b1e09964f24f306422da',1,'operator==(uint64_t lhs, _MLX_BFloat16 rhs): bf16.h'],['../namespacemlx_1_1steel.html#abcc797f27e87e857b41c1a8d33ee2c78',1,'mlx::steel::operator==()'],['../namespacemlx_1_1core.html#a937503d72b66c661bf3f5fdcd98ef97c',1,'mlx::core::operator==(const Device &lhs, const Device &rhs)'],['../group__ops.html#gaa30cf69f3d22f65615f5e1696dd5703f',1,'mlx::core::operator==(const array &a, const array &b)'],['../group__ops.html#gaf115782d009ac2a547fcca395c9ec797',1,'mlx::core::operator==(T a, const array &b)'],['../group__ops.html#ga3ad3ed7aece2650943a35082dbe3a0a5',1,'mlx::core::operator==(const array &a, T b)'],['../namespacemlx_1_1core.html#ac470f937a379d6356c8f567c97cd7481',1,'mlx::core::operator==(const Stream &lhs, const Stream &rhs)'],['../namespacemlx_1_1core.html#aec63a0472cb943fe39f31e7678555572',1,'mlx::core::operator==(_MLX_BFloat16 lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ad05311ca8e2f19ffe5849e963837cec7',1,'mlx::core::operator==(_MLX_BFloat16 lhs, float rhs)'],['../namespacemlx_1_1core.html#aaaf591cb2188381e6cbd857132d04eb7',1,'mlx::core::operator==(float lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a7ef33c33509ccccf1ab217500e8b3c1a',1,'mlx::core::operator==(_MLX_BFloat16 lhs, double rhs)'],['../namespacemlx_1_1core.html#abec4200a718b7c5ed80b7abcc4447260',1,'mlx::core::operator==(double lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ad853981b1c5ba69b07d54c7b77055d22',1,'mlx::core::operator==(_MLX_BFloat16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a752d6cb4172a9cb91e5da19582329c6d',1,'mlx::core::operator==(int32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a0175beb3de139faa08479a88215b35ea',1,'mlx::core::operator==(_MLX_BFloat16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#a61da2851cb3beeef28049228346c28b5',1,'mlx::core::operator==(uint32_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#aa24713cb9e39bacb516c992eb03d2b2b',1,'mlx::core::operator==(_MLX_BFloat16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a6d565dd93c46259f9486d9fdf0969589',1,'mlx::core::operator==(int64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#a24e79a82557861de64dad66d36e6ff30',1,'mlx::core::operator==(_MLX_BFloat16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#af27d515ac390d62bd852b73ea759a947',1,'mlx::core::operator==(uint64_t lhs, _MLX_BFloat16 rhs)'],['../namespacemlx_1_1core.html#ae3e1e8b7a5410e0edf35f31f74295e2f',1,'mlx::core::operator==(_MLX_Float16 lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#aaa22230a66b15c3e774d8ce45783a746',1,'mlx::core::operator==(_MLX_Float16 lhs, float rhs)'],['../namespacemlx_1_1core.html#ae2a0bcdc171d7e9745d33e1d9aac4f8a',1,'mlx::core::operator==(float lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a331ec62442a8d3eb8ccba7b4de5168d1',1,'mlx::core::operator==(_MLX_Float16 lhs, double rhs)'],['../namespacemlx_1_1core.html#acfcaefe0990eb3533e2b11a6f2657492',1,'mlx::core::operator==(double lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a8d48dbd49cccff07777affb2a412058c',1,'mlx::core::operator==(_MLX_Float16 lhs, int32_t rhs)'],['../namespacemlx_1_1core.html#a88eae27edd22fa4418776672023cb276',1,'mlx::core::operator==(int32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a188b363f633ea360407b3f9cf4e1f1a6',1,'mlx::core::operator==(_MLX_Float16 lhs, uint32_t rhs)'],['../namespacemlx_1_1core.html#ae065fe5c42c1a333d7858d19f6434fa9',1,'mlx::core::operator==(uint32_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a2f98db199deb6d7a82551fa4afec655a',1,'mlx::core::operator==(_MLX_Float16 lhs, int64_t rhs)'],['../namespacemlx_1_1core.html#a85f83add412cb320b5cd1c3da6aadbd5',1,'mlx::core::operator==(int64_t lhs, _MLX_Float16 rhs)'],['../namespacemlx_1_1core.html#a7e2cee66c3ca1b56f4f3d7fd1d6e0be1',1,'mlx::core::operator==(_MLX_Float16 lhs, uint64_t rhs)'],['../namespacemlx_1_1core.html#ad436557da5c7fea71fc58182a876cfe5',1,'mlx::core::operator==(uint64_t lhs, _MLX_Float16 rhs)']]], @@ -42,7 +42,7 @@ var searchData= ['operator_7c_7c_39',['operator||',['../namespacemlx_1_1steel.html#a1bb3ac5061a04e407fc4cdcc9f6ea03f',1,'mlx::steel::operator||()'],['../group__ops.html#ga27af56a98270d4d76d139f0f9171b83a',1,'mlx::core::operator||()']]], ['out_5fof_5fbounds_40',['out_of_bounds',['../struct_read_writer.html#a08e10626fbc789b6dff9172fd6c36f7c',1,'ReadWriter::out_of_bounds() const'],['../struct_read_writer.html#a6f946aea5452109dca7fc70ed39c6efe',1,'ReadWriter::out_of_bounds() const'],['../struct_read_writer.html#a8f40d7f343d32134fe27a694abfde6bf',1,'ReadWriter::out_of_bounds() const']]], ['outer_41',['outer',['../group__ops.html#ga866af24e10db2797e1c5a5986dbf6c0d',1,'mlx::core']]], - ['output_5fshapes_42',['output_shapes',['../classmlx_1_1core_1_1_primitive.html#a8849dc20991398f6f9a24d6785673853',1,'mlx::core::Primitive::output_shapes()'],['../classmlx_1_1core_1_1_abs.html#ab6a2b147f58c83439ecefb9189c2da32',1,'mlx::core::Abs::output_shapes()'],['../classmlx_1_1core_1_1_add.html#a9884fece6ca4061a65241c985fcf1594',1,'mlx::core::Add::output_shapes()'],['../classmlx_1_1core_1_1_arc_cos.html#a8ecd5b9a8cc9cba841768a5b2b497974',1,'mlx::core::ArcCos::output_shapes()'],['../classmlx_1_1core_1_1_arc_cosh.html#ae5d6660121f7f5a55824b95e7fd3dc6b',1,'mlx::core::ArcCosh::output_shapes()'],['../classmlx_1_1core_1_1_arc_sin.html#a1c6e478804eb5d171e4859b872db29f5',1,'mlx::core::ArcSin::output_shapes()'],['../classmlx_1_1core_1_1_arc_sinh.html#a6e0319a3cee5f6b9d43a3ac256b2c2ed',1,'mlx::core::ArcSinh::output_shapes()'],['../classmlx_1_1core_1_1_arc_tan.html#aa5d1e60d50ffa77b1d0e14af8d7e127a',1,'mlx::core::ArcTan::output_shapes()'],['../classmlx_1_1core_1_1_arc_tan2.html#a3f4ad806a0c59c2d1ae1c55c9889bf03',1,'mlx::core::ArcTan2::output_shapes()'],['../classmlx_1_1core_1_1_arc_tanh.html#a30246c56e1d75638c3696f84323861d8',1,'mlx::core::ArcTanh::output_shapes()'],['../classmlx_1_1core_1_1_arg_partition.html#a28608aee76a2db25f6455da561526c64',1,'mlx::core::ArgPartition::output_shapes()'],['../classmlx_1_1core_1_1_arg_reduce.html#a40a047cb3ed8d1445d42100b3fd85179',1,'mlx::core::ArgReduce::output_shapes()'],['../classmlx_1_1core_1_1_arg_sort.html#ac50e0b76c457aae944425b3a57c33859',1,'mlx::core::ArgSort::output_shapes()'],['../classmlx_1_1core_1_1_as_type.html#a18922e68006b5cf005355f5c9ac57ac4',1,'mlx::core::AsType::output_shapes()'],['../classmlx_1_1core_1_1_bitwise_binary.html#a7d2dfa8884832fc1a94ce6400d0ed599',1,'mlx::core::BitwiseBinary::output_shapes()'],['../classmlx_1_1core_1_1_ceil.html#a1eb263c04df810e212855a17af0658ea',1,'mlx::core::Ceil::output_shapes()'],['../classmlx_1_1core_1_1_compiled.html#a453a10c68b7825def5b53207bc04a71c',1,'mlx::core::Compiled::output_shapes()'],['../classmlx_1_1core_1_1_conjugate.html#ada40413e9f210251476a37cc0d0ea37f',1,'mlx::core::Conjugate::output_shapes()'],['../classmlx_1_1core_1_1_contiguous.html#a1a53623d7c591ba6567ac1533fbc2b7c',1,'mlx::core::Contiguous::output_shapes()'],['../classmlx_1_1core_1_1_copy.html#ac3d13ebc6464403962fa1a9897fe6df3',1,'mlx::core::Copy::output_shapes()'],['../classmlx_1_1core_1_1_cos.html#a05b2d43942aa1d93a40c20ae8b90a25b',1,'mlx::core::Cos::output_shapes()'],['../classmlx_1_1core_1_1_cosh.html#a1bef7feac9a387ea80e7fc774f579962',1,'mlx::core::Cosh::output_shapes()'],['../classmlx_1_1core_1_1_divide.html#ad514bed77ad94742e26c93e446940994',1,'mlx::core::Divide::output_shapes()'],['../classmlx_1_1core_1_1_div_mod.html#a61d835d777c8063089dc708898ff314b',1,'mlx::core::DivMod::output_shapes()'],['../classmlx_1_1core_1_1_select.html#a295cd22e2284f2216bc93fdcf0b54867',1,'mlx::core::Select::output_shapes()'],['../classmlx_1_1core_1_1_remainder.html#a74bf3a9723b59200573ff8bac9a0b666',1,'mlx::core::Remainder::output_shapes()'],['../classmlx_1_1core_1_1_equal.html#a2f91e9603f63ad539837356b1ff3e7a9',1,'mlx::core::Equal::output_shapes()'],['../classmlx_1_1core_1_1_erf.html#afa4abbd7786b474c44c336a95481d187',1,'mlx::core::Erf::output_shapes()'],['../classmlx_1_1core_1_1_erf_inv.html#a22a95594e68b43b50c05355c82779639',1,'mlx::core::ErfInv::output_shapes()'],['../classmlx_1_1core_1_1_exp.html#aee7ba8d5be4a11f4b8f359b0338ab670',1,'mlx::core::Exp::output_shapes()'],['../classmlx_1_1core_1_1_expm1.html#ab9dbf34806eb43b928722ed9e8feed08',1,'mlx::core::Expm1::output_shapes()'],['../classmlx_1_1core_1_1_floor.html#aaf86becc7bfba6ee2af0d1f6d8e25015',1,'mlx::core::Floor::output_shapes()'],['../classmlx_1_1core_1_1_greater.html#ab2167a38c3baff99f527f17eb4c71d46',1,'mlx::core::Greater::output_shapes()'],['../classmlx_1_1core_1_1_greater_equal.html#a636a9cc00b0333e49978f39814af640f',1,'mlx::core::GreaterEqual::output_shapes()'],['../classmlx_1_1core_1_1_hadamard.html#a458614bc7820ae56493eb56d813b2cde',1,'mlx::core::Hadamard::output_shapes()'],['../classmlx_1_1core_1_1_imag.html#ab396ef74748abd3d4121ffee33a08d48',1,'mlx::core::Imag::output_shapes()'],['../classmlx_1_1core_1_1_less.html#a5e8b56574ccb91c065548f4bda40e278',1,'mlx::core::Less::output_shapes()'],['../classmlx_1_1core_1_1_less_equal.html#a2e259f3de11f97f3bd38a2e65667d78f',1,'mlx::core::LessEqual::output_shapes()'],['../classmlx_1_1core_1_1_log.html#a113dcc95e2a1a052238b1f5c8935a63d',1,'mlx::core::Log::output_shapes()'],['../classmlx_1_1core_1_1_log1p.html#aebf8f5b6670f55fa24283a934f4b25df',1,'mlx::core::Log1p::output_shapes()'],['../classmlx_1_1core_1_1_logical_not.html#a4a40511a052a6627085be378bbebe69c',1,'mlx::core::LogicalNot::output_shapes()'],['../classmlx_1_1core_1_1_logical_and.html#a191d69d92c01ed5ad82d4688f1de2617',1,'mlx::core::LogicalAnd::output_shapes()'],['../classmlx_1_1core_1_1_logical_or.html#a26259843be2de75d5e07cb7ea94fcfe4',1,'mlx::core::LogicalOr::output_shapes()'],['../classmlx_1_1core_1_1_log_add_exp.html#ac35cf432ecdd141d957b55fc4bff6635',1,'mlx::core::LogAddExp::output_shapes()'],['../classmlx_1_1core_1_1_maximum.html#a7bb80360ba4b74d0b0f3f74a5ff90d1b',1,'mlx::core::Maximum::output_shapes()'],['../classmlx_1_1core_1_1_minimum.html#ab4a85741dffaa64d8ead028f11539d70',1,'mlx::core::Minimum::output_shapes()'],['../classmlx_1_1core_1_1_multiply.html#a072de3911113247c95c28d3b52400061',1,'mlx::core::Multiply::output_shapes()'],['../classmlx_1_1core_1_1_negative.html#a253c08c7461bf2dce05f555c8dbf0014',1,'mlx::core::Negative::output_shapes()'],['../classmlx_1_1core_1_1_not_equal.html#a5b10e99bc564197e7b16dccb0577d89a',1,'mlx::core::NotEqual::output_shapes()'],['../classmlx_1_1core_1_1_number_of_elements.html#aae36bb1e125c0a2d7cd54e78be0f2af8',1,'mlx::core::NumberOfElements::output_shapes()'],['../classmlx_1_1core_1_1_partition.html#ae5b792df683bc14dde89f75ac6bcbeaf',1,'mlx::core::Partition::output_shapes()'],['../classmlx_1_1core_1_1_power.html#a1c17867ea1bad8899adb38185c9423c1',1,'mlx::core::Power::output_shapes()'],['../classmlx_1_1core_1_1_real.html#a75d7b85e68a7a03ec911c7acc09ddde5',1,'mlx::core::Real::output_shapes()'],['../classmlx_1_1core_1_1_reduce.html#a0f73c2a55dc324145e11020c9b4d9a65',1,'mlx::core::Reduce::output_shapes()'],['../classmlx_1_1core_1_1_round.html#ad9a26817864dfc94b56e66bc6d80b047',1,'mlx::core::Round::output_shapes()'],['../classmlx_1_1core_1_1_sigmoid.html#a34572023c8748971289c2cb109ff9a43',1,'mlx::core::Sigmoid::output_shapes()'],['../classmlx_1_1core_1_1_sign.html#a719709b3c5d6b15a75614bdadd185f67',1,'mlx::core::Sign::output_shapes()'],['../classmlx_1_1core_1_1_sin.html#a46f059f04fd540f175f6031d28dc9f3a',1,'mlx::core::Sin::output_shapes()'],['../classmlx_1_1core_1_1_sinh.html#a4f10e7e6daf500575d97e077901e7d28',1,'mlx::core::Sinh::output_shapes()'],['../classmlx_1_1core_1_1_softmax.html#afea757ba328b9d8f35058793eae73e35',1,'mlx::core::Softmax::output_shapes()'],['../classmlx_1_1core_1_1_sort.html#a271545b66607b22e5f06a0fefe69f22d',1,'mlx::core::Sort::output_shapes()'],['../classmlx_1_1core_1_1_square.html#ac4c4927639cab1c5b91a074e7f68da02',1,'mlx::core::Square::output_shapes()'],['../classmlx_1_1core_1_1_sqrt.html#ae3d4f99729a7e72be7decf5a56d095d5',1,'mlx::core::Sqrt::output_shapes()'],['../classmlx_1_1core_1_1_stop_gradient.html#a12e7f55e087aea58b2a56f239c69bb4e',1,'mlx::core::StopGradient::output_shapes()'],['../classmlx_1_1core_1_1_subtract.html#a0fbf4bc9a0c76edc37ebb4083d98f3fc',1,'mlx::core::Subtract::output_shapes()'],['../classmlx_1_1core_1_1_tan.html#a7be9fd77491a48b07b6e126ab68bdf37',1,'mlx::core::Tan::output_shapes()'],['../classmlx_1_1core_1_1_tanh.html#a0392f51a9e51915d4691615757ba4325',1,'mlx::core::Tanh::output_shapes()'],['../classmlx_1_1core_1_1_eigh.html#a68c890a4172711fbab8baef8da40a9c5',1,'mlx::core::Eigh::output_shapes()']]], + ['output_5fshapes_42',['output_shapes',['../classmlx_1_1core_1_1fast_1_1_affine_quantize.html#a50934862ccdb16a3dcce6626c5727080',1,'mlx::core::fast::AffineQuantize::output_shapes()'],['../classmlx_1_1core_1_1_primitive.html#aa5b443d71db1c7ed31a5ae6e31b7fe29',1,'mlx::core::Primitive::output_shapes()'],['../classmlx_1_1core_1_1_abs.html#ac9d55481e5490423e4aaf02b95cafc75',1,'mlx::core::Abs::output_shapes()'],['../classmlx_1_1core_1_1_add.html#a50877893083fd78b31aa25152f750418',1,'mlx::core::Add::output_shapes()'],['../classmlx_1_1core_1_1_arange.html#a447083a1403d3d42a7ad9c307a666946',1,'mlx::core::Arange::output_shapes()'],['../classmlx_1_1core_1_1_arc_cos.html#a67a5025f8d7e5bac22888ad4bf813679',1,'mlx::core::ArcCos::output_shapes()'],['../classmlx_1_1core_1_1_arc_cosh.html#a3ab82e9f0452faea735338abccb5f0ac',1,'mlx::core::ArcCosh::output_shapes()'],['../classmlx_1_1core_1_1_arc_sin.html#a0217b9a4e18196ed65ba96b4ad096ecd',1,'mlx::core::ArcSin::output_shapes()'],['../classmlx_1_1core_1_1_arc_sinh.html#a2f668f230d93c7b90e62200a0b7cb6f6',1,'mlx::core::ArcSinh::output_shapes()'],['../classmlx_1_1core_1_1_arc_tan.html#a2ebabfd1c2963199df0d7610b7ddf422',1,'mlx::core::ArcTan::output_shapes()'],['../classmlx_1_1core_1_1_arc_tan2.html#acb8e5cf85c4bc58f909ce2e8b83c3619',1,'mlx::core::ArcTan2::output_shapes()'],['../classmlx_1_1core_1_1_arc_tanh.html#a6806f04142d850f107a18a71900759c6',1,'mlx::core::ArcTanh::output_shapes()'],['../classmlx_1_1core_1_1_arg_partition.html#a587ce69b0639683ba646652f887d0239',1,'mlx::core::ArgPartition::output_shapes()'],['../classmlx_1_1core_1_1_arg_reduce.html#a81a70885480c1d436329025091b2fa4c',1,'mlx::core::ArgReduce::output_shapes()'],['../classmlx_1_1core_1_1_arg_sort.html#a219ce04a811397a900c3235d8e6aef5c',1,'mlx::core::ArgSort::output_shapes()'],['../classmlx_1_1core_1_1_as_type.html#a3975b31cfd86d6eb33dc73554b357b88',1,'mlx::core::AsType::output_shapes()'],['../classmlx_1_1core_1_1_bitwise_binary.html#a49c9d2688d3cca8abf5698a250d57d56',1,'mlx::core::BitwiseBinary::output_shapes()'],['../classmlx_1_1core_1_1_ceil.html#a3bf7db5178ed26e23d9ba360ba34ab85',1,'mlx::core::Ceil::output_shapes()'],['../classmlx_1_1core_1_1_compiled.html#a15cb081590ee024ba11476494581a4d4',1,'mlx::core::Compiled::output_shapes()'],['../classmlx_1_1core_1_1_concatenate.html#af8415a2fe28804a1437d0876ba15615f',1,'mlx::core::Concatenate::output_shapes()'],['../classmlx_1_1core_1_1_conjugate.html#afd68332463d12e69c47388f6b81ae96c',1,'mlx::core::Conjugate::output_shapes()'],['../classmlx_1_1core_1_1_contiguous.html#afff58fbf61f0c26b3606208dd2fa2072',1,'mlx::core::Contiguous::output_shapes()'],['../classmlx_1_1core_1_1_copy.html#a6bbe5fd9ce3cb5a39853b316106d2674',1,'mlx::core::Copy::output_shapes()'],['../classmlx_1_1core_1_1_cos.html#a923312e71c5a003a38b37ab67ec82580',1,'mlx::core::Cos::output_shapes()'],['../classmlx_1_1core_1_1_cosh.html#adf58c7e24b5059e66007132bc16dfe49',1,'mlx::core::Cosh::output_shapes()'],['../classmlx_1_1core_1_1_divide.html#a9563d9ee243204cfdaac6aca34853cd7',1,'mlx::core::Divide::output_shapes()'],['../classmlx_1_1core_1_1_div_mod.html#a1b7f104346cb5423ac15371b45c7ef86',1,'mlx::core::DivMod::output_shapes()'],['../classmlx_1_1core_1_1_select.html#a10e837a391542b364186288a87e11513',1,'mlx::core::Select::output_shapes()'],['../classmlx_1_1core_1_1_remainder.html#ab4de49818d1fdea8cdfef502f519b255',1,'mlx::core::Remainder::output_shapes()'],['../classmlx_1_1core_1_1_equal.html#ae714c2b0641fc9c339a2f8483bb4e257',1,'mlx::core::Equal::output_shapes()'],['../classmlx_1_1core_1_1_erf.html#ace70b96c48419e29243982ed697f6411',1,'mlx::core::Erf::output_shapes()'],['../classmlx_1_1core_1_1_erf_inv.html#a067cac7a7244b4dae6629c7e4466589f',1,'mlx::core::ErfInv::output_shapes()'],['../classmlx_1_1core_1_1_exp.html#aef2b3c24dba3ca3a63a210d3bd8e39b6',1,'mlx::core::Exp::output_shapes()'],['../classmlx_1_1core_1_1_expm1.html#ae78f03a204687f16164ed702cfc0d5cc',1,'mlx::core::Expm1::output_shapes()'],['../classmlx_1_1core_1_1_floor.html#a0a62dee6df6a82fcd955bf7670be2cd5',1,'mlx::core::Floor::output_shapes()'],['../classmlx_1_1core_1_1_gather.html#a53d89a6c4ebb634bc208bd85aa2fcda1',1,'mlx::core::Gather::output_shapes()'],['../classmlx_1_1core_1_1_greater.html#af798a7cd704a2a9a8b3ecb6ef49583b0',1,'mlx::core::Greater::output_shapes()'],['../classmlx_1_1core_1_1_greater_equal.html#a1a77c18d89ee227171ff38efef6cacf6',1,'mlx::core::GreaterEqual::output_shapes()'],['../classmlx_1_1core_1_1_hadamard.html#aa709166de3c493308689769579d665e8',1,'mlx::core::Hadamard::output_shapes()'],['../classmlx_1_1core_1_1_imag.html#ad4f847483ba07d20aba5b927c2689be8',1,'mlx::core::Imag::output_shapes()'],['../classmlx_1_1core_1_1_less.html#ad7604a75b79260d263ac0c7d959cadd5',1,'mlx::core::Less::output_shapes()'],['../classmlx_1_1core_1_1_less_equal.html#a5598c700e881673098928e47b4da9ff8',1,'mlx::core::LessEqual::output_shapes()'],['../classmlx_1_1core_1_1_log.html#ab2cae6889352ca0674f6463f8f52d77d',1,'mlx::core::Log::output_shapes()'],['../classmlx_1_1core_1_1_log1p.html#a73a02ddf0f125fff83462d97146a0a08',1,'mlx::core::Log1p::output_shapes()'],['../classmlx_1_1core_1_1_logical_not.html#ad3889969521c6a040aa2f26caee219b7',1,'mlx::core::LogicalNot::output_shapes()'],['../classmlx_1_1core_1_1_logical_and.html#a266f1eaced19b8b11e273de9219cf9ed',1,'mlx::core::LogicalAnd::output_shapes()'],['../classmlx_1_1core_1_1_logical_or.html#a931b98fca3e19085af9fa97a43db8ced',1,'mlx::core::LogicalOr::output_shapes()'],['../classmlx_1_1core_1_1_log_add_exp.html#a234f8c8ea5f5bf2fb7e371588fea98b9',1,'mlx::core::LogAddExp::output_shapes()'],['../classmlx_1_1core_1_1_matmul.html#abfabe69f428f7f125bf5665713a0eb5c',1,'mlx::core::Matmul::output_shapes()'],['../classmlx_1_1core_1_1_maximum.html#a888a69fb68726c3c18973f3ea38cfd2b',1,'mlx::core::Maximum::output_shapes()'],['../classmlx_1_1core_1_1_minimum.html#af921b5202ebf9716972bcf0e3056742a',1,'mlx::core::Minimum::output_shapes()'],['../classmlx_1_1core_1_1_multiply.html#adfd4c7f89660b42ab58e088b1ae19435',1,'mlx::core::Multiply::output_shapes()'],['../classmlx_1_1core_1_1_negative.html#a606fb13a48d10c88707f1a2c41bee9e8',1,'mlx::core::Negative::output_shapes()'],['../classmlx_1_1core_1_1_not_equal.html#ad1e8a577dc103d96f1ab65bf3b389d35',1,'mlx::core::NotEqual::output_shapes()'],['../classmlx_1_1core_1_1_number_of_elements.html#a6cdf307348ba22b3dc8f90f1fb1e0757',1,'mlx::core::NumberOfElements::output_shapes()'],['../classmlx_1_1core_1_1_partition.html#a5e62aa0109e53fb4acb861ef39787b4a',1,'mlx::core::Partition::output_shapes()'],['../classmlx_1_1core_1_1_power.html#af23ed795bdcdc4c3f91f0d4c1bb1d928',1,'mlx::core::Power::output_shapes()'],['../classmlx_1_1core_1_1_quantized_matmul.html#a7d57a31d41c58e1bd88ffe9c6b0dbf52',1,'mlx::core::QuantizedMatmul::output_shapes()'],['../classmlx_1_1core_1_1_real.html#a75999bd0b97d97a5675b9cdbab27dcff',1,'mlx::core::Real::output_shapes()'],['../classmlx_1_1core_1_1_reduce.html#aaf3da1c98cdf530803118b382c5f58bc',1,'mlx::core::Reduce::output_shapes()'],['../classmlx_1_1core_1_1_round.html#a61821399e177e142723fc986e437d459',1,'mlx::core::Round::output_shapes()'],['../classmlx_1_1core_1_1_sigmoid.html#aff024a3309584724c9842f172a4e440b',1,'mlx::core::Sigmoid::output_shapes()'],['../classmlx_1_1core_1_1_sign.html#a2260f2e8e081010192eb8a6f90acde6e',1,'mlx::core::Sign::output_shapes()'],['../classmlx_1_1core_1_1_sin.html#abdd433ecbb54898161b43aa9e14ec7f1',1,'mlx::core::Sin::output_shapes()'],['../classmlx_1_1core_1_1_sinh.html#ae04d8f6175c691a8f0d2a9fdd15af0ad',1,'mlx::core::Sinh::output_shapes()'],['../classmlx_1_1core_1_1_softmax.html#a1a798a4dcd62486362d4b58582357490',1,'mlx::core::Softmax::output_shapes()'],['../classmlx_1_1core_1_1_sort.html#acc0a3f078b3f4c83e6e1137cb81ee62c',1,'mlx::core::Sort::output_shapes()'],['../classmlx_1_1core_1_1_square.html#a0513541766bb997ed166643fe95a6d38',1,'mlx::core::Square::output_shapes()'],['../classmlx_1_1core_1_1_sqrt.html#ae45215d61e2e99749d9a0bae291edd45',1,'mlx::core::Sqrt::output_shapes()'],['../classmlx_1_1core_1_1_stop_gradient.html#a8af7641d478505d1dc39c75ba7d5a3cf',1,'mlx::core::StopGradient::output_shapes()'],['../classmlx_1_1core_1_1_subtract.html#aaaff4872bde70ad40cf90e6131ea0489',1,'mlx::core::Subtract::output_shapes()'],['../classmlx_1_1core_1_1_tan.html#a9e4bba311bb24617dbb5ca591bc2868e',1,'mlx::core::Tan::output_shapes()'],['../classmlx_1_1core_1_1_tanh.html#a8873286b69b805486fa83c4806843f3d',1,'mlx::core::Tanh::output_shapes()'],['../classmlx_1_1core_1_1_transpose.html#ac9328f43900bedec555909d09202ccd7',1,'mlx::core::Transpose::output_shapes()'],['../classmlx_1_1core_1_1_eigh.html#a9892f5b72dec19a5a2f7af5efcf2a952',1,'mlx::core::Eigh::output_shapes()']]], ['outputs_43',['outputs',['../classmlx_1_1core_1_1array.html#a2c186fd527f984f0589d4183b4976289',1,'mlx::core::array::outputs()'],['../structmlx_1_1core_1_1metal_1_1_command_encoder.html#aefa48740fdee884f02e2d379bca4e78f',1,'mlx::core::metal::CommandEncoder::outputs()']]], ['overwrite_5fdescriptor_44',['overwrite_descriptor',['../classmlx_1_1core_1_1array.html#a95e6b156c8e05439f076b85c05079387',1,'mlx::core::array']]] ]; diff --git a/docs/build/html/search/typedefs_3.js b/docs/build/html/search/typedefs_3.js index 8bf519014..bc4afafdc 100644 --- a/docs/build/html/search/typedefs_3.js +++ b/docs/build/html/search/typedefs_3.js @@ -1,5 +1,5 @@ var searchData= [ - ['deleter_5ft_0',['deleter_t',['../namespacemlx_1_1core.html#a1e6cec03ebd80fd2d6b12b288367bfa8',1,'mlx::core']]], + ['deleter_0',['Deleter',['../namespacemlx_1_1core.html#af834c1e18d6f11c4f233a2e1ce814a4b',1,'mlx::core']]], ['difference_5ftype_1',['difference_type',['../structmlx_1_1core_1_1array_1_1_array_iterator.html#adcee44c77980fc2370a2c31e203aead5',1,'mlx::core::array::ArrayIterator']]] ]; diff --git a/docs/build/html/search/typedefs_d.js b/docs/build/html/search/typedefs_d.js index d427dcde6..1bd754299 100644 --- a/docs/build/html/search/typedefs_d.js +++ b/docs/build/html/search/typedefs_d.js @@ -1,8 +1,10 @@ var searchData= [ ['safetensorsload_0',['SafetensorsLoad',['../namespacemlx_1_1core.html#a688cd7917b1365065e8059e9964c3d45',1,'mlx::core']]], - ['shape_5ft_1',['shape_t',['../namespacepocketfft_1_1detail.html#a885ee37fcf564a268a5c8ca9ea8603e1',1,'pocketfft::detail']]], - ['simplevalueandgradfn_2',['SimpleValueAndGradFn',['../namespacemlx_1_1core.html#a2689b8f1181648cb1685204fea9f3066',1,'mlx::core']]], - ['streamordevice_3',['StreamOrDevice',['../namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58',1,'mlx::core']]], - ['stride_5ft_4',['stride_t',['../namespacepocketfft_1_1detail.html#afb987c919e9424a996d0fc8b3c23cc84',1,'pocketfft::detail']]] + ['shape_1',['Shape',['../namespacemlx_1_1core.html#a9be5b57d393e66169279cf521813af9b',1,'mlx::core']]], + ['shape_5ft_2',['shape_t',['../namespacepocketfft_1_1detail.html#a885ee37fcf564a268a5c8ca9ea8603e1',1,'pocketfft::detail']]], + ['simplevalueandgradfn_3',['SimpleValueAndGradFn',['../namespacemlx_1_1core.html#a2689b8f1181648cb1685204fea9f3066',1,'mlx::core']]], + ['streamordevice_4',['StreamOrDevice',['../namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58',1,'mlx::core']]], + ['stride_5ft_5',['stride_t',['../namespacepocketfft_1_1detail.html#afb987c919e9424a996d0fc8b3c23cc84',1,'pocketfft::detail']]], + ['strides_6',['Strides',['../namespacemlx_1_1core.html#aca6e505f52ea1464d9c2c09f9f445d62',1,'mlx::core']]] ]; diff --git a/docs/build/html/search/typedefs_e.js b/docs/build/html/search/typedefs_e.js index fd5deb26c..9874534d3 100644 --- a/docs/build/html/search/typedefs_e.js +++ b/docs/build/html/search/typedefs_e.js @@ -3,5 +3,5 @@ var searchData= ['templatearg_0',['TemplateArg',['../namespacemlx_1_1core_1_1fast.html#a9390693ff7be931f3ef3428e2ea4c3f9',1,'mlx::core::fast']]], ['thread_5fsort_5ft_1',['thread_sort_t',['../struct_block_merge_sort.html#ad2474d16721f4ceb954125728a0e2ea2',1,'BlockMergeSort']]], ['true_5ftype_2',['true_type',['../namespacemlx_1_1steel.html#a594a6ccb75b38b5ae4ddd0d9ad047b3a',1,'mlx::steel']]], - ['type_3',['type',['../structpocketfft_1_1detail_1_1add__vec.html#a7568dc83136c1b41eb71dcb78527227e',1,'pocketfft::detail::add_vec::type'],['../structpocketfft_1_1detail_1_1add__vec_3_01cmplx_3_01_t_01_4_01_4.html#a257b1c81fb9f559c48ee90497013494e',1,'pocketfft::detail::add_vec< cmplx< T > >::type'],['../structmlx_1_1steel_1_1integral__constant.html#a6492c15b37d160d3a33e1cbe770aa3f1',1,'mlx::steel::integral_constant::type'],['../structmetal_1_1make__void.html#aee74916713465374928c5379ab0d9b75',1,'metal::make_void::type'],['../structmetal_1_1pointer__element_3_01thread_01_t_01_5_01_4.html#a98fbc2aa99dd26bb35aa9cd1826318d8',1,'metal::pointer_element< thread T * >::type'],['../structmetal_1_1pointer__element_3_01device_01_t_01_5_01_4.html#ab36a7c5a64c0693dd3d8ccb322c163d4',1,'metal::pointer_element< device T * >::type'],['../structmetal_1_1pointer__element_3_01constant_01_t_01_5_01_4.html#ad154b55b9e450a6376016488c8e68c53',1,'metal::pointer_element< constant T * >::type'],['../structmetal_1_1pointer__element_3_01threadgroup_01_t_01_5_01_4.html#a78c718d6da9d393c139a385f42472362',1,'metal::pointer_element< threadgroup T * >::type']]] + ['type_3',['type',['../structpocketfft_1_1detail_1_1add__vec.html#a7568dc83136c1b41eb71dcb78527227e',1,'pocketfft::detail::add_vec::type'],['../structpocketfft_1_1detail_1_1add__vec_3_01cmplx_3_01_t_01_4_01_4.html#a257b1c81fb9f559c48ee90497013494e',1,'pocketfft::detail::add_vec< cmplx< T > >::type'],['../structmlx_1_1steel_1_1integral__constant.html#a6492c15b37d160d3a33e1cbe770aa3f1',1,'mlx::steel::integral_constant::type'],['../structmetal_1_1make__void.html#aee74916713465374928c5379ab0d9b75',1,'metal::make_void::type'],['../structmetal_1_1pointer__element_3_01thread_01_t_01_5_01_4.html#a98fbc2aa99dd26bb35aa9cd1826318d8',1,'metal::pointer_element< thread T * >::type'],['../structmetal_1_1pointer__element_3_01device_01_t_01_5_01_4.html#ab36a7c5a64c0693dd3d8ccb322c163d4',1,'metal::pointer_element< device T * >::type'],['../structmetal_1_1pointer__element_3_01constant_01_t_01_5_01_4.html#ad154b55b9e450a6376016488c8e68c53',1,'metal::pointer_element< constant T * >::type'],['../structmetal_1_1pointer__element_3_01threadgroup_01_t_01_5_01_4.html#a78c718d6da9d393c139a385f42472362',1,'metal::pointer_element< threadgroup T * >::type'],['../struct_conditional_type.html#a00bac71c43763817c4422bf0363dc92b',1,'ConditionalType::type'],['../struct_conditional_type_3_01true_00_01_t_00_01_u_01_4.html#abf6b75b3bfc5e3baf8c37afdb8a7e4fc',1,'ConditionalType< true, T, U >::type']]] ]; diff --git a/docs/build/html/search/variables_1.js b/docs/build/html/search/variables_1.js index ee78d0f3d..a1e1dd45e 100644 --- a/docs/build/html/search/variables_1.js +++ b/docs/build/html/search/variables_1.js @@ -5,31 +5,32 @@ var searchData= ['b_5fstr_5fk_2',['B_str_k',['../structmlx_1_1steel_1_1_block_m_m_a.html#aa71400922babd388177f228c2c82b211',1,'mlx::steel::BlockMMA']]], ['b_5fstr_5fn_3',['B_str_n',['../structmlx_1_1steel_1_1_block_m_m_a.html#a49538190209e522ddbef45fe95563d17',1,'mlx::steel::BlockMMA']]], ['backward_4',['BACKWARD',['../namespacepocketfft_1_1detail.html#a9d1eaa7469c018c39e745733eab9a9c3',1,'pocketfft::detail']]], - ['base_5fwh_5',['base_wh',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#aca37adba6f148579eb1cd0a7800a5cfe',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::base_wh'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a6c46564bf1a96a02791dd432cc9c883e',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::base_wh']]], - ['base_5fww_6',['base_ww',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a32d020c6715d06f7de360877fcb7b6e4',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::base_ww'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a230f0e581f9b8227b9ee68760b3b1503',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::base_ww']]], - ['batch_5fndim_7',['batch_ndim',['../structmlx_1_1steel_1_1_g_e_m_m_params.html#a640dc138a8bf7b2b5bed6a436b429c2f',1,'mlx::steel::GEMMParams']]], - ['batch_5fsize_8',['batch_size',['../struct_read_writer.html#a689f4890c1d2ce33fc6da7550beec735',1,'ReadWriter']]], - ['batch_5fstride_5fa_9',['batch_stride_a',['../structmlx_1_1steel_1_1_g_e_m_m_params.html#a76f55783a8e2ee203cf8507eee4b000c',1,'mlx::steel::GEMMParams']]], - ['batch_5fstride_5fb_10',['batch_stride_b',['../structmlx_1_1steel_1_1_g_e_m_m_params.html#a99b959b12d12da657648fa24d43e49e8',1,'mlx::steel::GEMMParams']]], - ['batch_5fstride_5fc_11',['batch_stride_c',['../structmlx_1_1steel_1_1_g_e_m_m_add_m_m_params.html#a77c065db228e9654a0a75a6ffe47c15a',1,'mlx::steel::GEMMAddMMParams']]], - ['batch_5fstride_5fd_12',['batch_stride_d',['../structmlx_1_1steel_1_1_g_e_m_m_params.html#ad98006dd509a455864e6aa7c52743a41',1,'mlx::steel::GEMMParams']]], - ['bcols_13',['BCOLS',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a29fbeeacdf5b6feeb74815ced255fa5a',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::BCOLS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#ac3b40db720055350bba59d614ea1dd79',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::BCOLS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a86519729ef0561686bb86e474c95b93d',1,'mlx::steel::Conv2DWeightBlockLoader::BCOLS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#a9229d22e0a02d96825eb5a57c8cb95ac',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::BCOLS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#a8b6cf53a10514310d01f4d6459053a57',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::BCOLS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a3d6272d000f8ea79d9b3b5228bdca20f',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::BCOLS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a1843921cd67926002bb0dcccf3048eb6',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::BCOLS']]], - ['bcols_5fpacked_14',['BCOLS_PACKED',['../struct_quantized_block_loader.html#a1392a5278cf6e090ea80ebe7c4ac5fbb',1,'QuantizedBlockLoader']]], - ['beta_15',['beta',['../structmlx_1_1steel_1_1_transform_axpby.html#a5fc726f085bafd1acbc391886f7fb8b6',1,'mlx::steel::TransformAxpby::beta'],['../structmlx_1_1steel_1_1_g_e_m_m_add_m_m_params.html#ac0ce4d8a6014f8adb29fd0a0bb23139f',1,'mlx::steel::GEMMAddMMParams::beta']]], - ['bfloat16_16',['bfloat16',['../namespacemlx_1_1core.html#a514cf8b4e6f0a6af3a867e752f4338f7',1,'mlx::core']]], - ['bi_17',['bi',['../struct_quantized_block_loader.html#a85041d72225a2095659c70509291a906',1,'QuantizedBlockLoader::bi'],['../structmlx_1_1steel_1_1_block_loader.html#a9ef13742bcdf07532d8f09394928a8af',1,'mlx::steel::BlockLoader::bi'],['../structmlx_1_1steel_1_1_block_loader_t.html#a6964273994b06d6cf8ef7e59fb10bb35',1,'mlx::steel::BlockLoaderT::bi'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a8e53b0a9951cb840d922cc285b257ee3',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::bi'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#ae3af75287f279d2cdeef189126740d4c',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::bi'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a8c5e74003600132954cb953616e1a026',1,'mlx::steel::Conv2DWeightBlockLoader::bi'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#a9eb024e2fc6f07345f87fbf7141c0d16',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::bi'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#ae3b9f21f72e5e6c541c9978f55d354c7',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::bi'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a32a3a91fa715b82f36e05ceb10933d09',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::bi'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a4c91f848856ab0872bdfd37c62d4b0ba',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::bi']]], - ['biases_18',['biases',['../struct_quantized_block_loader.html#a17d01a6aba0833b073586ef2c09d0fbd',1,'QuantizedBlockLoader']]], - ['bits_5f_19',['bits_',['../struct___m_l_x___b_float16.html#a4113263b63e3757ea8334cc4f0f5c3c8',1,'_MLX_BFloat16::bits_'],['../structmlx_1_1core_1_1___m_l_x___b_float16.html#aca48963f820065c3d8ecab24265ab3fc',1,'mlx::core::_MLX_BFloat16::bits_'],['../structmlx_1_1core_1_1___m_l_x___float16.html#a5203fe52424fd32bce6eb7917dd9288b',1,'mlx::core::_MLX_Float16::bits_']]], - ['bj_20',['bj',['../struct_quantized_block_loader.html#ae2add92b2aaf3414e91f0470b9b0cc00',1,'QuantizedBlockLoader::bj'],['../structmlx_1_1steel_1_1_block_loader.html#a78c326e75ee35a484685771143047cd4',1,'mlx::steel::BlockLoader::bj'],['../structmlx_1_1steel_1_1_block_loader_t.html#aca83e49c31095badc8a46eb3c8e00957',1,'mlx::steel::BlockLoaderT::bj'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a7ae9e41f50c0c63c35b63086a1c22cc3',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::bj'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a6fd3dd7b74d91609fa9dd61c657a0e32',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::bj'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a6f2fdcaf5a67567cca38ae3d8120ab37',1,'mlx::steel::Conv2DWeightBlockLoader::bj'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#a7cf448573d41fbc67f8dfc65b7aef2b2',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::bj'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#adaa261fc2e8e694aedab4ebd60b52e5e',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::bj'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#ace16704025bc6e6204c306a357f3a8b8',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::bj'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#acec010e10d5733654963407af38d4f67',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::bj']]], - ['blockm_21',['blockM',['../struct_g_e_m_v_kernel.html#a7281520100658811076400060663903c',1,'GEMVKernel::blockM'],['../struct_g_e_m_v_t_kernel.html#a2ae8ce535d59cccf453381b4485a77f0',1,'GEMVTKernel::blockM']]], - ['blockn_22',['blockN',['../struct_g_e_m_v_kernel.html#a2fef17f9c9aa0bdf530ad3554fb0988b',1,'GEMVKernel::blockN'],['../struct_g_e_m_v_t_kernel.html#a60be87666006ba0bf88bc8e6902da42a',1,'GEMVTKernel::blockN']]], - ['bool_5f_23',['bool_',['../namespacemlx_1_1core.html#a113d2bac7e4aa6a4cb4a5c3242527b82',1,'mlx::core']]], - ['brows_24',['BROWS',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#ac070c6bd5be85b1ae805e18890db4fd4',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::BROWS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a10591ea957605a9c662f93d59ff3410d',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::BROWS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#ae9b86b05b23153ea1abaeead456c491c',1,'mlx::steel::Conv2DWeightBlockLoader::BROWS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#a343984fb74ec579a4404278dbbc7e7b5',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::BROWS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#acc8140aae84694f62e6324dbb6a614a4',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::BROWS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#aba1e1c8012e4e50f0e9bcfb9486c1781',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::BROWS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a015a0c56de74a0c4d51953a7e94fbba8',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::BROWS']]], - ['bs_5foffset_25',['Bs_offset',['../structmlx_1_1steel_1_1_block_m_m_a.html#a92f6aeee432f53638447eac842f43eca',1,'mlx::steel::BlockMMA']]], - ['btile_26',['Btile',['../structmlx_1_1steel_1_1_block_m_m_a.html#a44fca27c821764317263047a780977b0',1,'mlx::steel::BlockMMA']]], - ['buf_27',['buf',['../struct_read_writer.html#a23bac3c96dd0265ddbee1f256be45ff5',1,'ReadWriter::buf'],['../backend_2metal_2allocator_8h.html#a15aa5cc1baf29be08d55cca88509e697',1,'buf: allocator.h']]], - ['buffer_28',['buffer',['../structmlx_1_1core_1_1array_1_1_data.html#a9a51e2d12ba505027cc0fca86bdd39ad',1,'mlx::core::array::Data::buffer'],['../structmlx_1_1core_1_1metal_1_1_device_stream.html#a99183c92599edfeb75f7fa0f37e1d9eb',1,'mlx::core::metal::DeviceStream::buffer']]], - ['buffer_5fops_29',['buffer_ops',['../structmlx_1_1core_1_1metal_1_1_device_stream.html#ab6048b329e65a59033834f3bdd351782',1,'mlx::core::metal::DeviceStream']]], - ['buffers_30',['buffers',['../struct_indices.html#ad705070a740579c07d109ae4f3d86e76',1,'Indices']]], - ['bytes_5fper_5fpack_31',['bytes_per_pack',['../struct_quantized_block_loader.html#ad00fe6d8bd395206a41693a8ed65d4db',1,'QuantizedBlockLoader']]] + ['base_5f_5',['base_',['../classmlx_1_1core_1_1fast_1_1_ro_p_e.html#a83e32b5180698d669b780387d2e7ebc2',1,'mlx::core::fast::RoPE']]], + ['base_5fwh_6',['base_wh',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#aca37adba6f148579eb1cd0a7800a5cfe',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::base_wh'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a6c46564bf1a96a02791dd432cc9c883e',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::base_wh']]], + ['base_5fww_7',['base_ww',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a32d020c6715d06f7de360877fcb7b6e4',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::base_ww'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a230f0e581f9b8227b9ee68760b3b1503',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::base_ww']]], + ['batch_5fndim_8',['batch_ndim',['../structmlx_1_1steel_1_1_g_e_m_m_params.html#a640dc138a8bf7b2b5bed6a436b429c2f',1,'mlx::steel::GEMMParams']]], + ['batch_5fsize_9',['batch_size',['../struct_read_writer.html#a689f4890c1d2ce33fc6da7550beec735',1,'ReadWriter']]], + ['batch_5fstride_5fa_10',['batch_stride_a',['../structmlx_1_1steel_1_1_g_e_m_m_params.html#a76f55783a8e2ee203cf8507eee4b000c',1,'mlx::steel::GEMMParams']]], + ['batch_5fstride_5fb_11',['batch_stride_b',['../structmlx_1_1steel_1_1_g_e_m_m_params.html#a99b959b12d12da657648fa24d43e49e8',1,'mlx::steel::GEMMParams']]], + ['batch_5fstride_5fc_12',['batch_stride_c',['../structmlx_1_1steel_1_1_g_e_m_m_add_m_m_params.html#a77c065db228e9654a0a75a6ffe47c15a',1,'mlx::steel::GEMMAddMMParams']]], + ['batch_5fstride_5fd_13',['batch_stride_d',['../structmlx_1_1steel_1_1_g_e_m_m_params.html#ad98006dd509a455864e6aa7c52743a41',1,'mlx::steel::GEMMParams']]], + ['bcols_14',['BCOLS',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a29fbeeacdf5b6feeb74815ced255fa5a',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::BCOLS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#ac3b40db720055350bba59d614ea1dd79',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::BCOLS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a86519729ef0561686bb86e474c95b93d',1,'mlx::steel::Conv2DWeightBlockLoader::BCOLS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#a9229d22e0a02d96825eb5a57c8cb95ac',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::BCOLS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#a8b6cf53a10514310d01f4d6459053a57',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::BCOLS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a3d6272d000f8ea79d9b3b5228bdca20f',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::BCOLS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a1843921cd67926002bb0dcccf3048eb6',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::BCOLS']]], + ['bcols_5fpacked_15',['BCOLS_PACKED',['../struct_quantized_block_loader.html#a1392a5278cf6e090ea80ebe7c4ac5fbb',1,'QuantizedBlockLoader']]], + ['beta_16',['beta',['../structmlx_1_1steel_1_1_transform_axpby.html#a5fc726f085bafd1acbc391886f7fb8b6',1,'mlx::steel::TransformAxpby::beta'],['../structmlx_1_1steel_1_1_g_e_m_m_add_m_m_params.html#ac0ce4d8a6014f8adb29fd0a0bb23139f',1,'mlx::steel::GEMMAddMMParams::beta']]], + ['bfloat16_17',['bfloat16',['../namespacemlx_1_1core.html#a514cf8b4e6f0a6af3a867e752f4338f7',1,'mlx::core']]], + ['bi_18',['bi',['../struct_quantized_block_loader.html#a85041d72225a2095659c70509291a906',1,'QuantizedBlockLoader::bi'],['../structmlx_1_1steel_1_1_block_loader.html#a9ef13742bcdf07532d8f09394928a8af',1,'mlx::steel::BlockLoader::bi'],['../structmlx_1_1steel_1_1_block_loader_t.html#a6964273994b06d6cf8ef7e59fb10bb35',1,'mlx::steel::BlockLoaderT::bi'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a8e53b0a9951cb840d922cc285b257ee3',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::bi'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#ae3af75287f279d2cdeef189126740d4c',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::bi'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a8c5e74003600132954cb953616e1a026',1,'mlx::steel::Conv2DWeightBlockLoader::bi'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#a9eb024e2fc6f07345f87fbf7141c0d16',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::bi'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#ae3b9f21f72e5e6c541c9978f55d354c7',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::bi'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a32a3a91fa715b82f36e05ceb10933d09',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::bi'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a4c91f848856ab0872bdfd37c62d4b0ba',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::bi']]], + ['biases_19',['biases',['../struct_quantized_block_loader.html#a17d01a6aba0833b073586ef2c09d0fbd',1,'QuantizedBlockLoader']]], + ['bits_5f_20',['bits_',['../struct___m_l_x___b_float16.html#a4113263b63e3757ea8334cc4f0f5c3c8',1,'_MLX_BFloat16::bits_'],['../structmlx_1_1core_1_1___m_l_x___b_float16.html#aca48963f820065c3d8ecab24265ab3fc',1,'mlx::core::_MLX_BFloat16::bits_'],['../structmlx_1_1core_1_1___m_l_x___float16.html#a5203fe52424fd32bce6eb7917dd9288b',1,'mlx::core::_MLX_Float16::bits_']]], + ['bj_21',['bj',['../struct_quantized_block_loader.html#ae2add92b2aaf3414e91f0470b9b0cc00',1,'QuantizedBlockLoader::bj'],['../structmlx_1_1steel_1_1_block_loader.html#a78c326e75ee35a484685771143047cd4',1,'mlx::steel::BlockLoader::bj'],['../structmlx_1_1steel_1_1_block_loader_t.html#aca83e49c31095badc8a46eb3c8e00957',1,'mlx::steel::BlockLoaderT::bj'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a7ae9e41f50c0c63c35b63086a1c22cc3',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::bj'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a6fd3dd7b74d91609fa9dd61c657a0e32',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::bj'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a6f2fdcaf5a67567cca38ae3d8120ab37',1,'mlx::steel::Conv2DWeightBlockLoader::bj'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#a7cf448573d41fbc67f8dfc65b7aef2b2',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::bj'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#adaa261fc2e8e694aedab4ebd60b52e5e',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::bj'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#ace16704025bc6e6204c306a357f3a8b8',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::bj'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#acec010e10d5733654963407af38d4f67',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::bj']]], + ['blockm_22',['blockM',['../struct_g_e_m_v_kernel.html#a7281520100658811076400060663903c',1,'GEMVKernel::blockM'],['../struct_g_e_m_v_t_kernel.html#a2ae8ce535d59cccf453381b4485a77f0',1,'GEMVTKernel::blockM']]], + ['blockn_23',['blockN',['../struct_g_e_m_v_kernel.html#a2fef17f9c9aa0bdf530ad3554fb0988b',1,'GEMVKernel::blockN'],['../struct_g_e_m_v_t_kernel.html#a60be87666006ba0bf88bc8e6902da42a',1,'GEMVTKernel::blockN']]], + ['bool_5f_24',['bool_',['../namespacemlx_1_1core.html#a113d2bac7e4aa6a4cb4a5c3242527b82',1,'mlx::core']]], + ['brows_25',['BROWS',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#ac070c6bd5be85b1ae805e18890db4fd4',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::BROWS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a10591ea957605a9c662f93d59ff3410d',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::BROWS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#ae9b86b05b23153ea1abaeead456c491c',1,'mlx::steel::Conv2DWeightBlockLoader::BROWS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#a343984fb74ec579a4404278dbbc7e7b5',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::BROWS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#acc8140aae84694f62e6324dbb6a614a4',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::BROWS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#aba1e1c8012e4e50f0e9bcfb9486c1781',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::BROWS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a015a0c56de74a0c4d51953a7e94fbba8',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::BROWS']]], + ['bs_5foffset_26',['Bs_offset',['../structmlx_1_1steel_1_1_block_m_m_a.html#a92f6aeee432f53638447eac842f43eca',1,'mlx::steel::BlockMMA']]], + ['btile_27',['Btile',['../structmlx_1_1steel_1_1_block_m_m_a.html#a44fca27c821764317263047a780977b0',1,'mlx::steel::BlockMMA']]], + ['buf_28',['buf',['../struct_read_writer.html#a23bac3c96dd0265ddbee1f256be45ff5',1,'ReadWriter::buf'],['../backend_2metal_2allocator_8h.html#a15aa5cc1baf29be08d55cca88509e697',1,'buf: allocator.h']]], + ['buffer_29',['buffer',['../structmlx_1_1core_1_1array_1_1_data.html#a9a51e2d12ba505027cc0fca86bdd39ad',1,'mlx::core::array::Data::buffer'],['../structmlx_1_1core_1_1metal_1_1_device_stream.html#a99183c92599edfeb75f7fa0f37e1d9eb',1,'mlx::core::metal::DeviceStream::buffer']]], + ['buffer_5fops_30',['buffer_ops',['../structmlx_1_1core_1_1metal_1_1_device_stream.html#ab6048b329e65a59033834f3bdd351782',1,'mlx::core::metal::DeviceStream']]], + ['buffers_31',['buffers',['../struct_indices.html#ad705070a740579c07d109ae4f3d86e76',1,'Indices']]], + ['bytes_5fper_5fpack_32',['bytes_per_pack',['../struct_quantized_block_loader.html#ad00fe6d8bd395206a41693a8ed65d4db',1,'QuantizedBlockLoader']]] ]; diff --git a/docs/build/html/search/variables_12.js b/docs/build/html/search/variables_12.js index 3d3df5564..bc0037c65 100644 --- a/docs/build/html/search/variables_12.js +++ b/docs/build/html/search/variables_12.js @@ -1,36 +1,37 @@ var searchData= [ ['scale_0',['scale',['../struct_scale_op.html#a02043fac21c68fb8d6863a01f45ede4b',1,'ScaleOp::scale'],['../struct_transform_scale.html#aa56b8e107acf16fdf77006625c2b8bc6',1,'TransformScale::scale'],['../structmlx_1_1steel_1_1_attn_params.html#ad81bcd32e6ff8fec0000eca505fb6826',1,'mlx::steel::AttnParams::scale']]], - ['scales_1',['scales',['../struct_quantized_block_loader.html#a6123e4a9209d6eacb58b2c2344ed1ecf',1,'QuantizedBlockLoader']]], - ['scatter_5fkernels_2',['scatter_kernels',['../jit_2indexing_8h.html#a768c949cd650a44c6b402fc1440c1a56',1,'indexing.h']]], - ['shape_3',['shape',['../structmlx_1_1core_1_1_reduction_plan.html#a6cfa8771fa9caf6fdcc3d74c9fca83ae',1,'mlx::core::ReductionPlan::shape'],['../structmlx_1_1steel_1_1_layout2_d.html#a23183747ab1ddbdd3f1fcac6d0faa2cd',1,'mlx::steel::Layout2D::shape'],['../structmlx_1_1core_1_1fast_1_1_custom_kernel_shape_info.html#a63db720fe0c2abc4b71e22a58a015f8a',1,'mlx::core::fast::CustomKernelShapeInfo::shape']]], - ['shapes_4',['shapes',['../struct_indices.html#a5ab170f1a77636180889ddfffd4f7d2f',1,'Indices']]], - ['shp_5',['shp',['../classpocketfft_1_1detail_1_1arr__info.html#a2467e9e01de1ba4d7cd28c1af783da8d',1,'pocketfft::detail::arr_info']]], - ['signedinteger_6',['signedinteger',['../namespacemlx_1_1core.html#a24e1618af591d737d73729665e868001',1,'mlx::core']]], - ['simd_5fsize_7',['SIMD_SIZE',['../quantized_8h.html#a62969a218d93680f5e35d0c61b160b99',1,'quantized.h']]], - ['simd_5fsize_8',['simd_size',['../backend_2metal_2kernels_2reduction_2ops_8h.html#a515b75d563a93d3c09ee677948dc83e3',1,'ops.h']]], - ['sm_9',['sm',['../structmlx_1_1steel_1_1_block_m_m_a.html#aa85451edf6900fd6af164d4d50889ae3',1,'mlx::steel::BlockMMA']]], - ['sn_10',['sn',['../structmlx_1_1steel_1_1_block_m_m_a.html#ade420e8b811d597345783c324c23a34a',1,'mlx::steel::BlockMMA']]], - ['softmax_5fkernels_11',['softmax_kernels',['../jit_2softmax_8h.html#a1cbfb210a9a765c6620e9f1247ccef12',1,'softmax.h']]], - ['softmax_5fn_5freads_12',['SOFTMAX_N_READS',['../defines_8h.html#a722995df24286b27b7da3d74b73f768d',1,'defines.h']]], - ['split_5fk_5fpartition_5fsize_13',['split_k_partition_size',['../structmlx_1_1steel_1_1_g_e_m_m_spilt_k_params.html#a9f5a67b2343645b570e109c3837d4042',1,'mlx::steel::GEMMSpiltKParams']]], - ['split_5fk_5fpartition_5fstride_14',['split_k_partition_stride',['../structmlx_1_1steel_1_1_g_e_m_m_spilt_k_params.html#a12144ce89d404812cd862611d770b9fb',1,'mlx::steel::GEMMSpiltKParams']]], - ['split_5fk_5fpartitions_15',['split_k_partitions',['../structmlx_1_1steel_1_1_g_e_m_m_spilt_k_params.html#ae06c27116905d4ff3b9b436e588a93fd',1,'mlx::steel::GEMMSpiltKParams']]], - ['src_16',['src',['../struct_quantized_block_loader.html#abbf8249ca99e3e87b296ddd60a984b76',1,'QuantizedBlockLoader::src'],['../structmlx_1_1steel_1_1_block_loader.html#ad1db14517568ae9eddfb6986ef31c7aa',1,'mlx::steel::BlockLoader::src'],['../structmlx_1_1steel_1_1_block_loader_t.html#a7004a4efaa483cc79b8b79810a17c777',1,'mlx::steel::BlockLoaderT::src'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a656a46ee27486482b45ff90b3d626255',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::src'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a57552e9cfbafad71d47b2f3a8e027bdf',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::src'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a7bfbcc4a1e3eef7aef5dd8e8c374a95f',1,'mlx::steel::Conv2DWeightBlockLoader::src'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#afe21e46e08523232830c25eb1b4ade16',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::src'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#a8b04a69952404a04029dacc424df6e8f',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::src'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a1ee2922961b5fcb1db577928c4d9d731',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::src'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a50f458dbb74d61be2ed24727d8d43614',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::src']]], - ['src_5fld_17',['src_ld',['../struct_quantized_block_loader.html#a8050977d473d1a24fae5c833e609839e',1,'QuantizedBlockLoader::src_ld'],['../structmlx_1_1steel_1_1_block_loader.html#aadafc50f7f06af434149d7469df4714d',1,'mlx::steel::BlockLoader::src_ld'],['../structmlx_1_1steel_1_1_block_loader_t.html#aeba87e81185da6b20a092c5d240d3321',1,'mlx::steel::BlockLoaderT::src_ld'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a7464ec687323fa79050702952ed9084f',1,'mlx::steel::Conv2DWeightBlockLoader::src_ld'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#aa6bedc0cbb447eaf70c03f2e26df2cb2',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::src_ld'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a6918c1df7712c4e408e2871467ea7987',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::src_ld']]], - ['start_5frow_18',['start_row',['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a220e033b689c8d6a6f319dae02b38334',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral']]], - ['steel_5fconv_5fgeneral_5fkernels_19',['steel_conv_general_kernels',['../jit_2steel__conv_8h.html#ae4ca1720029316b08ea92b7662347d47',1,'steel_conv.h']]], - ['steel_5fconv_5fkernels_20',['steel_conv_kernels',['../jit_2steel__conv_8h.html#a386d79077465df56659416fd84adb513',1,'steel_conv.h']]], - ['steel_5fgemm_5ffused_5fkernels_21',['steel_gemm_fused_kernels',['../steel__gemm_8h.html#a4c6009fd5357b730805f2fd4ba6e093e',1,'steel_gemm.h']]], - ['steel_5fgemm_5fmasked_5fkernels_22',['steel_gemm_masked_kernels',['../steel__gemm_8h.html#a62a358fd3ec5365081920d07aceb581c',1,'steel_gemm.h']]], - ['steel_5fgemm_5fsplitk_5faccum_5faxbpy_5fkernels_23',['steel_gemm_splitk_accum_axbpy_kernels',['../steel__gemm_8h.html#a40a86e1381c241aba8511e51a981a4bf',1,'steel_gemm.h']]], - ['steel_5fgemm_5fsplitk_5faccum_5fkernels_24',['steel_gemm_splitk_accum_kernels',['../steel__gemm_8h.html#a144a64b8d94f0371fb144e2cc308fcf9',1,'steel_gemm.h']]], - ['steel_5fgemm_5fsplitk_5fkernels_25',['steel_gemm_splitk_kernels',['../steel__gemm_8h.html#a92108ab01d826e38bca83d8569b947d9',1,'steel_gemm.h']]], - ['stop_26',['stop',['../structmlx_1_1core_1_1scheduler_1_1_stream_thread.html#a456ad1c0c9e731833a2f8411c4ed51aa',1,'mlx::core::scheduler::StreamThread']]], - ['str_27',['str',['../classpocketfft_1_1detail_1_1arr__info.html#abe1f7b92501b4e0e5a38fd26294ac5a4',1,'pocketfft::detail::arr_info::str'],['../struct_m_l_x_conv_params.html#a862191e8ab1bc8a47aa1396b36d46058',1,'MLXConvParams::str']]], - ['stream_28',['stream',['../structmlx_1_1core_1_1scheduler_1_1_stream_thread.html#a8462e4acffcd385c6248bd7102e6bcb1',1,'mlx::core::scheduler::StreamThread']]], - ['strided_5fdevice_5fidx_29',['strided_device_idx',['../struct_read_writer.html#a4c0b12484aac4fd6759d67c190391989',1,'ReadWriter']]], - ['strided_5fshared_5fidx_30',['strided_shared_idx',['../struct_read_writer.html#ace40adb02cfb33d89c98353327c251fc',1,'ReadWriter']]], - ['strides_31',['strides',['../structmlx_1_1core_1_1_reduction_plan.html#a9bf7cae845ab633247c1811613ece8bd',1,'mlx::core::ReductionPlan::strides'],['../struct_indices.html#a7f73d7652f0f751e6a06c2663e329a4a',1,'Indices::strides'],['../structmlx_1_1core_1_1fast_1_1_custom_kernel_shape_info.html#a63954de7da62942ec69afcaaa19d46f2',1,'mlx::core::fast::CustomKernelShapeInfo::strides']]], - ['swizzle_5flog_32',['swizzle_log',['../structmlx_1_1steel_1_1_implicit_gemm_conv2_d_params.html#ad0713159d4f710cd9a066596593d8840',1,'mlx::steel::ImplicitGemmConv2DParams::swizzle_log'],['../structmlx_1_1steel_1_1_g_e_m_m_params.html#af9ff2c06dd8994126634531440325be7',1,'mlx::steel::GEMMParams::swizzle_log']]] + ['scale_5f_1',['scale_',['../classmlx_1_1core_1_1fast_1_1_ro_p_e.html#aa3b6ec6bb0766fb2f4f805d49d540f40',1,'mlx::core::fast::RoPE::scale_'],['../classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention.html#a3d4ef9a11114c8f69e35e2f1d78e5f7a',1,'mlx::core::fast::ScaledDotProductAttention::scale_']]], + ['scales_2',['scales',['../struct_quantized_block_loader.html#a6123e4a9209d6eacb58b2c2344ed1ecf',1,'QuantizedBlockLoader']]], + ['scatter_5fkernels_3',['scatter_kernels',['../jit_2indexing_8h.html#a768c949cd650a44c6b402fc1440c1a56',1,'indexing.h']]], + ['shape_4',['shape',['../structmlx_1_1core_1_1_reduction_plan.html#a6cfa8771fa9caf6fdcc3d74c9fca83ae',1,'mlx::core::ReductionPlan::shape'],['../structmlx_1_1steel_1_1_layout2_d.html#a23183747ab1ddbdd3f1fcac6d0faa2cd',1,'mlx::steel::Layout2D::shape'],['../structmlx_1_1core_1_1fast_1_1_custom_kernel_shape_info.html#a63db720fe0c2abc4b71e22a58a015f8a',1,'mlx::core::fast::CustomKernelShapeInfo::shape']]], + ['shapes_5',['shapes',['../struct_indices.html#a5ab170f1a77636180889ddfffd4f7d2f',1,'Indices']]], + ['shp_6',['shp',['../classpocketfft_1_1detail_1_1arr__info.html#a2467e9e01de1ba4d7cd28c1af783da8d',1,'pocketfft::detail::arr_info']]], + ['signedinteger_7',['signedinteger',['../namespacemlx_1_1core.html#a24e1618af591d737d73729665e868001',1,'mlx::core']]], + ['simd_5fsize_8',['SIMD_SIZE',['../quantized_8h.html#a62969a218d93680f5e35d0c61b160b99',1,'quantized.h']]], + ['simd_5fsize_9',['simd_size',['../backend_2metal_2kernels_2reduction_2ops_8h.html#a515b75d563a93d3c09ee677948dc83e3',1,'ops.h']]], + ['sm_10',['sm',['../structmlx_1_1steel_1_1_block_m_m_a.html#aa85451edf6900fd6af164d4d50889ae3',1,'mlx::steel::BlockMMA']]], + ['sn_11',['sn',['../structmlx_1_1steel_1_1_block_m_m_a.html#ade420e8b811d597345783c324c23a34a',1,'mlx::steel::BlockMMA']]], + ['softmax_5fkernels_12',['softmax_kernels',['../jit_2softmax_8h.html#a1cbfb210a9a765c6620e9f1247ccef12',1,'softmax.h']]], + ['softmax_5fn_5freads_13',['SOFTMAX_N_READS',['../defines_8h.html#a722995df24286b27b7da3d74b73f768d',1,'defines.h']]], + ['split_5fk_5fpartition_5fsize_14',['split_k_partition_size',['../structmlx_1_1steel_1_1_g_e_m_m_spilt_k_params.html#a9f5a67b2343645b570e109c3837d4042',1,'mlx::steel::GEMMSpiltKParams']]], + ['split_5fk_5fpartition_5fstride_15',['split_k_partition_stride',['../structmlx_1_1steel_1_1_g_e_m_m_spilt_k_params.html#a12144ce89d404812cd862611d770b9fb',1,'mlx::steel::GEMMSpiltKParams']]], + ['split_5fk_5fpartitions_16',['split_k_partitions',['../structmlx_1_1steel_1_1_g_e_m_m_spilt_k_params.html#ae06c27116905d4ff3b9b436e588a93fd',1,'mlx::steel::GEMMSpiltKParams']]], + ['src_17',['src',['../struct_quantized_block_loader.html#abbf8249ca99e3e87b296ddd60a984b76',1,'QuantizedBlockLoader::src'],['../structmlx_1_1steel_1_1_block_loader.html#ad1db14517568ae9eddfb6986ef31c7aa',1,'mlx::steel::BlockLoader::src'],['../structmlx_1_1steel_1_1_block_loader_t.html#a7004a4efaa483cc79b8b79810a17c777',1,'mlx::steel::BlockLoaderT::src'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a656a46ee27486482b45ff90b3d626255',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::src'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a57552e9cfbafad71d47b2f3a8e027bdf',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::src'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a7bfbcc4a1e3eef7aef5dd8e8c374a95f',1,'mlx::steel::Conv2DWeightBlockLoader::src'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#afe21e46e08523232830c25eb1b4ade16',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::src'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#a8b04a69952404a04029dacc424df6e8f',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::src'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a1ee2922961b5fcb1db577928c4d9d731',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::src'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a50f458dbb74d61be2ed24727d8d43614',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::src']]], + ['src_5fld_18',['src_ld',['../struct_quantized_block_loader.html#a8050977d473d1a24fae5c833e609839e',1,'QuantizedBlockLoader::src_ld'],['../structmlx_1_1steel_1_1_block_loader.html#aadafc50f7f06af434149d7469df4714d',1,'mlx::steel::BlockLoader::src_ld'],['../structmlx_1_1steel_1_1_block_loader_t.html#aeba87e81185da6b20a092c5d240d3321',1,'mlx::steel::BlockLoaderT::src_ld'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a7464ec687323fa79050702952ed9084f',1,'mlx::steel::Conv2DWeightBlockLoader::src_ld'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#aa6bedc0cbb447eaf70c03f2e26df2cb2',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::src_ld'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a6918c1df7712c4e408e2871467ea7987',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::src_ld']]], + ['start_5frow_19',['start_row',['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a220e033b689c8d6a6f319dae02b38334',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral']]], + ['steel_5fconv_5fgeneral_5fkernels_20',['steel_conv_general_kernels',['../jit_2steel__conv_8h.html#ae4ca1720029316b08ea92b7662347d47',1,'steel_conv.h']]], + ['steel_5fconv_5fkernels_21',['steel_conv_kernels',['../jit_2steel__conv_8h.html#a386d79077465df56659416fd84adb513',1,'steel_conv.h']]], + ['steel_5fgemm_5ffused_5fkernels_22',['steel_gemm_fused_kernels',['../steel__gemm_8h.html#a4c6009fd5357b730805f2fd4ba6e093e',1,'steel_gemm.h']]], + ['steel_5fgemm_5fmasked_5fkernels_23',['steel_gemm_masked_kernels',['../steel__gemm_8h.html#a62a358fd3ec5365081920d07aceb581c',1,'steel_gemm.h']]], + ['steel_5fgemm_5fsplitk_5faccum_5faxbpy_5fkernels_24',['steel_gemm_splitk_accum_axbpy_kernels',['../steel__gemm_8h.html#a40a86e1381c241aba8511e51a981a4bf',1,'steel_gemm.h']]], + ['steel_5fgemm_5fsplitk_5faccum_5fkernels_25',['steel_gemm_splitk_accum_kernels',['../steel__gemm_8h.html#a144a64b8d94f0371fb144e2cc308fcf9',1,'steel_gemm.h']]], + ['steel_5fgemm_5fsplitk_5fkernels_26',['steel_gemm_splitk_kernels',['../steel__gemm_8h.html#a92108ab01d826e38bca83d8569b947d9',1,'steel_gemm.h']]], + ['stop_27',['stop',['../structmlx_1_1core_1_1scheduler_1_1_stream_thread.html#a456ad1c0c9e731833a2f8411c4ed51aa',1,'mlx::core::scheduler::StreamThread']]], + ['str_28',['str',['../classpocketfft_1_1detail_1_1arr__info.html#abe1f7b92501b4e0e5a38fd26294ac5a4',1,'pocketfft::detail::arr_info::str'],['../struct_m_l_x_conv_params.html#a862191e8ab1bc8a47aa1396b36d46058',1,'MLXConvParams::str']]], + ['stream_29',['stream',['../structmlx_1_1core_1_1scheduler_1_1_stream_thread.html#a8462e4acffcd385c6248bd7102e6bcb1',1,'mlx::core::scheduler::StreamThread']]], + ['strided_5fdevice_5fidx_30',['strided_device_idx',['../struct_read_writer.html#a4c0b12484aac4fd6759d67c190391989',1,'ReadWriter']]], + ['strided_5fshared_5fidx_31',['strided_shared_idx',['../struct_read_writer.html#ace40adb02cfb33d89c98353327c251fc',1,'ReadWriter']]], + ['strides_32',['strides',['../structmlx_1_1core_1_1_reduction_plan.html#a9bf7cae845ab633247c1811613ece8bd',1,'mlx::core::ReductionPlan::strides'],['../struct_indices.html#a7f73d7652f0f751e6a06c2663e329a4a',1,'Indices::strides'],['../structmlx_1_1core_1_1fast_1_1_custom_kernel_shape_info.html#a63954de7da62942ec69afcaaa19d46f2',1,'mlx::core::fast::CustomKernelShapeInfo::strides']]], + ['swizzle_5flog_33',['swizzle_log',['../structmlx_1_1steel_1_1_implicit_gemm_conv2_d_params.html#ad0713159d4f710cd9a066596593d8840',1,'mlx::steel::ImplicitGemmConv2DParams::swizzle_log'],['../structmlx_1_1steel_1_1_g_e_m_m_params.html#af9ff2c06dd8994126634531440325be7',1,'mlx::steel::GEMMParams::swizzle_log']]] ]; diff --git a/docs/build/html/search/variables_13.js b/docs/build/html/search/variables_13.js index 2de578ca0..eefb0fa5a 100644 --- a/docs/build/html/search/variables_13.js +++ b/docs/build/html/search/variables_13.js @@ -22,6 +22,7 @@ var searchData= ['tm_5fstride_19',['TM_stride',['../structmlx_1_1steel_1_1_block_m_m_a.html#a5b0029866f493363942133b55bff7307',1,'mlx::steel::BlockMMA']]], ['tn_20',['TN',['../structmlx_1_1steel_1_1_block_m_m_a.html#a706ae779c1f8d2eb18f19c248567d424',1,'mlx::steel::BlockMMA']]], ['tn_5fstride_21',['TN_stride',['../structmlx_1_1steel_1_1_block_m_m_a.html#a8b3690b383afd26563efb38f9c375e50',1,'mlx::steel::BlockMMA']]], - ['trows_22',['TROWS',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a2528ff5ed472e4ed35415ada42276b07',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::TROWS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a3957fb263fe040fe70683fd1d7b06487',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::TROWS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a94f0ce5bb7d87bc1fb6a7c2ba2b892d4',1,'mlx::steel::Conv2DWeightBlockLoader::TROWS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#a789683f9ac9d9309d07c05f3bdedd2fd',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::TROWS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#a5cefb1285ed13ad3490198e9303453de',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::TROWS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a2aff22af70f685f858adea73f5575cf7',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::TROWS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#acbc28f364381166faaeec2783dc88e10',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::TROWS']]], - ['type_23',['type',['../structpocketfft_1_1detail_1_1_exec_dcst.html#a9b170cbd74a9c6f45ac014ce349219ea',1,'pocketfft::detail::ExecDcst::type'],['../structmlx_1_1core_1_1_reduction_plan.html#a24e407f13d4d02156380ecc1a6748a76',1,'mlx::core::ReductionPlan::type'],['../structmlx_1_1core_1_1_device.html#a763264ec90f7f23c5dced36c3f0db2e5',1,'mlx::core::Device::type']]] + ['traditional_5f_22',['traditional_',['../classmlx_1_1core_1_1fast_1_1_ro_p_e.html#aff0efd84921c5091c7ad1ea76096c728',1,'mlx::core::fast::RoPE']]], + ['trows_23',['TROWS',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a2528ff5ed472e4ed35415ada42276b07',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::TROWS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a3957fb263fe040fe70683fd1d7b06487',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::TROWS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a94f0ce5bb7d87bc1fb6a7c2ba2b892d4',1,'mlx::steel::Conv2DWeightBlockLoader::TROWS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#a789683f9ac9d9309d07c05f3bdedd2fd',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::TROWS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#a5cefb1285ed13ad3490198e9303453de',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::TROWS'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a2aff22af70f685f858adea73f5575cf7',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::TROWS'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#acbc28f364381166faaeec2783dc88e10',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::TROWS']]], + ['type_24',['type',['../structpocketfft_1_1detail_1_1_exec_dcst.html#a9b170cbd74a9c6f45ac014ce349219ea',1,'pocketfft::detail::ExecDcst::type'],['../structmlx_1_1core_1_1_reduction_plan.html#a24e407f13d4d02156380ecc1a6748a76',1,'mlx::core::ReductionPlan::type'],['../structmlx_1_1core_1_1_device.html#a763264ec90f7f23c5dced36c3f0db2e5',1,'mlx::core::Device::type']]] ]; diff --git a/docs/build/html/search/variables_3.js b/docs/build/html/search/variables_3.js index 1a58473d7..afddb4094 100644 --- a/docs/build/html/search/variables_3.js +++ b/docs/build/html/search/variables_3.js @@ -1,14 +1,15 @@ var searchData= [ ['d_0',['D',['../structmlx_1_1steel_1_1_attn_params.html#a07ae31628e43e09bce533c7682c8dae3',1,'mlx::steel::AttnParams']]], - ['d_1',['d',['../classpocketfft_1_1detail_1_1cndarr.html#ac29c769aebb03f81fbcf16ba6e766af2',1,'pocketfft::detail::cndarr::d'],['../structmlx_1_1core_1_1array_1_1_data.html#a25f52ac67912a49bb6e2b6715aa65311',1,'mlx::core::array::Data::d']]], + ['d_1',['d',['../classpocketfft_1_1detail_1_1cndarr.html#ac29c769aebb03f81fbcf16ba6e766af2',1,'pocketfft::detail::cndarr::d'],['../structmlx_1_1core_1_1array_1_1_data.html#a0534c6fb5dfbd7fcf1d6269fac3c1e9e',1,'mlx::core::array::Data::d']]], ['device_2',['device',['../structmlx_1_1core_1_1_stream.html#a406b1b0162287a4162fab1f70e2ff3bb',1,'mlx::core::Stream']]], ['digits_3',['digits',['../structmetal_1_1__numeric__limits__impl_3_01bfloat16__t_01_4.html#af6a681edff230c8d734a1feefb8d1879',1,'metal::_numeric_limits_impl< bfloat16_t >']]], ['digits10_4',['digits10',['../structmetal_1_1__numeric__limits__impl_3_01bfloat16__t_01_4.html#a0f48dd0c8a2d2dfa825067fb212b2e6b',1,'metal::_numeric_limits_impl< bfloat16_t >']]], ['dim_5',['dim',['../struct_looped_elem_to_loc.html#af8285112846769aba2c0d8615f6f1364',1,'LoopedElemToLoc::dim'],['../struct_looped_elem_to_loc_3_011_00_01_offset_t_00_01true_01_4.html#a7be6bf560080472d61e74b522979ef1e',1,'LoopedElemToLoc< 1, OffsetT, true >::dim']]], - ['do_5faxpby_6',['do_axpby',['../steel__gemm__fused_8h.html#a703f06c849c89c37af7b1d27b0804a29',1,'steel_gemm_fused.h']]], - ['do_5fgather_7',['do_gather',['../steel__gemm__fused_8h.html#a60efac3ac3b7cd64d096bbae38a3ac69',1,'steel_gemm_fused.h']]], - ['do_5fread_8',['do_read',['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a13eb86acf6abe288c19645935a47d2ad',1,'mlx::steel::Conv2DWeightBlockLoader::do_read'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#a640155880483e1042ec5f647b9adaac6',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::do_read']]], - ['dst_9',['dst',['../struct_quantized_block_loader.html#a9857214690fe6abad0e19d1045152f83',1,'QuantizedBlockLoader::dst'],['../structmlx_1_1steel_1_1_block_loader.html#af1c6c35a42e9da4408c1013ff1741bc2',1,'mlx::steel::BlockLoader::dst'],['../structmlx_1_1steel_1_1_block_loader_t.html#a6eb4e566b687395e27f290da288362db',1,'mlx::steel::BlockLoaderT::dst'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#ae048eb79f8b8d98f0fe8805c30fbb09f',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::dst'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a8598bf23a2bce6af13c876cbfa76449f',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::dst'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#aea6494838175225d02cbc7768a646ec7',1,'mlx::steel::Conv2DWeightBlockLoader::dst'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#a59a4fffc1dc2f3fadfb3fdd1b886da70',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::dst'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#a24e20e4c1dd1ebf9534bfa2b3e050ed3',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::dst'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#aa84c4ad43a5defb83ba1a5f49a7adb2a',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::dst'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a8474daf268013e138a84fc1c4bff7352',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::dst']]], - ['dst_5fld_10',['dst_ld',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a91192d512e7a18c2d16a139065000959',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::dst_ld'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a9e59da7e4436e61b2d3c3f982355910b',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::dst_ld'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a0ff5a6d503e0bbac4634030a75ab818d',1,'mlx::steel::Conv2DWeightBlockLoader::dst_ld'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#ae71570942c7b0ad8e67c62662b336c4a',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::dst_ld'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#ac18eeebea26cc6da434ead6eb4397350',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::dst_ld'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a07c85eab8cbf7b02c60df29cf32031ef',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::dst_ld'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#aae121ca6016fc6c7255027b3641f3a09',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::dst_ld']]] + ['dims_5f_6',['dims_',['../classmlx_1_1core_1_1fast_1_1_ro_p_e.html#ac23a3a25df836e6e72525ec624e9d0df',1,'mlx::core::fast::RoPE']]], + ['do_5faxpby_7',['do_axpby',['../steel__gemm__fused_8h.html#a703f06c849c89c37af7b1d27b0804a29',1,'steel_gemm_fused.h']]], + ['do_5fgather_8',['do_gather',['../steel__gemm__fused_8h.html#a60efac3ac3b7cd64d096bbae38a3ac69',1,'steel_gemm_fused.h']]], + ['do_5fread_9',['do_read',['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a13eb86acf6abe288c19645935a47d2ad',1,'mlx::steel::Conv2DWeightBlockLoader::do_read'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#a640155880483e1042ec5f647b9adaac6',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::do_read']]], + ['dst_10',['dst',['../struct_quantized_block_loader.html#a9857214690fe6abad0e19d1045152f83',1,'QuantizedBlockLoader::dst'],['../structmlx_1_1steel_1_1_block_loader.html#af1c6c35a42e9da4408c1013ff1741bc2',1,'mlx::steel::BlockLoader::dst'],['../structmlx_1_1steel_1_1_block_loader_t.html#a6eb4e566b687395e27f290da288362db',1,'mlx::steel::BlockLoaderT::dst'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#ae048eb79f8b8d98f0fe8805c30fbb09f',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::dst'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a8598bf23a2bce6af13c876cbfa76449f',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::dst'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#aea6494838175225d02cbc7768a646ec7',1,'mlx::steel::Conv2DWeightBlockLoader::dst'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#a59a4fffc1dc2f3fadfb3fdd1b886da70',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::dst'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#a24e20e4c1dd1ebf9534bfa2b3e050ed3',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::dst'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#aa84c4ad43a5defb83ba1a5f49a7adb2a',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::dst'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#a8474daf268013e138a84fc1c4bff7352',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::dst']]], + ['dst_5fld_11',['dst_ld',['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a91192d512e7a18c2d16a139065000959',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::dst_ld'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a9e59da7e4436e61b2d3c3f982355910b',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::dst_ld'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a0ff5a6d503e0bbac4634030a75ab818d',1,'mlx::steel::Conv2DWeightBlockLoader::dst_ld'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#ae71570942c7b0ad8e67c62662b336c4a',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::dst_ld'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#ac18eeebea26cc6da434ead6eb4397350',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::dst_ld'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a07c85eab8cbf7b02c60df29cf32031ef',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::dst_ld'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#aae121ca6016fc6c7255027b3641f3a09',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::dst_ld']]] ]; diff --git a/docs/build/html/search/variables_4.js b/docs/build/html/search/variables_4.js index 202519d36..0e46ebf48 100644 --- a/docs/build/html/search/variables_4.js +++ b/docs/build/html/search/variables_4.js @@ -4,5 +4,6 @@ var searchData= ['elems_5fper_5fthread_1',['elems_per_thread',['../struct_read_writer.html#a444230a0182ce6ba1898c04ce6e669a7',1,'ReadWriter']]], ['elems_5fper_5fthread_5f_2',['elems_per_thread_',['../backend_2metal_2kernels_2fft_8h.html#ad395c11e6f2aee72cd1928fba93a35a3',1,'fft.h']]], ['encoder_3',['encoder',['../structmlx_1_1core_1_1metal_1_1_device_stream.html#a58e435217b9922f882507ebf48bfbbdd',1,'mlx::core::metal::DeviceStream']]], - ['excess_4',['excess',['../structmlx_1_1steel_1_1_channel_helper.html#afc34bf92168c1865a9611b319dbcd000',1,'mlx::steel::ChannelHelper::excess'],['../structmlx_1_1steel_1_1_channel_helper_3_011_01_4.html#ada22a8bd8a89078cfa28874055c8e753',1,'mlx::steel::ChannelHelper< 1 >::excess'],['../structmlx_1_1steel_1_1_channel_helper_3_012_01_4.html#acc490f3999230aa592c61bbed7eb7cfe',1,'mlx::steel::ChannelHelper< 2 >::excess'],['../structmlx_1_1steel_1_1_channel_helper_3_013_01_4.html#aae404674763f3dc73c5ab29169f8b80f',1,'mlx::steel::ChannelHelper< 3 >::excess'],['../structmlx_1_1steel_1_1_channel_helper_3_014_01_4.html#aecdd8331fec703d739a6f07b9b901ac8',1,'mlx::steel::ChannelHelper< 4 >::excess']]] + ['eps_5f_4',['eps_',['../classmlx_1_1core_1_1fast_1_1_r_m_s_norm.html#abbb87759ed47c966ca644375e4b2ce69',1,'mlx::core::fast::RMSNorm::eps_'],['../classmlx_1_1core_1_1fast_1_1_layer_norm.html#af9f5c527c08f81310787e39c84f4248b',1,'mlx::core::fast::LayerNorm::eps_']]], + ['excess_5',['excess',['../structmlx_1_1steel_1_1_channel_helper.html#afc34bf92168c1865a9611b319dbcd000',1,'mlx::steel::ChannelHelper::excess'],['../structmlx_1_1steel_1_1_channel_helper_3_011_01_4.html#ada22a8bd8a89078cfa28874055c8e753',1,'mlx::steel::ChannelHelper< 1 >::excess'],['../structmlx_1_1steel_1_1_channel_helper_3_012_01_4.html#acc490f3999230aa592c61bbed7eb7cfe',1,'mlx::steel::ChannelHelper< 2 >::excess'],['../structmlx_1_1steel_1_1_channel_helper_3_013_01_4.html#aae404674763f3dc73c5ab29169f8b80f',1,'mlx::steel::ChannelHelper< 3 >::excess'],['../structmlx_1_1steel_1_1_channel_helper_3_014_01_4.html#aecdd8331fec703d739a6f07b9b901ac8',1,'mlx::steel::ChannelHelper< 4 >::excess']]] ]; diff --git a/docs/build/html/search/variables_5.js b/docs/build/html/search/variables_5.js index 7d19e69b1..1e19a5a4c 100644 --- a/docs/build/html/search/variables_5.js +++ b/docs/build/html/search/variables_5.js @@ -15,5 +15,6 @@ var searchData= ['float32_12',['float32',['../namespacemlx_1_1core.html#a6894543b340321193dfb8052c438a319',1,'mlx::core']]], ['floating_13',['floating',['../namespacemlx_1_1core.html#ac9f9ea13cf0661e671569d37d14a128a',1,'mlx::core']]], ['forward_14',['FORWARD',['../namespacepocketfft_1_1detail.html#aecc5444a333360628be65a6f91ceb824',1,'pocketfft::detail']]], - ['forward_15',['forward',['../structpocketfft_1_1detail_1_1_exec_c2_c.html#a63e27292b327597674deede9debe1c43',1,'pocketfft::detail::ExecC2C::forward'],['../structpocketfft_1_1detail_1_1_exec_r2_r.html#a5ec66ebb2ccd079f62b068ddd1fc7bdf',1,'pocketfft::detail::ExecR2R::forward']]] + ['forward_15',['forward',['../structpocketfft_1_1detail_1_1_exec_c2_c.html#a63e27292b327597674deede9debe1c43',1,'pocketfft::detail::ExecC2C::forward'],['../structpocketfft_1_1detail_1_1_exec_r2_r.html#a5ec66ebb2ccd079f62b068ddd1fc7bdf',1,'pocketfft::detail::ExecR2R::forward']]], + ['forward_5f_16',['forward_',['../classmlx_1_1core_1_1fast_1_1_ro_p_e.html#aebc91cf07bff74462246745686b7e8d8',1,'mlx::core::fast::RoPE']]] ]; diff --git a/docs/build/html/search/variables_d.js b/docs/build/html/search/variables_d.js index d7f442308..e1f137f3e 100644 --- a/docs/build/html/search/variables_d.js +++ b/docs/build/html/search/variables_d.js @@ -8,11 +8,12 @@ var searchData= ['n_5frows_5',['n_rows',['../structmlx_1_1steel_1_1_block_loader.html#a973804e5b1d418c98c90861cda1a6fb5',1,'mlx::steel::BlockLoader::n_rows'],['../structmlx_1_1steel_1_1_block_loader_t.html#a0ccc7caa93e6e709981a1a08159d41dc',1,'mlx::steel::BlockLoaderT::n_rows'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a097c48a23e1bd7d8cf3e9d531397602f',1,'mlx::steel::Conv2DInputBlockLoaderLargeFilter::n_rows'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_filter.html#a3ec8a92c9e6643c1d5bf8af278026fe8',1,'mlx::steel::Conv2DInputBlockLoaderSmallFilter::n_rows'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a593ec140370d53f8c968f6240116d38b',1,'mlx::steel::Conv2DWeightBlockLoader::n_rows'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#a8b6c0936c9ad2766242664f034d1115f',1,'mlx::steel::Conv2DInputBlockLoaderSmallChannels::n_rows'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#ae905e56c1129606e93dbbcd7baed8f0f',1,'mlx::steel::Conv2DWeightBlockLoaderSmallChannels::n_rows'],['../structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#abff29c5d96645d9113314c9a997dd7a8',1,'mlx::steel::Conv2DInputBlockLoaderGeneral::n_rows'],['../structmlx_1_1steel_1_1_conv2_d_weight_block_loader_general.html#aaebb6da2cac9961f5edf52d16c18de7d',1,'mlx::steel::Conv2DWeightBlockLoaderGeneral::n_rows']]], ['names_6',['names',['../structmlx_1_1core_1_1_node_namer.html#a57823f9a2cdc60b2f06f857b36019277',1,'mlx::core::NodeNamer']]], ['ndim_7',['ndim',['../struct_indices.html#a7dec359e91d0eb2b64e5461b54308313',1,'Indices::ndim'],['../structmlx_1_1core_1_1fast_1_1_custom_kernel_shape_info.html#ae605df33f449872e3da9777d97008051',1,'mlx::core::fast::CustomKernelShapeInfo::ndim']]], - ['needs_5ftgp_5freduction_8',['needs_tgp_reduction',['../struct_g_e_m_v_kernel.html#ae8113fddf6fb637acfd12efd978b704c',1,'GEMVKernel::needs_tgp_reduction'],['../struct_g_e_m_v_t_kernel.html#a67be7ec69c3791f02e97ccdb00ae0e03',1,'GEMVTKernel::needs_tgp_reduction']]], - ['next_9',['next',['../backend_2metal_2allocator_8h.html#ae704ab07eac590091daa5fc4aec7bddb',1,'allocator.h']]], - ['nk_10',['NK',['../structmlx_1_1steel_1_1_attn_params.html#a68a66e3fafa922dcfd1ab1f6bdc2375e',1,'mlx::steel::AttnParams']]], - ['nk_5faligned_11',['NK_aligned',['../structmlx_1_1steel_1_1_attn_params.html#aaf953954274794cfcb4e35e82d681b58',1,'mlx::steel::AttnParams']]], - ['nq_12',['NQ',['../structmlx_1_1steel_1_1_attn_params.html#a48575afc94ab9ff74deaba61464e57a1',1,'mlx::steel::AttnParams']]], - ['nq_5faligned_13',['NQ_aligned',['../structmlx_1_1steel_1_1_attn_params.html#a4cfd2ccb0fd7eb81c2a781a0614fdcbe',1,'mlx::steel::AttnParams']]], - ['number_14',['number',['../namespacemlx_1_1core.html#a069c0aab6b36aef34419534ec4a4310d',1,'mlx::core']]] + ['needs_5fmask_5f_8',['needs_mask_',['../classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention.html#a6f0ec2b6fea373324f842a66e9c6cb93',1,'mlx::core::fast::ScaledDotProductAttention']]], + ['needs_5ftgp_5freduction_9',['needs_tgp_reduction',['../struct_g_e_m_v_kernel.html#ae8113fddf6fb637acfd12efd978b704c',1,'GEMVKernel::needs_tgp_reduction'],['../struct_g_e_m_v_t_kernel.html#a67be7ec69c3791f02e97ccdb00ae0e03',1,'GEMVTKernel::needs_tgp_reduction']]], + ['next_10',['next',['../backend_2metal_2allocator_8h.html#ae704ab07eac590091daa5fc4aec7bddb',1,'allocator.h']]], + ['nk_11',['NK',['../structmlx_1_1steel_1_1_attn_params.html#a68a66e3fafa922dcfd1ab1f6bdc2375e',1,'mlx::steel::AttnParams']]], + ['nk_5faligned_12',['NK_aligned',['../structmlx_1_1steel_1_1_attn_params.html#aaf953954274794cfcb4e35e82d681b58',1,'mlx::steel::AttnParams']]], + ['nq_13',['NQ',['../structmlx_1_1steel_1_1_attn_params.html#a48575afc94ab9ff74deaba61464e57a1',1,'mlx::steel::AttnParams']]], + ['nq_5faligned_14',['NQ_aligned',['../structmlx_1_1steel_1_1_attn_params.html#a4cfd2ccb0fd7eb81c2a781a0614fdcbe',1,'mlx::steel::AttnParams']]], + ['number_15',['number',['../namespacemlx_1_1core.html#a069c0aab6b36aef34419534ec4a4310d',1,'mlx::core']]] ]; diff --git a/docs/build/html/search/variables_e.js b/docs/build/html/search/variables_e.js index 4d4ca8fb6..8bac7cdd5 100644 --- a/docs/build/html/search/variables_e.js +++ b/docs/build/html/search/variables_e.js @@ -3,10 +3,11 @@ var searchData= ['o_0',['O',['../struct_m_l_x_conv_params.html#ad55ff586d30072d8154865f9dfe92d97',1,'MLXConvParams']]], ['o_5fstrides_1',['O_strides',['../structmlx_1_1steel_1_1_attn_params.html#a33dc7fc22d2604a73af9f94eeea45bb4',1,'mlx::steel::AttnParams']]], ['offset_2',['offset',['../struct_looped_elem_to_loc.html#acdffe540c383a67417604b6080704791',1,'LoopedElemToLoc::offset'],['../struct_looped_elem_to_loc_3_011_00_01_offset_t_00_01true_01_4.html#a3a18944c158e2747a6ddebb420299a3b',1,'LoopedElemToLoc< 1, OffsetT, true >::offset'],['../struct_looped_elem_to_loc_3_011_00_01_offset_t_00_01false_01_4.html#af792b1fd4e8286f97b9b863c127a2d9a',1,'LoopedElemToLoc< 1, OffsetT, false >::offset']]], - ['op_3',['op',['../structmlx_1_1core_1_1_default_strided_reduce.html#ac871f55a7ddd205574974cb4492a240b',1,'mlx::core::DefaultStridedReduce::op'],['../structmlx_1_1core_1_1_default_contiguous_reduce.html#a1928f07db988715cc177999e386f4830',1,'mlx::core::DefaultContiguousReduce::op'],['../common_2binary_8h.html#a70228731d29946574b238d21fb4b360c',1,'op: binary.h']]], - ['ortho_4',['ortho',['../structpocketfft_1_1detail_1_1_exec_dcst.html#aea17551a49acaca5e7808dc181d38b7f',1,'pocketfft::detail::ExecDcst']]], - ['os_5',['oS',['../struct_m_l_x_conv_params.html#a19ccb9fecfccdc18b6a7f0cc43adbc6e',1,'MLXConvParams']]], - ['out_6',['out',['../struct_read_writer.html#abea3b913c952c505d0ca4e529c7316ef',1,'ReadWriter']]], - ['out_5fstrides_7',['out_strides',['../struct_m_l_x_conv_params.html#a0c8b2cfc26859a2af9d39a2cfcc3aea6',1,'MLXConvParams']]], - ['outputs_8',['outputs',['../structmlx_1_1core_1_1metal_1_1_device_stream.html#a55a7a92c6abad369c99a5ede7a2521b9',1,'mlx::core::metal::DeviceStream']]] + ['offset_5f_3',['offset_',['../classmlx_1_1core_1_1fast_1_1_ro_p_e.html#a5dd83599a4298f0d559e0e2542ee2c9f',1,'mlx::core::fast::RoPE']]], + ['op_4',['op',['../structmlx_1_1core_1_1_default_strided_reduce.html#ac871f55a7ddd205574974cb4492a240b',1,'mlx::core::DefaultStridedReduce::op'],['../structmlx_1_1core_1_1_default_contiguous_reduce.html#a1928f07db988715cc177999e386f4830',1,'mlx::core::DefaultContiguousReduce::op'],['../common_2binary_8h.html#a70228731d29946574b238d21fb4b360c',1,'op: binary.h']]], + ['ortho_5',['ortho',['../structpocketfft_1_1detail_1_1_exec_dcst.html#aea17551a49acaca5e7808dc181d38b7f',1,'pocketfft::detail::ExecDcst']]], + ['os_6',['oS',['../struct_m_l_x_conv_params.html#a19ccb9fecfccdc18b6a7f0cc43adbc6e',1,'MLXConvParams']]], + ['out_7',['out',['../struct_read_writer.html#abea3b913c952c505d0ca4e529c7316ef',1,'ReadWriter']]], + ['out_5fstrides_8',['out_strides',['../struct_m_l_x_conv_params.html#a0c8b2cfc26859a2af9d39a2cfcc3aea6',1,'MLXConvParams']]], + ['outputs_9',['outputs',['../structmlx_1_1core_1_1metal_1_1_device_stream.html#a55a7a92c6abad369c99a5ede7a2521b9',1,'mlx::core::metal::DeviceStream']]] ]; diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index a53200a55..5a45d6eb7 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"A Simple Example": [[488, "a-simple-example"]], "Array": [[315, null]], "Attention layer": [[5, "attention-layer"]], "Automatic Differentiation": [[482, "automatic-differentiation"]], "Automatic Vectorization": [[482, "automatic-vectorization"]], "Basics": [[486, "basics"]], "Basics of Compile": [[480, "basics-of-compile"]], "Binary Size Minimization": [[8, "binary-size-minimization"]], "Binding to Python": [[2, "binding-to-python"]], "Build Options": [[8, "id3"]], "Build Requirements": [[8, "build-requirements"]], "Build and Install": [[8, null]], "Build from source": [[8, "build-from-source"]], "Building and Binding": [[2, "building-and-binding"]], "Building with CMake": [[2, "building-with-cmake"]], "Building with setuptools": [[2, "building-with-setuptools"]], "C++ API": [[8, "c-api"]], "C++ API Reference": [[7, null]], "Common Optimizers": [[474, null]], "Compilation": [[480, null]], "Compiling Training Graphs": [[480, "compiling-training-graphs"]], "Complex Example": [[1, "complex-example"]], "Conversion to NumPy and Other Frameworks": [[485, null]], "Converting the weights": [[5, "converting-the-weights"]], "Custom Extensions in MLX": [[2, null]], "Custom Metal Kernels": [[1, null]], "Data Types": [[316, null]], "Debugging": [[480, "debugging"]], "Devices and Streams": [[317, null]], "Differences from NumPy": [[483, "differences-from-numpy"]], "Distributed Communication": [[318, null], [481, null]], "Download the code": [[2, null], [5, null]], "Encoder layer": [[5, "encoder-layer"]], "Example Speedup": [[480, "example-speedup"]], "Examples": [[7, null]], "FFT": [[320, null]], "Fast": [[319, null]], "Full model": [[5, "full-model"]], "Function Transforms": [[482, null]], "Function and Graph Transformations": [[486, "function-and-graph-transformations"]], "Functions": [[449, null]], "Further Reading": [[7, null]], "Generation": [[5, "generation"]], "Getting Started": [[481, "getting-started"]], "Grid Sample VJP": [[1, "grid-sample-vjp"]], "Implementing the CPU Back-end": [[2, "implementing-the-cpu-back-end"]], "Implementing the GPU Back-end": [[2, "implementing-the-gpu-back-end"]], "Implementing the Primitive": [[2, "implementing-the-primitive"]], "Implementing the model": [[5, "implementing-the-model"]], "In Place Updates": [[483, "in-place-updates"]], "Indexing Arrays": [[483, null]], "Initializers": [[450, null]], "Inspecting Modules": [[323, "inspecting-modules"]], "Install": [[7, null]], "Installing MPI": [[481, "installing-mpi"]], "Introducing the Example": [[2, "introducing-the-example"]], "JAX": [[485, "jax"]], "LLM inference": [[5, null]], "Layers": [[451, null]], "Lazy Evaluation": [[484, null]], "Linear Algebra": [[321, null]], "Linear Regression": [[4, null]], "Loss Functions": [[452, null]], "MLX": [[7, null]], "Metal": [[322, null]], "Metal Debugger": [[3, null]], "Metal not found": [[8, "metal-not-found"]], "Module": [[453, null]], "Multi-Layer Perceptron": [[6, null]], "Neural Networks": [[323, null]], "Only Compute What You Use": [[484, "only-compute-what-you-use"]], "Operations": [[0, null], [2, "operations"], [454, null]], "Operations and Primitives": [[2, "operations-and-primitives"]], "Optimizer": [[475, null]], "Optimizers": [[455, null]], "Parameters": [[323, "parameters"]], "Primitive Transforms": [[2, "primitive-transforms"]], "Primitives": [[2, "primitives"]], "Pure Functions": [[480, "pure-functions"]], "Putting it all together": [[5, "putting-it-all-together"]], "PyTorch": [[485, "pytorch"]], "Python API": [[8, "python-api"]], "Python API Reference": [[7, null]], "Python Installation": [[8, "python-installation"]], "Quick Start Guide": [[486, null]], "Quick Start with Neural Networks": [[323, "quick-start-with-neural-networks"]], "Random": [[477, null]], "Results": [[2, "results"]], "Saving and Loading": [[455, "saving-and-loading"]], "Saving and Loading Arrays": [[487, null]], "Schedulers": [[476, null]], "Scripts": [[2, "scripts"], [5, "scripts"]], "Serialization Formats": [[487, "id1"]], "Setting up Remote Hosts": [[481, "setting-up-remote-hosts"]], "Simple Example": [[1, "simple-example"]], "Specifying the Stream": [[489, "specifying-the-stream"]], "Supported Data Types": [[316, "id2"]], "TensorFlow": [[485, "tensorflow"]], "The Module Class": [[323, "the-module-class"]], "Training Example": [[481, "training-example"]], "Transformations with Compile": [[480, "transformations-with-compile"]], "Transforming Compute Graphs": [[484, "transforming-compute-graphs"]], "Transforms": [[478, null]], "Tree Utils": [[479, null]], "Troubleshooting": [[8, "troubleshooting"], [8, "id2"]], "Tuning All Reduce": [[481, "tuning-all-reduce"]], "Unified Memory": [[488, null]], "Updating the Parameters": [[323, "updating-the-parameters"]], "Usage": [[2, "usage"], [7, null]], "Using Shape/Strides": [[1, "using-shape-strides"]], "Using Streams": [[489, null]], "Using the Primitive": [[2, "using-the-primitive"]], "Value and Grad": [[323, "value-and-grad"]], "Weight loading and benchmarking": [[5, "weight-loading-and-benchmarking"]], "When to Evaluate": [[484, "when-to-evaluate"]], "Why Lazy Evaluation": [[484, "why-lazy-evaluation"]], "Xcode Workflow": [[3, "xcode-workflow"]], "mlx.core.Device": [[9, null]], "mlx.core.Dtype": [[10, null]], "mlx.core.DtypeCategory": [[11, null]], "mlx.core.Stream": [[314, null]], "mlx.core.abs": [[12, null]], "mlx.core.add": [[13, null]], "mlx.core.addmm": [[14, null]], "mlx.core.all": [[15, null]], "mlx.core.allclose": [[16, null]], "mlx.core.any": [[17, null]], "mlx.core.arange": [[18, null]], "mlx.core.arccos": [[19, null]], "mlx.core.arccosh": [[20, null]], "mlx.core.arcsin": [[21, null]], "mlx.core.arcsinh": [[22, null]], "mlx.core.arctan": [[23, null]], "mlx.core.arctan2": [[24, null]], "mlx.core.arctanh": [[25, null]], "mlx.core.argmax": [[26, null]], "mlx.core.argmin": [[27, null]], "mlx.core.argpartition": [[28, null]], "mlx.core.argsort": [[29, null]], "mlx.core.array": [[30, null]], "mlx.core.array.T": [[31, null]], "mlx.core.array.abs": [[32, null]], "mlx.core.array.all": [[33, null]], "mlx.core.array.any": [[34, null]], "mlx.core.array.argmax": [[35, null]], "mlx.core.array.argmin": [[36, null]], "mlx.core.array.astype": [[37, null]], "mlx.core.array.at": [[38, null]], "mlx.core.array.conj": [[39, null]], "mlx.core.array.cos": [[40, null]], "mlx.core.array.cummax": [[41, null]], "mlx.core.array.cummin": [[42, null]], "mlx.core.array.cumprod": [[43, null]], "mlx.core.array.cumsum": [[44, null]], "mlx.core.array.diag": [[45, null]], "mlx.core.array.diagonal": [[46, null]], "mlx.core.array.dtype": [[47, null]], "mlx.core.array.exp": [[48, null]], "mlx.core.array.flatten": [[49, null]], "mlx.core.array.item": [[50, null]], "mlx.core.array.itemsize": [[51, null]], "mlx.core.array.log": [[52, null]], "mlx.core.array.log10": [[53, null]], "mlx.core.array.log1p": [[54, null]], "mlx.core.array.log2": [[55, null]], "mlx.core.array.logsumexp": [[56, null]], "mlx.core.array.max": [[57, null]], "mlx.core.array.mean": [[58, null]], "mlx.core.array.min": [[59, null]], "mlx.core.array.moveaxis": [[60, null]], "mlx.core.array.nbytes": [[61, null]], "mlx.core.array.ndim": [[62, null]], "mlx.core.array.prod": [[63, null]], "mlx.core.array.reciprocal": [[64, null]], "mlx.core.array.reshape": [[65, null]], "mlx.core.array.round": [[66, null]], "mlx.core.array.rsqrt": [[67, null]], "mlx.core.array.shape": [[68, null]], "mlx.core.array.sin": [[69, null]], "mlx.core.array.size": [[70, null]], "mlx.core.array.split": [[71, null]], "mlx.core.array.sqrt": [[72, null]], "mlx.core.array.square": [[73, null]], "mlx.core.array.squeeze": [[74, null]], "mlx.core.array.std": [[75, null]], "mlx.core.array.sum": [[76, null]], "mlx.core.array.swapaxes": [[77, null]], "mlx.core.array.tolist": [[78, null]], "mlx.core.array.transpose": [[79, null]], "mlx.core.array.var": [[80, null]], "mlx.core.array.view": [[81, null]], "mlx.core.array_equal": [[82, null]], "mlx.core.as_strided": [[83, null]], "mlx.core.atleast_1d": [[84, null]], "mlx.core.atleast_2d": [[85, null]], "mlx.core.atleast_3d": [[86, null]], "mlx.core.bitwise_and": [[87, null]], "mlx.core.bitwise_or": [[88, null]], "mlx.core.bitwise_xor": [[89, null]], "mlx.core.block_masked_mm": [[90, null]], "mlx.core.broadcast_to": [[91, null]], "mlx.core.ceil": [[92, null]], "mlx.core.clip": [[93, null]], "mlx.core.compile": [[94, null]], "mlx.core.concatenate": [[95, null]], "mlx.core.conj": [[96, null]], "mlx.core.conjugate": [[97, null]], "mlx.core.conv1d": [[98, null]], "mlx.core.conv2d": [[99, null]], "mlx.core.conv3d": [[100, null]], "mlx.core.conv_general": [[101, null]], "mlx.core.conv_transpose1d": [[102, null]], "mlx.core.conv_transpose2d": [[103, null]], "mlx.core.conv_transpose3d": [[104, null]], "mlx.core.convolve": [[105, null]], "mlx.core.cos": [[106, null]], "mlx.core.cosh": [[107, null]], "mlx.core.cummax": [[108, null]], "mlx.core.cummin": [[109, null]], "mlx.core.cumprod": [[110, null]], "mlx.core.cumsum": [[111, null]], "mlx.core.custom_function": [[112, null]], "mlx.core.default_device": [[113, null]], "mlx.core.default_stream": [[114, null]], "mlx.core.degrees": [[115, null]], "mlx.core.dequantize": [[116, null]], "mlx.core.diag": [[117, null]], "mlx.core.diagonal": [[118, null]], "mlx.core.disable_compile": [[119, null]], "mlx.core.distributed.Group": [[120, null]], "mlx.core.distributed.all_gather": [[121, null]], "mlx.core.distributed.all_sum": [[122, null]], "mlx.core.distributed.init": [[123, null]], "mlx.core.distributed.is_available": [[124, null]], "mlx.core.distributed.recv": [[125, null]], "mlx.core.distributed.recv_like": [[126, null]], "mlx.core.distributed.send": [[127, null]], "mlx.core.divide": [[128, null]], "mlx.core.divmod": [[129, null]], "mlx.core.einsum": [[130, null]], "mlx.core.einsum_path": [[131, null]], "mlx.core.enable_compile": [[132, null]], "mlx.core.equal": [[133, null]], "mlx.core.erf": [[134, null]], "mlx.core.erfinv": [[135, null]], "mlx.core.eval": [[136, null]], "mlx.core.exp": [[137, null]], "mlx.core.expand_dims": [[138, null]], "mlx.core.expm1": [[139, null]], "mlx.core.eye": [[140, null]], "mlx.core.fast.layer_norm": [[141, null]], "mlx.core.fast.metal_kernel": [[142, null]], "mlx.core.fast.rms_norm": [[143, null]], "mlx.core.fast.rope": [[144, null]], "mlx.core.fast.scaled_dot_product_attention": [[145, null]], "mlx.core.fft.fft": [[146, null]], "mlx.core.fft.fft2": [[147, null]], "mlx.core.fft.fftn": [[148, null]], "mlx.core.fft.ifft": [[149, null]], "mlx.core.fft.ifft2": [[150, null]], "mlx.core.fft.ifftn": [[151, null]], "mlx.core.fft.irfft": [[152, null]], "mlx.core.fft.irfft2": [[153, null]], "mlx.core.fft.irfftn": [[154, null]], "mlx.core.fft.rfft": [[155, null]], "mlx.core.fft.rfft2": [[156, null]], "mlx.core.fft.rfftn": [[157, null]], "mlx.core.flatten": [[158, null]], "mlx.core.floor": [[159, null]], "mlx.core.floor_divide": [[160, null]], "mlx.core.full": [[161, null]], "mlx.core.gather_mm": [[162, null]], "mlx.core.gather_qmm": [[163, null]], "mlx.core.grad": [[164, null]], "mlx.core.greater": [[165, null]], "mlx.core.greater_equal": [[166, null]], "mlx.core.hadamard_transform": [[167, null]], "mlx.core.identity": [[168, null]], "mlx.core.imag": [[169, null]], "mlx.core.inner": [[170, null]], "mlx.core.isclose": [[171, null]], "mlx.core.isfinite": [[172, null]], "mlx.core.isinf": [[173, null]], "mlx.core.isnan": [[174, null]], "mlx.core.isneginf": [[175, null]], "mlx.core.isposinf": [[176, null]], "mlx.core.issubdtype": [[177, null]], "mlx.core.jvp": [[178, null]], "mlx.core.left_shift": [[179, null]], "mlx.core.less": [[180, null]], "mlx.core.less_equal": [[181, null]], "mlx.core.linalg.cholesky": [[182, null]], "mlx.core.linalg.cholesky_inv": [[183, null]], "mlx.core.linalg.cross": [[184, null]], "mlx.core.linalg.eigh": [[185, null]], "mlx.core.linalg.eigvalsh": [[186, null]], "mlx.core.linalg.inv": [[187, null]], "mlx.core.linalg.norm": [[188, null]], "mlx.core.linalg.qr": [[189, null]], "mlx.core.linalg.svd": [[190, null]], "mlx.core.linalg.tri_inv": [[191, null]], "mlx.core.linspace": [[192, null]], "mlx.core.load": [[193, null]], "mlx.core.log": [[194, null]], "mlx.core.log10": [[195, null]], "mlx.core.log1p": [[196, null]], "mlx.core.log2": [[197, null]], "mlx.core.logaddexp": [[198, null]], "mlx.core.logical_and": [[199, null]], "mlx.core.logical_not": [[200, null]], "mlx.core.logical_or": [[201, null]], "mlx.core.logsumexp": [[202, null]], "mlx.core.matmul": [[203, null]], "mlx.core.max": [[204, null]], "mlx.core.maximum": [[205, null]], "mlx.core.mean": [[206, null]], "mlx.core.meshgrid": [[207, null]], "mlx.core.metal.clear_cache": [[208, null]], "mlx.core.metal.device_info": [[209, null]], "mlx.core.metal.get_active_memory": [[210, null]], "mlx.core.metal.get_cache_memory": [[211, null]], "mlx.core.metal.get_peak_memory": [[212, null]], "mlx.core.metal.is_available": [[213, null]], "mlx.core.metal.reset_peak_memory": [[214, null]], "mlx.core.metal.set_cache_limit": [[215, null]], "mlx.core.metal.set_memory_limit": [[216, null]], "mlx.core.metal.set_wired_limit": [[217, null]], "mlx.core.metal.start_capture": [[218, null]], "mlx.core.metal.stop_capture": [[219, null]], "mlx.core.min": [[220, null]], "mlx.core.minimum": [[221, null]], "mlx.core.moveaxis": [[222, null]], "mlx.core.multiply": [[223, null]], "mlx.core.nan_to_num": [[224, null]], "mlx.core.negative": [[225, null]], "mlx.core.new_stream": [[226, null]], "mlx.core.not_equal": [[227, null]], "mlx.core.ones": [[228, null]], "mlx.core.ones_like": [[229, null]], "mlx.core.outer": [[230, null]], "mlx.core.pad": [[231, null]], "mlx.core.partition": [[232, null]], "mlx.core.power": [[233, null]], "mlx.core.prod": [[234, null]], "mlx.core.put_along_axis": [[235, null]], "mlx.core.quantize": [[236, null]], "mlx.core.quantized_matmul": [[237, null]], "mlx.core.radians": [[238, null]], "mlx.core.random.bernoulli": [[239, null]], "mlx.core.random.categorical": [[240, null]], "mlx.core.random.gumbel": [[241, null]], "mlx.core.random.key": [[242, null]], "mlx.core.random.laplace": [[243, null]], "mlx.core.random.multivariate_normal": [[244, null]], "mlx.core.random.normal": [[245, null]], "mlx.core.random.permutation": [[246, null]], "mlx.core.random.randint": [[247, null]], "mlx.core.random.seed": [[248, null]], "mlx.core.random.split": [[249, null]], "mlx.core.random.truncated_normal": [[250, null]], "mlx.core.random.uniform": [[251, null]], "mlx.core.real": [[252, null]], "mlx.core.reciprocal": [[253, null]], "mlx.core.remainder": [[254, null]], "mlx.core.repeat": [[255, null]], "mlx.core.reshape": [[256, null]], "mlx.core.right_shift": [[257, null]], "mlx.core.roll": [[258, null]], "mlx.core.round": [[259, null]], "mlx.core.rsqrt": [[260, null]], "mlx.core.save": [[261, null]], "mlx.core.save_gguf": [[262, null]], "mlx.core.save_safetensors": [[263, null]], "mlx.core.savez": [[264, null]], "mlx.core.savez_compressed": [[265, null]], "mlx.core.set_default_device": [[266, null]], "mlx.core.set_default_stream": [[267, null]], "mlx.core.sigmoid": [[268, null]], "mlx.core.sign": [[269, null]], "mlx.core.sin": [[270, null]], "mlx.core.sinh": [[271, null]], "mlx.core.softmax": [[272, null]], "mlx.core.sort": [[273, null]], "mlx.core.split": [[274, null]], "mlx.core.sqrt": [[275, null]], "mlx.core.square": [[276, null]], "mlx.core.squeeze": [[277, null]], "mlx.core.stack": [[278, null]], "mlx.core.std": [[279, null]], "mlx.core.stop_gradient": [[280, null]], "mlx.core.stream": [[281, null]], "mlx.core.subtract": [[282, null]], "mlx.core.sum": [[283, null]], "mlx.core.swapaxes": [[284, null]], "mlx.core.synchronize": [[285, null]], "mlx.core.take": [[286, null]], "mlx.core.take_along_axis": [[287, null]], "mlx.core.tan": [[288, null]], "mlx.core.tanh": [[289, null]], "mlx.core.tensordot": [[290, null]], "mlx.core.tile": [[291, null]], "mlx.core.topk": [[292, null]], "mlx.core.trace": [[293, null]], "mlx.core.transpose": [[294, null]], "mlx.core.tri": [[295, null]], "mlx.core.tril": [[296, null]], "mlx.core.triu": [[297, null]], "mlx.core.value_and_grad": [[298, null]], "mlx.core.var": [[299, null]], "mlx.core.view": [[300, null]], "mlx.core.vjp": [[301, null]], "mlx.core.vmap": [[302, null]], "mlx.core.where": [[303, null]], "mlx.core.zeros": [[304, null]], "mlx.core.zeros_like": [[305, null]], "mlx.nn.ALiBi": [[324, null]], "mlx.nn.AvgPool1d": [[325, null]], "mlx.nn.AvgPool2d": [[326, null]], "mlx.nn.AvgPool3d": [[327, null]], "mlx.nn.BatchNorm": [[328, null]], "mlx.nn.CELU": [[329, null]], "mlx.nn.Conv1d": [[330, null]], "mlx.nn.Conv2d": [[331, null]], "mlx.nn.Conv3d": [[332, null]], "mlx.nn.ConvTranspose1d": [[333, null]], "mlx.nn.ConvTranspose2d": [[334, null]], "mlx.nn.ConvTranspose3d": [[335, null]], "mlx.nn.Dropout": [[336, null]], "mlx.nn.Dropout2d": [[337, null]], "mlx.nn.Dropout3d": [[338, null]], "mlx.nn.ELU": [[339, null]], "mlx.nn.Embedding": [[340, null]], "mlx.nn.GELU": [[341, null]], "mlx.nn.GLU": [[342, null]], "mlx.nn.GRU": [[343, null]], "mlx.nn.GroupNorm": [[344, null]], "mlx.nn.HardShrink": [[345, null]], "mlx.nn.HardTanh": [[346, null]], "mlx.nn.Hardswish": [[347, null]], "mlx.nn.InstanceNorm": [[348, null]], "mlx.nn.LSTM": [[349, null]], "mlx.nn.LayerNorm": [[350, null]], "mlx.nn.LeakyReLU": [[351, null]], "mlx.nn.Linear": [[352, null]], "mlx.nn.LogSigmoid": [[353, null]], "mlx.nn.LogSoftmax": [[354, null]], "mlx.nn.MaxPool1d": [[355, null]], "mlx.nn.MaxPool2d": [[356, null]], "mlx.nn.MaxPool3d": [[357, null]], "mlx.nn.Mish": [[358, null]], "mlx.nn.Module.apply": [[359, null]], "mlx.nn.Module.apply_to_modules": [[360, null]], "mlx.nn.Module.children": [[361, null]], "mlx.nn.Module.eval": [[362, null]], "mlx.nn.Module.filter_and_map": [[363, null]], "mlx.nn.Module.freeze": [[364, null]], "mlx.nn.Module.leaf_modules": [[365, null]], "mlx.nn.Module.load_weights": [[366, null]], "mlx.nn.Module.modules": [[367, null]], "mlx.nn.Module.named_modules": [[368, null]], "mlx.nn.Module.parameters": [[369, null]], "mlx.nn.Module.save_weights": [[370, null]], "mlx.nn.Module.set_dtype": [[371, null]], "mlx.nn.Module.state": [[372, null]], "mlx.nn.Module.train": [[373, null]], "mlx.nn.Module.trainable_parameters": [[374, null]], "mlx.nn.Module.training": [[375, null]], "mlx.nn.Module.unfreeze": [[376, null]], "mlx.nn.Module.update": [[377, null]], "mlx.nn.Module.update_modules": [[378, null]], "mlx.nn.MultiHeadAttention": [[379, null]], "mlx.nn.PReLU": [[380, null]], "mlx.nn.QuantizedEmbedding": [[381, null]], "mlx.nn.QuantizedLinear": [[382, null]], "mlx.nn.RMSNorm": [[383, null]], "mlx.nn.RNN": [[384, null]], "mlx.nn.ReLU": [[385, null]], "mlx.nn.ReLU6": [[386, null]], "mlx.nn.RoPE": [[387, null]], "mlx.nn.SELU": [[388, null]], "mlx.nn.Sequential": [[389, null]], "mlx.nn.SiLU": [[390, null]], "mlx.nn.Sigmoid": [[391, null]], "mlx.nn.SinusoidalPositionalEncoding": [[392, null]], "mlx.nn.Softmax": [[393, null]], "mlx.nn.Softmin": [[394, null]], "mlx.nn.Softplus": [[395, null]], "mlx.nn.Softshrink": [[396, null]], "mlx.nn.Softsign": [[397, null]], "mlx.nn.Step": [[398, null]], "mlx.nn.Tanh": [[399, null]], "mlx.nn.Transformer": [[400, null]], "mlx.nn.Upsample": [[401, null]], "mlx.nn.celu": [[410, null]], "mlx.nn.elu": [[411, null]], "mlx.nn.gelu": [[412, null]], "mlx.nn.gelu_approx": [[413, null]], "mlx.nn.gelu_fast_approx": [[414, null]], "mlx.nn.glu": [[415, null]], "mlx.nn.hard_shrink": [[416, null]], "mlx.nn.hard_tanh": [[417, null]], "mlx.nn.hardswish": [[418, null]], "mlx.nn.init.constant": [[402, null]], "mlx.nn.init.glorot_normal": [[403, null]], "mlx.nn.init.glorot_uniform": [[404, null]], "mlx.nn.init.he_normal": [[405, null]], "mlx.nn.init.he_uniform": [[406, null]], "mlx.nn.init.identity": [[407, null]], "mlx.nn.init.normal": [[408, null]], "mlx.nn.init.uniform": [[409, null]], "mlx.nn.leaky_relu": [[419, null]], "mlx.nn.log_sigmoid": [[420, null]], "mlx.nn.log_softmax": [[421, null]], "mlx.nn.losses.binary_cross_entropy": [[422, null]], "mlx.nn.losses.cosine_similarity_loss": [[423, null]], "mlx.nn.losses.cross_entropy": [[424, null]], "mlx.nn.losses.gaussian_nll_loss": [[425, null]], "mlx.nn.losses.hinge_loss": [[426, null]], "mlx.nn.losses.huber_loss": [[427, null]], "mlx.nn.losses.kl_div_loss": [[428, null]], "mlx.nn.losses.l1_loss": [[429, null]], "mlx.nn.losses.log_cosh_loss": [[430, null]], "mlx.nn.losses.margin_ranking_loss": [[431, null]], "mlx.nn.losses.mse_loss": [[432, null]], "mlx.nn.losses.nll_loss": [[433, null]], "mlx.nn.losses.smooth_l1_loss": [[434, null]], "mlx.nn.losses.triplet_loss": [[435, null]], "mlx.nn.mish": [[436, null]], "mlx.nn.prelu": [[437, null]], "mlx.nn.quantize": [[306, null]], "mlx.nn.relu": [[438, null]], "mlx.nn.relu6": [[439, null]], "mlx.nn.selu": [[440, null]], "mlx.nn.sigmoid": [[441, null]], "mlx.nn.silu": [[442, null]], "mlx.nn.softmax": [[443, null]], "mlx.nn.softmin": [[444, null]], "mlx.nn.softplus": [[445, null]], "mlx.nn.softshrink": [[446, null]], "mlx.nn.step": [[447, null]], "mlx.nn.tanh": [[448, null]], "mlx.nn.value_and_grad": [[307, null]], "mlx.optimizers.AdaDelta": [[456, null]], "mlx.optimizers.Adafactor": [[457, null]], "mlx.optimizers.Adagrad": [[458, null]], "mlx.optimizers.Adam": [[459, null]], "mlx.optimizers.AdamW": [[460, null]], "mlx.optimizers.Adamax": [[461, null]], "mlx.optimizers.Lion": [[462, null]], "mlx.optimizers.Optimizer.apply_gradients": [[463, null]], "mlx.optimizers.Optimizer.init": [[464, null]], "mlx.optimizers.Optimizer.state": [[465, null]], "mlx.optimizers.Optimizer.update": [[466, null]], "mlx.optimizers.RMSprop": [[467, null]], "mlx.optimizers.SGD": [[468, null]], "mlx.optimizers.clip_grad_norm": [[308, null]], "mlx.optimizers.cosine_decay": [[469, null]], "mlx.optimizers.exponential_decay": [[470, null]], "mlx.optimizers.join_schedules": [[471, null]], "mlx.optimizers.linear_schedule": [[472, null]], "mlx.optimizers.step_decay": [[473, null]], "mlx.utils.tree_flatten": [[309, null]], "mlx.utils.tree_map": [[310, null]], "mlx.utils.tree_map_with_path": [[311, null]], "mlx.utils.tree_reduce": [[312, null]], "mlx.utils.tree_unflatten": [[313, null]], "x86 Shell": [[8, "x86-shell"]]}, "docnames": ["cpp/ops", "dev/custom_metal_kernels", "dev/extensions", "dev/metal_debugger", "examples/linear_regression", "examples/llama-inference", "examples/mlp", "index", "install", "python/_autosummary/mlx.core.Device", "python/_autosummary/mlx.core.Dtype", "python/_autosummary/mlx.core.DtypeCategory", "python/_autosummary/mlx.core.abs", "python/_autosummary/mlx.core.add", "python/_autosummary/mlx.core.addmm", "python/_autosummary/mlx.core.all", "python/_autosummary/mlx.core.allclose", "python/_autosummary/mlx.core.any", "python/_autosummary/mlx.core.arange", "python/_autosummary/mlx.core.arccos", "python/_autosummary/mlx.core.arccosh", "python/_autosummary/mlx.core.arcsin", "python/_autosummary/mlx.core.arcsinh", "python/_autosummary/mlx.core.arctan", "python/_autosummary/mlx.core.arctan2", "python/_autosummary/mlx.core.arctanh", "python/_autosummary/mlx.core.argmax", "python/_autosummary/mlx.core.argmin", "python/_autosummary/mlx.core.argpartition", "python/_autosummary/mlx.core.argsort", "python/_autosummary/mlx.core.array", "python/_autosummary/mlx.core.array.T", "python/_autosummary/mlx.core.array.abs", "python/_autosummary/mlx.core.array.all", "python/_autosummary/mlx.core.array.any", "python/_autosummary/mlx.core.array.argmax", "python/_autosummary/mlx.core.array.argmin", "python/_autosummary/mlx.core.array.astype", "python/_autosummary/mlx.core.array.at", "python/_autosummary/mlx.core.array.conj", "python/_autosummary/mlx.core.array.cos", "python/_autosummary/mlx.core.array.cummax", "python/_autosummary/mlx.core.array.cummin", "python/_autosummary/mlx.core.array.cumprod", "python/_autosummary/mlx.core.array.cumsum", "python/_autosummary/mlx.core.array.diag", "python/_autosummary/mlx.core.array.diagonal", "python/_autosummary/mlx.core.array.dtype", "python/_autosummary/mlx.core.array.exp", "python/_autosummary/mlx.core.array.flatten", "python/_autosummary/mlx.core.array.item", "python/_autosummary/mlx.core.array.itemsize", "python/_autosummary/mlx.core.array.log", "python/_autosummary/mlx.core.array.log10", "python/_autosummary/mlx.core.array.log1p", "python/_autosummary/mlx.core.array.log2", "python/_autosummary/mlx.core.array.logsumexp", "python/_autosummary/mlx.core.array.max", "python/_autosummary/mlx.core.array.mean", "python/_autosummary/mlx.core.array.min", "python/_autosummary/mlx.core.array.moveaxis", "python/_autosummary/mlx.core.array.nbytes", "python/_autosummary/mlx.core.array.ndim", "python/_autosummary/mlx.core.array.prod", "python/_autosummary/mlx.core.array.reciprocal", "python/_autosummary/mlx.core.array.reshape", "python/_autosummary/mlx.core.array.round", "python/_autosummary/mlx.core.array.rsqrt", "python/_autosummary/mlx.core.array.shape", "python/_autosummary/mlx.core.array.sin", "python/_autosummary/mlx.core.array.size", "python/_autosummary/mlx.core.array.split", "python/_autosummary/mlx.core.array.sqrt", "python/_autosummary/mlx.core.array.square", "python/_autosummary/mlx.core.array.squeeze", "python/_autosummary/mlx.core.array.std", "python/_autosummary/mlx.core.array.sum", "python/_autosummary/mlx.core.array.swapaxes", "python/_autosummary/mlx.core.array.tolist", "python/_autosummary/mlx.core.array.transpose", "python/_autosummary/mlx.core.array.var", "python/_autosummary/mlx.core.array.view", "python/_autosummary/mlx.core.array_equal", "python/_autosummary/mlx.core.as_strided", "python/_autosummary/mlx.core.atleast_1d", "python/_autosummary/mlx.core.atleast_2d", "python/_autosummary/mlx.core.atleast_3d", "python/_autosummary/mlx.core.bitwise_and", "python/_autosummary/mlx.core.bitwise_or", "python/_autosummary/mlx.core.bitwise_xor", "python/_autosummary/mlx.core.block_masked_mm", "python/_autosummary/mlx.core.broadcast_to", "python/_autosummary/mlx.core.ceil", "python/_autosummary/mlx.core.clip", "python/_autosummary/mlx.core.compile", "python/_autosummary/mlx.core.concatenate", "python/_autosummary/mlx.core.conj", "python/_autosummary/mlx.core.conjugate", "python/_autosummary/mlx.core.conv1d", "python/_autosummary/mlx.core.conv2d", "python/_autosummary/mlx.core.conv3d", "python/_autosummary/mlx.core.conv_general", "python/_autosummary/mlx.core.conv_transpose1d", "python/_autosummary/mlx.core.conv_transpose2d", "python/_autosummary/mlx.core.conv_transpose3d", "python/_autosummary/mlx.core.convolve", "python/_autosummary/mlx.core.cos", "python/_autosummary/mlx.core.cosh", "python/_autosummary/mlx.core.cummax", "python/_autosummary/mlx.core.cummin", "python/_autosummary/mlx.core.cumprod", "python/_autosummary/mlx.core.cumsum", "python/_autosummary/mlx.core.custom_function", "python/_autosummary/mlx.core.default_device", "python/_autosummary/mlx.core.default_stream", "python/_autosummary/mlx.core.degrees", "python/_autosummary/mlx.core.dequantize", "python/_autosummary/mlx.core.diag", "python/_autosummary/mlx.core.diagonal", "python/_autosummary/mlx.core.disable_compile", "python/_autosummary/mlx.core.distributed.Group", "python/_autosummary/mlx.core.distributed.all_gather", "python/_autosummary/mlx.core.distributed.all_sum", "python/_autosummary/mlx.core.distributed.init", "python/_autosummary/mlx.core.distributed.is_available", "python/_autosummary/mlx.core.distributed.recv", "python/_autosummary/mlx.core.distributed.recv_like", "python/_autosummary/mlx.core.distributed.send", "python/_autosummary/mlx.core.divide", "python/_autosummary/mlx.core.divmod", "python/_autosummary/mlx.core.einsum", "python/_autosummary/mlx.core.einsum_path", "python/_autosummary/mlx.core.enable_compile", "python/_autosummary/mlx.core.equal", "python/_autosummary/mlx.core.erf", "python/_autosummary/mlx.core.erfinv", "python/_autosummary/mlx.core.eval", "python/_autosummary/mlx.core.exp", "python/_autosummary/mlx.core.expand_dims", "python/_autosummary/mlx.core.expm1", "python/_autosummary/mlx.core.eye", "python/_autosummary/mlx.core.fast.layer_norm", "python/_autosummary/mlx.core.fast.metal_kernel", "python/_autosummary/mlx.core.fast.rms_norm", "python/_autosummary/mlx.core.fast.rope", "python/_autosummary/mlx.core.fast.scaled_dot_product_attention", "python/_autosummary/mlx.core.fft.fft", "python/_autosummary/mlx.core.fft.fft2", "python/_autosummary/mlx.core.fft.fftn", "python/_autosummary/mlx.core.fft.ifft", "python/_autosummary/mlx.core.fft.ifft2", "python/_autosummary/mlx.core.fft.ifftn", "python/_autosummary/mlx.core.fft.irfft", "python/_autosummary/mlx.core.fft.irfft2", "python/_autosummary/mlx.core.fft.irfftn", "python/_autosummary/mlx.core.fft.rfft", "python/_autosummary/mlx.core.fft.rfft2", "python/_autosummary/mlx.core.fft.rfftn", "python/_autosummary/mlx.core.flatten", "python/_autosummary/mlx.core.floor", "python/_autosummary/mlx.core.floor_divide", "python/_autosummary/mlx.core.full", "python/_autosummary/mlx.core.gather_mm", "python/_autosummary/mlx.core.gather_qmm", "python/_autosummary/mlx.core.grad", "python/_autosummary/mlx.core.greater", "python/_autosummary/mlx.core.greater_equal", "python/_autosummary/mlx.core.hadamard_transform", "python/_autosummary/mlx.core.identity", "python/_autosummary/mlx.core.imag", "python/_autosummary/mlx.core.inner", "python/_autosummary/mlx.core.isclose", "python/_autosummary/mlx.core.isfinite", "python/_autosummary/mlx.core.isinf", "python/_autosummary/mlx.core.isnan", "python/_autosummary/mlx.core.isneginf", "python/_autosummary/mlx.core.isposinf", "python/_autosummary/mlx.core.issubdtype", "python/_autosummary/mlx.core.jvp", "python/_autosummary/mlx.core.left_shift", "python/_autosummary/mlx.core.less", "python/_autosummary/mlx.core.less_equal", "python/_autosummary/mlx.core.linalg.cholesky", "python/_autosummary/mlx.core.linalg.cholesky_inv", "python/_autosummary/mlx.core.linalg.cross", "python/_autosummary/mlx.core.linalg.eigh", "python/_autosummary/mlx.core.linalg.eigvalsh", "python/_autosummary/mlx.core.linalg.inv", "python/_autosummary/mlx.core.linalg.norm", "python/_autosummary/mlx.core.linalg.qr", "python/_autosummary/mlx.core.linalg.svd", "python/_autosummary/mlx.core.linalg.tri_inv", "python/_autosummary/mlx.core.linspace", "python/_autosummary/mlx.core.load", "python/_autosummary/mlx.core.log", "python/_autosummary/mlx.core.log10", "python/_autosummary/mlx.core.log1p", "python/_autosummary/mlx.core.log2", "python/_autosummary/mlx.core.logaddexp", "python/_autosummary/mlx.core.logical_and", "python/_autosummary/mlx.core.logical_not", "python/_autosummary/mlx.core.logical_or", "python/_autosummary/mlx.core.logsumexp", "python/_autosummary/mlx.core.matmul", "python/_autosummary/mlx.core.max", "python/_autosummary/mlx.core.maximum", "python/_autosummary/mlx.core.mean", "python/_autosummary/mlx.core.meshgrid", "python/_autosummary/mlx.core.metal.clear_cache", "python/_autosummary/mlx.core.metal.device_info", "python/_autosummary/mlx.core.metal.get_active_memory", "python/_autosummary/mlx.core.metal.get_cache_memory", "python/_autosummary/mlx.core.metal.get_peak_memory", "python/_autosummary/mlx.core.metal.is_available", "python/_autosummary/mlx.core.metal.reset_peak_memory", "python/_autosummary/mlx.core.metal.set_cache_limit", "python/_autosummary/mlx.core.metal.set_memory_limit", "python/_autosummary/mlx.core.metal.set_wired_limit", "python/_autosummary/mlx.core.metal.start_capture", "python/_autosummary/mlx.core.metal.stop_capture", "python/_autosummary/mlx.core.min", "python/_autosummary/mlx.core.minimum", "python/_autosummary/mlx.core.moveaxis", "python/_autosummary/mlx.core.multiply", "python/_autosummary/mlx.core.nan_to_num", "python/_autosummary/mlx.core.negative", "python/_autosummary/mlx.core.new_stream", "python/_autosummary/mlx.core.not_equal", "python/_autosummary/mlx.core.ones", "python/_autosummary/mlx.core.ones_like", "python/_autosummary/mlx.core.outer", "python/_autosummary/mlx.core.pad", "python/_autosummary/mlx.core.partition", "python/_autosummary/mlx.core.power", "python/_autosummary/mlx.core.prod", "python/_autosummary/mlx.core.put_along_axis", "python/_autosummary/mlx.core.quantize", "python/_autosummary/mlx.core.quantized_matmul", "python/_autosummary/mlx.core.radians", "python/_autosummary/mlx.core.random.bernoulli", "python/_autosummary/mlx.core.random.categorical", "python/_autosummary/mlx.core.random.gumbel", "python/_autosummary/mlx.core.random.key", "python/_autosummary/mlx.core.random.laplace", "python/_autosummary/mlx.core.random.multivariate_normal", "python/_autosummary/mlx.core.random.normal", "python/_autosummary/mlx.core.random.permutation", "python/_autosummary/mlx.core.random.randint", "python/_autosummary/mlx.core.random.seed", "python/_autosummary/mlx.core.random.split", "python/_autosummary/mlx.core.random.truncated_normal", "python/_autosummary/mlx.core.random.uniform", "python/_autosummary/mlx.core.real", "python/_autosummary/mlx.core.reciprocal", "python/_autosummary/mlx.core.remainder", "python/_autosummary/mlx.core.repeat", "python/_autosummary/mlx.core.reshape", "python/_autosummary/mlx.core.right_shift", "python/_autosummary/mlx.core.roll", "python/_autosummary/mlx.core.round", "python/_autosummary/mlx.core.rsqrt", "python/_autosummary/mlx.core.save", "python/_autosummary/mlx.core.save_gguf", "python/_autosummary/mlx.core.save_safetensors", "python/_autosummary/mlx.core.savez", "python/_autosummary/mlx.core.savez_compressed", "python/_autosummary/mlx.core.set_default_device", "python/_autosummary/mlx.core.set_default_stream", "python/_autosummary/mlx.core.sigmoid", "python/_autosummary/mlx.core.sign", "python/_autosummary/mlx.core.sin", "python/_autosummary/mlx.core.sinh", "python/_autosummary/mlx.core.softmax", "python/_autosummary/mlx.core.sort", "python/_autosummary/mlx.core.split", "python/_autosummary/mlx.core.sqrt", "python/_autosummary/mlx.core.square", "python/_autosummary/mlx.core.squeeze", "python/_autosummary/mlx.core.stack", "python/_autosummary/mlx.core.std", "python/_autosummary/mlx.core.stop_gradient", "python/_autosummary/mlx.core.stream", "python/_autosummary/mlx.core.subtract", "python/_autosummary/mlx.core.sum", "python/_autosummary/mlx.core.swapaxes", "python/_autosummary/mlx.core.synchronize", "python/_autosummary/mlx.core.take", "python/_autosummary/mlx.core.take_along_axis", "python/_autosummary/mlx.core.tan", "python/_autosummary/mlx.core.tanh", "python/_autosummary/mlx.core.tensordot", "python/_autosummary/mlx.core.tile", "python/_autosummary/mlx.core.topk", "python/_autosummary/mlx.core.trace", "python/_autosummary/mlx.core.transpose", "python/_autosummary/mlx.core.tri", "python/_autosummary/mlx.core.tril", "python/_autosummary/mlx.core.triu", "python/_autosummary/mlx.core.value_and_grad", "python/_autosummary/mlx.core.var", "python/_autosummary/mlx.core.view", "python/_autosummary/mlx.core.vjp", "python/_autosummary/mlx.core.vmap", "python/_autosummary/mlx.core.where", "python/_autosummary/mlx.core.zeros", "python/_autosummary/mlx.core.zeros_like", "python/_autosummary/mlx.nn.quantize", "python/_autosummary/mlx.nn.value_and_grad", "python/_autosummary/mlx.optimizers.clip_grad_norm", "python/_autosummary/mlx.utils.tree_flatten", "python/_autosummary/mlx.utils.tree_map", "python/_autosummary/mlx.utils.tree_map_with_path", "python/_autosummary/mlx.utils.tree_reduce", "python/_autosummary/mlx.utils.tree_unflatten", "python/_autosummary/stream_class", "python/array", "python/data_types", "python/devices_and_streams", "python/distributed", "python/fast", "python/fft", "python/linalg", "python/metal", "python/nn", "python/nn/_autosummary/mlx.nn.ALiBi", "python/nn/_autosummary/mlx.nn.AvgPool1d", "python/nn/_autosummary/mlx.nn.AvgPool2d", "python/nn/_autosummary/mlx.nn.AvgPool3d", "python/nn/_autosummary/mlx.nn.BatchNorm", "python/nn/_autosummary/mlx.nn.CELU", "python/nn/_autosummary/mlx.nn.Conv1d", "python/nn/_autosummary/mlx.nn.Conv2d", "python/nn/_autosummary/mlx.nn.Conv3d", "python/nn/_autosummary/mlx.nn.ConvTranspose1d", "python/nn/_autosummary/mlx.nn.ConvTranspose2d", "python/nn/_autosummary/mlx.nn.ConvTranspose3d", "python/nn/_autosummary/mlx.nn.Dropout", "python/nn/_autosummary/mlx.nn.Dropout2d", "python/nn/_autosummary/mlx.nn.Dropout3d", "python/nn/_autosummary/mlx.nn.ELU", "python/nn/_autosummary/mlx.nn.Embedding", "python/nn/_autosummary/mlx.nn.GELU", "python/nn/_autosummary/mlx.nn.GLU", "python/nn/_autosummary/mlx.nn.GRU", "python/nn/_autosummary/mlx.nn.GroupNorm", "python/nn/_autosummary/mlx.nn.HardShrink", "python/nn/_autosummary/mlx.nn.HardTanh", "python/nn/_autosummary/mlx.nn.Hardswish", "python/nn/_autosummary/mlx.nn.InstanceNorm", "python/nn/_autosummary/mlx.nn.LSTM", "python/nn/_autosummary/mlx.nn.LayerNorm", "python/nn/_autosummary/mlx.nn.LeakyReLU", "python/nn/_autosummary/mlx.nn.Linear", "python/nn/_autosummary/mlx.nn.LogSigmoid", "python/nn/_autosummary/mlx.nn.LogSoftmax", "python/nn/_autosummary/mlx.nn.MaxPool1d", "python/nn/_autosummary/mlx.nn.MaxPool2d", "python/nn/_autosummary/mlx.nn.MaxPool3d", "python/nn/_autosummary/mlx.nn.Mish", "python/nn/_autosummary/mlx.nn.Module.apply", "python/nn/_autosummary/mlx.nn.Module.apply_to_modules", "python/nn/_autosummary/mlx.nn.Module.children", "python/nn/_autosummary/mlx.nn.Module.eval", "python/nn/_autosummary/mlx.nn.Module.filter_and_map", "python/nn/_autosummary/mlx.nn.Module.freeze", "python/nn/_autosummary/mlx.nn.Module.leaf_modules", "python/nn/_autosummary/mlx.nn.Module.load_weights", "python/nn/_autosummary/mlx.nn.Module.modules", "python/nn/_autosummary/mlx.nn.Module.named_modules", "python/nn/_autosummary/mlx.nn.Module.parameters", "python/nn/_autosummary/mlx.nn.Module.save_weights", "python/nn/_autosummary/mlx.nn.Module.set_dtype", "python/nn/_autosummary/mlx.nn.Module.state", "python/nn/_autosummary/mlx.nn.Module.train", "python/nn/_autosummary/mlx.nn.Module.trainable_parameters", "python/nn/_autosummary/mlx.nn.Module.training", "python/nn/_autosummary/mlx.nn.Module.unfreeze", "python/nn/_autosummary/mlx.nn.Module.update", "python/nn/_autosummary/mlx.nn.Module.update_modules", "python/nn/_autosummary/mlx.nn.MultiHeadAttention", "python/nn/_autosummary/mlx.nn.PReLU", "python/nn/_autosummary/mlx.nn.QuantizedEmbedding", "python/nn/_autosummary/mlx.nn.QuantizedLinear", "python/nn/_autosummary/mlx.nn.RMSNorm", "python/nn/_autosummary/mlx.nn.RNN", "python/nn/_autosummary/mlx.nn.ReLU", "python/nn/_autosummary/mlx.nn.ReLU6", "python/nn/_autosummary/mlx.nn.RoPE", "python/nn/_autosummary/mlx.nn.SELU", "python/nn/_autosummary/mlx.nn.Sequential", "python/nn/_autosummary/mlx.nn.SiLU", "python/nn/_autosummary/mlx.nn.Sigmoid", "python/nn/_autosummary/mlx.nn.SinusoidalPositionalEncoding", "python/nn/_autosummary/mlx.nn.Softmax", "python/nn/_autosummary/mlx.nn.Softmin", "python/nn/_autosummary/mlx.nn.Softplus", "python/nn/_autosummary/mlx.nn.Softshrink", "python/nn/_autosummary/mlx.nn.Softsign", "python/nn/_autosummary/mlx.nn.Step", "python/nn/_autosummary/mlx.nn.Tanh", "python/nn/_autosummary/mlx.nn.Transformer", "python/nn/_autosummary/mlx.nn.Upsample", "python/nn/_autosummary/mlx.nn.init.constant", "python/nn/_autosummary/mlx.nn.init.glorot_normal", "python/nn/_autosummary/mlx.nn.init.glorot_uniform", "python/nn/_autosummary/mlx.nn.init.he_normal", "python/nn/_autosummary/mlx.nn.init.he_uniform", "python/nn/_autosummary/mlx.nn.init.identity", "python/nn/_autosummary/mlx.nn.init.normal", "python/nn/_autosummary/mlx.nn.init.uniform", "python/nn/_autosummary_functions/mlx.nn.celu", "python/nn/_autosummary_functions/mlx.nn.elu", "python/nn/_autosummary_functions/mlx.nn.gelu", "python/nn/_autosummary_functions/mlx.nn.gelu_approx", "python/nn/_autosummary_functions/mlx.nn.gelu_fast_approx", "python/nn/_autosummary_functions/mlx.nn.glu", "python/nn/_autosummary_functions/mlx.nn.hard_shrink", "python/nn/_autosummary_functions/mlx.nn.hard_tanh", "python/nn/_autosummary_functions/mlx.nn.hardswish", "python/nn/_autosummary_functions/mlx.nn.leaky_relu", "python/nn/_autosummary_functions/mlx.nn.log_sigmoid", "python/nn/_autosummary_functions/mlx.nn.log_softmax", "python/nn/_autosummary_functions/mlx.nn.losses.binary_cross_entropy", "python/nn/_autosummary_functions/mlx.nn.losses.cosine_similarity_loss", "python/nn/_autosummary_functions/mlx.nn.losses.cross_entropy", "python/nn/_autosummary_functions/mlx.nn.losses.gaussian_nll_loss", "python/nn/_autosummary_functions/mlx.nn.losses.hinge_loss", "python/nn/_autosummary_functions/mlx.nn.losses.huber_loss", "python/nn/_autosummary_functions/mlx.nn.losses.kl_div_loss", "python/nn/_autosummary_functions/mlx.nn.losses.l1_loss", "python/nn/_autosummary_functions/mlx.nn.losses.log_cosh_loss", "python/nn/_autosummary_functions/mlx.nn.losses.margin_ranking_loss", "python/nn/_autosummary_functions/mlx.nn.losses.mse_loss", "python/nn/_autosummary_functions/mlx.nn.losses.nll_loss", "python/nn/_autosummary_functions/mlx.nn.losses.smooth_l1_loss", "python/nn/_autosummary_functions/mlx.nn.losses.triplet_loss", "python/nn/_autosummary_functions/mlx.nn.mish", "python/nn/_autosummary_functions/mlx.nn.prelu", "python/nn/_autosummary_functions/mlx.nn.relu", "python/nn/_autosummary_functions/mlx.nn.relu6", "python/nn/_autosummary_functions/mlx.nn.selu", "python/nn/_autosummary_functions/mlx.nn.sigmoid", "python/nn/_autosummary_functions/mlx.nn.silu", "python/nn/_autosummary_functions/mlx.nn.softmax", "python/nn/_autosummary_functions/mlx.nn.softmin", "python/nn/_autosummary_functions/mlx.nn.softplus", "python/nn/_autosummary_functions/mlx.nn.softshrink", "python/nn/_autosummary_functions/mlx.nn.step", "python/nn/_autosummary_functions/mlx.nn.tanh", "python/nn/functions", "python/nn/init", "python/nn/layers", "python/nn/losses", "python/nn/module", "python/ops", "python/optimizers", "python/optimizers/_autosummary/mlx.optimizers.AdaDelta", "python/optimizers/_autosummary/mlx.optimizers.Adafactor", "python/optimizers/_autosummary/mlx.optimizers.Adagrad", "python/optimizers/_autosummary/mlx.optimizers.Adam", "python/optimizers/_autosummary/mlx.optimizers.AdamW", "python/optimizers/_autosummary/mlx.optimizers.Adamax", "python/optimizers/_autosummary/mlx.optimizers.Lion", "python/optimizers/_autosummary/mlx.optimizers.Optimizer.apply_gradients", "python/optimizers/_autosummary/mlx.optimizers.Optimizer.init", "python/optimizers/_autosummary/mlx.optimizers.Optimizer.state", "python/optimizers/_autosummary/mlx.optimizers.Optimizer.update", "python/optimizers/_autosummary/mlx.optimizers.RMSprop", "python/optimizers/_autosummary/mlx.optimizers.SGD", "python/optimizers/_autosummary/mlx.optimizers.cosine_decay", "python/optimizers/_autosummary/mlx.optimizers.exponential_decay", "python/optimizers/_autosummary/mlx.optimizers.join_schedules", "python/optimizers/_autosummary/mlx.optimizers.linear_schedule", "python/optimizers/_autosummary/mlx.optimizers.step_decay", "python/optimizers/common_optimizers", "python/optimizers/optimizer", "python/optimizers/schedulers", "python/random", "python/transforms", "python/tree_utils", "usage/compile", "usage/distributed", "usage/function_transforms", "usage/indexing", "usage/lazy_evaluation", "usage/numpy", "usage/quick_start", "usage/saving_and_loading", "usage/unified_memory", "usage/using_streams"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1}, "filenames": ["cpp/ops.rst", "dev/custom_metal_kernels.rst", "dev/extensions.rst", "dev/metal_debugger.rst", "examples/linear_regression.rst", "examples/llama-inference.rst", "examples/mlp.rst", "index.rst", "install.rst", "python/_autosummary/mlx.core.Device.rst", "python/_autosummary/mlx.core.Dtype.rst", "python/_autosummary/mlx.core.DtypeCategory.rst", "python/_autosummary/mlx.core.abs.rst", "python/_autosummary/mlx.core.add.rst", "python/_autosummary/mlx.core.addmm.rst", "python/_autosummary/mlx.core.all.rst", "python/_autosummary/mlx.core.allclose.rst", "python/_autosummary/mlx.core.any.rst", "python/_autosummary/mlx.core.arange.rst", "python/_autosummary/mlx.core.arccos.rst", "python/_autosummary/mlx.core.arccosh.rst", "python/_autosummary/mlx.core.arcsin.rst", "python/_autosummary/mlx.core.arcsinh.rst", "python/_autosummary/mlx.core.arctan.rst", "python/_autosummary/mlx.core.arctan2.rst", "python/_autosummary/mlx.core.arctanh.rst", "python/_autosummary/mlx.core.argmax.rst", "python/_autosummary/mlx.core.argmin.rst", "python/_autosummary/mlx.core.argpartition.rst", "python/_autosummary/mlx.core.argsort.rst", "python/_autosummary/mlx.core.array.rst", "python/_autosummary/mlx.core.array.T.rst", "python/_autosummary/mlx.core.array.abs.rst", "python/_autosummary/mlx.core.array.all.rst", "python/_autosummary/mlx.core.array.any.rst", "python/_autosummary/mlx.core.array.argmax.rst", "python/_autosummary/mlx.core.array.argmin.rst", "python/_autosummary/mlx.core.array.astype.rst", "python/_autosummary/mlx.core.array.at.rst", "python/_autosummary/mlx.core.array.conj.rst", "python/_autosummary/mlx.core.array.cos.rst", "python/_autosummary/mlx.core.array.cummax.rst", "python/_autosummary/mlx.core.array.cummin.rst", "python/_autosummary/mlx.core.array.cumprod.rst", "python/_autosummary/mlx.core.array.cumsum.rst", "python/_autosummary/mlx.core.array.diag.rst", "python/_autosummary/mlx.core.array.diagonal.rst", "python/_autosummary/mlx.core.array.dtype.rst", "python/_autosummary/mlx.core.array.exp.rst", "python/_autosummary/mlx.core.array.flatten.rst", "python/_autosummary/mlx.core.array.item.rst", "python/_autosummary/mlx.core.array.itemsize.rst", "python/_autosummary/mlx.core.array.log.rst", "python/_autosummary/mlx.core.array.log10.rst", "python/_autosummary/mlx.core.array.log1p.rst", "python/_autosummary/mlx.core.array.log2.rst", "python/_autosummary/mlx.core.array.logsumexp.rst", "python/_autosummary/mlx.core.array.max.rst", "python/_autosummary/mlx.core.array.mean.rst", "python/_autosummary/mlx.core.array.min.rst", "python/_autosummary/mlx.core.array.moveaxis.rst", "python/_autosummary/mlx.core.array.nbytes.rst", "python/_autosummary/mlx.core.array.ndim.rst", "python/_autosummary/mlx.core.array.prod.rst", "python/_autosummary/mlx.core.array.reciprocal.rst", "python/_autosummary/mlx.core.array.reshape.rst", "python/_autosummary/mlx.core.array.round.rst", "python/_autosummary/mlx.core.array.rsqrt.rst", "python/_autosummary/mlx.core.array.shape.rst", "python/_autosummary/mlx.core.array.sin.rst", "python/_autosummary/mlx.core.array.size.rst", "python/_autosummary/mlx.core.array.split.rst", "python/_autosummary/mlx.core.array.sqrt.rst", "python/_autosummary/mlx.core.array.square.rst", "python/_autosummary/mlx.core.array.squeeze.rst", "python/_autosummary/mlx.core.array.std.rst", "python/_autosummary/mlx.core.array.sum.rst", "python/_autosummary/mlx.core.array.swapaxes.rst", "python/_autosummary/mlx.core.array.tolist.rst", "python/_autosummary/mlx.core.array.transpose.rst", "python/_autosummary/mlx.core.array.var.rst", "python/_autosummary/mlx.core.array.view.rst", "python/_autosummary/mlx.core.array_equal.rst", "python/_autosummary/mlx.core.as_strided.rst", "python/_autosummary/mlx.core.atleast_1d.rst", "python/_autosummary/mlx.core.atleast_2d.rst", "python/_autosummary/mlx.core.atleast_3d.rst", "python/_autosummary/mlx.core.bitwise_and.rst", "python/_autosummary/mlx.core.bitwise_or.rst", "python/_autosummary/mlx.core.bitwise_xor.rst", "python/_autosummary/mlx.core.block_masked_mm.rst", "python/_autosummary/mlx.core.broadcast_to.rst", "python/_autosummary/mlx.core.ceil.rst", "python/_autosummary/mlx.core.clip.rst", "python/_autosummary/mlx.core.compile.rst", "python/_autosummary/mlx.core.concatenate.rst", "python/_autosummary/mlx.core.conj.rst", "python/_autosummary/mlx.core.conjugate.rst", "python/_autosummary/mlx.core.conv1d.rst", "python/_autosummary/mlx.core.conv2d.rst", "python/_autosummary/mlx.core.conv3d.rst", "python/_autosummary/mlx.core.conv_general.rst", "python/_autosummary/mlx.core.conv_transpose1d.rst", "python/_autosummary/mlx.core.conv_transpose2d.rst", "python/_autosummary/mlx.core.conv_transpose3d.rst", "python/_autosummary/mlx.core.convolve.rst", "python/_autosummary/mlx.core.cos.rst", "python/_autosummary/mlx.core.cosh.rst", "python/_autosummary/mlx.core.cummax.rst", "python/_autosummary/mlx.core.cummin.rst", "python/_autosummary/mlx.core.cumprod.rst", "python/_autosummary/mlx.core.cumsum.rst", "python/_autosummary/mlx.core.custom_function.rst", "python/_autosummary/mlx.core.default_device.rst", "python/_autosummary/mlx.core.default_stream.rst", "python/_autosummary/mlx.core.degrees.rst", "python/_autosummary/mlx.core.dequantize.rst", "python/_autosummary/mlx.core.diag.rst", "python/_autosummary/mlx.core.diagonal.rst", "python/_autosummary/mlx.core.disable_compile.rst", "python/_autosummary/mlx.core.distributed.Group.rst", "python/_autosummary/mlx.core.distributed.all_gather.rst", "python/_autosummary/mlx.core.distributed.all_sum.rst", "python/_autosummary/mlx.core.distributed.init.rst", "python/_autosummary/mlx.core.distributed.is_available.rst", "python/_autosummary/mlx.core.distributed.recv.rst", "python/_autosummary/mlx.core.distributed.recv_like.rst", "python/_autosummary/mlx.core.distributed.send.rst", "python/_autosummary/mlx.core.divide.rst", "python/_autosummary/mlx.core.divmod.rst", "python/_autosummary/mlx.core.einsum.rst", "python/_autosummary/mlx.core.einsum_path.rst", "python/_autosummary/mlx.core.enable_compile.rst", "python/_autosummary/mlx.core.equal.rst", "python/_autosummary/mlx.core.erf.rst", "python/_autosummary/mlx.core.erfinv.rst", "python/_autosummary/mlx.core.eval.rst", "python/_autosummary/mlx.core.exp.rst", "python/_autosummary/mlx.core.expand_dims.rst", "python/_autosummary/mlx.core.expm1.rst", "python/_autosummary/mlx.core.eye.rst", "python/_autosummary/mlx.core.fast.layer_norm.rst", "python/_autosummary/mlx.core.fast.metal_kernel.rst", "python/_autosummary/mlx.core.fast.rms_norm.rst", "python/_autosummary/mlx.core.fast.rope.rst", "python/_autosummary/mlx.core.fast.scaled_dot_product_attention.rst", "python/_autosummary/mlx.core.fft.fft.rst", "python/_autosummary/mlx.core.fft.fft2.rst", "python/_autosummary/mlx.core.fft.fftn.rst", "python/_autosummary/mlx.core.fft.ifft.rst", "python/_autosummary/mlx.core.fft.ifft2.rst", "python/_autosummary/mlx.core.fft.ifftn.rst", "python/_autosummary/mlx.core.fft.irfft.rst", "python/_autosummary/mlx.core.fft.irfft2.rst", "python/_autosummary/mlx.core.fft.irfftn.rst", "python/_autosummary/mlx.core.fft.rfft.rst", "python/_autosummary/mlx.core.fft.rfft2.rst", "python/_autosummary/mlx.core.fft.rfftn.rst", "python/_autosummary/mlx.core.flatten.rst", "python/_autosummary/mlx.core.floor.rst", "python/_autosummary/mlx.core.floor_divide.rst", "python/_autosummary/mlx.core.full.rst", "python/_autosummary/mlx.core.gather_mm.rst", "python/_autosummary/mlx.core.gather_qmm.rst", "python/_autosummary/mlx.core.grad.rst", "python/_autosummary/mlx.core.greater.rst", "python/_autosummary/mlx.core.greater_equal.rst", "python/_autosummary/mlx.core.hadamard_transform.rst", "python/_autosummary/mlx.core.identity.rst", "python/_autosummary/mlx.core.imag.rst", "python/_autosummary/mlx.core.inner.rst", "python/_autosummary/mlx.core.isclose.rst", "python/_autosummary/mlx.core.isfinite.rst", "python/_autosummary/mlx.core.isinf.rst", "python/_autosummary/mlx.core.isnan.rst", "python/_autosummary/mlx.core.isneginf.rst", "python/_autosummary/mlx.core.isposinf.rst", "python/_autosummary/mlx.core.issubdtype.rst", "python/_autosummary/mlx.core.jvp.rst", "python/_autosummary/mlx.core.left_shift.rst", "python/_autosummary/mlx.core.less.rst", "python/_autosummary/mlx.core.less_equal.rst", "python/_autosummary/mlx.core.linalg.cholesky.rst", "python/_autosummary/mlx.core.linalg.cholesky_inv.rst", "python/_autosummary/mlx.core.linalg.cross.rst", "python/_autosummary/mlx.core.linalg.eigh.rst", "python/_autosummary/mlx.core.linalg.eigvalsh.rst", "python/_autosummary/mlx.core.linalg.inv.rst", "python/_autosummary/mlx.core.linalg.norm.rst", "python/_autosummary/mlx.core.linalg.qr.rst", "python/_autosummary/mlx.core.linalg.svd.rst", "python/_autosummary/mlx.core.linalg.tri_inv.rst", "python/_autosummary/mlx.core.linspace.rst", "python/_autosummary/mlx.core.load.rst", "python/_autosummary/mlx.core.log.rst", "python/_autosummary/mlx.core.log10.rst", "python/_autosummary/mlx.core.log1p.rst", "python/_autosummary/mlx.core.log2.rst", "python/_autosummary/mlx.core.logaddexp.rst", "python/_autosummary/mlx.core.logical_and.rst", "python/_autosummary/mlx.core.logical_not.rst", "python/_autosummary/mlx.core.logical_or.rst", "python/_autosummary/mlx.core.logsumexp.rst", "python/_autosummary/mlx.core.matmul.rst", "python/_autosummary/mlx.core.max.rst", "python/_autosummary/mlx.core.maximum.rst", "python/_autosummary/mlx.core.mean.rst", "python/_autosummary/mlx.core.meshgrid.rst", "python/_autosummary/mlx.core.metal.clear_cache.rst", "python/_autosummary/mlx.core.metal.device_info.rst", "python/_autosummary/mlx.core.metal.get_active_memory.rst", "python/_autosummary/mlx.core.metal.get_cache_memory.rst", "python/_autosummary/mlx.core.metal.get_peak_memory.rst", "python/_autosummary/mlx.core.metal.is_available.rst", "python/_autosummary/mlx.core.metal.reset_peak_memory.rst", "python/_autosummary/mlx.core.metal.set_cache_limit.rst", "python/_autosummary/mlx.core.metal.set_memory_limit.rst", "python/_autosummary/mlx.core.metal.set_wired_limit.rst", "python/_autosummary/mlx.core.metal.start_capture.rst", "python/_autosummary/mlx.core.metal.stop_capture.rst", "python/_autosummary/mlx.core.min.rst", "python/_autosummary/mlx.core.minimum.rst", "python/_autosummary/mlx.core.moveaxis.rst", "python/_autosummary/mlx.core.multiply.rst", "python/_autosummary/mlx.core.nan_to_num.rst", "python/_autosummary/mlx.core.negative.rst", "python/_autosummary/mlx.core.new_stream.rst", "python/_autosummary/mlx.core.not_equal.rst", "python/_autosummary/mlx.core.ones.rst", "python/_autosummary/mlx.core.ones_like.rst", "python/_autosummary/mlx.core.outer.rst", "python/_autosummary/mlx.core.pad.rst", "python/_autosummary/mlx.core.partition.rst", "python/_autosummary/mlx.core.power.rst", "python/_autosummary/mlx.core.prod.rst", "python/_autosummary/mlx.core.put_along_axis.rst", "python/_autosummary/mlx.core.quantize.rst", "python/_autosummary/mlx.core.quantized_matmul.rst", "python/_autosummary/mlx.core.radians.rst", "python/_autosummary/mlx.core.random.bernoulli.rst", "python/_autosummary/mlx.core.random.categorical.rst", "python/_autosummary/mlx.core.random.gumbel.rst", "python/_autosummary/mlx.core.random.key.rst", "python/_autosummary/mlx.core.random.laplace.rst", "python/_autosummary/mlx.core.random.multivariate_normal.rst", "python/_autosummary/mlx.core.random.normal.rst", "python/_autosummary/mlx.core.random.permutation.rst", "python/_autosummary/mlx.core.random.randint.rst", "python/_autosummary/mlx.core.random.seed.rst", "python/_autosummary/mlx.core.random.split.rst", "python/_autosummary/mlx.core.random.truncated_normal.rst", "python/_autosummary/mlx.core.random.uniform.rst", "python/_autosummary/mlx.core.real.rst", "python/_autosummary/mlx.core.reciprocal.rst", "python/_autosummary/mlx.core.remainder.rst", "python/_autosummary/mlx.core.repeat.rst", "python/_autosummary/mlx.core.reshape.rst", "python/_autosummary/mlx.core.right_shift.rst", "python/_autosummary/mlx.core.roll.rst", "python/_autosummary/mlx.core.round.rst", "python/_autosummary/mlx.core.rsqrt.rst", "python/_autosummary/mlx.core.save.rst", "python/_autosummary/mlx.core.save_gguf.rst", "python/_autosummary/mlx.core.save_safetensors.rst", "python/_autosummary/mlx.core.savez.rst", "python/_autosummary/mlx.core.savez_compressed.rst", "python/_autosummary/mlx.core.set_default_device.rst", "python/_autosummary/mlx.core.set_default_stream.rst", "python/_autosummary/mlx.core.sigmoid.rst", "python/_autosummary/mlx.core.sign.rst", "python/_autosummary/mlx.core.sin.rst", "python/_autosummary/mlx.core.sinh.rst", "python/_autosummary/mlx.core.softmax.rst", "python/_autosummary/mlx.core.sort.rst", "python/_autosummary/mlx.core.split.rst", "python/_autosummary/mlx.core.sqrt.rst", "python/_autosummary/mlx.core.square.rst", "python/_autosummary/mlx.core.squeeze.rst", "python/_autosummary/mlx.core.stack.rst", "python/_autosummary/mlx.core.std.rst", "python/_autosummary/mlx.core.stop_gradient.rst", "python/_autosummary/mlx.core.stream.rst", "python/_autosummary/mlx.core.subtract.rst", "python/_autosummary/mlx.core.sum.rst", "python/_autosummary/mlx.core.swapaxes.rst", "python/_autosummary/mlx.core.synchronize.rst", "python/_autosummary/mlx.core.take.rst", "python/_autosummary/mlx.core.take_along_axis.rst", "python/_autosummary/mlx.core.tan.rst", "python/_autosummary/mlx.core.tanh.rst", "python/_autosummary/mlx.core.tensordot.rst", "python/_autosummary/mlx.core.tile.rst", "python/_autosummary/mlx.core.topk.rst", "python/_autosummary/mlx.core.trace.rst", "python/_autosummary/mlx.core.transpose.rst", "python/_autosummary/mlx.core.tri.rst", "python/_autosummary/mlx.core.tril.rst", "python/_autosummary/mlx.core.triu.rst", "python/_autosummary/mlx.core.value_and_grad.rst", "python/_autosummary/mlx.core.var.rst", "python/_autosummary/mlx.core.view.rst", "python/_autosummary/mlx.core.vjp.rst", "python/_autosummary/mlx.core.vmap.rst", "python/_autosummary/mlx.core.where.rst", "python/_autosummary/mlx.core.zeros.rst", "python/_autosummary/mlx.core.zeros_like.rst", "python/_autosummary/mlx.nn.quantize.rst", "python/_autosummary/mlx.nn.value_and_grad.rst", "python/_autosummary/mlx.optimizers.clip_grad_norm.rst", "python/_autosummary/mlx.utils.tree_flatten.rst", "python/_autosummary/mlx.utils.tree_map.rst", "python/_autosummary/mlx.utils.tree_map_with_path.rst", "python/_autosummary/mlx.utils.tree_reduce.rst", "python/_autosummary/mlx.utils.tree_unflatten.rst", "python/_autosummary/stream_class.rst", "python/array.rst", "python/data_types.rst", "python/devices_and_streams.rst", "python/distributed.rst", "python/fast.rst", "python/fft.rst", "python/linalg.rst", "python/metal.rst", "python/nn.rst", "python/nn/_autosummary/mlx.nn.ALiBi.rst", "python/nn/_autosummary/mlx.nn.AvgPool1d.rst", "python/nn/_autosummary/mlx.nn.AvgPool2d.rst", "python/nn/_autosummary/mlx.nn.AvgPool3d.rst", "python/nn/_autosummary/mlx.nn.BatchNorm.rst", "python/nn/_autosummary/mlx.nn.CELU.rst", "python/nn/_autosummary/mlx.nn.Conv1d.rst", "python/nn/_autosummary/mlx.nn.Conv2d.rst", "python/nn/_autosummary/mlx.nn.Conv3d.rst", "python/nn/_autosummary/mlx.nn.ConvTranspose1d.rst", "python/nn/_autosummary/mlx.nn.ConvTranspose2d.rst", "python/nn/_autosummary/mlx.nn.ConvTranspose3d.rst", "python/nn/_autosummary/mlx.nn.Dropout.rst", "python/nn/_autosummary/mlx.nn.Dropout2d.rst", "python/nn/_autosummary/mlx.nn.Dropout3d.rst", "python/nn/_autosummary/mlx.nn.ELU.rst", "python/nn/_autosummary/mlx.nn.Embedding.rst", "python/nn/_autosummary/mlx.nn.GELU.rst", "python/nn/_autosummary/mlx.nn.GLU.rst", "python/nn/_autosummary/mlx.nn.GRU.rst", "python/nn/_autosummary/mlx.nn.GroupNorm.rst", "python/nn/_autosummary/mlx.nn.HardShrink.rst", "python/nn/_autosummary/mlx.nn.HardTanh.rst", "python/nn/_autosummary/mlx.nn.Hardswish.rst", "python/nn/_autosummary/mlx.nn.InstanceNorm.rst", "python/nn/_autosummary/mlx.nn.LSTM.rst", "python/nn/_autosummary/mlx.nn.LayerNorm.rst", "python/nn/_autosummary/mlx.nn.LeakyReLU.rst", "python/nn/_autosummary/mlx.nn.Linear.rst", "python/nn/_autosummary/mlx.nn.LogSigmoid.rst", "python/nn/_autosummary/mlx.nn.LogSoftmax.rst", "python/nn/_autosummary/mlx.nn.MaxPool1d.rst", "python/nn/_autosummary/mlx.nn.MaxPool2d.rst", "python/nn/_autosummary/mlx.nn.MaxPool3d.rst", "python/nn/_autosummary/mlx.nn.Mish.rst", "python/nn/_autosummary/mlx.nn.Module.apply.rst", "python/nn/_autosummary/mlx.nn.Module.apply_to_modules.rst", "python/nn/_autosummary/mlx.nn.Module.children.rst", "python/nn/_autosummary/mlx.nn.Module.eval.rst", "python/nn/_autosummary/mlx.nn.Module.filter_and_map.rst", "python/nn/_autosummary/mlx.nn.Module.freeze.rst", "python/nn/_autosummary/mlx.nn.Module.leaf_modules.rst", "python/nn/_autosummary/mlx.nn.Module.load_weights.rst", "python/nn/_autosummary/mlx.nn.Module.modules.rst", "python/nn/_autosummary/mlx.nn.Module.named_modules.rst", "python/nn/_autosummary/mlx.nn.Module.parameters.rst", "python/nn/_autosummary/mlx.nn.Module.save_weights.rst", "python/nn/_autosummary/mlx.nn.Module.set_dtype.rst", "python/nn/_autosummary/mlx.nn.Module.state.rst", "python/nn/_autosummary/mlx.nn.Module.train.rst", "python/nn/_autosummary/mlx.nn.Module.trainable_parameters.rst", "python/nn/_autosummary/mlx.nn.Module.training.rst", "python/nn/_autosummary/mlx.nn.Module.unfreeze.rst", "python/nn/_autosummary/mlx.nn.Module.update.rst", "python/nn/_autosummary/mlx.nn.Module.update_modules.rst", "python/nn/_autosummary/mlx.nn.MultiHeadAttention.rst", "python/nn/_autosummary/mlx.nn.PReLU.rst", "python/nn/_autosummary/mlx.nn.QuantizedEmbedding.rst", "python/nn/_autosummary/mlx.nn.QuantizedLinear.rst", "python/nn/_autosummary/mlx.nn.RMSNorm.rst", "python/nn/_autosummary/mlx.nn.RNN.rst", "python/nn/_autosummary/mlx.nn.ReLU.rst", "python/nn/_autosummary/mlx.nn.ReLU6.rst", "python/nn/_autosummary/mlx.nn.RoPE.rst", "python/nn/_autosummary/mlx.nn.SELU.rst", "python/nn/_autosummary/mlx.nn.Sequential.rst", "python/nn/_autosummary/mlx.nn.SiLU.rst", "python/nn/_autosummary/mlx.nn.Sigmoid.rst", "python/nn/_autosummary/mlx.nn.SinusoidalPositionalEncoding.rst", "python/nn/_autosummary/mlx.nn.Softmax.rst", "python/nn/_autosummary/mlx.nn.Softmin.rst", "python/nn/_autosummary/mlx.nn.Softplus.rst", "python/nn/_autosummary/mlx.nn.Softshrink.rst", "python/nn/_autosummary/mlx.nn.Softsign.rst", "python/nn/_autosummary/mlx.nn.Step.rst", "python/nn/_autosummary/mlx.nn.Tanh.rst", "python/nn/_autosummary/mlx.nn.Transformer.rst", "python/nn/_autosummary/mlx.nn.Upsample.rst", "python/nn/_autosummary/mlx.nn.init.constant.rst", "python/nn/_autosummary/mlx.nn.init.glorot_normal.rst", "python/nn/_autosummary/mlx.nn.init.glorot_uniform.rst", "python/nn/_autosummary/mlx.nn.init.he_normal.rst", "python/nn/_autosummary/mlx.nn.init.he_uniform.rst", "python/nn/_autosummary/mlx.nn.init.identity.rst", "python/nn/_autosummary/mlx.nn.init.normal.rst", "python/nn/_autosummary/mlx.nn.init.uniform.rst", "python/nn/_autosummary_functions/mlx.nn.celu.rst", "python/nn/_autosummary_functions/mlx.nn.elu.rst", "python/nn/_autosummary_functions/mlx.nn.gelu.rst", "python/nn/_autosummary_functions/mlx.nn.gelu_approx.rst", "python/nn/_autosummary_functions/mlx.nn.gelu_fast_approx.rst", "python/nn/_autosummary_functions/mlx.nn.glu.rst", "python/nn/_autosummary_functions/mlx.nn.hard_shrink.rst", "python/nn/_autosummary_functions/mlx.nn.hard_tanh.rst", "python/nn/_autosummary_functions/mlx.nn.hardswish.rst", "python/nn/_autosummary_functions/mlx.nn.leaky_relu.rst", "python/nn/_autosummary_functions/mlx.nn.log_sigmoid.rst", "python/nn/_autosummary_functions/mlx.nn.log_softmax.rst", "python/nn/_autosummary_functions/mlx.nn.losses.binary_cross_entropy.rst", "python/nn/_autosummary_functions/mlx.nn.losses.cosine_similarity_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.cross_entropy.rst", "python/nn/_autosummary_functions/mlx.nn.losses.gaussian_nll_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.hinge_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.huber_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.kl_div_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.l1_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.log_cosh_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.margin_ranking_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.mse_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.nll_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.smooth_l1_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.triplet_loss.rst", "python/nn/_autosummary_functions/mlx.nn.mish.rst", "python/nn/_autosummary_functions/mlx.nn.prelu.rst", "python/nn/_autosummary_functions/mlx.nn.relu.rst", "python/nn/_autosummary_functions/mlx.nn.relu6.rst", "python/nn/_autosummary_functions/mlx.nn.selu.rst", "python/nn/_autosummary_functions/mlx.nn.sigmoid.rst", "python/nn/_autosummary_functions/mlx.nn.silu.rst", "python/nn/_autosummary_functions/mlx.nn.softmax.rst", "python/nn/_autosummary_functions/mlx.nn.softmin.rst", "python/nn/_autosummary_functions/mlx.nn.softplus.rst", "python/nn/_autosummary_functions/mlx.nn.softshrink.rst", "python/nn/_autosummary_functions/mlx.nn.step.rst", "python/nn/_autosummary_functions/mlx.nn.tanh.rst", "python/nn/functions.rst", "python/nn/init.rst", "python/nn/layers.rst", "python/nn/losses.rst", "python/nn/module.rst", "python/ops.rst", "python/optimizers.rst", "python/optimizers/_autosummary/mlx.optimizers.AdaDelta.rst", "python/optimizers/_autosummary/mlx.optimizers.Adafactor.rst", "python/optimizers/_autosummary/mlx.optimizers.Adagrad.rst", "python/optimizers/_autosummary/mlx.optimizers.Adam.rst", "python/optimizers/_autosummary/mlx.optimizers.AdamW.rst", "python/optimizers/_autosummary/mlx.optimizers.Adamax.rst", "python/optimizers/_autosummary/mlx.optimizers.Lion.rst", "python/optimizers/_autosummary/mlx.optimizers.Optimizer.apply_gradients.rst", "python/optimizers/_autosummary/mlx.optimizers.Optimizer.init.rst", "python/optimizers/_autosummary/mlx.optimizers.Optimizer.state.rst", "python/optimizers/_autosummary/mlx.optimizers.Optimizer.update.rst", "python/optimizers/_autosummary/mlx.optimizers.RMSprop.rst", "python/optimizers/_autosummary/mlx.optimizers.SGD.rst", "python/optimizers/_autosummary/mlx.optimizers.cosine_decay.rst", "python/optimizers/_autosummary/mlx.optimizers.exponential_decay.rst", "python/optimizers/_autosummary/mlx.optimizers.join_schedules.rst", "python/optimizers/_autosummary/mlx.optimizers.linear_schedule.rst", "python/optimizers/_autosummary/mlx.optimizers.step_decay.rst", "python/optimizers/common_optimizers.rst", "python/optimizers/optimizer.rst", "python/optimizers/schedulers.rst", "python/random.rst", "python/transforms.rst", "python/tree_utils.rst", "usage/compile.rst", "usage/distributed.rst", "usage/function_transforms.rst", "usage/indexing.rst", "usage/lazy_evaluation.rst", "usage/numpy.rst", "usage/quick_start.rst", "usage/saving_and_loading.rst", "usage/unified_memory.rst", "usage/using_streams.rst"], "indexentries": {"__init__() (array method)": [[30, "mlx.core.array.__init__", false]], "__init__() (custom_function method)": [[112, "mlx.core.custom_function.__init__", false]], "__init__() (device method)": [[9, "mlx.core.Device.__init__", false]], "__init__() (dtype method)": [[10, "mlx.core.Dtype.__init__", false]], "__init__() (dtypecategory method)": [[11, "mlx.core.DtypeCategory.__init__", false]], "__init__() (group method)": [[120, "mlx.core.distributed.Group.__init__", false]], "__init__() (stream method)": [[314, "mlx.core.Stream.__init__", false]], "abs (c++ function)": [[0, "_CPPv43absRK5array14StreamOrDevice", false]], "abs() (array method)": [[32, "mlx.core.array.abs", false]], "abs() (in module mlx.core)": [[12, "mlx.core.abs", false]], "adadelta (class in mlx.optimizers)": [[456, "mlx.optimizers.AdaDelta", false]], "adafactor (class in mlx.optimizers)": [[457, "mlx.optimizers.Adafactor", false]], "adagrad (class in mlx.optimizers)": [[458, "mlx.optimizers.Adagrad", false]], "adam (class in mlx.optimizers)": [[459, "mlx.optimizers.Adam", false]], "adamax (class in mlx.optimizers)": [[461, "mlx.optimizers.Adamax", false]], "adamw (class in mlx.optimizers)": [[460, "mlx.optimizers.AdamW", false]], "add (c++ function)": [[0, "_CPPv43addRK5arrayRK5array14StreamOrDevice", false]], "add() (in module mlx.core)": [[13, "mlx.core.add", false]], "addmm (c++ function)": [[0, "_CPPv45addmm5array5array5arrayRKfRKf14StreamOrDevice", false]], "addmm() (in module mlx.core)": [[14, "mlx.core.addmm", false]], "alibi (class in mlx.nn)": [[324, "mlx.nn.ALiBi", false]], "all (c++ function)": [[0, "_CPPv43allRK5array14StreamOrDevice", false], [0, "_CPPv43allRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", false], [0, "_CPPv43allRK5arrayb14StreamOrDevice", false], [0, "_CPPv43allRK5arrayib14StreamOrDevice", false]], "all() (array method)": [[33, "mlx.core.array.all", false]], "all() (in module mlx.core)": [[15, "mlx.core.all", false]], "all_gather() (in module mlx.core.distributed)": [[121, "mlx.core.distributed.all_gather", false]], "all_sum() (in module mlx.core.distributed)": [[122, "mlx.core.distributed.all_sum", false]], "allclose (c++ function)": [[0, "_CPPv48allcloseRK5arrayRK5arrayddb14StreamOrDevice", false]], "allclose() (in module mlx.core)": [[16, "mlx.core.allclose", false]], "any (c++ function)": [[0, "_CPPv43anyRK5array14StreamOrDevice", false], [0, "_CPPv43anyRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", false], [0, "_CPPv43anyRK5arrayb14StreamOrDevice", false], [0, "_CPPv43anyRK5arrayib14StreamOrDevice", false]], "any() (array method)": [[34, "mlx.core.array.any", false]], "any() (in module mlx.core)": [[17, "mlx.core.any", false]], "apply() (module method)": [[359, "mlx.nn.Module.apply", false]], "apply_gradients() (optimizer method)": [[463, "mlx.optimizers.Optimizer.apply_gradients", false]], "apply_to_modules() (module method)": [[360, "mlx.nn.Module.apply_to_modules", false]], "arange (c++ function)": [[0, "_CPPv46aranged14StreamOrDevice", false], [0, "_CPPv46aranged5Dtype14StreamOrDevice", false], [0, "_CPPv46arangedd14StreamOrDevice", false], [0, "_CPPv46arangedd5Dtype14StreamOrDevice", false], [0, "_CPPv46arangeddd14StreamOrDevice", false], [0, "_CPPv46arangeddd5Dtype14StreamOrDevice", false], [0, "_CPPv46arangei14StreamOrDevice", false], [0, "_CPPv46arangeii14StreamOrDevice", false], [0, "_CPPv46arangeiii14StreamOrDevice", false]], "arange() (in module mlx.core)": [[18, "mlx.core.arange", false]], "arccos (c++ function)": [[0, "_CPPv46arccosRK5array14StreamOrDevice", false]], "arccos() (in module mlx.core)": [[19, "mlx.core.arccos", false]], "arccosh (c++ function)": [[0, "_CPPv47arccoshRK5array14StreamOrDevice", false]], "arccosh() (in module mlx.core)": [[20, "mlx.core.arccosh", false]], "arcsin (c++ function)": [[0, "_CPPv46arcsinRK5array14StreamOrDevice", false]], "arcsin() (in module mlx.core)": [[21, "mlx.core.arcsin", false]], "arcsinh (c++ function)": [[0, "_CPPv47arcsinhRK5array14StreamOrDevice", false]], "arcsinh() (in module mlx.core)": [[22, "mlx.core.arcsinh", false]], "arctan (c++ function)": [[0, "_CPPv46arctanRK5array14StreamOrDevice", false]], "arctan() (in module mlx.core)": [[23, "mlx.core.arctan", false]], "arctan2 (c++ function)": [[0, "_CPPv47arctan2RK5arrayRK5array14StreamOrDevice", false]], "arctan2() (in module mlx.core)": [[24, "mlx.core.arctan2", false]], "arctanh (c++ function)": [[0, "_CPPv47arctanhRK5array14StreamOrDevice", false]], "arctanh() (in module mlx.core)": [[25, "mlx.core.arctanh", false]], "argmax (c++ function)": [[0, "_CPPv46argmaxRK5array14StreamOrDevice", false], [0, "_CPPv46argmaxRK5arrayb14StreamOrDevice", false], [0, "_CPPv46argmaxRK5arrayib14StreamOrDevice", false]], "argmax() (array method)": [[35, "mlx.core.array.argmax", false]], "argmax() (in module mlx.core)": [[26, "mlx.core.argmax", false]], "argmin (c++ function)": [[0, "_CPPv46argminRK5array14StreamOrDevice", false], [0, "_CPPv46argminRK5arrayb14StreamOrDevice", false], [0, "_CPPv46argminRK5arrayib14StreamOrDevice", false]], "argmin() (array method)": [[36, "mlx.core.array.argmin", false]], "argmin() (in module mlx.core)": [[27, "mlx.core.argmin", false]], "argpartition (c++ function)": [[0, "_CPPv412argpartitionRK5arrayi14StreamOrDevice", false], [0, "_CPPv412argpartitionRK5arrayii14StreamOrDevice", false]], "argpartition() (in module mlx.core)": [[28, "mlx.core.argpartition", false]], "argsort (c++ function)": [[0, "_CPPv47argsortRK5array14StreamOrDevice", false], [0, "_CPPv47argsortRK5arrayi14StreamOrDevice", false]], "argsort() (in module mlx.core)": [[29, "mlx.core.argsort", false]], "array (class in mlx.core)": [[30, "mlx.core.array", false]], "array_equal (c++ function)": [[0, "_CPPv411array_equalRK5arrayRK5array14StreamOrDevice", false], [0, "_CPPv411array_equalRK5arrayRK5arrayb14StreamOrDevice", false]], "array_equal() (in module mlx.core)": [[82, "mlx.core.array_equal", false]], "as_strided (c++ function)": [[0, "_CPPv410as_strided5arrayNSt6vectorIiEENSt6vectorI6size_tEE6size_t14StreamOrDevice", false]], "as_strided() (in module mlx.core)": [[83, "mlx.core.as_strided", false]], "astype (c++ function)": [[0, "_CPPv46astype5array5Dtype14StreamOrDevice", false]], "astype() (array method)": [[37, "mlx.core.array.astype", false]], "at (array property)": [[38, "mlx.core.array.at", false]], "atleast_1d (c++ function)": [[0, "_CPPv410atleast_1dRK5array14StreamOrDevice", false], [0, "_CPPv410atleast_1dRKNSt6vectorI5arrayEE14StreamOrDevice", false]], "atleast_1d() (in module mlx.core)": [[84, "mlx.core.atleast_1d", false]], "atleast_2d (c++ function)": [[0, "_CPPv410atleast_2dRK5array14StreamOrDevice", false], [0, "_CPPv410atleast_2dRKNSt6vectorI5arrayEE14StreamOrDevice", false]], "atleast_2d() (in module mlx.core)": [[85, "mlx.core.atleast_2d", false]], "atleast_3d (c++ function)": [[0, "_CPPv410atleast_3dRK5array14StreamOrDevice", false], [0, "_CPPv410atleast_3dRKNSt6vectorI5arrayEE14StreamOrDevice", false]], "atleast_3d() (in module mlx.core)": [[86, "mlx.core.atleast_3d", false]], "avgpool1d (class in mlx.nn)": [[325, "mlx.nn.AvgPool1d", false]], "avgpool2d (class in mlx.nn)": [[326, "mlx.nn.AvgPool2d", false]], "avgpool3d (class in mlx.nn)": [[327, "mlx.nn.AvgPool3d", false]], "batchnorm (class in mlx.nn)": [[328, "mlx.nn.BatchNorm", false]], "bernoulli() (in module mlx.core.random)": [[239, "mlx.core.random.bernoulli", false]], "binary_cross_entropy (class in mlx.nn.losses)": [[422, "mlx.nn.losses.binary_cross_entropy", false]], "bitwise_and (c++ function)": [[0, "_CPPv411bitwise_andRK5arrayRK5array14StreamOrDevice", false]], "bitwise_and() (in module mlx.core)": [[87, "mlx.core.bitwise_and", false]], "bitwise_or (c++ function)": [[0, "_CPPv410bitwise_orRK5arrayRK5array14StreamOrDevice", false]], "bitwise_or() (in module mlx.core)": [[88, "mlx.core.bitwise_or", false]], "bitwise_xor (c++ function)": [[0, "_CPPv411bitwise_xorRK5arrayRK5array14StreamOrDevice", false]], "bitwise_xor() (in module mlx.core)": [[89, "mlx.core.bitwise_xor", false]], "block_masked_mm (c++ function)": [[0, "_CPPv415block_masked_mm5array5arrayiNSt8optionalI5arrayEENSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", false]], "block_masked_mm() (in module mlx.core)": [[90, "mlx.core.block_masked_mm", false]], "broadcast_arrays (c++ function)": [[0, "_CPPv416broadcast_arraysRKNSt6vectorI5arrayEE14StreamOrDevice", false]], "broadcast_to (c++ function)": [[0, "_CPPv412broadcast_toRK5arrayRKNSt6vectorIiEE14StreamOrDevice", false]], "broadcast_to() (in module mlx.core)": [[91, "mlx.core.broadcast_to", false]], "categorical() (in module mlx.core.random)": [[240, "mlx.core.random.categorical", false]], "ceil (c++ function)": [[0, "_CPPv44ceilRK5array14StreamOrDevice", false]], "ceil() (in module mlx.core)": [[92, "mlx.core.ceil", false]], "celu (class in mlx.nn)": [[329, "mlx.nn.CELU", false], [410, "mlx.nn.celu", false]], "children() (module method)": [[361, "mlx.nn.Module.children", false]], "cholesky() (in module mlx.core.linalg)": [[182, "mlx.core.linalg.cholesky", false]], "cholesky_inv() (in module mlx.core.linalg)": [[183, "mlx.core.linalg.cholesky_inv", false]], "clear_cache() (in module mlx.core.metal)": [[208, "mlx.core.metal.clear_cache", false]], "clip (c++ function)": [[0, "_CPPv44clipRK5arrayRKNSt8optionalI5arrayEERKNSt8optionalI5arrayEE14StreamOrDevice", false]], "clip() (in module mlx.core)": [[93, "mlx.core.clip", false]], "clip_grad_norm() (in module mlx.optimizers)": [[308, "mlx.optimizers.clip_grad_norm", false]], "compile() (in module mlx.core)": [[94, "mlx.core.compile", false]], "concatenate (c++ function)": [[0, "_CPPv411concatenateRKNSt6vectorI5arrayEE14StreamOrDevice", false], [0, "_CPPv411concatenateRKNSt6vectorI5arrayEEi14StreamOrDevice", false]], "concatenate() (in module mlx.core)": [[95, "mlx.core.concatenate", false]], "conj() (array method)": [[39, "mlx.core.array.conj", false]], "conj() (in module mlx.core)": [[96, "mlx.core.conj", false]], "conjugate (c++ function)": [[0, "_CPPv49conjugateRK5array14StreamOrDevice", false]], "conjugate() (in module mlx.core)": [[97, "mlx.core.conjugate", false]], "constant() (in module mlx.nn.init)": [[402, "mlx.nn.init.constant", false]], "contiguous (c++ function)": [[0, "_CPPv410contiguousRK5arrayb14StreamOrDevice", false]], "conv1d (c++ function)": [[0, "_CPPv46conv1dRK5arrayRK5arrayiiii14StreamOrDevice", false]], "conv1d (class in mlx.nn)": [[330, "mlx.nn.Conv1d", false]], "conv1d() (in module mlx.core)": [[98, "mlx.core.conv1d", false]], "conv2d (c++ function)": [[0, "_CPPv46conv2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", false]], "conv2d (class in mlx.nn)": [[331, "mlx.nn.Conv2d", false]], "conv2d() (in module mlx.core)": [[99, "mlx.core.conv2d", false]], "conv3d (c++ function)": [[0, "_CPPv46conv3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", false]], "conv3d (class in mlx.nn)": [[332, "mlx.nn.Conv3d", false]], "conv3d() (in module mlx.core)": [[100, "mlx.core.conv3d", false]], "conv_general (c++ function)": [[0, "_CPPv412conv_general5array5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", false], [0, "_CPPv412conv_generalRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", false]], "conv_general() (in module mlx.core)": [[101, "mlx.core.conv_general", false]], "conv_transpose1d (c++ function)": [[0, "_CPPv416conv_transpose1dRK5arrayRK5arrayiiii14StreamOrDevice", false]], "conv_transpose1d() (in module mlx.core)": [[102, "mlx.core.conv_transpose1d", false]], "conv_transpose2d (c++ function)": [[0, "_CPPv416conv_transpose2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", false]], "conv_transpose2d() (in module mlx.core)": [[103, "mlx.core.conv_transpose2d", false]], "conv_transpose3d (c++ function)": [[0, "_CPPv416conv_transpose3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", false]], "conv_transpose3d() (in module mlx.core)": [[104, "mlx.core.conv_transpose3d", false]], "convolve() (in module mlx.core)": [[105, "mlx.core.convolve", false]], "convtranspose1d (class in mlx.nn)": [[333, "mlx.nn.ConvTranspose1d", false]], "convtranspose2d (class in mlx.nn)": [[334, "mlx.nn.ConvTranspose2d", false]], "convtranspose3d (class in mlx.nn)": [[335, "mlx.nn.ConvTranspose3d", false]], "copy (c++ function)": [[0, "_CPPv44copy5array14StreamOrDevice", false]], "cos (c++ function)": [[0, "_CPPv43cosRK5array14StreamOrDevice", false]], "cos() (array method)": [[40, "mlx.core.array.cos", false]], "cos() (in module mlx.core)": [[106, "mlx.core.cos", false]], "cosh (c++ function)": [[0, "_CPPv44coshRK5array14StreamOrDevice", false]], "cosh() (in module mlx.core)": [[107, "mlx.core.cosh", false]], "cosine_decay() (in module mlx.optimizers)": [[469, "mlx.optimizers.cosine_decay", false]], "cosine_similarity_loss (class in mlx.nn.losses)": [[423, "mlx.nn.losses.cosine_similarity_loss", false]], "cross() (in module mlx.core.linalg)": [[184, "mlx.core.linalg.cross", false]], "cross_entropy (class in mlx.nn.losses)": [[424, "mlx.nn.losses.cross_entropy", false]], "cummax (c++ function)": [[0, "_CPPv46cummaxRK5arrayibb14StreamOrDevice", false]], "cummax() (array method)": [[41, "mlx.core.array.cummax", false]], "cummax() (in module mlx.core)": [[108, "mlx.core.cummax", false]], "cummin (c++ function)": [[0, "_CPPv46cumminRK5arrayibb14StreamOrDevice", false]], "cummin() (array method)": [[42, "mlx.core.array.cummin", false]], "cummin() (in module mlx.core)": [[109, "mlx.core.cummin", false]], "cumprod (c++ function)": [[0, "_CPPv47cumprodRK5arrayibb14StreamOrDevice", false]], "cumprod() (array method)": [[43, "mlx.core.array.cumprod", false]], "cumprod() (in module mlx.core)": [[110, "mlx.core.cumprod", false]], "cumsum (c++ function)": [[0, "_CPPv46cumsumRK5arrayibb14StreamOrDevice", false]], "cumsum() (array method)": [[44, "mlx.core.array.cumsum", false]], "cumsum() (in module mlx.core)": [[111, "mlx.core.cumsum", false]], "custom_function (class in mlx.core)": [[112, "mlx.core.custom_function", false]], "default_device() (in module mlx.core)": [[113, "mlx.core.default_device", false]], "default_stream() (in module mlx.core)": [[114, "mlx.core.default_stream", false]], "degrees (c++ function)": [[0, "_CPPv47degreesRK5array14StreamOrDevice", false]], "degrees() (in module mlx.core)": [[115, "mlx.core.degrees", false]], "depends (c++ function)": [[0, "_CPPv47dependsRKNSt6vectorI5arrayEERKNSt6vectorI5arrayEE", false]], "dequantize (c++ function)": [[0, "_CPPv410dequantizeRK5arrayRK5arrayRK5arrayii14StreamOrDevice", false]], "dequantize() (in module mlx.core)": [[116, "mlx.core.dequantize", false]], "device (class in mlx.core)": [[9, "mlx.core.Device", false]], "device_info() (in module mlx.core.metal)": [[209, "mlx.core.metal.device_info", false]], "diag (c++ function)": [[0, "_CPPv44diagRK5arrayi14StreamOrDevice", false]], "diag() (array method)": [[45, "mlx.core.array.diag", false]], "diag() (in module mlx.core)": [[117, "mlx.core.diag", false]], "diagonal (c++ function)": [[0, "_CPPv48diagonalRK5arrayiii14StreamOrDevice", false]], "diagonal() (array method)": [[46, "mlx.core.array.diagonal", false]], "diagonal() (in module mlx.core)": [[118, "mlx.core.diagonal", false]], "disable_compile() (in module mlx.core)": [[119, "mlx.core.disable_compile", false]], "divide (c++ function)": [[0, "_CPPv46divideRK5arrayRK5array14StreamOrDevice", false]], "divide() (in module mlx.core)": [[128, "mlx.core.divide", false]], "divmod (c++ function)": [[0, "_CPPv46divmodRK5arrayRK5array14StreamOrDevice", false]], "divmod() (in module mlx.core)": [[129, "mlx.core.divmod", false]], "dropout (class in mlx.nn)": [[336, "mlx.nn.Dropout", false]], "dropout2d (class in mlx.nn)": [[337, "mlx.nn.Dropout2d", false]], "dropout3d (class in mlx.nn)": [[338, "mlx.nn.Dropout3d", false]], "dtype (array property)": [[47, "mlx.core.array.dtype", false]], "dtype (class in mlx.core)": [[10, "mlx.core.Dtype", false]], "dtypecategory (class in mlx.core)": [[11, "mlx.core.DtypeCategory", false]], "eigh() (in module mlx.core.linalg)": [[185, "mlx.core.linalg.eigh", false]], "eigvalsh() (in module mlx.core.linalg)": [[186, "mlx.core.linalg.eigvalsh", false]], "einsum() (in module mlx.core)": [[130, "mlx.core.einsum", false]], "einsum_path() (in module mlx.core)": [[131, "mlx.core.einsum_path", false]], "elu (class in mlx.nn)": [[339, "mlx.nn.ELU", false], [411, "mlx.nn.elu", false]], "embedding (class in mlx.nn)": [[340, "mlx.nn.Embedding", false]], "enable_compile() (in module mlx.core)": [[132, "mlx.core.enable_compile", false]], "equal (c++ function)": [[0, "_CPPv45equalRK5arrayRK5array14StreamOrDevice", false]], "equal() (in module mlx.core)": [[133, "mlx.core.equal", false]], "erf (c++ function)": [[0, "_CPPv43erfRK5array14StreamOrDevice", false]], "erf() (in module mlx.core)": [[134, "mlx.core.erf", false]], "erfinv (c++ function)": [[0, "_CPPv46erfinvRK5array14StreamOrDevice", false]], "erfinv() (in module mlx.core)": [[135, "mlx.core.erfinv", false]], "eval() (in module mlx.core)": [[136, "mlx.core.eval", false]], "eval() (module method)": [[362, "mlx.nn.Module.eval", false]], "exp (c++ function)": [[0, "_CPPv43expRK5array14StreamOrDevice", false]], "exp() (array method)": [[48, "mlx.core.array.exp", false]], "exp() (in module mlx.core)": [[137, "mlx.core.exp", false]], "expand_dims (c++ function)": [[0, "_CPPv411expand_dimsRK5arrayRKNSt6vectorIiEE14StreamOrDevice", false], [0, "_CPPv411expand_dimsRK5arrayi14StreamOrDevice", false]], "expand_dims() (in module mlx.core)": [[138, "mlx.core.expand_dims", false]], "expm1 (c++ function)": [[0, "_CPPv45expm1RK5array14StreamOrDevice", false]], "expm1() (in module mlx.core)": [[139, "mlx.core.expm1", false]], "exponential_decay() (in module mlx.optimizers)": [[470, "mlx.optimizers.exponential_decay", false]], "eye (c++ function)": [[0, "_CPPv43eyei14StreamOrDevice", false], [0, "_CPPv43eyei5Dtype14StreamOrDevice", false], [0, "_CPPv43eyeii14StreamOrDevice", false], [0, "_CPPv43eyeiii14StreamOrDevice", false], [0, "_CPPv43eyeiii5Dtype14StreamOrDevice", false]], "eye() (in module mlx.core)": [[140, "mlx.core.eye", false]], "fft() (in module mlx.core.fft)": [[146, "mlx.core.fft.fft", false]], "fft2() (in module mlx.core.fft)": [[147, "mlx.core.fft.fft2", false]], "fftn() (in module mlx.core.fft)": [[148, "mlx.core.fft.fftn", false]], "filter_and_map() (module method)": [[363, "mlx.nn.Module.filter_and_map", false]], "flatten (c++ function)": [[0, "_CPPv47flattenRK5array14StreamOrDevice", false], [0, "_CPPv47flattenRK5arrayii14StreamOrDevice", false]], "flatten() (array method)": [[49, "mlx.core.array.flatten", false]], "flatten() (in module mlx.core)": [[158, "mlx.core.flatten", false]], "floor (c++ function)": [[0, "_CPPv45floorRK5array14StreamOrDevice", false]], "floor() (in module mlx.core)": [[159, "mlx.core.floor", false]], "floor_divide (c++ function)": [[0, "_CPPv412floor_divideRK5arrayRK5array14StreamOrDevice", false]], "floor_divide() (in module mlx.core)": [[160, "mlx.core.floor_divide", false]], "freeze() (module method)": [[364, "mlx.nn.Module.freeze", false]], "full (c++ function)": [[0, "_CPPv44fullNSt6vectorIiEE5array14StreamOrDevice", false], [0, "_CPPv44fullNSt6vectorIiEE5array5Dtype14StreamOrDevice", false], [0, "_CPPv4I0E4full5arrayNSt6vectorIiEE1T14StreamOrDevice", false], [0, "_CPPv4I0E4full5arrayNSt6vectorIiEE1T5Dtype14StreamOrDevice", false]], "full() (in module mlx.core)": [[161, "mlx.core.full", false]], "gather (c++ function)": [[0, "_CPPv46gatherRK5arrayRK5arrayiRKNSt6vectorIiEE14StreamOrDevice", false], [0, "_CPPv46gatherRK5arrayRKNSt6vectorI5arrayEERKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice", false]], "gather_mm (c++ function)": [[0, "_CPPv49gather_mm5array5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", false]], "gather_mm() (in module mlx.core)": [[162, "mlx.core.gather_mm", false]], "gather_qmm (c++ function)": [[0, "_CPPv410gather_qmmRK5arrayRK5arrayRK5arrayRK5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEEbii14StreamOrDevice", false]], "gather_qmm() (in module mlx.core)": [[163, "mlx.core.gather_qmm", false]], "gaussian_nll_loss (class in mlx.nn.losses)": [[425, "mlx.nn.losses.gaussian_nll_loss", false]], "gelu (class in mlx.nn)": [[341, "mlx.nn.GELU", false], [412, "mlx.nn.gelu", false]], "gelu_approx (class in mlx.nn)": [[413, "mlx.nn.gelu_approx", false]], "gelu_fast_approx (class in mlx.nn)": [[414, "mlx.nn.gelu_fast_approx", false]], "get_active_memory() (in module mlx.core.metal)": [[210, "mlx.core.metal.get_active_memory", false]], "get_cache_memory() (in module mlx.core.metal)": [[211, "mlx.core.metal.get_cache_memory", false]], "get_peak_memory() (in module mlx.core.metal)": [[212, "mlx.core.metal.get_peak_memory", false]], "glorot_normal() (in module mlx.nn.init)": [[403, "mlx.nn.init.glorot_normal", false]], "glorot_uniform() (in module mlx.nn.init)": [[404, "mlx.nn.init.glorot_uniform", false]], "glu (class in mlx.nn)": [[342, "mlx.nn.GLU", false], [415, "mlx.nn.glu", false]], "grad() (in module mlx.core)": [[164, "mlx.core.grad", false]], "greater (c++ function)": [[0, "_CPPv47greaterRK5arrayRK5array14StreamOrDevice", false]], "greater() (in module mlx.core)": [[165, "mlx.core.greater", false]], "greater_equal (c++ function)": [[0, "_CPPv413greater_equalRK5arrayRK5array14StreamOrDevice", false]], "greater_equal() (in module mlx.core)": [[166, "mlx.core.greater_equal", false]], "group (class in mlx.core.distributed)": [[120, "mlx.core.distributed.Group", false]], "groupnorm (class in mlx.nn)": [[344, "mlx.nn.GroupNorm", false]], "gru (class in mlx.nn)": [[343, "mlx.nn.GRU", false]], "gumbel() (in module mlx.core.random)": [[241, "mlx.core.random.gumbel", false]], "hadamard_transform (c++ function)": [[0, "_CPPv418hadamard_transformRK5arrayNSt8optionalIfEE14StreamOrDevice", false]], "hadamard_transform() (in module mlx.core)": [[167, "mlx.core.hadamard_transform", false]], "hard_shrink (class in mlx.nn)": [[416, "mlx.nn.hard_shrink", false]], "hard_tanh (class in mlx.nn)": [[417, "mlx.nn.hard_tanh", false]], "hardshrink (class in mlx.nn)": [[345, "mlx.nn.HardShrink", false]], "hardswish (class in mlx.nn)": [[347, "mlx.nn.Hardswish", false], [418, "mlx.nn.hardswish", false]], "hardtanh (class in mlx.nn)": [[346, "mlx.nn.HardTanh", false]], "he_normal() (in module mlx.nn.init)": [[405, "mlx.nn.init.he_normal", false]], "he_uniform() (in module mlx.nn.init)": [[406, "mlx.nn.init.he_uniform", false]], "hinge_loss (class in mlx.nn.losses)": [[426, "mlx.nn.losses.hinge_loss", false]], "huber_loss (class in mlx.nn.losses)": [[427, "mlx.nn.losses.huber_loss", false]], "identity (c++ function)": [[0, "_CPPv48identityi14StreamOrDevice", false], [0, "_CPPv48identityi5Dtype14StreamOrDevice", false]], "identity() (in module mlx.core)": [[168, "mlx.core.identity", false]], "identity() (in module mlx.nn.init)": [[407, "mlx.nn.init.identity", false]], "ifft() (in module mlx.core.fft)": [[149, "mlx.core.fft.ifft", false]], "ifft2() (in module mlx.core.fft)": [[150, "mlx.core.fft.ifft2", false]], "ifftn() (in module mlx.core.fft)": [[151, "mlx.core.fft.ifftn", false]], "imag (c++ function)": [[0, "_CPPv44imagRK5array14StreamOrDevice", false]], "imag() (in module mlx.core)": [[169, "mlx.core.imag", false]], "init() (in module mlx.core.distributed)": [[123, "mlx.core.distributed.init", false]], "init() (optimizer method)": [[464, "mlx.optimizers.Optimizer.init", false]], "inner (c++ function)": [[0, "_CPPv45innerRK5arrayRK5array14StreamOrDevice", false]], "inner() (in module mlx.core)": [[170, "mlx.core.inner", false]], "instancenorm (class in mlx.nn)": [[348, "mlx.nn.InstanceNorm", false]], "inv() (in module mlx.core.linalg)": [[187, "mlx.core.linalg.inv", false]], "irfft() (in module mlx.core.fft)": [[152, "mlx.core.fft.irfft", false]], "irfft2() (in module mlx.core.fft)": [[153, "mlx.core.fft.irfft2", false]], "irfftn() (in module mlx.core.fft)": [[154, "mlx.core.fft.irfftn", false]], "is_available() (in module mlx.core.distributed)": [[124, "mlx.core.distributed.is_available", false]], "is_available() (in module mlx.core.metal)": [[213, "mlx.core.metal.is_available", false]], "isclose (c++ function)": [[0, "_CPPv47iscloseRK5arrayRK5arrayddb14StreamOrDevice", false]], "isclose() (in module mlx.core)": [[171, "mlx.core.isclose", false]], "isfinite (c++ function)": [[0, "_CPPv48isfiniteRK5array14StreamOrDevice", false]], "isfinite() (in module mlx.core)": [[172, "mlx.core.isfinite", false]], "isinf (c++ function)": [[0, "_CPPv45isinfRK5array14StreamOrDevice", false]], "isinf() (in module mlx.core)": [[173, "mlx.core.isinf", false]], "isnan (c++ function)": [[0, "_CPPv45isnanRK5array14StreamOrDevice", false]], "isnan() (in module mlx.core)": [[174, "mlx.core.isnan", false]], "isneginf (c++ function)": [[0, "_CPPv48isneginfRK5array14StreamOrDevice", false]], "isneginf() (in module mlx.core)": [[175, "mlx.core.isneginf", false]], "isposinf (c++ function)": [[0, "_CPPv48isposinfRK5array14StreamOrDevice", false]], "isposinf() (in module mlx.core)": [[176, "mlx.core.isposinf", false]], "issubdtype() (in module mlx.core)": [[177, "mlx.core.issubdtype", false]], "item() (array method)": [[50, "mlx.core.array.item", false]], "itemsize (array property)": [[51, "mlx.core.array.itemsize", false]], "join_schedules() (in module mlx.optimizers)": [[471, "mlx.optimizers.join_schedules", false]], "jvp() (in module mlx.core)": [[178, "mlx.core.jvp", false]], "key() (in module mlx.core.random)": [[242, "mlx.core.random.key", false]], "kl_div_loss (class in mlx.nn.losses)": [[428, "mlx.nn.losses.kl_div_loss", false]], "l1_loss (class in mlx.nn.losses)": [[429, "mlx.nn.losses.l1_loss", false]], "laplace() (in module mlx.core.random)": [[243, "mlx.core.random.laplace", false]], "layer_norm() (in module mlx.core.fast)": [[141, "mlx.core.fast.layer_norm", false]], "layernorm (class in mlx.nn)": [[350, "mlx.nn.LayerNorm", false]], "leaf_modules() (module method)": [[365, "mlx.nn.Module.leaf_modules", false]], "leaky_relu (class in mlx.nn)": [[419, "mlx.nn.leaky_relu", false]], "leakyrelu (class in mlx.nn)": [[351, "mlx.nn.LeakyReLU", false]], "left_shift (c++ function)": [[0, "_CPPv410left_shiftRK5arrayRK5array14StreamOrDevice", false]], "left_shift() (in module mlx.core)": [[179, "mlx.core.left_shift", false]], "less (c++ function)": [[0, "_CPPv44lessRK5arrayRK5array14StreamOrDevice", false]], "less() (in module mlx.core)": [[180, "mlx.core.less", false]], "less_equal (c++ function)": [[0, "_CPPv410less_equalRK5arrayRK5array14StreamOrDevice", false]], "less_equal() (in module mlx.core)": [[181, "mlx.core.less_equal", false]], "linear (class in mlx.nn)": [[352, "mlx.nn.Linear", false]], "linear_schedule() (in module mlx.optimizers)": [[472, "mlx.optimizers.linear_schedule", false]], "linspace (c++ function)": [[0, "_CPPv48linspaceddi5Dtype14StreamOrDevice", false]], "linspace() (in module mlx.core)": [[192, "mlx.core.linspace", false]], "lion (class in mlx.optimizers)": [[462, "mlx.optimizers.Lion", false]], "load() (in module mlx.core)": [[193, "mlx.core.load", false]], "load_weights() (module method)": [[366, "mlx.nn.Module.load_weights", false]], "log (c++ function)": [[0, "_CPPv43logRK5array14StreamOrDevice", false]], "log() (array method)": [[52, "mlx.core.array.log", false]], "log() (in module mlx.core)": [[194, "mlx.core.log", false]], "log10 (c++ function)": [[0, "_CPPv45log10RK5array14StreamOrDevice", false]], "log10() (array method)": [[53, "mlx.core.array.log10", false]], "log10() (in module mlx.core)": [[195, "mlx.core.log10", false]], "log1p (c++ function)": [[0, "_CPPv45log1pRK5array14StreamOrDevice", false]], "log1p() (array method)": [[54, "mlx.core.array.log1p", false]], "log1p() (in module mlx.core)": [[196, "mlx.core.log1p", false]], "log2 (c++ function)": [[0, "_CPPv44log2RK5array14StreamOrDevice", false]], "log2() (array method)": [[55, "mlx.core.array.log2", false]], "log2() (in module mlx.core)": [[197, "mlx.core.log2", false]], "log_cosh_loss (class in mlx.nn.losses)": [[430, "mlx.nn.losses.log_cosh_loss", false]], "log_sigmoid (class in mlx.nn)": [[420, "mlx.nn.log_sigmoid", false]], "log_softmax (class in mlx.nn)": [[421, "mlx.nn.log_softmax", false]], "logaddexp (c++ function)": [[0, "_CPPv49logaddexpRK5arrayRK5array14StreamOrDevice", false]], "logaddexp() (in module mlx.core)": [[198, "mlx.core.logaddexp", false]], "logical_and (c++ function)": [[0, "_CPPv411logical_andRK5arrayRK5array14StreamOrDevice", false]], "logical_and() (in module mlx.core)": [[199, "mlx.core.logical_and", false]], "logical_not (c++ function)": [[0, "_CPPv411logical_notRK5array14StreamOrDevice", false]], "logical_not() (in module mlx.core)": [[200, "mlx.core.logical_not", false]], "logical_or (c++ function)": [[0, "_CPPv410logical_orRK5arrayRK5array14StreamOrDevice", false]], "logical_or() (in module mlx.core)": [[201, "mlx.core.logical_or", false]], "logsigmoid (class in mlx.nn)": [[353, "mlx.nn.LogSigmoid", false]], "logsoftmax (class in mlx.nn)": [[354, "mlx.nn.LogSoftmax", false]], "logsumexp (c++ function)": [[0, "_CPPv49logsumexpRK5array14StreamOrDevice", false], [0, "_CPPv49logsumexpRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", false], [0, "_CPPv49logsumexpRK5arrayb14StreamOrDevice", false], [0, "_CPPv49logsumexpRK5arrayib14StreamOrDevice", false]], "logsumexp() (array method)": [[56, "mlx.core.array.logsumexp", false]], "logsumexp() (in module mlx.core)": [[202, "mlx.core.logsumexp", false]], "lstm (class in mlx.nn)": [[349, "mlx.nn.LSTM", false]], "margin_ranking_loss (class in mlx.nn.losses)": [[431, "mlx.nn.losses.margin_ranking_loss", false]], "matmul (c++ function)": [[0, "_CPPv46matmulRK5arrayRK5array14StreamOrDevice", false]], "matmul() (in module mlx.core)": [[203, "mlx.core.matmul", false]], "max (c++ function)": [[0, "_CPPv43maxRK5array14StreamOrDevice", false], [0, "_CPPv43maxRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", false], [0, "_CPPv43maxRK5arrayb14StreamOrDevice", false], [0, "_CPPv43maxRK5arrayib14StreamOrDevice", false]], "max() (array method)": [[57, "mlx.core.array.max", false]], "max() (in module mlx.core)": [[204, "mlx.core.max", false]], "maximum (c++ function)": [[0, "_CPPv47maximumRK5arrayRK5array14StreamOrDevice", false]], "maximum() (in module mlx.core)": [[205, "mlx.core.maximum", false]], "maxpool1d (class in mlx.nn)": [[355, "mlx.nn.MaxPool1d", false]], "maxpool2d (class in mlx.nn)": [[356, "mlx.nn.MaxPool2d", false]], "maxpool3d (class in mlx.nn)": [[357, "mlx.nn.MaxPool3d", false]], "mean (c++ function)": [[0, "_CPPv44meanRK5array14StreamOrDevice", false], [0, "_CPPv44meanRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", false], [0, "_CPPv44meanRK5arrayb14StreamOrDevice", false], [0, "_CPPv44meanRK5arrayib14StreamOrDevice", false]], "mean() (array method)": [[58, "mlx.core.array.mean", false]], "mean() (in module mlx.core)": [[206, "mlx.core.mean", false]], "meshgrid (c++ function)": [[0, "_CPPv48meshgridRKNSt6vectorI5arrayEEbNSt6stringE14StreamOrDevice", false]], "meshgrid() (in module mlx.core)": [[207, "mlx.core.meshgrid", false]], "metal_kernel() (in module mlx.core.fast)": [[142, "mlx.core.fast.metal_kernel", false]], "min (c++ function)": [[0, "_CPPv43minRK5array14StreamOrDevice", false], [0, "_CPPv43minRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", false], [0, "_CPPv43minRK5arrayb14StreamOrDevice", false], [0, "_CPPv43minRK5arrayib14StreamOrDevice", false]], "min() (array method)": [[59, "mlx.core.array.min", false]], "min() (in module mlx.core)": [[220, "mlx.core.min", false]], "minimum (c++ function)": [[0, "_CPPv47minimumRK5arrayRK5array14StreamOrDevice", false]], "minimum() (in module mlx.core)": [[221, "mlx.core.minimum", false]], "mish (class in mlx.nn)": [[358, "mlx.nn.Mish", false], [436, "mlx.nn.mish", false]], "module (class in mlx.nn)": [[453, "mlx.nn.Module", false]], "modules() (module method)": [[367, "mlx.nn.Module.modules", false]], "moveaxis (c++ function)": [[0, "_CPPv48moveaxisRK5arrayii14StreamOrDevice", false]], "moveaxis() (array method)": [[60, "mlx.core.array.moveaxis", false]], "moveaxis() (in module mlx.core)": [[222, "mlx.core.moveaxis", false]], "mse_loss (class in mlx.nn.losses)": [[432, "mlx.nn.losses.mse_loss", false]], "multiheadattention (class in mlx.nn)": [[379, "mlx.nn.MultiHeadAttention", false]], "multiply (c++ function)": [[0, "_CPPv48multiplyRK5arrayRK5array14StreamOrDevice", false]], "multiply() (in module mlx.core)": [[223, "mlx.core.multiply", false]], "multivariate_normal() (in module mlx.core.random)": [[244, "mlx.core.random.multivariate_normal", false]], "named_modules() (module method)": [[368, "mlx.nn.Module.named_modules", false]], "nan_to_num (c++ function)": [[0, "_CPPv410nan_to_numRK5arrayfKNSt8optionalIfEEKNSt8optionalIfEE14StreamOrDevice", false]], "nan_to_num() (in module mlx.core)": [[224, "mlx.core.nan_to_num", false]], "nbytes (array property)": [[61, "mlx.core.array.nbytes", false]], "ndim (array property)": [[62, "mlx.core.array.ndim", false]], "negative (c++ function)": [[0, "_CPPv48negativeRK5array14StreamOrDevice", false]], "negative() (in module mlx.core)": [[225, "mlx.core.negative", false]], "new_stream() (in module mlx.core)": [[226, "mlx.core.new_stream", false]], "nll_loss (class in mlx.nn.losses)": [[433, "mlx.nn.losses.nll_loss", false]], "norm() (in module mlx.core.linalg)": [[188, "mlx.core.linalg.norm", false]], "normal() (in module mlx.core.random)": [[245, "mlx.core.random.normal", false]], "normal() (in module mlx.nn.init)": [[408, "mlx.nn.init.normal", false]], "not_equal (c++ function)": [[0, "_CPPv49not_equalRK5arrayRK5array14StreamOrDevice", false]], "not_equal() (in module mlx.core)": [[227, "mlx.core.not_equal", false]], "number_of_elements (c++ function)": [[0, "_CPPv418number_of_elementsRK5arrayNSt6vectorIiEEb5Dtype14StreamOrDevice", false]], "ones (c++ function)": [[0, "_CPPv44onesRKNSt6vectorIiEE14StreamOrDevice", false], [0, "_CPPv44onesRKNSt6vectorIiEE5Dtype14StreamOrDevice", false]], "ones() (in module mlx.core)": [[228, "mlx.core.ones", false]], "ones_like (c++ function)": [[0, "_CPPv49ones_likeRK5array14StreamOrDevice", false]], "ones_like() (in module mlx.core)": [[229, "mlx.core.ones_like", false]], "operator!= (c++ function)": [[0, "_CPPv4I0Ene5array1TRK5array", false], [0, "_CPPv4I0Ene5arrayRK5array1T", false], [0, "_CPPv4neRK5arrayRK5array", false]], "operator% (c++ function)": [[0, "_CPPv4I0Erm5array1TRK5array", false], [0, "_CPPv4I0Erm5arrayRK5array1T", false], [0, "_CPPv4rmRK5arrayRK5array", false]], "operator& (c++ function)": [[0, "_CPPv4anRK5arrayRK5array", false]], "operator&& (c++ function)": [[0, "_CPPv4aaRK5arrayRK5array", false]], "operator* (c++ function)": [[0, "_CPPv4I0Eml5array1TRK5array", false], [0, "_CPPv4I0Eml5arrayRK5array1T", false], [0, "_CPPv4mlRK5arrayRK5array", false]], "operator+ (c++ function)": [[0, "_CPPv4I0Epl5array1TRK5array", false], [0, "_CPPv4I0Epl5arrayRK5array1T", false], [0, "_CPPv4plRK5arrayRK5array", false]], "operator- (c++ function)": [[0, "_CPPv4I0Emi5array1TRK5array", false], [0, "_CPPv4I0Emi5arrayRK5array1T", false], [0, "_CPPv4miRK5array", false], [0, "_CPPv4miRK5arrayRK5array", false]], "operator/ (c++ function)": [[0, "_CPPv4dvRK5arrayRK5array", false], [0, "_CPPv4dvRK5arrayd", false], [0, "_CPPv4dvdRK5array", false]], "operator< (c++ function)": [[0, "_CPPv4I0Elt5array1TRK5array", false], [0, "_CPPv4I0Elt5arrayRK5array1T", false], [0, "_CPPv4ltRK5arrayRK5array", false]], "operator<< (c++ function)": [[0, "_CPPv4lsRK5arrayRK5array", false]], "operator<= (c++ function)": [[0, "_CPPv4I0Ele5array1TRK5array", false], [0, "_CPPv4I0Ele5arrayRK5array1T", false], [0, "_CPPv4leRK5arrayRK5array", false]], "operator== (c++ function)": [[0, "_CPPv4I0Eeq5array1TRK5array", false], [0, "_CPPv4I0Eeq5arrayRK5array1T", false], [0, "_CPPv4eqRK5arrayRK5array", false]], "operator> (c++ function)": [[0, "_CPPv4I0Egt5array1TRK5array", false], [0, "_CPPv4I0Egt5arrayRK5array1T", false], [0, "_CPPv4gtRK5arrayRK5array", false]], "operator>= (c++ function)": [[0, "_CPPv4I0Ege5array1TRK5array", false], [0, "_CPPv4I0Ege5arrayRK5array1T", false], [0, "_CPPv4geRK5arrayRK5array", false]], "operator>> (c++ function)": [[0, "_CPPv4rsRK5arrayRK5array", false]], "operator^ (c++ function)": [[0, "_CPPv4eoRK5arrayRK5array", false]], "operator| (c++ function)": [[0, "_CPPv4orRK5arrayRK5array", false]], "operator|| (c++ function)": [[0, "_CPPv4ooRK5arrayRK5array", false]], "optimizer (class in mlx.optimizers)": [[475, "mlx.optimizers.Optimizer", false]], "outer (c++ function)": [[0, "_CPPv45outerRK5arrayRK5array14StreamOrDevice", false]], "outer() (in module mlx.core)": [[230, "mlx.core.outer", false]], "pad (c++ function)": [[0, "_CPPv43padRK5arrayRKNSt4pairIiiEERK5arrayKNSt6stringE14StreamOrDevice", false], [0, "_CPPv43padRK5arrayRKNSt6vectorINSt4pairIiiEEEERK5arrayKNSt6stringE14StreamOrDevice", false], [0, "_CPPv43padRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEERKNSt6vectorIiEERK5arrayKNSt6stringE14StreamOrDevice", false], [0, "_CPPv43padRK5arrayiRK5arrayKNSt6stringE14StreamOrDevice", false]], "pad() (in module mlx.core)": [[231, "mlx.core.pad", false]], "parameters() (module method)": [[369, "mlx.nn.Module.parameters", false]], "partition (c++ function)": [[0, "_CPPv49partitionRK5arrayi14StreamOrDevice", false], [0, "_CPPv49partitionRK5arrayii14StreamOrDevice", false]], "partition() (in module mlx.core)": [[232, "mlx.core.partition", false]], "permutation() (in module mlx.core.random)": [[246, "mlx.core.random.permutation", false]], "power (c++ function)": [[0, "_CPPv45powerRK5arrayRK5array14StreamOrDevice", false]], "power() (in module mlx.core)": [[233, "mlx.core.power", false]], "prelu (class in mlx.nn)": [[380, "mlx.nn.PReLU", false], [437, "mlx.nn.prelu", false]], "prod (c++ function)": [[0, "_CPPv44prodRK5array14StreamOrDevice", false], [0, "_CPPv44prodRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", false], [0, "_CPPv44prodRK5arrayb14StreamOrDevice", false], [0, "_CPPv44prodRK5arrayib14StreamOrDevice", false]], "prod() (array method)": [[63, "mlx.core.array.prod", false]], "prod() (in module mlx.core)": [[234, "mlx.core.prod", false]], "put_along_axis (c++ function)": [[0, "_CPPv414put_along_axisRK5arrayRK5arrayRK5arrayi14StreamOrDevice", false]], "put_along_axis() (in module mlx.core)": [[235, "mlx.core.put_along_axis", false]], "qr() (in module mlx.core.linalg)": [[189, "mlx.core.linalg.qr", false]], "quantize (c++ function)": [[0, "_CPPv48quantizeRK5arrayii14StreamOrDevice", false]], "quantize() (in module mlx.core)": [[236, "mlx.core.quantize", false]], "quantize() (in module mlx.nn)": [[306, "mlx.nn.quantize", false]], "quantized_matmul (c++ function)": [[0, "_CPPv416quantized_matmul5array5array5array5arraybii14StreamOrDevice", false]], "quantized_matmul() (in module mlx.core)": [[237, "mlx.core.quantized_matmul", false]], "quantizedembedding (class in mlx.nn)": [[381, "mlx.nn.QuantizedEmbedding", false]], "quantizedlinear (class in mlx.nn)": [[382, "mlx.nn.QuantizedLinear", false]], "radians (c++ function)": [[0, "_CPPv47radiansRK5array14StreamOrDevice", false]], "radians() (in module mlx.core)": [[238, "mlx.core.radians", false]], "randint() (in module mlx.core.random)": [[247, "mlx.core.random.randint", false]], "real (c++ function)": [[0, "_CPPv44realRK5array14StreamOrDevice", false]], "real() (in module mlx.core)": [[252, "mlx.core.real", false]], "reciprocal (c++ function)": [[0, "_CPPv410reciprocalRK5array14StreamOrDevice", false]], "reciprocal() (array method)": [[64, "mlx.core.array.reciprocal", false]], "reciprocal() (in module mlx.core)": [[253, "mlx.core.reciprocal", false]], "recv() (in module mlx.core.distributed)": [[125, "mlx.core.distributed.recv", false]], "recv_like() (in module mlx.core.distributed)": [[126, "mlx.core.distributed.recv_like", false]], "relu (class in mlx.nn)": [[385, "mlx.nn.ReLU", false], [438, "mlx.nn.relu", false]], "relu6 (class in mlx.nn)": [[386, "mlx.nn.ReLU6", false], [439, "mlx.nn.relu6", false]], "remainder (c++ function)": [[0, "_CPPv49remainderRK5arrayRK5array14StreamOrDevice", false]], "remainder() (in module mlx.core)": [[254, "mlx.core.remainder", false]], "repeat (c++ function)": [[0, "_CPPv46repeatRK5arrayi14StreamOrDevice", false], [0, "_CPPv46repeatRK5arrayii14StreamOrDevice", false]], "repeat() (in module mlx.core)": [[255, "mlx.core.repeat", false]], "reset_peak_memory() (in module mlx.core.metal)": [[214, "mlx.core.metal.reset_peak_memory", false]], "reshape (c++ function)": [[0, "_CPPv47reshapeRK5arrayNSt6vectorIiEE14StreamOrDevice", false]], "reshape() (array method)": [[65, "mlx.core.array.reshape", false]], "reshape() (in module mlx.core)": [[256, "mlx.core.reshape", false]], "rfft() (in module mlx.core.fft)": [[155, "mlx.core.fft.rfft", false]], "rfft2() (in module mlx.core.fft)": [[156, "mlx.core.fft.rfft2", false]], "rfftn() (in module mlx.core.fft)": [[157, "mlx.core.fft.rfftn", false]], "right_shift (c++ function)": [[0, "_CPPv411right_shiftRK5arrayRK5array14StreamOrDevice", false]], "right_shift() (in module mlx.core)": [[257, "mlx.core.right_shift", false]], "rms_norm() (in module mlx.core.fast)": [[143, "mlx.core.fast.rms_norm", false]], "rmsnorm (class in mlx.nn)": [[383, "mlx.nn.RMSNorm", false]], "rmsprop (class in mlx.optimizers)": [[467, "mlx.optimizers.RMSprop", false]], "rnn (class in mlx.nn)": [[384, "mlx.nn.RNN", false]], "roll (c++ function)": [[0, "_CPPv44rollRK5arrayRKNSt6vectorIiEE14StreamOrDevice", false], [0, "_CPPv44rollRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice", false], [0, "_CPPv44rollRK5arrayRKNSt6vectorIiEEi14StreamOrDevice", false], [0, "_CPPv44rollRK5arrayi14StreamOrDevice", false], [0, "_CPPv44rollRK5arrayiRKNSt6vectorIiEE14StreamOrDevice", false], [0, "_CPPv44rollRK5arrayii14StreamOrDevice", false]], "roll() (in module mlx.core)": [[258, "mlx.core.roll", false]], "rope (class in mlx.nn)": [[387, "mlx.nn.RoPE", false]], "rope() (in module mlx.core.fast)": [[144, "mlx.core.fast.rope", false]], "round (c++ function)": [[0, "_CPPv45roundRK5array14StreamOrDevice", false], [0, "_CPPv45roundRK5arrayi14StreamOrDevice", false]], "round() (array method)": [[66, "mlx.core.array.round", false]], "round() (in module mlx.core)": [[259, "mlx.core.round", false]], "rsqrt (c++ function)": [[0, "_CPPv45rsqrtRK5array14StreamOrDevice", false]], "rsqrt() (array method)": [[67, "mlx.core.array.rsqrt", false]], "rsqrt() (in module mlx.core)": [[260, "mlx.core.rsqrt", false]], "save() (in module mlx.core)": [[261, "mlx.core.save", false]], "save_gguf() (in module mlx.core)": [[262, "mlx.core.save_gguf", false]], "save_safetensors() (in module mlx.core)": [[263, "mlx.core.save_safetensors", false]], "save_weights() (module method)": [[370, "mlx.nn.Module.save_weights", false]], "savez() (in module mlx.core)": [[264, "mlx.core.savez", false]], "savez_compressed() (in module mlx.core)": [[265, "mlx.core.savez_compressed", false]], "scaled_dot_product_attention() (in module mlx.core.fast)": [[145, "mlx.core.fast.scaled_dot_product_attention", false]], "scatter (c++ function)": [[0, "_CPPv47scatterRK5arrayRK5arrayRK5arrayi14StreamOrDevice", false], [0, "_CPPv47scatterRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", false]], "scatter_add (c++ function)": [[0, "_CPPv411scatter_addRK5arrayRK5arrayRK5arrayi14StreamOrDevice", false], [0, "_CPPv411scatter_addRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", false]], "scatter_max (c++ function)": [[0, "_CPPv411scatter_maxRK5arrayRK5arrayRK5arrayi14StreamOrDevice", false], [0, "_CPPv411scatter_maxRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", false]], "scatter_min (c++ function)": [[0, "_CPPv411scatter_minRK5arrayRK5arrayRK5arrayi14StreamOrDevice", false], [0, "_CPPv411scatter_minRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", false]], "scatter_prod (c++ function)": [[0, "_CPPv412scatter_prodRK5arrayRK5arrayRK5arrayi14StreamOrDevice", false], [0, "_CPPv412scatter_prodRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", false]], "seed() (in module mlx.core.random)": [[248, "mlx.core.random.seed", false]], "selu (class in mlx.nn)": [[388, "mlx.nn.SELU", false], [440, "mlx.nn.selu", false]], "send() (in module mlx.core.distributed)": [[127, "mlx.core.distributed.send", false]], "sequential (class in mlx.nn)": [[389, "mlx.nn.Sequential", false]], "set_cache_limit() (in module mlx.core.metal)": [[215, "mlx.core.metal.set_cache_limit", false]], "set_default_device() (in module mlx.core)": [[266, "mlx.core.set_default_device", false]], "set_default_stream() (in module mlx.core)": [[267, "mlx.core.set_default_stream", false]], "set_dtype() (module method)": [[371, "mlx.nn.Module.set_dtype", false]], "set_memory_limit() (in module mlx.core.metal)": [[216, "mlx.core.metal.set_memory_limit", false]], "set_wired_limit() (in module mlx.core.metal)": [[217, "mlx.core.metal.set_wired_limit", false]], "sgd (class in mlx.optimizers)": [[468, "mlx.optimizers.SGD", false]], "shape (array property)": [[68, "mlx.core.array.shape", false]], "sigmoid (c++ function)": [[0, "_CPPv47sigmoidRK5array14StreamOrDevice", false]], "sigmoid (class in mlx.nn)": [[391, "mlx.nn.Sigmoid", false], [441, "mlx.nn.sigmoid", false]], "sigmoid() (in module mlx.core)": [[268, "mlx.core.sigmoid", false]], "sign (c++ function)": [[0, "_CPPv44signRK5array14StreamOrDevice", false]], "sign() (in module mlx.core)": [[269, "mlx.core.sign", false]], "silu (class in mlx.nn)": [[390, "mlx.nn.SiLU", false], [442, "mlx.nn.silu", false]], "sin (c++ function)": [[0, "_CPPv43sinRK5array14StreamOrDevice", false]], "sin() (array method)": [[69, "mlx.core.array.sin", false]], "sin() (in module mlx.core)": [[270, "mlx.core.sin", false]], "sinh (c++ function)": [[0, "_CPPv44sinhRK5array14StreamOrDevice", false]], "sinh() (in module mlx.core)": [[271, "mlx.core.sinh", false]], "sinusoidalpositionalencoding (class in mlx.nn)": [[392, "mlx.nn.SinusoidalPositionalEncoding", false]], "size (array property)": [[70, "mlx.core.array.size", false]], "slice (c++ function)": [[0, "_CPPv45sliceRK5arrayNSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", false], [0, "_CPPv45sliceRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", false]], "slice_update (c++ function)": [[0, "_CPPv412slice_updateRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", false], [0, "_CPPv412slice_updateRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", false]], "smooth_l1_loss (class in mlx.nn.losses)": [[434, "mlx.nn.losses.smooth_l1_loss", false]], "softmax (c++ function)": [[0, "_CPPv47softmaxRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", false], [0, "_CPPv47softmaxRK5arrayb14StreamOrDevice", false], [0, "_CPPv47softmaxRK5arrayib14StreamOrDevice", false]], "softmax (class in mlx.nn)": [[393, "mlx.nn.Softmax", false], [443, "mlx.nn.softmax", false]], "softmax() (in module mlx.core)": [[272, "mlx.core.softmax", false]], "softmin (class in mlx.nn)": [[394, "mlx.nn.Softmin", false], [444, "mlx.nn.softmin", false]], "softplus (class in mlx.nn)": [[395, "mlx.nn.Softplus", false], [445, "mlx.nn.softplus", false]], "softshrink (class in mlx.nn)": [[396, "mlx.nn.Softshrink", false], [446, "mlx.nn.softshrink", false]], "softsign (class in mlx.nn)": [[397, "mlx.nn.Softsign", false]], "sort (c++ function)": [[0, "_CPPv44sortRK5array14StreamOrDevice", false], [0, "_CPPv44sortRK5arrayi14StreamOrDevice", false]], "sort() (in module mlx.core)": [[273, "mlx.core.sort", false]], "split (c++ function)": [[0, "_CPPv45splitRK5arrayRKNSt6vectorIiEE14StreamOrDevice", false], [0, "_CPPv45splitRK5arrayRKNSt6vectorIiEEi14StreamOrDevice", false], [0, "_CPPv45splitRK5arrayi14StreamOrDevice", false], [0, "_CPPv45splitRK5arrayii14StreamOrDevice", false]], "split() (array method)": [[71, "mlx.core.array.split", false]], "split() (in module mlx.core)": [[274, "mlx.core.split", false]], "split() (in module mlx.core.random)": [[249, "mlx.core.random.split", false]], "sqrt (c++ function)": [[0, "_CPPv44sqrtRK5array14StreamOrDevice", false]], "sqrt() (array method)": [[72, "mlx.core.array.sqrt", false]], "sqrt() (in module mlx.core)": [[275, "mlx.core.sqrt", false]], "square (c++ function)": [[0, "_CPPv46squareRK5array14StreamOrDevice", false]], "square() (array method)": [[73, "mlx.core.array.square", false]], "square() (in module mlx.core)": [[276, "mlx.core.square", false]], "squeeze (c++ function)": [[0, "_CPPv47squeezeRK5array14StreamOrDevice", false], [0, "_CPPv47squeezeRK5arrayRKNSt6vectorIiEE14StreamOrDevice", false], [0, "_CPPv47squeezeRK5arrayi14StreamOrDevice", false]], "squeeze() (array method)": [[74, "mlx.core.array.squeeze", false]], "squeeze() (in module mlx.core)": [[277, "mlx.core.squeeze", false]], "stack (c++ function)": [[0, "_CPPv45stackRKNSt6vectorI5arrayEE14StreamOrDevice", false], [0, "_CPPv45stackRKNSt6vectorI5arrayEEi14StreamOrDevice", false]], "stack() (in module mlx.core)": [[278, "mlx.core.stack", false]], "start_capture() (in module mlx.core.metal)": [[218, "mlx.core.metal.start_capture", false]], "state (module property)": [[372, "mlx.nn.Module.state", false]], "state (optimizer property)": [[465, "mlx.optimizers.Optimizer.state", false]], "std (c++ function)": [[0, "_CPPv4StRK5array14StreamOrDevice", false], [0, "_CPPv4StRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", false], [0, "_CPPv4StRK5arraybi14StreamOrDevice", false], [0, "_CPPv4StRK5arrayibi14StreamOrDevice", false]], "std() (array method)": [[75, "mlx.core.array.std", false]], "std() (in module mlx.core)": [[279, "mlx.core.std", false]], "step (class in mlx.nn)": [[398, "mlx.nn.Step", false], [447, "mlx.nn.step", false]], "step_decay() (in module mlx.optimizers)": [[473, "mlx.optimizers.step_decay", false]], "stop_capture() (in module mlx.core.metal)": [[219, "mlx.core.metal.stop_capture", false]], "stop_gradient (c++ function)": [[0, "_CPPv413stop_gradientRK5array14StreamOrDevice", false]], "stop_gradient() (in module mlx.core)": [[280, "mlx.core.stop_gradient", false]], "stream (class in mlx.core)": [[314, "mlx.core.Stream", false]], "stream() (in module mlx.core)": [[281, "mlx.core.stream", false]], "subtract (c++ function)": [[0, "_CPPv48subtractRK5arrayRK5array14StreamOrDevice", false]], "subtract() (in module mlx.core)": [[282, "mlx.core.subtract", false]], "sum (c++ function)": [[0, "_CPPv43sumRK5array14StreamOrDevice", false], [0, "_CPPv43sumRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", false], [0, "_CPPv43sumRK5arrayb14StreamOrDevice", false], [0, "_CPPv43sumRK5arrayib14StreamOrDevice", false]], "sum() (array method)": [[76, "mlx.core.array.sum", false]], "sum() (in module mlx.core)": [[283, "mlx.core.sum", false]], "svd() (in module mlx.core.linalg)": [[190, "mlx.core.linalg.svd", false]], "swapaxes (c++ function)": [[0, "_CPPv48swapaxesRK5arrayii14StreamOrDevice", false]], "swapaxes() (array method)": [[77, "mlx.core.array.swapaxes", false]], "swapaxes() (in module mlx.core)": [[284, "mlx.core.swapaxes", false]], "synchronize() (in module mlx.core)": [[285, "mlx.core.synchronize", false]], "t (array property)": [[31, "mlx.core.array.T", false]], "take (c++ function)": [[0, "_CPPv44takeRK5arrayRK5array14StreamOrDevice", false], [0, "_CPPv44takeRK5arrayRK5arrayi14StreamOrDevice", false], [0, "_CPPv44takeRK5arrayi14StreamOrDevice", false], [0, "_CPPv44takeRK5arrayii14StreamOrDevice", false]], "take() (in module mlx.core)": [[286, "mlx.core.take", false]], "take_along_axis (c++ function)": [[0, "_CPPv415take_along_axisRK5arrayRK5arrayi14StreamOrDevice", false]], "take_along_axis() (in module mlx.core)": [[287, "mlx.core.take_along_axis", false]], "tan (c++ function)": [[0, "_CPPv43tanRK5array14StreamOrDevice", false]], "tan() (in module mlx.core)": [[288, "mlx.core.tan", false]], "tanh (c++ function)": [[0, "_CPPv44tanhRK5array14StreamOrDevice", false]], "tanh (class in mlx.nn)": [[399, "mlx.nn.Tanh", false], [448, "mlx.nn.tanh", false]], "tanh() (in module mlx.core)": [[289, "mlx.core.tanh", false]], "tensordot (c++ function)": [[0, "_CPPv49tensordotRK5arrayRK5arrayKi14StreamOrDevice", false], [0, "_CPPv49tensordotRK5arrayRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice", false]], "tensordot() (in module mlx.core)": [[290, "mlx.core.tensordot", false]], "tile (c++ function)": [[0, "_CPPv44tileRK5arrayNSt6vectorIiEE14StreamOrDevice", false]], "tile() (in module mlx.core)": [[291, "mlx.core.tile", false]], "tolist() (array method)": [[78, "mlx.core.array.tolist", false]], "topk (c++ function)": [[0, "_CPPv44topkRK5arrayi14StreamOrDevice", false], [0, "_CPPv44topkRK5arrayii14StreamOrDevice", false]], "topk() (in module mlx.core)": [[292, "mlx.core.topk", false]], "trace (c++ function)": [[0, "_CPPv45traceRK5array14StreamOrDevice", false], [0, "_CPPv45traceRK5arrayiii14StreamOrDevice", false], [0, "_CPPv45traceRK5arrayiii5Dtype14StreamOrDevice", false]], "trace() (in module mlx.core)": [[293, "mlx.core.trace", false]], "train() (module method)": [[373, "mlx.nn.Module.train", false]], "trainable_parameters() (module method)": [[374, "mlx.nn.Module.trainable_parameters", false]], "training (module property)": [[375, "mlx.nn.Module.training", false]], "transformer (class in mlx.nn)": [[400, "mlx.nn.Transformer", false]], "transpose (c++ function)": [[0, "_CPPv49transposeRK5array14StreamOrDevice", false], [0, "_CPPv49transposeRK5arrayNSt16initializer_listIiEE14StreamOrDevice", false], [0, "_CPPv49transposeRK5arrayNSt6vectorIiEE14StreamOrDevice", false]], "transpose() (array method)": [[79, "mlx.core.array.transpose", false]], "transpose() (in module mlx.core)": [[294, "mlx.core.transpose", false]], "tree_flatten() (in module mlx.utils)": [[309, "mlx.utils.tree_flatten", false]], "tree_map() (in module mlx.utils)": [[310, "mlx.utils.tree_map", false]], "tree_map_with_path() (in module mlx.utils)": [[311, "mlx.utils.tree_map_with_path", false]], "tree_reduce() (in module mlx.utils)": [[312, "mlx.utils.tree_reduce", false]], "tree_unflatten() (in module mlx.utils)": [[313, "mlx.utils.tree_unflatten", false]], "tri (c++ function)": [[0, "_CPPv43trii5Dtype14StreamOrDevice", false], [0, "_CPPv43triiii5Dtype14StreamOrDevice", false]], "tri() (in module mlx.core)": [[295, "mlx.core.tri", false]], "tri_inv() (in module mlx.core.linalg)": [[191, "mlx.core.linalg.tri_inv", false]], "tril (c++ function)": [[0, "_CPPv44tril5arrayi14StreamOrDevice", false]], "tril() (in module mlx.core)": [[296, "mlx.core.tril", false]], "triplet_loss (class in mlx.nn.losses)": [[435, "mlx.nn.losses.triplet_loss", false]], "triu (c++ function)": [[0, "_CPPv44triu5arrayi14StreamOrDevice", false]], "triu() (in module mlx.core)": [[297, "mlx.core.triu", false]], "truncated_normal() (in module mlx.core.random)": [[250, "mlx.core.random.truncated_normal", false]], "unfreeze() (module method)": [[376, "mlx.nn.Module.unfreeze", false]], "uniform() (in module mlx.core.random)": [[251, "mlx.core.random.uniform", false]], "uniform() (in module mlx.nn.init)": [[409, "mlx.nn.init.uniform", false]], "update() (module method)": [[377, "mlx.nn.Module.update", false]], "update() (optimizer method)": [[466, "mlx.optimizers.Optimizer.update", false]], "update_modules() (module method)": [[378, "mlx.nn.Module.update_modules", false]], "upsample (class in mlx.nn)": [[401, "mlx.nn.Upsample", false]], "value_and_grad() (in module mlx.core)": [[298, "mlx.core.value_and_grad", false]], "value_and_grad() (in module mlx.nn)": [[307, "mlx.nn.value_and_grad", false]], "var (c++ function)": [[0, "_CPPv43varRK5array14StreamOrDevice", false], [0, "_CPPv43varRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", false], [0, "_CPPv43varRK5arraybi14StreamOrDevice", false], [0, "_CPPv43varRK5arrayibi14StreamOrDevice", false]], "var() (array method)": [[80, "mlx.core.array.var", false]], "var() (in module mlx.core)": [[299, "mlx.core.var", false]], "view (c++ function)": [[0, "_CPPv44viewRK5arrayRK5Dtype14StreamOrDevice", false]], "view() (array method)": [[81, "mlx.core.array.view", false]], "view() (in module mlx.core)": [[300, "mlx.core.view", false]], "vjp() (in module mlx.core)": [[301, "mlx.core.vjp", false]], "vmap() (in module mlx.core)": [[302, "mlx.core.vmap", false]], "where (c++ function)": [[0, "_CPPv45whereRK5arrayRK5arrayRK5array14StreamOrDevice", false]], "where() (in module mlx.core)": [[303, "mlx.core.where", false]], "zeros (c++ function)": [[0, "_CPPv45zerosRKNSt6vectorIiEE14StreamOrDevice", false], [0, "_CPPv45zerosRKNSt6vectorIiEE5Dtype14StreamOrDevice", false]], "zeros() (in module mlx.core)": [[304, "mlx.core.zeros", false]], "zeros_like (c++ function)": [[0, "_CPPv410zeros_likeRK5array14StreamOrDevice", false]], "zeros_like() (in module mlx.core)": [[305, "mlx.core.zeros_like", false]]}, "objects": {"": [[0, 0, 1, "_CPPv43absRK5array14StreamOrDevice", "abs"], [0, 1, 1, "_CPPv43absRK5array14StreamOrDevice", "abs::a"], [0, 1, 1, "_CPPv43absRK5array14StreamOrDevice", "abs::s"], [0, 0, 1, "_CPPv43addRK5arrayRK5array14StreamOrDevice", "add"], [0, 1, 1, "_CPPv43addRK5arrayRK5array14StreamOrDevice", "add::a"], [0, 1, 1, "_CPPv43addRK5arrayRK5array14StreamOrDevice", "add::b"], [0, 1, 1, "_CPPv43addRK5arrayRK5array14StreamOrDevice", "add::s"], [0, 0, 1, "_CPPv45addmm5array5array5arrayRKfRKf14StreamOrDevice", "addmm"], [0, 1, 1, "_CPPv45addmm5array5array5arrayRKfRKf14StreamOrDevice", "addmm::a"], [0, 1, 1, "_CPPv45addmm5array5array5arrayRKfRKf14StreamOrDevice", "addmm::alpha"], [0, 1, 1, "_CPPv45addmm5array5array5arrayRKfRKf14StreamOrDevice", "addmm::b"], [0, 1, 1, "_CPPv45addmm5array5array5arrayRKfRKf14StreamOrDevice", "addmm::beta"], [0, 1, 1, "_CPPv45addmm5array5array5arrayRKfRKf14StreamOrDevice", "addmm::c"], [0, 1, 1, "_CPPv45addmm5array5array5arrayRKfRKf14StreamOrDevice", "addmm::s"], [0, 0, 1, "_CPPv43allRK5array14StreamOrDevice", "all"], [0, 0, 1, "_CPPv43allRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "all"], [0, 0, 1, "_CPPv43allRK5arrayb14StreamOrDevice", "all"], [0, 0, 1, "_CPPv43allRK5arrayib14StreamOrDevice", "all"], [0, 1, 1, "_CPPv43allRK5array14StreamOrDevice", "all::a"], [0, 1, 1, "_CPPv43allRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "all::a"], [0, 1, 1, "_CPPv43allRK5arrayb14StreamOrDevice", "all::a"], [0, 1, 1, "_CPPv43allRK5arrayib14StreamOrDevice", "all::a"], [0, 1, 1, "_CPPv43allRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "all::axes"], [0, 1, 1, "_CPPv43allRK5arrayib14StreamOrDevice", "all::axis"], [0, 1, 1, "_CPPv43allRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "all::keepdims"], [0, 1, 1, "_CPPv43allRK5arrayb14StreamOrDevice", "all::keepdims"], [0, 1, 1, "_CPPv43allRK5arrayib14StreamOrDevice", "all::keepdims"], [0, 1, 1, "_CPPv43allRK5array14StreamOrDevice", "all::s"], [0, 1, 1, "_CPPv43allRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "all::s"], [0, 1, 1, "_CPPv43allRK5arrayb14StreamOrDevice", "all::s"], [0, 1, 1, "_CPPv43allRK5arrayib14StreamOrDevice", "all::s"], [0, 0, 1, "_CPPv48allcloseRK5arrayRK5arrayddb14StreamOrDevice", "allclose"], [0, 1, 1, "_CPPv48allcloseRK5arrayRK5arrayddb14StreamOrDevice", "allclose::a"], [0, 1, 1, "_CPPv48allcloseRK5arrayRK5arrayddb14StreamOrDevice", "allclose::atol"], [0, 1, 1, "_CPPv48allcloseRK5arrayRK5arrayddb14StreamOrDevice", "allclose::b"], [0, 1, 1, "_CPPv48allcloseRK5arrayRK5arrayddb14StreamOrDevice", "allclose::equal_nan"], [0, 1, 1, "_CPPv48allcloseRK5arrayRK5arrayddb14StreamOrDevice", "allclose::rtol"], [0, 1, 1, "_CPPv48allcloseRK5arrayRK5arrayddb14StreamOrDevice", "allclose::s"], [0, 0, 1, "_CPPv43anyRK5array14StreamOrDevice", "any"], [0, 0, 1, "_CPPv43anyRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "any"], [0, 0, 1, "_CPPv43anyRK5arrayb14StreamOrDevice", "any"], [0, 0, 1, "_CPPv43anyRK5arrayib14StreamOrDevice", "any"], [0, 1, 1, "_CPPv43anyRK5array14StreamOrDevice", "any::a"], [0, 1, 1, "_CPPv43anyRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "any::a"], [0, 1, 1, "_CPPv43anyRK5arrayb14StreamOrDevice", "any::a"], [0, 1, 1, "_CPPv43anyRK5arrayib14StreamOrDevice", "any::a"], [0, 1, 1, "_CPPv43anyRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "any::axes"], [0, 1, 1, "_CPPv43anyRK5arrayib14StreamOrDevice", "any::axis"], [0, 1, 1, "_CPPv43anyRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "any::keepdims"], [0, 1, 1, "_CPPv43anyRK5arrayb14StreamOrDevice", "any::keepdims"], [0, 1, 1, "_CPPv43anyRK5arrayib14StreamOrDevice", "any::keepdims"], [0, 1, 1, "_CPPv43anyRK5array14StreamOrDevice", "any::s"], [0, 1, 1, "_CPPv43anyRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "any::s"], [0, 1, 1, "_CPPv43anyRK5arrayb14StreamOrDevice", "any::s"], [0, 1, 1, "_CPPv43anyRK5arrayib14StreamOrDevice", "any::s"], [0, 0, 1, "_CPPv46aranged14StreamOrDevice", "arange"], [0, 0, 1, "_CPPv46aranged5Dtype14StreamOrDevice", "arange"], [0, 0, 1, "_CPPv46arangedd14StreamOrDevice", "arange"], [0, 0, 1, "_CPPv46arangedd5Dtype14StreamOrDevice", "arange"], [0, 0, 1, "_CPPv46arangeddd14StreamOrDevice", "arange"], [0, 0, 1, "_CPPv46arangeddd5Dtype14StreamOrDevice", "arange"], [0, 0, 1, "_CPPv46arangei14StreamOrDevice", "arange"], [0, 0, 1, "_CPPv46arangeii14StreamOrDevice", "arange"], [0, 0, 1, "_CPPv46arangeiii14StreamOrDevice", "arange"], [0, 1, 1, "_CPPv46aranged5Dtype14StreamOrDevice", "arange::dtype"], [0, 1, 1, "_CPPv46arangedd5Dtype14StreamOrDevice", "arange::dtype"], [0, 1, 1, "_CPPv46arangeddd5Dtype14StreamOrDevice", "arange::dtype"], [0, 1, 1, "_CPPv46aranged14StreamOrDevice", "arange::s"], [0, 1, 1, "_CPPv46aranged5Dtype14StreamOrDevice", "arange::s"], [0, 1, 1, "_CPPv46arangedd14StreamOrDevice", "arange::s"], [0, 1, 1, "_CPPv46arangedd5Dtype14StreamOrDevice", "arange::s"], [0, 1, 1, "_CPPv46arangeddd14StreamOrDevice", "arange::s"], [0, 1, 1, "_CPPv46arangeddd5Dtype14StreamOrDevice", "arange::s"], [0, 1, 1, "_CPPv46arangei14StreamOrDevice", "arange::s"], [0, 1, 1, "_CPPv46arangeii14StreamOrDevice", "arange::s"], [0, 1, 1, "_CPPv46arangeiii14StreamOrDevice", "arange::s"], [0, 1, 1, "_CPPv46arangedd14StreamOrDevice", "arange::start"], [0, 1, 1, "_CPPv46arangedd5Dtype14StreamOrDevice", "arange::start"], [0, 1, 1, "_CPPv46arangeddd14StreamOrDevice", "arange::start"], [0, 1, 1, "_CPPv46arangeddd5Dtype14StreamOrDevice", "arange::start"], [0, 1, 1, "_CPPv46arangeii14StreamOrDevice", "arange::start"], [0, 1, 1, "_CPPv46arangeiii14StreamOrDevice", "arange::start"], [0, 1, 1, "_CPPv46arangeddd14StreamOrDevice", "arange::step"], [0, 1, 1, "_CPPv46arangeddd5Dtype14StreamOrDevice", "arange::step"], [0, 1, 1, "_CPPv46arangeiii14StreamOrDevice", "arange::step"], [0, 1, 1, "_CPPv46aranged14StreamOrDevice", "arange::stop"], [0, 1, 1, "_CPPv46aranged5Dtype14StreamOrDevice", "arange::stop"], [0, 1, 1, "_CPPv46arangedd14StreamOrDevice", "arange::stop"], [0, 1, 1, "_CPPv46arangedd5Dtype14StreamOrDevice", "arange::stop"], [0, 1, 1, "_CPPv46arangeddd14StreamOrDevice", "arange::stop"], [0, 1, 1, "_CPPv46arangeddd5Dtype14StreamOrDevice", "arange::stop"], [0, 1, 1, "_CPPv46arangei14StreamOrDevice", "arange::stop"], [0, 1, 1, "_CPPv46arangeii14StreamOrDevice", "arange::stop"], [0, 1, 1, "_CPPv46arangeiii14StreamOrDevice", "arange::stop"], [0, 0, 1, "_CPPv46arccosRK5array14StreamOrDevice", "arccos"], [0, 1, 1, "_CPPv46arccosRK5array14StreamOrDevice", "arccos::a"], [0, 1, 1, "_CPPv46arccosRK5array14StreamOrDevice", "arccos::s"], [0, 0, 1, "_CPPv47arccoshRK5array14StreamOrDevice", "arccosh"], [0, 1, 1, "_CPPv47arccoshRK5array14StreamOrDevice", "arccosh::a"], [0, 1, 1, "_CPPv47arccoshRK5array14StreamOrDevice", "arccosh::s"], [0, 0, 1, "_CPPv46arcsinRK5array14StreamOrDevice", "arcsin"], [0, 1, 1, "_CPPv46arcsinRK5array14StreamOrDevice", "arcsin::a"], [0, 1, 1, "_CPPv46arcsinRK5array14StreamOrDevice", "arcsin::s"], [0, 0, 1, "_CPPv47arcsinhRK5array14StreamOrDevice", "arcsinh"], [0, 1, 1, "_CPPv47arcsinhRK5array14StreamOrDevice", "arcsinh::a"], [0, 1, 1, "_CPPv47arcsinhRK5array14StreamOrDevice", "arcsinh::s"], [0, 0, 1, "_CPPv46arctanRK5array14StreamOrDevice", "arctan"], [0, 0, 1, "_CPPv47arctan2RK5arrayRK5array14StreamOrDevice", "arctan2"], [0, 1, 1, "_CPPv47arctan2RK5arrayRK5array14StreamOrDevice", "arctan2::a"], [0, 1, 1, "_CPPv47arctan2RK5arrayRK5array14StreamOrDevice", "arctan2::b"], [0, 1, 1, "_CPPv47arctan2RK5arrayRK5array14StreamOrDevice", "arctan2::s"], [0, 1, 1, "_CPPv46arctanRK5array14StreamOrDevice", "arctan::a"], [0, 1, 1, "_CPPv46arctanRK5array14StreamOrDevice", "arctan::s"], [0, 0, 1, "_CPPv47arctanhRK5array14StreamOrDevice", "arctanh"], [0, 1, 1, "_CPPv47arctanhRK5array14StreamOrDevice", "arctanh::a"], [0, 1, 1, "_CPPv47arctanhRK5array14StreamOrDevice", "arctanh::s"], [0, 0, 1, "_CPPv46argmaxRK5array14StreamOrDevice", "argmax"], [0, 0, 1, "_CPPv46argmaxRK5arrayb14StreamOrDevice", "argmax"], [0, 0, 1, "_CPPv46argmaxRK5arrayib14StreamOrDevice", "argmax"], [0, 1, 1, "_CPPv46argmaxRK5array14StreamOrDevice", "argmax::a"], [0, 1, 1, "_CPPv46argmaxRK5arrayb14StreamOrDevice", "argmax::a"], [0, 1, 1, "_CPPv46argmaxRK5arrayib14StreamOrDevice", "argmax::a"], [0, 1, 1, "_CPPv46argmaxRK5arrayib14StreamOrDevice", "argmax::axis"], [0, 1, 1, "_CPPv46argmaxRK5arrayb14StreamOrDevice", "argmax::keepdims"], [0, 1, 1, "_CPPv46argmaxRK5arrayib14StreamOrDevice", "argmax::keepdims"], [0, 1, 1, "_CPPv46argmaxRK5array14StreamOrDevice", "argmax::s"], [0, 1, 1, "_CPPv46argmaxRK5arrayb14StreamOrDevice", "argmax::s"], [0, 1, 1, "_CPPv46argmaxRK5arrayib14StreamOrDevice", "argmax::s"], [0, 0, 1, "_CPPv46argminRK5array14StreamOrDevice", "argmin"], [0, 0, 1, "_CPPv46argminRK5arrayb14StreamOrDevice", "argmin"], [0, 0, 1, "_CPPv46argminRK5arrayib14StreamOrDevice", "argmin"], [0, 1, 1, "_CPPv46argminRK5array14StreamOrDevice", "argmin::a"], [0, 1, 1, "_CPPv46argminRK5arrayb14StreamOrDevice", "argmin::a"], [0, 1, 1, "_CPPv46argminRK5arrayib14StreamOrDevice", "argmin::a"], [0, 1, 1, "_CPPv46argminRK5arrayib14StreamOrDevice", "argmin::axis"], [0, 1, 1, "_CPPv46argminRK5arrayb14StreamOrDevice", "argmin::keepdims"], [0, 1, 1, "_CPPv46argminRK5arrayib14StreamOrDevice", "argmin::keepdims"], [0, 1, 1, "_CPPv46argminRK5array14StreamOrDevice", "argmin::s"], [0, 1, 1, "_CPPv46argminRK5arrayb14StreamOrDevice", "argmin::s"], [0, 1, 1, "_CPPv46argminRK5arrayib14StreamOrDevice", "argmin::s"], [0, 0, 1, "_CPPv412argpartitionRK5arrayi14StreamOrDevice", "argpartition"], [0, 0, 1, "_CPPv412argpartitionRK5arrayii14StreamOrDevice", "argpartition"], [0, 1, 1, "_CPPv412argpartitionRK5arrayi14StreamOrDevice", "argpartition::a"], [0, 1, 1, "_CPPv412argpartitionRK5arrayii14StreamOrDevice", "argpartition::a"], [0, 1, 1, "_CPPv412argpartitionRK5arrayii14StreamOrDevice", "argpartition::axis"], [0, 1, 1, "_CPPv412argpartitionRK5arrayi14StreamOrDevice", "argpartition::kth"], [0, 1, 1, "_CPPv412argpartitionRK5arrayii14StreamOrDevice", "argpartition::kth"], [0, 1, 1, "_CPPv412argpartitionRK5arrayi14StreamOrDevice", "argpartition::s"], [0, 1, 1, "_CPPv412argpartitionRK5arrayii14StreamOrDevice", "argpartition::s"], [0, 0, 1, "_CPPv47argsortRK5array14StreamOrDevice", "argsort"], [0, 0, 1, "_CPPv47argsortRK5arrayi14StreamOrDevice", "argsort"], [0, 1, 1, "_CPPv47argsortRK5array14StreamOrDevice", "argsort::a"], [0, 1, 1, "_CPPv47argsortRK5arrayi14StreamOrDevice", "argsort::a"], [0, 1, 1, "_CPPv47argsortRK5arrayi14StreamOrDevice", "argsort::axis"], [0, 1, 1, "_CPPv47argsortRK5array14StreamOrDevice", "argsort::s"], [0, 1, 1, "_CPPv47argsortRK5arrayi14StreamOrDevice", "argsort::s"], [0, 0, 1, "_CPPv411array_equalRK5arrayRK5array14StreamOrDevice", "array_equal"], [0, 0, 1, "_CPPv411array_equalRK5arrayRK5arrayb14StreamOrDevice", "array_equal"], [0, 1, 1, "_CPPv411array_equalRK5arrayRK5array14StreamOrDevice", "array_equal::a"], [0, 1, 1, "_CPPv411array_equalRK5arrayRK5arrayb14StreamOrDevice", "array_equal::a"], [0, 1, 1, "_CPPv411array_equalRK5arrayRK5array14StreamOrDevice", "array_equal::b"], [0, 1, 1, "_CPPv411array_equalRK5arrayRK5arrayb14StreamOrDevice", "array_equal::b"], [0, 1, 1, "_CPPv411array_equalRK5arrayRK5arrayb14StreamOrDevice", "array_equal::equal_nan"], [0, 1, 1, "_CPPv411array_equalRK5arrayRK5array14StreamOrDevice", "array_equal::s"], [0, 1, 1, "_CPPv411array_equalRK5arrayRK5arrayb14StreamOrDevice", "array_equal::s"], [0, 0, 1, "_CPPv410as_strided5arrayNSt6vectorIiEENSt6vectorI6size_tEE6size_t14StreamOrDevice", "as_strided"], [0, 1, 1, "_CPPv410as_strided5arrayNSt6vectorIiEENSt6vectorI6size_tEE6size_t14StreamOrDevice", "as_strided::a"], [0, 1, 1, "_CPPv410as_strided5arrayNSt6vectorIiEENSt6vectorI6size_tEE6size_t14StreamOrDevice", "as_strided::offset"], [0, 1, 1, "_CPPv410as_strided5arrayNSt6vectorIiEENSt6vectorI6size_tEE6size_t14StreamOrDevice", "as_strided::s"], [0, 1, 1, "_CPPv410as_strided5arrayNSt6vectorIiEENSt6vectorI6size_tEE6size_t14StreamOrDevice", "as_strided::shape"], [0, 1, 1, "_CPPv410as_strided5arrayNSt6vectorIiEENSt6vectorI6size_tEE6size_t14StreamOrDevice", "as_strided::strides"], [0, 0, 1, "_CPPv46astype5array5Dtype14StreamOrDevice", "astype"], [0, 1, 1, "_CPPv46astype5array5Dtype14StreamOrDevice", "astype::a"], [0, 1, 1, "_CPPv46astype5array5Dtype14StreamOrDevice", "astype::dtype"], [0, 1, 1, "_CPPv46astype5array5Dtype14StreamOrDevice", "astype::s"], [0, 0, 1, "_CPPv410atleast_1dRK5array14StreamOrDevice", "atleast_1d"], [0, 0, 1, "_CPPv410atleast_1dRKNSt6vectorI5arrayEE14StreamOrDevice", "atleast_1d"], [0, 1, 1, "_CPPv410atleast_1dRK5array14StreamOrDevice", "atleast_1d::a"], [0, 1, 1, "_CPPv410atleast_1dRKNSt6vectorI5arrayEE14StreamOrDevice", "atleast_1d::a"], [0, 1, 1, "_CPPv410atleast_1dRK5array14StreamOrDevice", "atleast_1d::s"], [0, 1, 1, "_CPPv410atleast_1dRKNSt6vectorI5arrayEE14StreamOrDevice", "atleast_1d::s"], [0, 0, 1, "_CPPv410atleast_2dRK5array14StreamOrDevice", "atleast_2d"], [0, 0, 1, "_CPPv410atleast_2dRKNSt6vectorI5arrayEE14StreamOrDevice", "atleast_2d"], [0, 1, 1, "_CPPv410atleast_2dRK5array14StreamOrDevice", "atleast_2d::a"], [0, 1, 1, "_CPPv410atleast_2dRKNSt6vectorI5arrayEE14StreamOrDevice", "atleast_2d::a"], [0, 1, 1, "_CPPv410atleast_2dRK5array14StreamOrDevice", "atleast_2d::s"], [0, 1, 1, "_CPPv410atleast_2dRKNSt6vectorI5arrayEE14StreamOrDevice", "atleast_2d::s"], [0, 0, 1, "_CPPv410atleast_3dRK5array14StreamOrDevice", "atleast_3d"], [0, 0, 1, "_CPPv410atleast_3dRKNSt6vectorI5arrayEE14StreamOrDevice", "atleast_3d"], [0, 1, 1, "_CPPv410atleast_3dRK5array14StreamOrDevice", "atleast_3d::a"], [0, 1, 1, "_CPPv410atleast_3dRKNSt6vectorI5arrayEE14StreamOrDevice", "atleast_3d::a"], [0, 1, 1, "_CPPv410atleast_3dRK5array14StreamOrDevice", "atleast_3d::s"], [0, 1, 1, "_CPPv410atleast_3dRKNSt6vectorI5arrayEE14StreamOrDevice", "atleast_3d::s"], [0, 0, 1, "_CPPv411bitwise_andRK5arrayRK5array14StreamOrDevice", "bitwise_and"], [0, 1, 1, "_CPPv411bitwise_andRK5arrayRK5array14StreamOrDevice", "bitwise_and::a"], [0, 1, 1, "_CPPv411bitwise_andRK5arrayRK5array14StreamOrDevice", "bitwise_and::b"], [0, 1, 1, "_CPPv411bitwise_andRK5arrayRK5array14StreamOrDevice", "bitwise_and::s"], [0, 0, 1, "_CPPv410bitwise_orRK5arrayRK5array14StreamOrDevice", "bitwise_or"], [0, 1, 1, "_CPPv410bitwise_orRK5arrayRK5array14StreamOrDevice", "bitwise_or::a"], [0, 1, 1, "_CPPv410bitwise_orRK5arrayRK5array14StreamOrDevice", "bitwise_or::b"], [0, 1, 1, "_CPPv410bitwise_orRK5arrayRK5array14StreamOrDevice", "bitwise_or::s"], [0, 0, 1, "_CPPv411bitwise_xorRK5arrayRK5array14StreamOrDevice", "bitwise_xor"], [0, 1, 1, "_CPPv411bitwise_xorRK5arrayRK5array14StreamOrDevice", "bitwise_xor::a"], [0, 1, 1, "_CPPv411bitwise_xorRK5arrayRK5array14StreamOrDevice", "bitwise_xor::b"], [0, 1, 1, "_CPPv411bitwise_xorRK5arrayRK5array14StreamOrDevice", "bitwise_xor::s"], [0, 0, 1, "_CPPv415block_masked_mm5array5arrayiNSt8optionalI5arrayEENSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "block_masked_mm"], [0, 1, 1, "_CPPv415block_masked_mm5array5arrayiNSt8optionalI5arrayEENSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "block_masked_mm::a"], [0, 1, 1, "_CPPv415block_masked_mm5array5arrayiNSt8optionalI5arrayEENSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "block_masked_mm::b"], [0, 1, 1, "_CPPv415block_masked_mm5array5arrayiNSt8optionalI5arrayEENSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "block_masked_mm::block_size"], [0, 1, 1, "_CPPv415block_masked_mm5array5arrayiNSt8optionalI5arrayEENSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "block_masked_mm::mask_lhs"], [0, 1, 1, "_CPPv415block_masked_mm5array5arrayiNSt8optionalI5arrayEENSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "block_masked_mm::mask_out"], [0, 1, 1, "_CPPv415block_masked_mm5array5arrayiNSt8optionalI5arrayEENSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "block_masked_mm::mask_rhs"], [0, 1, 1, "_CPPv415block_masked_mm5array5arrayiNSt8optionalI5arrayEENSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "block_masked_mm::s"], [0, 0, 1, "_CPPv416broadcast_arraysRKNSt6vectorI5arrayEE14StreamOrDevice", "broadcast_arrays"], [0, 1, 1, "_CPPv416broadcast_arraysRKNSt6vectorI5arrayEE14StreamOrDevice", "broadcast_arrays::inputs"], [0, 1, 1, "_CPPv416broadcast_arraysRKNSt6vectorI5arrayEE14StreamOrDevice", "broadcast_arrays::s"], [0, 0, 1, "_CPPv412broadcast_toRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "broadcast_to"], [0, 1, 1, "_CPPv412broadcast_toRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "broadcast_to::a"], [0, 1, 1, "_CPPv412broadcast_toRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "broadcast_to::s"], [0, 1, 1, "_CPPv412broadcast_toRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "broadcast_to::shape"], [0, 0, 1, "_CPPv44ceilRK5array14StreamOrDevice", "ceil"], [0, 1, 1, "_CPPv44ceilRK5array14StreamOrDevice", "ceil::a"], [0, 1, 1, "_CPPv44ceilRK5array14StreamOrDevice", "ceil::s"], [0, 0, 1, "_CPPv44clipRK5arrayRKNSt8optionalI5arrayEERKNSt8optionalI5arrayEE14StreamOrDevice", "clip"], [0, 1, 1, "_CPPv44clipRK5arrayRKNSt8optionalI5arrayEERKNSt8optionalI5arrayEE14StreamOrDevice", "clip::a"], [0, 1, 1, "_CPPv44clipRK5arrayRKNSt8optionalI5arrayEERKNSt8optionalI5arrayEE14StreamOrDevice", "clip::a_max"], [0, 1, 1, "_CPPv44clipRK5arrayRKNSt8optionalI5arrayEERKNSt8optionalI5arrayEE14StreamOrDevice", "clip::a_min"], [0, 1, 1, "_CPPv44clipRK5arrayRKNSt8optionalI5arrayEERKNSt8optionalI5arrayEE14StreamOrDevice", "clip::s"], [0, 0, 1, "_CPPv411concatenateRKNSt6vectorI5arrayEE14StreamOrDevice", "concatenate"], [0, 0, 1, "_CPPv411concatenateRKNSt6vectorI5arrayEEi14StreamOrDevice", "concatenate"], [0, 1, 1, "_CPPv411concatenateRKNSt6vectorI5arrayEE14StreamOrDevice", "concatenate::arrays"], [0, 1, 1, "_CPPv411concatenateRKNSt6vectorI5arrayEEi14StreamOrDevice", "concatenate::arrays"], [0, 1, 1, "_CPPv411concatenateRKNSt6vectorI5arrayEEi14StreamOrDevice", "concatenate::axis"], [0, 1, 1, "_CPPv411concatenateRKNSt6vectorI5arrayEE14StreamOrDevice", "concatenate::s"], [0, 1, 1, "_CPPv411concatenateRKNSt6vectorI5arrayEEi14StreamOrDevice", "concatenate::s"], [0, 0, 1, "_CPPv49conjugateRK5array14StreamOrDevice", "conjugate"], [0, 1, 1, "_CPPv49conjugateRK5array14StreamOrDevice", "conjugate::a"], [0, 1, 1, "_CPPv49conjugateRK5array14StreamOrDevice", "conjugate::s"], [0, 0, 1, "_CPPv410contiguousRK5arrayb14StreamOrDevice", "contiguous"], [0, 1, 1, "_CPPv410contiguousRK5arrayb14StreamOrDevice", "contiguous::a"], [0, 1, 1, "_CPPv410contiguousRK5arrayb14StreamOrDevice", "contiguous::allow_col_major"], [0, 1, 1, "_CPPv410contiguousRK5arrayb14StreamOrDevice", "contiguous::s"], [0, 0, 1, "_CPPv46conv1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv1d"], [0, 1, 1, "_CPPv46conv1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv1d::dilation"], [0, 1, 1, "_CPPv46conv1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv1d::groups"], [0, 1, 1, "_CPPv46conv1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv1d::input"], [0, 1, 1, "_CPPv46conv1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv1d::padding"], [0, 1, 1, "_CPPv46conv1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv1d::s"], [0, 1, 1, "_CPPv46conv1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv1d::stride"], [0, 1, 1, "_CPPv46conv1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv1d::weight"], [0, 0, 1, "_CPPv46conv2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv2d"], [0, 1, 1, "_CPPv46conv2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv2d::dilation"], [0, 1, 1, "_CPPv46conv2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv2d::groups"], [0, 1, 1, "_CPPv46conv2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv2d::input"], [0, 1, 1, "_CPPv46conv2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv2d::padding"], [0, 1, 1, "_CPPv46conv2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv2d::s"], [0, 1, 1, "_CPPv46conv2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv2d::stride"], [0, 1, 1, "_CPPv46conv2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv2d::weight"], [0, 0, 1, "_CPPv46conv3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv3d"], [0, 1, 1, "_CPPv46conv3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv3d::dilation"], [0, 1, 1, "_CPPv46conv3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv3d::groups"], [0, 1, 1, "_CPPv46conv3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv3d::input"], [0, 1, 1, "_CPPv46conv3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv3d::padding"], [0, 1, 1, "_CPPv46conv3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv3d::s"], [0, 1, 1, "_CPPv46conv3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv3d::stride"], [0, 1, 1, "_CPPv46conv3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv3d::weight"], [0, 0, 1, "_CPPv412conv_general5array5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general"], [0, 0, 1, "_CPPv412conv_generalRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general"], [0, 1, 1, "_CPPv412conv_general5array5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::flip"], [0, 1, 1, "_CPPv412conv_generalRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::flip"], [0, 1, 1, "_CPPv412conv_general5array5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::groups"], [0, 1, 1, "_CPPv412conv_generalRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::groups"], [0, 1, 1, "_CPPv412conv_general5array5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::input"], [0, 1, 1, "_CPPv412conv_generalRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::input"], [0, 1, 1, "_CPPv412conv_general5array5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::input_dilation"], [0, 1, 1, "_CPPv412conv_generalRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::input_dilation"], [0, 1, 1, "_CPPv412conv_general5array5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::kernel_dilation"], [0, 1, 1, "_CPPv412conv_generalRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::kernel_dilation"], [0, 1, 1, "_CPPv412conv_generalRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::padding"], [0, 1, 1, "_CPPv412conv_general5array5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::padding_hi"], [0, 1, 1, "_CPPv412conv_general5array5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::padding_lo"], [0, 1, 1, "_CPPv412conv_general5array5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::s"], [0, 1, 1, "_CPPv412conv_generalRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::s"], [0, 1, 1, "_CPPv412conv_general5array5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::stride"], [0, 1, 1, "_CPPv412conv_generalRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::stride"], [0, 1, 1, "_CPPv412conv_general5array5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::weight"], [0, 1, 1, "_CPPv412conv_generalRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::weight"], [0, 0, 1, "_CPPv416conv_transpose1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv_transpose1d"], [0, 1, 1, "_CPPv416conv_transpose1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv_transpose1d::dilation"], [0, 1, 1, "_CPPv416conv_transpose1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv_transpose1d::groups"], [0, 1, 1, "_CPPv416conv_transpose1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv_transpose1d::input"], [0, 1, 1, "_CPPv416conv_transpose1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv_transpose1d::padding"], [0, 1, 1, "_CPPv416conv_transpose1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv_transpose1d::s"], [0, 1, 1, "_CPPv416conv_transpose1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv_transpose1d::stride"], [0, 1, 1, "_CPPv416conv_transpose1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv_transpose1d::weight"], [0, 0, 1, "_CPPv416conv_transpose2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv_transpose2d"], [0, 1, 1, "_CPPv416conv_transpose2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv_transpose2d::dilation"], [0, 1, 1, "_CPPv416conv_transpose2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv_transpose2d::groups"], [0, 1, 1, "_CPPv416conv_transpose2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv_transpose2d::input"], [0, 1, 1, "_CPPv416conv_transpose2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv_transpose2d::padding"], [0, 1, 1, "_CPPv416conv_transpose2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv_transpose2d::s"], [0, 1, 1, "_CPPv416conv_transpose2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv_transpose2d::stride"], [0, 1, 1, "_CPPv416conv_transpose2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv_transpose2d::weight"], [0, 0, 1, "_CPPv416conv_transpose3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv_transpose3d"], [0, 1, 1, "_CPPv416conv_transpose3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv_transpose3d::dilation"], [0, 1, 1, "_CPPv416conv_transpose3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv_transpose3d::groups"], [0, 1, 1, "_CPPv416conv_transpose3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv_transpose3d::input"], [0, 1, 1, "_CPPv416conv_transpose3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv_transpose3d::padding"], [0, 1, 1, "_CPPv416conv_transpose3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv_transpose3d::s"], [0, 1, 1, "_CPPv416conv_transpose3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv_transpose3d::stride"], [0, 1, 1, "_CPPv416conv_transpose3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv_transpose3d::weight"], [0, 0, 1, "_CPPv44copy5array14StreamOrDevice", "copy"], [0, 1, 1, "_CPPv44copy5array14StreamOrDevice", "copy::a"], [0, 1, 1, "_CPPv44copy5array14StreamOrDevice", "copy::s"], [0, 0, 1, "_CPPv43cosRK5array14StreamOrDevice", "cos"], [0, 1, 1, "_CPPv43cosRK5array14StreamOrDevice", "cos::a"], [0, 1, 1, "_CPPv43cosRK5array14StreamOrDevice", "cos::s"], [0, 0, 1, "_CPPv44coshRK5array14StreamOrDevice", "cosh"], [0, 1, 1, "_CPPv44coshRK5array14StreamOrDevice", "cosh::a"], [0, 1, 1, "_CPPv44coshRK5array14StreamOrDevice", "cosh::s"], [0, 0, 1, "_CPPv46cummaxRK5arrayibb14StreamOrDevice", "cummax"], [0, 1, 1, "_CPPv46cummaxRK5arrayibb14StreamOrDevice", "cummax::a"], [0, 1, 1, "_CPPv46cummaxRK5arrayibb14StreamOrDevice", "cummax::axis"], [0, 1, 1, "_CPPv46cummaxRK5arrayibb14StreamOrDevice", "cummax::inclusive"], [0, 1, 1, "_CPPv46cummaxRK5arrayibb14StreamOrDevice", "cummax::reverse"], [0, 1, 1, "_CPPv46cummaxRK5arrayibb14StreamOrDevice", "cummax::s"], [0, 0, 1, "_CPPv46cumminRK5arrayibb14StreamOrDevice", "cummin"], [0, 1, 1, "_CPPv46cumminRK5arrayibb14StreamOrDevice", "cummin::a"], [0, 1, 1, "_CPPv46cumminRK5arrayibb14StreamOrDevice", "cummin::axis"], [0, 1, 1, "_CPPv46cumminRK5arrayibb14StreamOrDevice", "cummin::inclusive"], [0, 1, 1, "_CPPv46cumminRK5arrayibb14StreamOrDevice", "cummin::reverse"], [0, 1, 1, "_CPPv46cumminRK5arrayibb14StreamOrDevice", "cummin::s"], [0, 0, 1, "_CPPv47cumprodRK5arrayibb14StreamOrDevice", "cumprod"], [0, 1, 1, "_CPPv47cumprodRK5arrayibb14StreamOrDevice", "cumprod::a"], [0, 1, 1, "_CPPv47cumprodRK5arrayibb14StreamOrDevice", "cumprod::axis"], [0, 1, 1, "_CPPv47cumprodRK5arrayibb14StreamOrDevice", "cumprod::inclusive"], [0, 1, 1, "_CPPv47cumprodRK5arrayibb14StreamOrDevice", "cumprod::reverse"], [0, 1, 1, "_CPPv47cumprodRK5arrayibb14StreamOrDevice", "cumprod::s"], [0, 0, 1, "_CPPv46cumsumRK5arrayibb14StreamOrDevice", "cumsum"], [0, 1, 1, "_CPPv46cumsumRK5arrayibb14StreamOrDevice", "cumsum::a"], [0, 1, 1, "_CPPv46cumsumRK5arrayibb14StreamOrDevice", "cumsum::axis"], [0, 1, 1, "_CPPv46cumsumRK5arrayibb14StreamOrDevice", "cumsum::inclusive"], [0, 1, 1, "_CPPv46cumsumRK5arrayibb14StreamOrDevice", "cumsum::reverse"], [0, 1, 1, "_CPPv46cumsumRK5arrayibb14StreamOrDevice", "cumsum::s"], [0, 0, 1, "_CPPv47degreesRK5array14StreamOrDevice", "degrees"], [0, 1, 1, "_CPPv47degreesRK5array14StreamOrDevice", "degrees::a"], [0, 1, 1, "_CPPv47degreesRK5array14StreamOrDevice", "degrees::s"], [0, 0, 1, "_CPPv47dependsRKNSt6vectorI5arrayEERKNSt6vectorI5arrayEE", "depends"], [0, 1, 1, "_CPPv47dependsRKNSt6vectorI5arrayEERKNSt6vectorI5arrayEE", "depends::dependencies"], [0, 1, 1, "_CPPv47dependsRKNSt6vectorI5arrayEERKNSt6vectorI5arrayEE", "depends::inputs"], [0, 0, 1, "_CPPv410dequantizeRK5arrayRK5arrayRK5arrayii14StreamOrDevice", "dequantize"], [0, 1, 1, "_CPPv410dequantizeRK5arrayRK5arrayRK5arrayii14StreamOrDevice", "dequantize::biases"], [0, 1, 1, "_CPPv410dequantizeRK5arrayRK5arrayRK5arrayii14StreamOrDevice", "dequantize::bits"], [0, 1, 1, "_CPPv410dequantizeRK5arrayRK5arrayRK5arrayii14StreamOrDevice", "dequantize::group_size"], [0, 1, 1, "_CPPv410dequantizeRK5arrayRK5arrayRK5arrayii14StreamOrDevice", "dequantize::s"], [0, 1, 1, "_CPPv410dequantizeRK5arrayRK5arrayRK5arrayii14StreamOrDevice", "dequantize::scales"], [0, 1, 1, "_CPPv410dequantizeRK5arrayRK5arrayRK5arrayii14StreamOrDevice", "dequantize::w"], [0, 0, 1, "_CPPv44diagRK5arrayi14StreamOrDevice", "diag"], [0, 1, 1, "_CPPv44diagRK5arrayi14StreamOrDevice", "diag::a"], [0, 1, 1, "_CPPv44diagRK5arrayi14StreamOrDevice", "diag::k"], [0, 1, 1, "_CPPv44diagRK5arrayi14StreamOrDevice", "diag::s"], [0, 0, 1, "_CPPv48diagonalRK5arrayiii14StreamOrDevice", "diagonal"], [0, 1, 1, "_CPPv48diagonalRK5arrayiii14StreamOrDevice", "diagonal::a"], [0, 1, 1, "_CPPv48diagonalRK5arrayiii14StreamOrDevice", "diagonal::axis1"], [0, 1, 1, "_CPPv48diagonalRK5arrayiii14StreamOrDevice", "diagonal::axis2"], [0, 1, 1, "_CPPv48diagonalRK5arrayiii14StreamOrDevice", "diagonal::offset"], [0, 1, 1, "_CPPv48diagonalRK5arrayiii14StreamOrDevice", "diagonal::s"], [0, 0, 1, "_CPPv46divideRK5arrayRK5array14StreamOrDevice", "divide"], [0, 1, 1, "_CPPv46divideRK5arrayRK5array14StreamOrDevice", "divide::a"], [0, 1, 1, "_CPPv46divideRK5arrayRK5array14StreamOrDevice", "divide::b"], [0, 1, 1, "_CPPv46divideRK5arrayRK5array14StreamOrDevice", "divide::s"], [0, 0, 1, "_CPPv46divmodRK5arrayRK5array14StreamOrDevice", "divmod"], [0, 1, 1, "_CPPv46divmodRK5arrayRK5array14StreamOrDevice", "divmod::a"], [0, 1, 1, "_CPPv46divmodRK5arrayRK5array14StreamOrDevice", "divmod::b"], [0, 1, 1, "_CPPv46divmodRK5arrayRK5array14StreamOrDevice", "divmod::s"], [0, 0, 1, "_CPPv45equalRK5arrayRK5array14StreamOrDevice", "equal"], [0, 1, 1, "_CPPv45equalRK5arrayRK5array14StreamOrDevice", "equal::a"], [0, 1, 1, "_CPPv45equalRK5arrayRK5array14StreamOrDevice", "equal::b"], [0, 1, 1, "_CPPv45equalRK5arrayRK5array14StreamOrDevice", "equal::s"], [0, 0, 1, "_CPPv43erfRK5array14StreamOrDevice", "erf"], [0, 1, 1, "_CPPv43erfRK5array14StreamOrDevice", "erf::a"], [0, 1, 1, "_CPPv43erfRK5array14StreamOrDevice", "erf::s"], [0, 0, 1, "_CPPv46erfinvRK5array14StreamOrDevice", "erfinv"], [0, 1, 1, "_CPPv46erfinvRK5array14StreamOrDevice", "erfinv::a"], [0, 1, 1, "_CPPv46erfinvRK5array14StreamOrDevice", "erfinv::s"], [0, 0, 1, "_CPPv43expRK5array14StreamOrDevice", "exp"], [0, 1, 1, "_CPPv43expRK5array14StreamOrDevice", "exp::a"], [0, 1, 1, "_CPPv43expRK5array14StreamOrDevice", "exp::s"], [0, 0, 1, "_CPPv411expand_dimsRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "expand_dims"], [0, 0, 1, "_CPPv411expand_dimsRK5arrayi14StreamOrDevice", "expand_dims"], [0, 1, 1, "_CPPv411expand_dimsRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "expand_dims::a"], [0, 1, 1, "_CPPv411expand_dimsRK5arrayi14StreamOrDevice", "expand_dims::a"], [0, 1, 1, "_CPPv411expand_dimsRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "expand_dims::axes"], [0, 1, 1, "_CPPv411expand_dimsRK5arrayi14StreamOrDevice", "expand_dims::axis"], [0, 1, 1, "_CPPv411expand_dimsRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "expand_dims::s"], [0, 1, 1, "_CPPv411expand_dimsRK5arrayi14StreamOrDevice", "expand_dims::s"], [0, 0, 1, "_CPPv45expm1RK5array14StreamOrDevice", "expm1"], [0, 1, 1, "_CPPv45expm1RK5array14StreamOrDevice", "expm1::a"], [0, 1, 1, "_CPPv45expm1RK5array14StreamOrDevice", "expm1::s"], [0, 0, 1, "_CPPv43eyei14StreamOrDevice", "eye"], [0, 0, 1, "_CPPv43eyei5Dtype14StreamOrDevice", "eye"], [0, 0, 1, "_CPPv43eyeii14StreamOrDevice", "eye"], [0, 0, 1, "_CPPv43eyeiii14StreamOrDevice", "eye"], [0, 0, 1, "_CPPv43eyeiii5Dtype14StreamOrDevice", "eye"], [0, 1, 1, "_CPPv43eyei5Dtype14StreamOrDevice", "eye::dtype"], [0, 1, 1, "_CPPv43eyeiii5Dtype14StreamOrDevice", "eye::dtype"], [0, 1, 1, "_CPPv43eyeiii14StreamOrDevice", "eye::k"], [0, 1, 1, "_CPPv43eyeiii5Dtype14StreamOrDevice", "eye::k"], [0, 1, 1, "_CPPv43eyeii14StreamOrDevice", "eye::m"], [0, 1, 1, "_CPPv43eyeiii14StreamOrDevice", "eye::m"], [0, 1, 1, "_CPPv43eyeiii5Dtype14StreamOrDevice", "eye::m"], [0, 1, 1, "_CPPv43eyei14StreamOrDevice", "eye::n"], [0, 1, 1, "_CPPv43eyei5Dtype14StreamOrDevice", "eye::n"], [0, 1, 1, "_CPPv43eyeii14StreamOrDevice", "eye::n"], [0, 1, 1, "_CPPv43eyeiii14StreamOrDevice", "eye::n"], [0, 1, 1, "_CPPv43eyeiii5Dtype14StreamOrDevice", "eye::n"], [0, 1, 1, "_CPPv43eyei14StreamOrDevice", "eye::s"], [0, 1, 1, "_CPPv43eyei5Dtype14StreamOrDevice", "eye::s"], [0, 1, 1, "_CPPv43eyeii14StreamOrDevice", "eye::s"], [0, 1, 1, "_CPPv43eyeiii14StreamOrDevice", "eye::s"], [0, 1, 1, "_CPPv43eyeiii5Dtype14StreamOrDevice", "eye::s"], [0, 0, 1, "_CPPv47flattenRK5array14StreamOrDevice", "flatten"], [0, 0, 1, "_CPPv47flattenRK5arrayii14StreamOrDevice", "flatten"], [0, 1, 1, "_CPPv47flattenRK5array14StreamOrDevice", "flatten::a"], [0, 1, 1, "_CPPv47flattenRK5arrayii14StreamOrDevice", "flatten::a"], [0, 1, 1, "_CPPv47flattenRK5arrayii14StreamOrDevice", "flatten::end_axis"], [0, 1, 1, "_CPPv47flattenRK5array14StreamOrDevice", "flatten::s"], [0, 1, 1, "_CPPv47flattenRK5arrayii14StreamOrDevice", "flatten::s"], [0, 1, 1, "_CPPv47flattenRK5arrayii14StreamOrDevice", "flatten::start_axis"], [0, 0, 1, "_CPPv45floorRK5array14StreamOrDevice", "floor"], [0, 1, 1, "_CPPv45floorRK5array14StreamOrDevice", "floor::a"], [0, 1, 1, "_CPPv45floorRK5array14StreamOrDevice", "floor::s"], [0, 0, 1, "_CPPv412floor_divideRK5arrayRK5array14StreamOrDevice", "floor_divide"], [0, 1, 1, "_CPPv412floor_divideRK5arrayRK5array14StreamOrDevice", "floor_divide::a"], [0, 1, 1, "_CPPv412floor_divideRK5arrayRK5array14StreamOrDevice", "floor_divide::b"], [0, 1, 1, "_CPPv412floor_divideRK5arrayRK5array14StreamOrDevice", "floor_divide::s"], [0, 0, 1, "_CPPv44fullNSt6vectorIiEE5array14StreamOrDevice", "full"], [0, 0, 1, "_CPPv44fullNSt6vectorIiEE5array5Dtype14StreamOrDevice", "full"], [0, 0, 1, "_CPPv4I0E4full5arrayNSt6vectorIiEE1T14StreamOrDevice", "full"], [0, 0, 1, "_CPPv4I0E4full5arrayNSt6vectorIiEE1T5Dtype14StreamOrDevice", "full"], [0, 2, 1, "_CPPv4I0E4full5arrayNSt6vectorIiEE1T14StreamOrDevice", "full::T"], [0, 2, 1, "_CPPv4I0E4full5arrayNSt6vectorIiEE1T5Dtype14StreamOrDevice", "full::T"], [0, 1, 1, "_CPPv44fullNSt6vectorIiEE5array5Dtype14StreamOrDevice", "full::dtype"], [0, 1, 1, "_CPPv4I0E4full5arrayNSt6vectorIiEE1T5Dtype14StreamOrDevice", "full::dtype"], [0, 1, 1, "_CPPv44fullNSt6vectorIiEE5array14StreamOrDevice", "full::s"], [0, 1, 1, "_CPPv44fullNSt6vectorIiEE5array5Dtype14StreamOrDevice", "full::s"], [0, 1, 1, "_CPPv4I0E4full5arrayNSt6vectorIiEE1T14StreamOrDevice", "full::s"], [0, 1, 1, "_CPPv4I0E4full5arrayNSt6vectorIiEE1T5Dtype14StreamOrDevice", "full::s"], [0, 1, 1, "_CPPv44fullNSt6vectorIiEE5array14StreamOrDevice", "full::shape"], [0, 1, 1, "_CPPv44fullNSt6vectorIiEE5array5Dtype14StreamOrDevice", "full::shape"], [0, 1, 1, "_CPPv4I0E4full5arrayNSt6vectorIiEE1T14StreamOrDevice", "full::shape"], [0, 1, 1, "_CPPv4I0E4full5arrayNSt6vectorIiEE1T5Dtype14StreamOrDevice", "full::shape"], [0, 1, 1, "_CPPv4I0E4full5arrayNSt6vectorIiEE1T14StreamOrDevice", "full::val"], [0, 1, 1, "_CPPv4I0E4full5arrayNSt6vectorIiEE1T5Dtype14StreamOrDevice", "full::val"], [0, 1, 1, "_CPPv44fullNSt6vectorIiEE5array14StreamOrDevice", "full::vals"], [0, 1, 1, "_CPPv44fullNSt6vectorIiEE5array5Dtype14StreamOrDevice", "full::vals"], [0, 0, 1, "_CPPv46gatherRK5arrayRK5arrayiRKNSt6vectorIiEE14StreamOrDevice", "gather"], [0, 0, 1, "_CPPv46gatherRK5arrayRKNSt6vectorI5arrayEERKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice", "gather"], [0, 1, 1, "_CPPv46gatherRK5arrayRK5arrayiRKNSt6vectorIiEE14StreamOrDevice", "gather::a"], [0, 1, 1, "_CPPv46gatherRK5arrayRKNSt6vectorI5arrayEERKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice", "gather::a"], [0, 1, 1, "_CPPv46gatherRK5arrayRKNSt6vectorI5arrayEERKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice", "gather::axes"], [0, 1, 1, "_CPPv46gatherRK5arrayRK5arrayiRKNSt6vectorIiEE14StreamOrDevice", "gather::axis"], [0, 1, 1, "_CPPv46gatherRK5arrayRK5arrayiRKNSt6vectorIiEE14StreamOrDevice", "gather::indices"], [0, 1, 1, "_CPPv46gatherRK5arrayRKNSt6vectorI5arrayEERKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice", "gather::indices"], [0, 1, 1, "_CPPv46gatherRK5arrayRK5arrayiRKNSt6vectorIiEE14StreamOrDevice", "gather::s"], [0, 1, 1, "_CPPv46gatherRK5arrayRKNSt6vectorI5arrayEERKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice", "gather::s"], [0, 1, 1, "_CPPv46gatherRK5arrayRK5arrayiRKNSt6vectorIiEE14StreamOrDevice", "gather::slice_sizes"], [0, 1, 1, "_CPPv46gatherRK5arrayRKNSt6vectorI5arrayEERKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice", "gather::slice_sizes"], [0, 0, 1, "_CPPv49gather_mm5array5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "gather_mm"], [0, 1, 1, "_CPPv49gather_mm5array5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "gather_mm::a"], [0, 1, 1, "_CPPv49gather_mm5array5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "gather_mm::b"], [0, 1, 1, "_CPPv49gather_mm5array5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "gather_mm::lhs_indices"], [0, 1, 1, "_CPPv49gather_mm5array5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "gather_mm::rhs_indices"], [0, 1, 1, "_CPPv49gather_mm5array5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "gather_mm::s"], [0, 0, 1, "_CPPv410gather_qmmRK5arrayRK5arrayRK5arrayRK5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEEbii14StreamOrDevice", "gather_qmm"], [0, 1, 1, "_CPPv410gather_qmmRK5arrayRK5arrayRK5arrayRK5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEEbii14StreamOrDevice", "gather_qmm::biases"], [0, 1, 1, "_CPPv410gather_qmmRK5arrayRK5arrayRK5arrayRK5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEEbii14StreamOrDevice", "gather_qmm::bits"], [0, 1, 1, "_CPPv410gather_qmmRK5arrayRK5arrayRK5arrayRK5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEEbii14StreamOrDevice", "gather_qmm::group_size"], [0, 1, 1, "_CPPv410gather_qmmRK5arrayRK5arrayRK5arrayRK5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEEbii14StreamOrDevice", "gather_qmm::lhs_indices"], [0, 1, 1, "_CPPv410gather_qmmRK5arrayRK5arrayRK5arrayRK5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEEbii14StreamOrDevice", "gather_qmm::rhs_indices"], [0, 1, 1, "_CPPv410gather_qmmRK5arrayRK5arrayRK5arrayRK5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEEbii14StreamOrDevice", "gather_qmm::s"], [0, 1, 1, "_CPPv410gather_qmmRK5arrayRK5arrayRK5arrayRK5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEEbii14StreamOrDevice", "gather_qmm::scales"], [0, 1, 1, "_CPPv410gather_qmmRK5arrayRK5arrayRK5arrayRK5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEEbii14StreamOrDevice", "gather_qmm::transpose"], [0, 1, 1, "_CPPv410gather_qmmRK5arrayRK5arrayRK5arrayRK5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEEbii14StreamOrDevice", "gather_qmm::w"], [0, 1, 1, "_CPPv410gather_qmmRK5arrayRK5arrayRK5arrayRK5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEEbii14StreamOrDevice", "gather_qmm::x"], [0, 0, 1, "_CPPv47greaterRK5arrayRK5array14StreamOrDevice", "greater"], [0, 1, 1, "_CPPv47greaterRK5arrayRK5array14StreamOrDevice", "greater::a"], [0, 1, 1, "_CPPv47greaterRK5arrayRK5array14StreamOrDevice", "greater::b"], [0, 1, 1, "_CPPv47greaterRK5arrayRK5array14StreamOrDevice", "greater::s"], [0, 0, 1, "_CPPv413greater_equalRK5arrayRK5array14StreamOrDevice", "greater_equal"], [0, 1, 1, "_CPPv413greater_equalRK5arrayRK5array14StreamOrDevice", "greater_equal::a"], [0, 1, 1, "_CPPv413greater_equalRK5arrayRK5array14StreamOrDevice", "greater_equal::b"], [0, 1, 1, "_CPPv413greater_equalRK5arrayRK5array14StreamOrDevice", "greater_equal::s"], [0, 0, 1, "_CPPv418hadamard_transformRK5arrayNSt8optionalIfEE14StreamOrDevice", "hadamard_transform"], [0, 1, 1, "_CPPv418hadamard_transformRK5arrayNSt8optionalIfEE14StreamOrDevice", "hadamard_transform::a"], [0, 1, 1, "_CPPv418hadamard_transformRK5arrayNSt8optionalIfEE14StreamOrDevice", "hadamard_transform::s"], [0, 1, 1, "_CPPv418hadamard_transformRK5arrayNSt8optionalIfEE14StreamOrDevice", "hadamard_transform::scale"], [0, 0, 1, "_CPPv48identityi14StreamOrDevice", "identity"], [0, 0, 1, "_CPPv48identityi5Dtype14StreamOrDevice", "identity"], [0, 1, 1, "_CPPv48identityi5Dtype14StreamOrDevice", "identity::dtype"], [0, 1, 1, "_CPPv48identityi14StreamOrDevice", "identity::n"], [0, 1, 1, "_CPPv48identityi5Dtype14StreamOrDevice", "identity::n"], [0, 1, 1, "_CPPv48identityi14StreamOrDevice", "identity::s"], [0, 1, 1, "_CPPv48identityi5Dtype14StreamOrDevice", "identity::s"], [0, 0, 1, "_CPPv44imagRK5array14StreamOrDevice", "imag"], [0, 1, 1, "_CPPv44imagRK5array14StreamOrDevice", "imag::a"], [0, 1, 1, "_CPPv44imagRK5array14StreamOrDevice", "imag::s"], [0, 0, 1, "_CPPv45innerRK5arrayRK5array14StreamOrDevice", "inner"], [0, 1, 1, "_CPPv45innerRK5arrayRK5array14StreamOrDevice", "inner::a"], [0, 1, 1, "_CPPv45innerRK5arrayRK5array14StreamOrDevice", "inner::b"], [0, 1, 1, "_CPPv45innerRK5arrayRK5array14StreamOrDevice", "inner::s"], [0, 0, 1, "_CPPv47iscloseRK5arrayRK5arrayddb14StreamOrDevice", "isclose"], [0, 1, 1, "_CPPv47iscloseRK5arrayRK5arrayddb14StreamOrDevice", "isclose::a"], [0, 1, 1, "_CPPv47iscloseRK5arrayRK5arrayddb14StreamOrDevice", "isclose::atol"], [0, 1, 1, "_CPPv47iscloseRK5arrayRK5arrayddb14StreamOrDevice", "isclose::b"], [0, 1, 1, "_CPPv47iscloseRK5arrayRK5arrayddb14StreamOrDevice", "isclose::equal_nan"], [0, 1, 1, "_CPPv47iscloseRK5arrayRK5arrayddb14StreamOrDevice", "isclose::rtol"], [0, 1, 1, "_CPPv47iscloseRK5arrayRK5arrayddb14StreamOrDevice", "isclose::s"], [0, 0, 1, "_CPPv48isfiniteRK5array14StreamOrDevice", "isfinite"], [0, 1, 1, "_CPPv48isfiniteRK5array14StreamOrDevice", "isfinite::a"], [0, 1, 1, "_CPPv48isfiniteRK5array14StreamOrDevice", "isfinite::s"], [0, 0, 1, "_CPPv45isinfRK5array14StreamOrDevice", "isinf"], [0, 1, 1, "_CPPv45isinfRK5array14StreamOrDevice", "isinf::a"], [0, 1, 1, "_CPPv45isinfRK5array14StreamOrDevice", "isinf::s"], [0, 0, 1, "_CPPv45isnanRK5array14StreamOrDevice", "isnan"], [0, 1, 1, "_CPPv45isnanRK5array14StreamOrDevice", "isnan::a"], [0, 1, 1, "_CPPv45isnanRK5array14StreamOrDevice", "isnan::s"], [0, 0, 1, "_CPPv48isneginfRK5array14StreamOrDevice", "isneginf"], [0, 1, 1, "_CPPv48isneginfRK5array14StreamOrDevice", "isneginf::a"], [0, 1, 1, "_CPPv48isneginfRK5array14StreamOrDevice", "isneginf::s"], [0, 0, 1, "_CPPv48isposinfRK5array14StreamOrDevice", "isposinf"], [0, 1, 1, "_CPPv48isposinfRK5array14StreamOrDevice", "isposinf::a"], [0, 1, 1, "_CPPv48isposinfRK5array14StreamOrDevice", "isposinf::s"], [0, 0, 1, "_CPPv410left_shiftRK5arrayRK5array14StreamOrDevice", "left_shift"], [0, 1, 1, "_CPPv410left_shiftRK5arrayRK5array14StreamOrDevice", "left_shift::a"], [0, 1, 1, "_CPPv410left_shiftRK5arrayRK5array14StreamOrDevice", "left_shift::b"], [0, 1, 1, "_CPPv410left_shiftRK5arrayRK5array14StreamOrDevice", "left_shift::s"], [0, 0, 1, "_CPPv44lessRK5arrayRK5array14StreamOrDevice", "less"], [0, 1, 1, "_CPPv44lessRK5arrayRK5array14StreamOrDevice", "less::a"], [0, 1, 1, "_CPPv44lessRK5arrayRK5array14StreamOrDevice", "less::b"], [0, 1, 1, "_CPPv44lessRK5arrayRK5array14StreamOrDevice", "less::s"], [0, 0, 1, "_CPPv410less_equalRK5arrayRK5array14StreamOrDevice", "less_equal"], [0, 1, 1, "_CPPv410less_equalRK5arrayRK5array14StreamOrDevice", "less_equal::a"], [0, 1, 1, "_CPPv410less_equalRK5arrayRK5array14StreamOrDevice", "less_equal::b"], [0, 1, 1, "_CPPv410less_equalRK5arrayRK5array14StreamOrDevice", "less_equal::s"], [0, 0, 1, "_CPPv48linspaceddi5Dtype14StreamOrDevice", "linspace"], [0, 1, 1, "_CPPv48linspaceddi5Dtype14StreamOrDevice", "linspace::dtype"], [0, 1, 1, "_CPPv48linspaceddi5Dtype14StreamOrDevice", "linspace::num"], [0, 1, 1, "_CPPv48linspaceddi5Dtype14StreamOrDevice", "linspace::s"], [0, 1, 1, "_CPPv48linspaceddi5Dtype14StreamOrDevice", "linspace::start"], [0, 1, 1, "_CPPv48linspaceddi5Dtype14StreamOrDevice", "linspace::stop"], [0, 0, 1, "_CPPv43logRK5array14StreamOrDevice", "log"], [0, 0, 1, "_CPPv45log10RK5array14StreamOrDevice", "log10"], [0, 1, 1, "_CPPv45log10RK5array14StreamOrDevice", "log10::a"], [0, 1, 1, "_CPPv45log10RK5array14StreamOrDevice", "log10::s"], [0, 0, 1, "_CPPv45log1pRK5array14StreamOrDevice", "log1p"], [0, 1, 1, "_CPPv45log1pRK5array14StreamOrDevice", "log1p::a"], [0, 1, 1, "_CPPv45log1pRK5array14StreamOrDevice", "log1p::s"], [0, 0, 1, "_CPPv44log2RK5array14StreamOrDevice", "log2"], [0, 1, 1, "_CPPv44log2RK5array14StreamOrDevice", "log2::a"], [0, 1, 1, "_CPPv44log2RK5array14StreamOrDevice", "log2::s"], [0, 1, 1, "_CPPv43logRK5array14StreamOrDevice", "log::a"], [0, 1, 1, "_CPPv43logRK5array14StreamOrDevice", "log::s"], [0, 0, 1, "_CPPv49logaddexpRK5arrayRK5array14StreamOrDevice", "logaddexp"], [0, 1, 1, "_CPPv49logaddexpRK5arrayRK5array14StreamOrDevice", "logaddexp::a"], [0, 1, 1, "_CPPv49logaddexpRK5arrayRK5array14StreamOrDevice", "logaddexp::b"], [0, 1, 1, "_CPPv49logaddexpRK5arrayRK5array14StreamOrDevice", "logaddexp::s"], [0, 0, 1, "_CPPv411logical_andRK5arrayRK5array14StreamOrDevice", "logical_and"], [0, 1, 1, "_CPPv411logical_andRK5arrayRK5array14StreamOrDevice", "logical_and::a"], [0, 1, 1, "_CPPv411logical_andRK5arrayRK5array14StreamOrDevice", "logical_and::b"], [0, 1, 1, "_CPPv411logical_andRK5arrayRK5array14StreamOrDevice", "logical_and::s"], [0, 0, 1, "_CPPv411logical_notRK5array14StreamOrDevice", "logical_not"], [0, 1, 1, "_CPPv411logical_notRK5array14StreamOrDevice", "logical_not::a"], [0, 1, 1, "_CPPv411logical_notRK5array14StreamOrDevice", "logical_not::s"], [0, 0, 1, "_CPPv410logical_orRK5arrayRK5array14StreamOrDevice", "logical_or"], [0, 1, 1, "_CPPv410logical_orRK5arrayRK5array14StreamOrDevice", "logical_or::a"], [0, 1, 1, "_CPPv410logical_orRK5arrayRK5array14StreamOrDevice", "logical_or::b"], [0, 1, 1, "_CPPv410logical_orRK5arrayRK5array14StreamOrDevice", "logical_or::s"], [0, 0, 1, "_CPPv49logsumexpRK5array14StreamOrDevice", "logsumexp"], [0, 0, 1, "_CPPv49logsumexpRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "logsumexp"], [0, 0, 1, "_CPPv49logsumexpRK5arrayb14StreamOrDevice", "logsumexp"], [0, 0, 1, "_CPPv49logsumexpRK5arrayib14StreamOrDevice", "logsumexp"], [0, 1, 1, "_CPPv49logsumexpRK5array14StreamOrDevice", "logsumexp::a"], [0, 1, 1, "_CPPv49logsumexpRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "logsumexp::a"], [0, 1, 1, "_CPPv49logsumexpRK5arrayb14StreamOrDevice", "logsumexp::a"], [0, 1, 1, "_CPPv49logsumexpRK5arrayib14StreamOrDevice", "logsumexp::a"], [0, 1, 1, "_CPPv49logsumexpRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "logsumexp::axes"], [0, 1, 1, "_CPPv49logsumexpRK5arrayib14StreamOrDevice", "logsumexp::axis"], [0, 1, 1, "_CPPv49logsumexpRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "logsumexp::keepdims"], [0, 1, 1, "_CPPv49logsumexpRK5arrayb14StreamOrDevice", "logsumexp::keepdims"], [0, 1, 1, "_CPPv49logsumexpRK5arrayib14StreamOrDevice", "logsumexp::keepdims"], [0, 1, 1, "_CPPv49logsumexpRK5array14StreamOrDevice", "logsumexp::s"], [0, 1, 1, "_CPPv49logsumexpRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "logsumexp::s"], [0, 1, 1, "_CPPv49logsumexpRK5arrayb14StreamOrDevice", "logsumexp::s"], [0, 1, 1, "_CPPv49logsumexpRK5arrayib14StreamOrDevice", "logsumexp::s"], [0, 0, 1, "_CPPv46matmulRK5arrayRK5array14StreamOrDevice", "matmul"], [0, 1, 1, "_CPPv46matmulRK5arrayRK5array14StreamOrDevice", "matmul::a"], [0, 1, 1, "_CPPv46matmulRK5arrayRK5array14StreamOrDevice", "matmul::b"], [0, 1, 1, "_CPPv46matmulRK5arrayRK5array14StreamOrDevice", "matmul::s"], [0, 0, 1, "_CPPv43maxRK5array14StreamOrDevice", "max"], [0, 0, 1, "_CPPv43maxRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "max"], [0, 0, 1, "_CPPv43maxRK5arrayb14StreamOrDevice", "max"], [0, 0, 1, "_CPPv43maxRK5arrayib14StreamOrDevice", "max"], [0, 1, 1, "_CPPv43maxRK5array14StreamOrDevice", "max::a"], [0, 1, 1, "_CPPv43maxRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "max::a"], [0, 1, 1, "_CPPv43maxRK5arrayb14StreamOrDevice", "max::a"], [0, 1, 1, "_CPPv43maxRK5arrayib14StreamOrDevice", "max::a"], [0, 1, 1, "_CPPv43maxRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "max::axes"], [0, 1, 1, "_CPPv43maxRK5arrayib14StreamOrDevice", "max::axis"], [0, 1, 1, "_CPPv43maxRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "max::keepdims"], [0, 1, 1, "_CPPv43maxRK5arrayb14StreamOrDevice", "max::keepdims"], [0, 1, 1, "_CPPv43maxRK5arrayib14StreamOrDevice", "max::keepdims"], [0, 1, 1, "_CPPv43maxRK5array14StreamOrDevice", "max::s"], [0, 1, 1, "_CPPv43maxRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "max::s"], [0, 1, 1, "_CPPv43maxRK5arrayb14StreamOrDevice", "max::s"], [0, 1, 1, "_CPPv43maxRK5arrayib14StreamOrDevice", "max::s"], [0, 0, 1, "_CPPv47maximumRK5arrayRK5array14StreamOrDevice", "maximum"], [0, 1, 1, "_CPPv47maximumRK5arrayRK5array14StreamOrDevice", "maximum::a"], [0, 1, 1, "_CPPv47maximumRK5arrayRK5array14StreamOrDevice", "maximum::b"], [0, 1, 1, "_CPPv47maximumRK5arrayRK5array14StreamOrDevice", "maximum::s"], [0, 0, 1, "_CPPv44meanRK5array14StreamOrDevice", "mean"], [0, 0, 1, "_CPPv44meanRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "mean"], [0, 0, 1, "_CPPv44meanRK5arrayb14StreamOrDevice", "mean"], [0, 0, 1, "_CPPv44meanRK5arrayib14StreamOrDevice", "mean"], [0, 1, 1, "_CPPv44meanRK5array14StreamOrDevice", "mean::a"], [0, 1, 1, "_CPPv44meanRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "mean::a"], [0, 1, 1, "_CPPv44meanRK5arrayb14StreamOrDevice", "mean::a"], [0, 1, 1, "_CPPv44meanRK5arrayib14StreamOrDevice", "mean::a"], [0, 1, 1, "_CPPv44meanRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "mean::axes"], [0, 1, 1, "_CPPv44meanRK5arrayib14StreamOrDevice", "mean::axis"], [0, 1, 1, "_CPPv44meanRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "mean::keepdims"], [0, 1, 1, "_CPPv44meanRK5arrayb14StreamOrDevice", "mean::keepdims"], [0, 1, 1, "_CPPv44meanRK5arrayib14StreamOrDevice", "mean::keepdims"], [0, 1, 1, "_CPPv44meanRK5array14StreamOrDevice", "mean::s"], [0, 1, 1, "_CPPv44meanRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "mean::s"], [0, 1, 1, "_CPPv44meanRK5arrayb14StreamOrDevice", "mean::s"], [0, 1, 1, "_CPPv44meanRK5arrayib14StreamOrDevice", "mean::s"], [0, 0, 1, "_CPPv48meshgridRKNSt6vectorI5arrayEEbNSt6stringE14StreamOrDevice", "meshgrid"], [0, 1, 1, "_CPPv48meshgridRKNSt6vectorI5arrayEEbNSt6stringE14StreamOrDevice", "meshgrid::arrays"], [0, 1, 1, "_CPPv48meshgridRKNSt6vectorI5arrayEEbNSt6stringE14StreamOrDevice", "meshgrid::indexing"], [0, 1, 1, "_CPPv48meshgridRKNSt6vectorI5arrayEEbNSt6stringE14StreamOrDevice", "meshgrid::s"], [0, 1, 1, "_CPPv48meshgridRKNSt6vectorI5arrayEEbNSt6stringE14StreamOrDevice", "meshgrid::sparse"], [0, 0, 1, "_CPPv43minRK5array14StreamOrDevice", "min"], [0, 0, 1, "_CPPv43minRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "min"], [0, 0, 1, "_CPPv43minRK5arrayb14StreamOrDevice", "min"], [0, 0, 1, "_CPPv43minRK5arrayib14StreamOrDevice", "min"], [0, 1, 1, "_CPPv43minRK5array14StreamOrDevice", "min::a"], [0, 1, 1, "_CPPv43minRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "min::a"], [0, 1, 1, "_CPPv43minRK5arrayb14StreamOrDevice", "min::a"], [0, 1, 1, "_CPPv43minRK5arrayib14StreamOrDevice", "min::a"], [0, 1, 1, "_CPPv43minRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "min::axes"], [0, 1, 1, "_CPPv43minRK5arrayib14StreamOrDevice", "min::axis"], [0, 1, 1, "_CPPv43minRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "min::keepdims"], [0, 1, 1, "_CPPv43minRK5arrayb14StreamOrDevice", "min::keepdims"], [0, 1, 1, "_CPPv43minRK5arrayib14StreamOrDevice", "min::keepdims"], [0, 1, 1, "_CPPv43minRK5array14StreamOrDevice", "min::s"], [0, 1, 1, "_CPPv43minRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "min::s"], [0, 1, 1, "_CPPv43minRK5arrayb14StreamOrDevice", "min::s"], [0, 1, 1, "_CPPv43minRK5arrayib14StreamOrDevice", "min::s"], [0, 0, 1, "_CPPv47minimumRK5arrayRK5array14StreamOrDevice", "minimum"], [0, 1, 1, "_CPPv47minimumRK5arrayRK5array14StreamOrDevice", "minimum::a"], [0, 1, 1, "_CPPv47minimumRK5arrayRK5array14StreamOrDevice", "minimum::b"], [0, 1, 1, "_CPPv47minimumRK5arrayRK5array14StreamOrDevice", "minimum::s"], [0, 0, 1, "_CPPv48moveaxisRK5arrayii14StreamOrDevice", "moveaxis"], [0, 1, 1, "_CPPv48moveaxisRK5arrayii14StreamOrDevice", "moveaxis::a"], [0, 1, 1, "_CPPv48moveaxisRK5arrayii14StreamOrDevice", "moveaxis::destination"], [0, 1, 1, "_CPPv48moveaxisRK5arrayii14StreamOrDevice", "moveaxis::s"], [0, 1, 1, "_CPPv48moveaxisRK5arrayii14StreamOrDevice", "moveaxis::source"], [0, 0, 1, "_CPPv48multiplyRK5arrayRK5array14StreamOrDevice", "multiply"], [0, 1, 1, "_CPPv48multiplyRK5arrayRK5array14StreamOrDevice", "multiply::a"], [0, 1, 1, "_CPPv48multiplyRK5arrayRK5array14StreamOrDevice", "multiply::b"], [0, 1, 1, "_CPPv48multiplyRK5arrayRK5array14StreamOrDevice", "multiply::s"], [0, 0, 1, "_CPPv410nan_to_numRK5arrayfKNSt8optionalIfEEKNSt8optionalIfEE14StreamOrDevice", "nan_to_num"], [0, 1, 1, "_CPPv410nan_to_numRK5arrayfKNSt8optionalIfEEKNSt8optionalIfEE14StreamOrDevice", "nan_to_num::a"], [0, 1, 1, "_CPPv410nan_to_numRK5arrayfKNSt8optionalIfEEKNSt8optionalIfEE14StreamOrDevice", "nan_to_num::nan"], [0, 1, 1, "_CPPv410nan_to_numRK5arrayfKNSt8optionalIfEEKNSt8optionalIfEE14StreamOrDevice", "nan_to_num::neginf"], [0, 1, 1, "_CPPv410nan_to_numRK5arrayfKNSt8optionalIfEEKNSt8optionalIfEE14StreamOrDevice", "nan_to_num::posinf"], [0, 1, 1, "_CPPv410nan_to_numRK5arrayfKNSt8optionalIfEEKNSt8optionalIfEE14StreamOrDevice", "nan_to_num::s"], [0, 0, 1, "_CPPv48negativeRK5array14StreamOrDevice", "negative"], [0, 1, 1, "_CPPv48negativeRK5array14StreamOrDevice", "negative::a"], [0, 1, 1, "_CPPv48negativeRK5array14StreamOrDevice", "negative::s"], [0, 0, 1, "_CPPv49not_equalRK5arrayRK5array14StreamOrDevice", "not_equal"], [0, 1, 1, "_CPPv49not_equalRK5arrayRK5array14StreamOrDevice", "not_equal::a"], [0, 1, 1, "_CPPv49not_equalRK5arrayRK5array14StreamOrDevice", "not_equal::b"], [0, 1, 1, "_CPPv49not_equalRK5arrayRK5array14StreamOrDevice", "not_equal::s"], [0, 0, 1, "_CPPv418number_of_elementsRK5arrayNSt6vectorIiEEb5Dtype14StreamOrDevice", "number_of_elements"], [0, 1, 1, "_CPPv418number_of_elementsRK5arrayNSt6vectorIiEEb5Dtype14StreamOrDevice", "number_of_elements::a"], [0, 1, 1, "_CPPv418number_of_elementsRK5arrayNSt6vectorIiEEb5Dtype14StreamOrDevice", "number_of_elements::axes"], [0, 1, 1, "_CPPv418number_of_elementsRK5arrayNSt6vectorIiEEb5Dtype14StreamOrDevice", "number_of_elements::dtype"], [0, 1, 1, "_CPPv418number_of_elementsRK5arrayNSt6vectorIiEEb5Dtype14StreamOrDevice", "number_of_elements::inverted"], [0, 1, 1, "_CPPv418number_of_elementsRK5arrayNSt6vectorIiEEb5Dtype14StreamOrDevice", "number_of_elements::s"], [0, 0, 1, "_CPPv44onesRKNSt6vectorIiEE14StreamOrDevice", "ones"], [0, 0, 1, "_CPPv44onesRKNSt6vectorIiEE5Dtype14StreamOrDevice", "ones"], [0, 1, 1, "_CPPv44onesRKNSt6vectorIiEE5Dtype14StreamOrDevice", "ones::dtype"], [0, 1, 1, "_CPPv44onesRKNSt6vectorIiEE14StreamOrDevice", "ones::s"], [0, 1, 1, "_CPPv44onesRKNSt6vectorIiEE5Dtype14StreamOrDevice", "ones::s"], [0, 1, 1, "_CPPv44onesRKNSt6vectorIiEE14StreamOrDevice", "ones::shape"], [0, 1, 1, "_CPPv44onesRKNSt6vectorIiEE5Dtype14StreamOrDevice", "ones::shape"], [0, 0, 1, "_CPPv49ones_likeRK5array14StreamOrDevice", "ones_like"], [0, 1, 1, "_CPPv49ones_likeRK5array14StreamOrDevice", "ones_like::a"], [0, 1, 1, "_CPPv49ones_likeRK5array14StreamOrDevice", "ones_like::s"], [0, 0, 1, "_CPPv4I0Ene5array1TRK5array", "operator!="], [0, 0, 1, "_CPPv4I0Ene5arrayRK5array1T", "operator!="], [0, 0, 1, "_CPPv4neRK5arrayRK5array", "operator!="], [0, 2, 1, "_CPPv4I0Ene5array1TRK5array", "operator!=::T"], [0, 2, 1, "_CPPv4I0Ene5arrayRK5array1T", "operator!=::T"], [0, 1, 1, "_CPPv4I0Ene5array1TRK5array", "operator!=::a"], [0, 1, 1, "_CPPv4I0Ene5arrayRK5array1T", "operator!=::a"], [0, 1, 1, "_CPPv4neRK5arrayRK5array", "operator!=::a"], [0, 1, 1, "_CPPv4I0Ene5array1TRK5array", "operator!=::b"], [0, 1, 1, "_CPPv4I0Ene5arrayRK5array1T", "operator!=::b"], [0, 1, 1, "_CPPv4neRK5arrayRK5array", "operator!=::b"], [0, 0, 1, "_CPPv4I0Erm5array1TRK5array", "operator%"], [0, 0, 1, "_CPPv4I0Erm5arrayRK5array1T", "operator%"], [0, 0, 1, "_CPPv4rmRK5arrayRK5array", "operator%"], [0, 2, 1, "_CPPv4I0Erm5array1TRK5array", "operator%::T"], [0, 2, 1, "_CPPv4I0Erm5arrayRK5array1T", "operator%::T"], [0, 1, 1, "_CPPv4I0Erm5array1TRK5array", "operator%::a"], [0, 1, 1, "_CPPv4I0Erm5arrayRK5array1T", "operator%::a"], [0, 1, 1, "_CPPv4rmRK5arrayRK5array", "operator%::a"], [0, 1, 1, "_CPPv4I0Erm5array1TRK5array", "operator%::b"], [0, 1, 1, "_CPPv4I0Erm5arrayRK5array1T", "operator%::b"], [0, 1, 1, "_CPPv4rmRK5arrayRK5array", "operator%::b"], [0, 0, 1, "_CPPv4anRK5arrayRK5array", "operator&"], [0, 0, 1, "_CPPv4aaRK5arrayRK5array", "operator&&"], [0, 1, 1, "_CPPv4aaRK5arrayRK5array", "operator&&::a"], [0, 1, 1, "_CPPv4aaRK5arrayRK5array", "operator&&::b"], [0, 1, 1, "_CPPv4anRK5arrayRK5array", "operator&::a"], [0, 1, 1, "_CPPv4anRK5arrayRK5array", "operator&::b"], [0, 0, 1, "_CPPv4I0Eml5array1TRK5array", "operator*"], [0, 0, 1, "_CPPv4I0Eml5arrayRK5array1T", "operator*"], [0, 0, 1, "_CPPv4mlRK5arrayRK5array", "operator*"], [0, 2, 1, "_CPPv4I0Eml5array1TRK5array", "operator*::T"], [0, 2, 1, "_CPPv4I0Eml5arrayRK5array1T", "operator*::T"], [0, 1, 1, "_CPPv4I0Eml5array1TRK5array", "operator*::a"], [0, 1, 1, "_CPPv4I0Eml5arrayRK5array1T", "operator*::a"], [0, 1, 1, "_CPPv4mlRK5arrayRK5array", "operator*::a"], [0, 1, 1, "_CPPv4I0Eml5array1TRK5array", "operator*::b"], [0, 1, 1, "_CPPv4I0Eml5arrayRK5array1T", "operator*::b"], [0, 1, 1, "_CPPv4mlRK5arrayRK5array", "operator*::b"], [0, 0, 1, "_CPPv4I0Epl5array1TRK5array", "operator+"], [0, 0, 1, "_CPPv4I0Epl5arrayRK5array1T", "operator+"], [0, 0, 1, "_CPPv4plRK5arrayRK5array", "operator+"], [0, 2, 1, "_CPPv4I0Epl5array1TRK5array", "operator+::T"], [0, 2, 1, "_CPPv4I0Epl5arrayRK5array1T", "operator+::T"], [0, 1, 1, "_CPPv4I0Epl5array1TRK5array", "operator+::a"], [0, 1, 1, "_CPPv4I0Epl5arrayRK5array1T", "operator+::a"], [0, 1, 1, "_CPPv4plRK5arrayRK5array", "operator+::a"], [0, 1, 1, "_CPPv4I0Epl5array1TRK5array", "operator+::b"], [0, 1, 1, "_CPPv4I0Epl5arrayRK5array1T", "operator+::b"], [0, 1, 1, "_CPPv4plRK5arrayRK5array", "operator+::b"], [0, 0, 1, "_CPPv4I0Emi5array1TRK5array", "operator-"], [0, 0, 1, "_CPPv4I0Emi5arrayRK5array1T", "operator-"], [0, 0, 1, "_CPPv4miRK5array", "operator-"], [0, 0, 1, "_CPPv4miRK5arrayRK5array", "operator-"], [0, 2, 1, "_CPPv4I0Emi5array1TRK5array", "operator-::T"], [0, 2, 1, "_CPPv4I0Emi5arrayRK5array1T", "operator-::T"], [0, 1, 1, "_CPPv4I0Emi5array1TRK5array", "operator-::a"], [0, 1, 1, "_CPPv4I0Emi5arrayRK5array1T", "operator-::a"], [0, 1, 1, "_CPPv4miRK5array", "operator-::a"], [0, 1, 1, "_CPPv4miRK5arrayRK5array", "operator-::a"], [0, 1, 1, "_CPPv4I0Emi5array1TRK5array", "operator-::b"], [0, 1, 1, "_CPPv4I0Emi5arrayRK5array1T", "operator-::b"], [0, 1, 1, "_CPPv4miRK5arrayRK5array", "operator-::b"], [0, 0, 1, "_CPPv4dvRK5arrayRK5array", "operator/"], [0, 0, 1, "_CPPv4dvRK5arrayd", "operator/"], [0, 0, 1, "_CPPv4dvdRK5array", "operator/"], [0, 1, 1, "_CPPv4dvRK5arrayRK5array", "operator/::a"], [0, 1, 1, "_CPPv4dvRK5arrayd", "operator/::a"], [0, 1, 1, "_CPPv4dvdRK5array", "operator/::a"], [0, 1, 1, "_CPPv4dvRK5arrayRK5array", "operator/::b"], [0, 1, 1, "_CPPv4dvRK5arrayd", "operator/::b"], [0, 1, 1, "_CPPv4dvdRK5array", "operator/::b"], [0, 0, 1, "_CPPv4I0Elt5array1TRK5array", "operator<"], [0, 0, 1, "_CPPv4I0Elt5arrayRK5array1T", "operator<"], [0, 0, 1, "_CPPv4ltRK5arrayRK5array", "operator<"], [0, 2, 1, "_CPPv4I0Elt5array1TRK5array", "operator<::T"], [0, 2, 1, "_CPPv4I0Elt5arrayRK5array1T", "operator<::T"], [0, 1, 1, "_CPPv4I0Elt5array1TRK5array", "operator<::a"], [0, 1, 1, "_CPPv4I0Elt5arrayRK5array1T", "operator<::a"], [0, 1, 1, "_CPPv4ltRK5arrayRK5array", "operator<::a"], [0, 1, 1, "_CPPv4I0Elt5array1TRK5array", "operator<::b"], [0, 1, 1, "_CPPv4I0Elt5arrayRK5array1T", "operator<::b"], [0, 1, 1, "_CPPv4ltRK5arrayRK5array", "operator<::b"], [0, 0, 1, "_CPPv4lsRK5arrayRK5array", "operator<<"], [0, 1, 1, "_CPPv4lsRK5arrayRK5array", "operator<<::a"], [0, 1, 1, "_CPPv4lsRK5arrayRK5array", "operator<<::b"], [0, 0, 1, "_CPPv4I0Ele5array1TRK5array", "operator<="], [0, 0, 1, "_CPPv4I0Ele5arrayRK5array1T", "operator<="], [0, 0, 1, "_CPPv4leRK5arrayRK5array", "operator<="], [0, 2, 1, "_CPPv4I0Ele5array1TRK5array", "operator<=::T"], [0, 2, 1, "_CPPv4I0Ele5arrayRK5array1T", "operator<=::T"], [0, 1, 1, "_CPPv4I0Ele5array1TRK5array", "operator<=::a"], [0, 1, 1, "_CPPv4I0Ele5arrayRK5array1T", "operator<=::a"], [0, 1, 1, "_CPPv4leRK5arrayRK5array", "operator<=::a"], [0, 1, 1, "_CPPv4I0Ele5array1TRK5array", "operator<=::b"], [0, 1, 1, "_CPPv4I0Ele5arrayRK5array1T", "operator<=::b"], [0, 1, 1, "_CPPv4leRK5arrayRK5array", "operator<=::b"], [0, 0, 1, "_CPPv4I0Eeq5array1TRK5array", "operator=="], [0, 0, 1, "_CPPv4I0Eeq5arrayRK5array1T", "operator=="], [0, 0, 1, "_CPPv4eqRK5arrayRK5array", "operator=="], [0, 2, 1, "_CPPv4I0Eeq5array1TRK5array", "operator==::T"], [0, 2, 1, "_CPPv4I0Eeq5arrayRK5array1T", "operator==::T"], [0, 1, 1, "_CPPv4I0Eeq5array1TRK5array", "operator==::a"], [0, 1, 1, "_CPPv4I0Eeq5arrayRK5array1T", "operator==::a"], [0, 1, 1, "_CPPv4eqRK5arrayRK5array", "operator==::a"], [0, 1, 1, "_CPPv4I0Eeq5array1TRK5array", "operator==::b"], [0, 1, 1, "_CPPv4I0Eeq5arrayRK5array1T", "operator==::b"], [0, 1, 1, "_CPPv4eqRK5arrayRK5array", "operator==::b"], [0, 0, 1, "_CPPv4I0Egt5array1TRK5array", "operator>"], [0, 0, 1, "_CPPv4I0Egt5arrayRK5array1T", "operator>"], [0, 0, 1, "_CPPv4gtRK5arrayRK5array", "operator>"], [0, 2, 1, "_CPPv4I0Egt5array1TRK5array", "operator>::T"], [0, 2, 1, "_CPPv4I0Egt5arrayRK5array1T", "operator>::T"], [0, 1, 1, "_CPPv4I0Egt5array1TRK5array", "operator>::a"], [0, 1, 1, "_CPPv4I0Egt5arrayRK5array1T", "operator>::a"], [0, 1, 1, "_CPPv4gtRK5arrayRK5array", "operator>::a"], [0, 1, 1, "_CPPv4I0Egt5array1TRK5array", "operator>::b"], [0, 1, 1, "_CPPv4I0Egt5arrayRK5array1T", "operator>::b"], [0, 1, 1, "_CPPv4gtRK5arrayRK5array", "operator>::b"], [0, 0, 1, "_CPPv4I0Ege5array1TRK5array", "operator>="], [0, 0, 1, "_CPPv4I0Ege5arrayRK5array1T", "operator>="], [0, 0, 1, "_CPPv4geRK5arrayRK5array", "operator>="], [0, 2, 1, "_CPPv4I0Ege5array1TRK5array", "operator>=::T"], [0, 2, 1, "_CPPv4I0Ege5arrayRK5array1T", "operator>=::T"], [0, 1, 1, "_CPPv4I0Ege5array1TRK5array", "operator>=::a"], [0, 1, 1, "_CPPv4I0Ege5arrayRK5array1T", "operator>=::a"], [0, 1, 1, "_CPPv4geRK5arrayRK5array", "operator>=::a"], [0, 1, 1, "_CPPv4I0Ege5array1TRK5array", "operator>=::b"], [0, 1, 1, "_CPPv4I0Ege5arrayRK5array1T", "operator>=::b"], [0, 1, 1, "_CPPv4geRK5arrayRK5array", "operator>=::b"], [0, 0, 1, "_CPPv4rsRK5arrayRK5array", "operator>>"], [0, 1, 1, "_CPPv4rsRK5arrayRK5array", "operator>>::a"], [0, 1, 1, "_CPPv4rsRK5arrayRK5array", "operator>>::b"], [0, 0, 1, "_CPPv4eoRK5arrayRK5array", "operator^"], [0, 1, 1, "_CPPv4eoRK5arrayRK5array", "operator^::a"], [0, 1, 1, "_CPPv4eoRK5arrayRK5array", "operator^::b"], [0, 0, 1, "_CPPv4orRK5arrayRK5array", "operator|"], [0, 1, 1, "_CPPv4orRK5arrayRK5array", "operator|::a"], [0, 1, 1, "_CPPv4orRK5arrayRK5array", "operator|::b"], [0, 0, 1, "_CPPv4ooRK5arrayRK5array", "operator||"], [0, 1, 1, "_CPPv4ooRK5arrayRK5array", "operator||::a"], [0, 1, 1, "_CPPv4ooRK5arrayRK5array", "operator||::b"], [0, 0, 1, "_CPPv45outerRK5arrayRK5array14StreamOrDevice", "outer"], [0, 1, 1, "_CPPv45outerRK5arrayRK5array14StreamOrDevice", "outer::a"], [0, 1, 1, "_CPPv45outerRK5arrayRK5array14StreamOrDevice", "outer::b"], [0, 1, 1, "_CPPv45outerRK5arrayRK5array14StreamOrDevice", "outer::s"], [0, 0, 1, "_CPPv43padRK5arrayRKNSt4pairIiiEERK5arrayKNSt6stringE14StreamOrDevice", "pad"], [0, 0, 1, "_CPPv43padRK5arrayRKNSt6vectorINSt4pairIiiEEEERK5arrayKNSt6stringE14StreamOrDevice", "pad"], [0, 0, 1, "_CPPv43padRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEERKNSt6vectorIiEERK5arrayKNSt6stringE14StreamOrDevice", "pad"], [0, 0, 1, "_CPPv43padRK5arrayiRK5arrayKNSt6stringE14StreamOrDevice", "pad"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt4pairIiiEERK5arrayKNSt6stringE14StreamOrDevice", "pad::a"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt6vectorINSt4pairIiiEEEERK5arrayKNSt6stringE14StreamOrDevice", "pad::a"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEERKNSt6vectorIiEERK5arrayKNSt6stringE14StreamOrDevice", "pad::a"], [0, 1, 1, "_CPPv43padRK5arrayiRK5arrayKNSt6stringE14StreamOrDevice", "pad::a"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEERKNSt6vectorIiEERK5arrayKNSt6stringE14StreamOrDevice", "pad::axes"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEERKNSt6vectorIiEERK5arrayKNSt6stringE14StreamOrDevice", "pad::high_pad_size"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEERKNSt6vectorIiEERK5arrayKNSt6stringE14StreamOrDevice", "pad::low_pad_size"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt4pairIiiEERK5arrayKNSt6stringE14StreamOrDevice", "pad::mode"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt6vectorINSt4pairIiiEEEERK5arrayKNSt6stringE14StreamOrDevice", "pad::mode"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEERKNSt6vectorIiEERK5arrayKNSt6stringE14StreamOrDevice", "pad::mode"], [0, 1, 1, "_CPPv43padRK5arrayiRK5arrayKNSt6stringE14StreamOrDevice", "pad::mode"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt4pairIiiEERK5arrayKNSt6stringE14StreamOrDevice", "pad::pad_value"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt6vectorINSt4pairIiiEEEERK5arrayKNSt6stringE14StreamOrDevice", "pad::pad_value"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEERKNSt6vectorIiEERK5arrayKNSt6stringE14StreamOrDevice", "pad::pad_value"], [0, 1, 1, "_CPPv43padRK5arrayiRK5arrayKNSt6stringE14StreamOrDevice", "pad::pad_value"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt4pairIiiEERK5arrayKNSt6stringE14StreamOrDevice", "pad::pad_width"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt6vectorINSt4pairIiiEEEERK5arrayKNSt6stringE14StreamOrDevice", "pad::pad_width"], [0, 1, 1, "_CPPv43padRK5arrayiRK5arrayKNSt6stringE14StreamOrDevice", "pad::pad_width"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt4pairIiiEERK5arrayKNSt6stringE14StreamOrDevice", "pad::s"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt6vectorINSt4pairIiiEEEERK5arrayKNSt6stringE14StreamOrDevice", "pad::s"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEERKNSt6vectorIiEERK5arrayKNSt6stringE14StreamOrDevice", "pad::s"], [0, 1, 1, "_CPPv43padRK5arrayiRK5arrayKNSt6stringE14StreamOrDevice", "pad::s"], [0, 0, 1, "_CPPv49partitionRK5arrayi14StreamOrDevice", "partition"], [0, 0, 1, "_CPPv49partitionRK5arrayii14StreamOrDevice", "partition"], [0, 1, 1, "_CPPv49partitionRK5arrayi14StreamOrDevice", "partition::a"], [0, 1, 1, "_CPPv49partitionRK5arrayii14StreamOrDevice", "partition::a"], [0, 1, 1, "_CPPv49partitionRK5arrayii14StreamOrDevice", "partition::axis"], [0, 1, 1, "_CPPv49partitionRK5arrayi14StreamOrDevice", "partition::kth"], [0, 1, 1, "_CPPv49partitionRK5arrayii14StreamOrDevice", "partition::kth"], [0, 1, 1, "_CPPv49partitionRK5arrayi14StreamOrDevice", "partition::s"], [0, 1, 1, "_CPPv49partitionRK5arrayii14StreamOrDevice", "partition::s"], [0, 0, 1, "_CPPv45powerRK5arrayRK5array14StreamOrDevice", "power"], [0, 1, 1, "_CPPv45powerRK5arrayRK5array14StreamOrDevice", "power::a"], [0, 1, 1, "_CPPv45powerRK5arrayRK5array14StreamOrDevice", "power::b"], [0, 1, 1, "_CPPv45powerRK5arrayRK5array14StreamOrDevice", "power::s"], [0, 0, 1, "_CPPv44prodRK5array14StreamOrDevice", "prod"], [0, 0, 1, "_CPPv44prodRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "prod"], [0, 0, 1, "_CPPv44prodRK5arrayb14StreamOrDevice", "prod"], [0, 0, 1, "_CPPv44prodRK5arrayib14StreamOrDevice", "prod"], [0, 1, 1, "_CPPv44prodRK5array14StreamOrDevice", "prod::a"], [0, 1, 1, "_CPPv44prodRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "prod::a"], [0, 1, 1, "_CPPv44prodRK5arrayb14StreamOrDevice", "prod::a"], [0, 1, 1, "_CPPv44prodRK5arrayib14StreamOrDevice", "prod::a"], [0, 1, 1, "_CPPv44prodRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "prod::axes"], [0, 1, 1, "_CPPv44prodRK5arrayib14StreamOrDevice", "prod::axis"], [0, 1, 1, "_CPPv44prodRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "prod::keepdims"], [0, 1, 1, "_CPPv44prodRK5arrayb14StreamOrDevice", "prod::keepdims"], [0, 1, 1, "_CPPv44prodRK5arrayib14StreamOrDevice", "prod::keepdims"], [0, 1, 1, "_CPPv44prodRK5array14StreamOrDevice", "prod::s"], [0, 1, 1, "_CPPv44prodRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "prod::s"], [0, 1, 1, "_CPPv44prodRK5arrayb14StreamOrDevice", "prod::s"], [0, 1, 1, "_CPPv44prodRK5arrayib14StreamOrDevice", "prod::s"], [0, 0, 1, "_CPPv414put_along_axisRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "put_along_axis"], [0, 1, 1, "_CPPv414put_along_axisRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "put_along_axis::a"], [0, 1, 1, "_CPPv414put_along_axisRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "put_along_axis::axis"], [0, 1, 1, "_CPPv414put_along_axisRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "put_along_axis::indices"], [0, 1, 1, "_CPPv414put_along_axisRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "put_along_axis::s"], [0, 1, 1, "_CPPv414put_along_axisRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "put_along_axis::values"], [0, 0, 1, "_CPPv48quantizeRK5arrayii14StreamOrDevice", "quantize"], [0, 1, 1, "_CPPv48quantizeRK5arrayii14StreamOrDevice", "quantize::bits"], [0, 1, 1, "_CPPv48quantizeRK5arrayii14StreamOrDevice", "quantize::group_size"], [0, 1, 1, "_CPPv48quantizeRK5arrayii14StreamOrDevice", "quantize::s"], [0, 1, 1, "_CPPv48quantizeRK5arrayii14StreamOrDevice", "quantize::w"], [0, 0, 1, "_CPPv416quantized_matmul5array5array5array5arraybii14StreamOrDevice", "quantized_matmul"], [0, 1, 1, "_CPPv416quantized_matmul5array5array5array5arraybii14StreamOrDevice", "quantized_matmul::biases"], [0, 1, 1, "_CPPv416quantized_matmul5array5array5array5arraybii14StreamOrDevice", "quantized_matmul::bits"], [0, 1, 1, "_CPPv416quantized_matmul5array5array5array5arraybii14StreamOrDevice", "quantized_matmul::group_size"], [0, 1, 1, "_CPPv416quantized_matmul5array5array5array5arraybii14StreamOrDevice", "quantized_matmul::s"], [0, 1, 1, "_CPPv416quantized_matmul5array5array5array5arraybii14StreamOrDevice", "quantized_matmul::scales"], [0, 1, 1, "_CPPv416quantized_matmul5array5array5array5arraybii14StreamOrDevice", "quantized_matmul::transpose"], [0, 1, 1, "_CPPv416quantized_matmul5array5array5array5arraybii14StreamOrDevice", "quantized_matmul::w"], [0, 1, 1, "_CPPv416quantized_matmul5array5array5array5arraybii14StreamOrDevice", "quantized_matmul::x"], [0, 0, 1, "_CPPv47radiansRK5array14StreamOrDevice", "radians"], [0, 1, 1, "_CPPv47radiansRK5array14StreamOrDevice", "radians::a"], [0, 1, 1, "_CPPv47radiansRK5array14StreamOrDevice", "radians::s"], [0, 0, 1, "_CPPv44realRK5array14StreamOrDevice", "real"], [0, 1, 1, "_CPPv44realRK5array14StreamOrDevice", "real::a"], [0, 1, 1, "_CPPv44realRK5array14StreamOrDevice", "real::s"], [0, 0, 1, "_CPPv410reciprocalRK5array14StreamOrDevice", "reciprocal"], [0, 1, 1, "_CPPv410reciprocalRK5array14StreamOrDevice", "reciprocal::a"], [0, 1, 1, "_CPPv410reciprocalRK5array14StreamOrDevice", "reciprocal::s"], [0, 0, 1, "_CPPv49remainderRK5arrayRK5array14StreamOrDevice", "remainder"], [0, 1, 1, "_CPPv49remainderRK5arrayRK5array14StreamOrDevice", "remainder::a"], [0, 1, 1, "_CPPv49remainderRK5arrayRK5array14StreamOrDevice", "remainder::b"], [0, 1, 1, "_CPPv49remainderRK5arrayRK5array14StreamOrDevice", "remainder::s"], [0, 0, 1, "_CPPv46repeatRK5arrayi14StreamOrDevice", "repeat"], [0, 0, 1, "_CPPv46repeatRK5arrayii14StreamOrDevice", "repeat"], [0, 1, 1, "_CPPv46repeatRK5arrayi14StreamOrDevice", "repeat::arr"], [0, 1, 1, "_CPPv46repeatRK5arrayii14StreamOrDevice", "repeat::arr"], [0, 1, 1, "_CPPv46repeatRK5arrayii14StreamOrDevice", "repeat::axis"], [0, 1, 1, "_CPPv46repeatRK5arrayi14StreamOrDevice", "repeat::repeats"], [0, 1, 1, "_CPPv46repeatRK5arrayii14StreamOrDevice", "repeat::repeats"], [0, 1, 1, "_CPPv46repeatRK5arrayi14StreamOrDevice", "repeat::s"], [0, 1, 1, "_CPPv46repeatRK5arrayii14StreamOrDevice", "repeat::s"], [0, 0, 1, "_CPPv47reshapeRK5arrayNSt6vectorIiEE14StreamOrDevice", "reshape"], [0, 1, 1, "_CPPv47reshapeRK5arrayNSt6vectorIiEE14StreamOrDevice", "reshape::a"], [0, 1, 1, "_CPPv47reshapeRK5arrayNSt6vectorIiEE14StreamOrDevice", "reshape::s"], [0, 1, 1, "_CPPv47reshapeRK5arrayNSt6vectorIiEE14StreamOrDevice", "reshape::shape"], [0, 0, 1, "_CPPv411right_shiftRK5arrayRK5array14StreamOrDevice", "right_shift"], [0, 1, 1, "_CPPv411right_shiftRK5arrayRK5array14StreamOrDevice", "right_shift::a"], [0, 1, 1, "_CPPv411right_shiftRK5arrayRK5array14StreamOrDevice", "right_shift::b"], [0, 1, 1, "_CPPv411right_shiftRK5arrayRK5array14StreamOrDevice", "right_shift::s"], [0, 0, 1, "_CPPv44rollRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "roll"], [0, 0, 1, "_CPPv44rollRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice", "roll"], [0, 0, 1, "_CPPv44rollRK5arrayRKNSt6vectorIiEEi14StreamOrDevice", "roll"], [0, 0, 1, "_CPPv44rollRK5arrayi14StreamOrDevice", "roll"], [0, 0, 1, "_CPPv44rollRK5arrayiRKNSt6vectorIiEE14StreamOrDevice", "roll"], [0, 0, 1, "_CPPv44rollRK5arrayii14StreamOrDevice", "roll"], [0, 1, 1, "_CPPv44rollRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "roll::a"], [0, 1, 1, "_CPPv44rollRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice", "roll::a"], [0, 1, 1, "_CPPv44rollRK5arrayRKNSt6vectorIiEEi14StreamOrDevice", "roll::a"], [0, 1, 1, "_CPPv44rollRK5arrayi14StreamOrDevice", "roll::a"], [0, 1, 1, "_CPPv44rollRK5arrayiRKNSt6vectorIiEE14StreamOrDevice", "roll::a"], [0, 1, 1, "_CPPv44rollRK5arrayii14StreamOrDevice", "roll::a"], [0, 1, 1, "_CPPv44rollRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice", "roll::axes"], [0, 1, 1, "_CPPv44rollRK5arrayiRKNSt6vectorIiEE14StreamOrDevice", "roll::axes"], [0, 1, 1, "_CPPv44rollRK5arrayRKNSt6vectorIiEEi14StreamOrDevice", "roll::axis"], [0, 1, 1, "_CPPv44rollRK5arrayii14StreamOrDevice", "roll::axis"], [0, 1, 1, "_CPPv44rollRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "roll::s"], [0, 1, 1, "_CPPv44rollRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice", "roll::s"], [0, 1, 1, "_CPPv44rollRK5arrayRKNSt6vectorIiEEi14StreamOrDevice", "roll::s"], [0, 1, 1, "_CPPv44rollRK5arrayi14StreamOrDevice", "roll::s"], [0, 1, 1, "_CPPv44rollRK5arrayiRKNSt6vectorIiEE14StreamOrDevice", "roll::s"], [0, 1, 1, "_CPPv44rollRK5arrayii14StreamOrDevice", "roll::s"], [0, 1, 1, "_CPPv44rollRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "roll::shift"], [0, 1, 1, "_CPPv44rollRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice", "roll::shift"], [0, 1, 1, "_CPPv44rollRK5arrayRKNSt6vectorIiEEi14StreamOrDevice", "roll::shift"], [0, 1, 1, "_CPPv44rollRK5arrayi14StreamOrDevice", "roll::shift"], [0, 1, 1, "_CPPv44rollRK5arrayiRKNSt6vectorIiEE14StreamOrDevice", "roll::shift"], [0, 1, 1, "_CPPv44rollRK5arrayii14StreamOrDevice", "roll::shift"], [0, 0, 1, "_CPPv45roundRK5array14StreamOrDevice", "round"], [0, 0, 1, "_CPPv45roundRK5arrayi14StreamOrDevice", "round"], [0, 1, 1, "_CPPv45roundRK5array14StreamOrDevice", "round::a"], [0, 1, 1, "_CPPv45roundRK5arrayi14StreamOrDevice", "round::a"], [0, 1, 1, "_CPPv45roundRK5arrayi14StreamOrDevice", "round::decimals"], [0, 1, 1, "_CPPv45roundRK5array14StreamOrDevice", "round::s"], [0, 1, 1, "_CPPv45roundRK5arrayi14StreamOrDevice", "round::s"], [0, 0, 1, "_CPPv45rsqrtRK5array14StreamOrDevice", "rsqrt"], [0, 1, 1, "_CPPv45rsqrtRK5array14StreamOrDevice", "rsqrt::a"], [0, 1, 1, "_CPPv45rsqrtRK5array14StreamOrDevice", "rsqrt::s"], [0, 0, 1, "_CPPv47scatterRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter"], [0, 0, 1, "_CPPv47scatterRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter"], [0, 1, 1, "_CPPv47scatterRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter::a"], [0, 1, 1, "_CPPv47scatterRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter::a"], [0, 1, 1, "_CPPv47scatterRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter::axes"], [0, 1, 1, "_CPPv47scatterRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter::axis"], [0, 1, 1, "_CPPv47scatterRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter::indices"], [0, 1, 1, "_CPPv47scatterRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter::indices"], [0, 1, 1, "_CPPv47scatterRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter::s"], [0, 1, 1, "_CPPv47scatterRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter::s"], [0, 1, 1, "_CPPv47scatterRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter::updates"], [0, 1, 1, "_CPPv47scatterRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter::updates"], [0, 0, 1, "_CPPv411scatter_addRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_add"], [0, 0, 1, "_CPPv411scatter_addRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_add"], [0, 1, 1, "_CPPv411scatter_addRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_add::a"], [0, 1, 1, "_CPPv411scatter_addRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_add::a"], [0, 1, 1, "_CPPv411scatter_addRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_add::axes"], [0, 1, 1, "_CPPv411scatter_addRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_add::axis"], [0, 1, 1, "_CPPv411scatter_addRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_add::indices"], [0, 1, 1, "_CPPv411scatter_addRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_add::indices"], [0, 1, 1, "_CPPv411scatter_addRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_add::s"], [0, 1, 1, "_CPPv411scatter_addRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_add::s"], [0, 1, 1, "_CPPv411scatter_addRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_add::updates"], [0, 1, 1, "_CPPv411scatter_addRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_add::updates"], [0, 0, 1, "_CPPv411scatter_maxRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_max"], [0, 0, 1, "_CPPv411scatter_maxRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_max"], [0, 1, 1, "_CPPv411scatter_maxRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_max::a"], [0, 1, 1, "_CPPv411scatter_maxRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_max::a"], [0, 1, 1, "_CPPv411scatter_maxRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_max::axes"], [0, 1, 1, "_CPPv411scatter_maxRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_max::axis"], [0, 1, 1, "_CPPv411scatter_maxRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_max::indices"], [0, 1, 1, "_CPPv411scatter_maxRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_max::indices"], [0, 1, 1, "_CPPv411scatter_maxRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_max::s"], [0, 1, 1, "_CPPv411scatter_maxRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_max::s"], [0, 1, 1, "_CPPv411scatter_maxRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_max::updates"], [0, 1, 1, "_CPPv411scatter_maxRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_max::updates"], [0, 0, 1, "_CPPv411scatter_minRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_min"], [0, 0, 1, "_CPPv411scatter_minRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_min"], [0, 1, 1, "_CPPv411scatter_minRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_min::a"], [0, 1, 1, "_CPPv411scatter_minRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_min::a"], [0, 1, 1, "_CPPv411scatter_minRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_min::axes"], [0, 1, 1, "_CPPv411scatter_minRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_min::axis"], [0, 1, 1, "_CPPv411scatter_minRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_min::indices"], [0, 1, 1, "_CPPv411scatter_minRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_min::indices"], [0, 1, 1, "_CPPv411scatter_minRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_min::s"], [0, 1, 1, "_CPPv411scatter_minRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_min::s"], [0, 1, 1, "_CPPv411scatter_minRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_min::updates"], [0, 1, 1, "_CPPv411scatter_minRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_min::updates"], [0, 0, 1, "_CPPv412scatter_prodRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_prod"], [0, 0, 1, "_CPPv412scatter_prodRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_prod"], [0, 1, 1, "_CPPv412scatter_prodRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_prod::a"], [0, 1, 1, "_CPPv412scatter_prodRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_prod::a"], [0, 1, 1, "_CPPv412scatter_prodRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_prod::axes"], [0, 1, 1, "_CPPv412scatter_prodRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_prod::axis"], [0, 1, 1, "_CPPv412scatter_prodRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_prod::indices"], [0, 1, 1, "_CPPv412scatter_prodRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_prod::indices"], [0, 1, 1, "_CPPv412scatter_prodRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_prod::s"], [0, 1, 1, "_CPPv412scatter_prodRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_prod::s"], [0, 1, 1, "_CPPv412scatter_prodRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_prod::updates"], [0, 1, 1, "_CPPv412scatter_prodRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_prod::updates"], [0, 0, 1, "_CPPv47sigmoidRK5array14StreamOrDevice", "sigmoid"], [0, 1, 1, "_CPPv47sigmoidRK5array14StreamOrDevice", "sigmoid::a"], [0, 1, 1, "_CPPv47sigmoidRK5array14StreamOrDevice", "sigmoid::s"], [0, 0, 1, "_CPPv44signRK5array14StreamOrDevice", "sign"], [0, 1, 1, "_CPPv44signRK5array14StreamOrDevice", "sign::a"], [0, 1, 1, "_CPPv44signRK5array14StreamOrDevice", "sign::s"], [0, 0, 1, "_CPPv43sinRK5array14StreamOrDevice", "sin"], [0, 1, 1, "_CPPv43sinRK5array14StreamOrDevice", "sin::a"], [0, 1, 1, "_CPPv43sinRK5array14StreamOrDevice", "sin::s"], [0, 0, 1, "_CPPv44sinhRK5array14StreamOrDevice", "sinh"], [0, 1, 1, "_CPPv44sinhRK5array14StreamOrDevice", "sinh::a"], [0, 1, 1, "_CPPv44sinhRK5array14StreamOrDevice", "sinh::s"], [0, 0, 1, "_CPPv45sliceRK5arrayNSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", "slice"], [0, 0, 1, "_CPPv45sliceRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", "slice"], [0, 1, 1, "_CPPv45sliceRK5arrayNSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", "slice::a"], [0, 1, 1, "_CPPv45sliceRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", "slice::a"], [0, 1, 1, "_CPPv45sliceRK5arrayNSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", "slice::s"], [0, 1, 1, "_CPPv45sliceRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", "slice::s"], [0, 1, 1, "_CPPv45sliceRK5arrayNSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", "slice::start"], [0, 1, 1, "_CPPv45sliceRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", "slice::start"], [0, 1, 1, "_CPPv45sliceRK5arrayNSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", "slice::stop"], [0, 1, 1, "_CPPv45sliceRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", "slice::stop"], [0, 1, 1, "_CPPv45sliceRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", "slice::strides"], [0, 0, 1, "_CPPv412slice_updateRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", "slice_update"], [0, 0, 1, "_CPPv412slice_updateRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", "slice_update"], [0, 1, 1, "_CPPv412slice_updateRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", "slice_update::s"], [0, 1, 1, "_CPPv412slice_updateRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", "slice_update::s"], [0, 1, 1, "_CPPv412slice_updateRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", "slice_update::src"], [0, 1, 1, "_CPPv412slice_updateRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", "slice_update::src"], [0, 1, 1, "_CPPv412slice_updateRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", "slice_update::start"], [0, 1, 1, "_CPPv412slice_updateRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", "slice_update::start"], [0, 1, 1, "_CPPv412slice_updateRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", "slice_update::stop"], [0, 1, 1, "_CPPv412slice_updateRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", "slice_update::stop"], [0, 1, 1, "_CPPv412slice_updateRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", "slice_update::strides"], [0, 1, 1, "_CPPv412slice_updateRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", "slice_update::update"], [0, 1, 1, "_CPPv412slice_updateRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEE14StreamOrDevice", "slice_update::update"], [0, 0, 1, "_CPPv47softmaxRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "softmax"], [0, 0, 1, "_CPPv47softmaxRK5arrayb14StreamOrDevice", "softmax"], [0, 0, 1, "_CPPv47softmaxRK5arrayib14StreamOrDevice", "softmax"], [0, 1, 1, "_CPPv47softmaxRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "softmax::a"], [0, 1, 1, "_CPPv47softmaxRK5arrayb14StreamOrDevice", "softmax::a"], [0, 1, 1, "_CPPv47softmaxRK5arrayib14StreamOrDevice", "softmax::a"], [0, 1, 1, "_CPPv47softmaxRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "softmax::axes"], [0, 1, 1, "_CPPv47softmaxRK5arrayib14StreamOrDevice", "softmax::axis"], [0, 1, 1, "_CPPv47softmaxRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "softmax::precise"], [0, 1, 1, "_CPPv47softmaxRK5arrayb14StreamOrDevice", "softmax::precise"], [0, 1, 1, "_CPPv47softmaxRK5arrayib14StreamOrDevice", "softmax::precise"], [0, 1, 1, "_CPPv47softmaxRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "softmax::s"], [0, 1, 1, "_CPPv47softmaxRK5arrayb14StreamOrDevice", "softmax::s"], [0, 1, 1, "_CPPv47softmaxRK5arrayib14StreamOrDevice", "softmax::s"], [0, 0, 1, "_CPPv44sortRK5array14StreamOrDevice", "sort"], [0, 0, 1, "_CPPv44sortRK5arrayi14StreamOrDevice", "sort"], [0, 1, 1, "_CPPv44sortRK5array14StreamOrDevice", "sort::a"], [0, 1, 1, "_CPPv44sortRK5arrayi14StreamOrDevice", "sort::a"], [0, 1, 1, "_CPPv44sortRK5arrayi14StreamOrDevice", "sort::axis"], [0, 1, 1, "_CPPv44sortRK5array14StreamOrDevice", "sort::s"], [0, 1, 1, "_CPPv44sortRK5arrayi14StreamOrDevice", "sort::s"], [0, 0, 1, "_CPPv45splitRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "split"], [0, 0, 1, "_CPPv45splitRK5arrayRKNSt6vectorIiEEi14StreamOrDevice", "split"], [0, 0, 1, "_CPPv45splitRK5arrayi14StreamOrDevice", "split"], [0, 0, 1, "_CPPv45splitRK5arrayii14StreamOrDevice", "split"], [0, 1, 1, "_CPPv45splitRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "split::a"], [0, 1, 1, "_CPPv45splitRK5arrayRKNSt6vectorIiEEi14StreamOrDevice", "split::a"], [0, 1, 1, "_CPPv45splitRK5arrayi14StreamOrDevice", "split::a"], [0, 1, 1, "_CPPv45splitRK5arrayii14StreamOrDevice", "split::a"], [0, 1, 1, "_CPPv45splitRK5arrayRKNSt6vectorIiEEi14StreamOrDevice", "split::axis"], [0, 1, 1, "_CPPv45splitRK5arrayii14StreamOrDevice", "split::axis"], [0, 1, 1, "_CPPv45splitRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "split::indices"], [0, 1, 1, "_CPPv45splitRK5arrayRKNSt6vectorIiEEi14StreamOrDevice", "split::indices"], [0, 1, 1, "_CPPv45splitRK5arrayi14StreamOrDevice", "split::num_splits"], [0, 1, 1, "_CPPv45splitRK5arrayii14StreamOrDevice", "split::num_splits"], [0, 1, 1, "_CPPv45splitRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "split::s"], [0, 1, 1, "_CPPv45splitRK5arrayRKNSt6vectorIiEEi14StreamOrDevice", "split::s"], [0, 1, 1, "_CPPv45splitRK5arrayi14StreamOrDevice", "split::s"], [0, 1, 1, "_CPPv45splitRK5arrayii14StreamOrDevice", "split::s"], [0, 0, 1, "_CPPv44sqrtRK5array14StreamOrDevice", "sqrt"], [0, 1, 1, "_CPPv44sqrtRK5array14StreamOrDevice", "sqrt::a"], [0, 1, 1, "_CPPv44sqrtRK5array14StreamOrDevice", "sqrt::s"], [0, 0, 1, "_CPPv46squareRK5array14StreamOrDevice", "square"], [0, 1, 1, "_CPPv46squareRK5array14StreamOrDevice", "square::a"], [0, 1, 1, "_CPPv46squareRK5array14StreamOrDevice", "square::s"], [0, 0, 1, "_CPPv47squeezeRK5array14StreamOrDevice", "squeeze"], [0, 0, 1, "_CPPv47squeezeRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "squeeze"], [0, 0, 1, "_CPPv47squeezeRK5arrayi14StreamOrDevice", "squeeze"], [0, 1, 1, "_CPPv47squeezeRK5array14StreamOrDevice", "squeeze::a"], [0, 1, 1, "_CPPv47squeezeRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "squeeze::a"], [0, 1, 1, "_CPPv47squeezeRK5arrayi14StreamOrDevice", "squeeze::a"], [0, 1, 1, "_CPPv47squeezeRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "squeeze::axes"], [0, 1, 1, "_CPPv47squeezeRK5arrayi14StreamOrDevice", "squeeze::axis"], [0, 1, 1, "_CPPv47squeezeRK5array14StreamOrDevice", "squeeze::s"], [0, 1, 1, "_CPPv47squeezeRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "squeeze::s"], [0, 1, 1, "_CPPv47squeezeRK5arrayi14StreamOrDevice", "squeeze::s"], [0, 0, 1, "_CPPv45stackRKNSt6vectorI5arrayEE14StreamOrDevice", "stack"], [0, 0, 1, "_CPPv45stackRKNSt6vectorI5arrayEEi14StreamOrDevice", "stack"], [0, 1, 1, "_CPPv45stackRKNSt6vectorI5arrayEE14StreamOrDevice", "stack::arrays"], [0, 1, 1, "_CPPv45stackRKNSt6vectorI5arrayEEi14StreamOrDevice", "stack::arrays"], [0, 1, 1, "_CPPv45stackRKNSt6vectorI5arrayEEi14StreamOrDevice", "stack::axis"], [0, 1, 1, "_CPPv45stackRKNSt6vectorI5arrayEE14StreamOrDevice", "stack::s"], [0, 1, 1, "_CPPv45stackRKNSt6vectorI5arrayEEi14StreamOrDevice", "stack::s"], [0, 0, 1, "_CPPv4StRK5array14StreamOrDevice", "std"], [0, 0, 1, "_CPPv4StRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", "std"], [0, 0, 1, "_CPPv4StRK5arraybi14StreamOrDevice", "std"], [0, 0, 1, "_CPPv4StRK5arrayibi14StreamOrDevice", "std"], [0, 1, 1, "_CPPv4StRK5array14StreamOrDevice", "std::a"], [0, 1, 1, "_CPPv4StRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", "std::a"], [0, 1, 1, "_CPPv4StRK5arraybi14StreamOrDevice", "std::a"], [0, 1, 1, "_CPPv4StRK5arrayibi14StreamOrDevice", "std::a"], [0, 1, 1, "_CPPv4StRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", "std::axes"], [0, 1, 1, "_CPPv4StRK5arrayibi14StreamOrDevice", "std::axis"], [0, 1, 1, "_CPPv4StRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", "std::ddof"], [0, 1, 1, "_CPPv4StRK5arraybi14StreamOrDevice", "std::ddof"], [0, 1, 1, "_CPPv4StRK5arrayibi14StreamOrDevice", "std::ddof"], [0, 1, 1, "_CPPv4StRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", "std::keepdims"], [0, 1, 1, "_CPPv4StRK5arraybi14StreamOrDevice", "std::keepdims"], [0, 1, 1, "_CPPv4StRK5arrayibi14StreamOrDevice", "std::keepdims"], [0, 1, 1, "_CPPv4StRK5array14StreamOrDevice", "std::s"], [0, 1, 1, "_CPPv4StRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", "std::s"], [0, 1, 1, "_CPPv4StRK5arraybi14StreamOrDevice", "std::s"], [0, 1, 1, "_CPPv4StRK5arrayibi14StreamOrDevice", "std::s"], [0, 0, 1, "_CPPv413stop_gradientRK5array14StreamOrDevice", "stop_gradient"], [0, 1, 1, "_CPPv413stop_gradientRK5array14StreamOrDevice", "stop_gradient::a"], [0, 1, 1, "_CPPv413stop_gradientRK5array14StreamOrDevice", "stop_gradient::s"], [0, 0, 1, "_CPPv48subtractRK5arrayRK5array14StreamOrDevice", "subtract"], [0, 1, 1, "_CPPv48subtractRK5arrayRK5array14StreamOrDevice", "subtract::a"], [0, 1, 1, "_CPPv48subtractRK5arrayRK5array14StreamOrDevice", "subtract::b"], [0, 1, 1, "_CPPv48subtractRK5arrayRK5array14StreamOrDevice", "subtract::s"], [0, 0, 1, "_CPPv43sumRK5array14StreamOrDevice", "sum"], [0, 0, 1, "_CPPv43sumRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "sum"], [0, 0, 1, "_CPPv43sumRK5arrayb14StreamOrDevice", "sum"], [0, 0, 1, "_CPPv43sumRK5arrayib14StreamOrDevice", "sum"], [0, 1, 1, "_CPPv43sumRK5array14StreamOrDevice", "sum::a"], [0, 1, 1, "_CPPv43sumRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "sum::a"], [0, 1, 1, "_CPPv43sumRK5arrayb14StreamOrDevice", "sum::a"], [0, 1, 1, "_CPPv43sumRK5arrayib14StreamOrDevice", "sum::a"], [0, 1, 1, "_CPPv43sumRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "sum::axes"], [0, 1, 1, "_CPPv43sumRK5arrayib14StreamOrDevice", "sum::axis"], [0, 1, 1, "_CPPv43sumRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "sum::keepdims"], [0, 1, 1, "_CPPv43sumRK5arrayb14StreamOrDevice", "sum::keepdims"], [0, 1, 1, "_CPPv43sumRK5arrayib14StreamOrDevice", "sum::keepdims"], [0, 1, 1, "_CPPv43sumRK5array14StreamOrDevice", "sum::s"], [0, 1, 1, "_CPPv43sumRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "sum::s"], [0, 1, 1, "_CPPv43sumRK5arrayb14StreamOrDevice", "sum::s"], [0, 1, 1, "_CPPv43sumRK5arrayib14StreamOrDevice", "sum::s"], [0, 0, 1, "_CPPv48swapaxesRK5arrayii14StreamOrDevice", "swapaxes"], [0, 1, 1, "_CPPv48swapaxesRK5arrayii14StreamOrDevice", "swapaxes::a"], [0, 1, 1, "_CPPv48swapaxesRK5arrayii14StreamOrDevice", "swapaxes::axis1"], [0, 1, 1, "_CPPv48swapaxesRK5arrayii14StreamOrDevice", "swapaxes::axis2"], [0, 1, 1, "_CPPv48swapaxesRK5arrayii14StreamOrDevice", "swapaxes::s"], [0, 0, 1, "_CPPv44takeRK5arrayRK5array14StreamOrDevice", "take"], [0, 0, 1, "_CPPv44takeRK5arrayRK5arrayi14StreamOrDevice", "take"], [0, 0, 1, "_CPPv44takeRK5arrayi14StreamOrDevice", "take"], [0, 0, 1, "_CPPv44takeRK5arrayii14StreamOrDevice", "take"], [0, 1, 1, "_CPPv44takeRK5arrayRK5array14StreamOrDevice", "take::a"], [0, 1, 1, "_CPPv44takeRK5arrayRK5arrayi14StreamOrDevice", "take::a"], [0, 1, 1, "_CPPv44takeRK5arrayi14StreamOrDevice", "take::a"], [0, 1, 1, "_CPPv44takeRK5arrayii14StreamOrDevice", "take::a"], [0, 1, 1, "_CPPv44takeRK5arrayRK5arrayi14StreamOrDevice", "take::axis"], [0, 1, 1, "_CPPv44takeRK5arrayii14StreamOrDevice", "take::axis"], [0, 1, 1, "_CPPv44takeRK5arrayi14StreamOrDevice", "take::index"], [0, 1, 1, "_CPPv44takeRK5arrayii14StreamOrDevice", "take::index"], [0, 1, 1, "_CPPv44takeRK5arrayRK5array14StreamOrDevice", "take::indices"], [0, 1, 1, "_CPPv44takeRK5arrayRK5arrayi14StreamOrDevice", "take::indices"], [0, 1, 1, "_CPPv44takeRK5arrayRK5array14StreamOrDevice", "take::s"], [0, 1, 1, "_CPPv44takeRK5arrayRK5arrayi14StreamOrDevice", "take::s"], [0, 1, 1, "_CPPv44takeRK5arrayi14StreamOrDevice", "take::s"], [0, 1, 1, "_CPPv44takeRK5arrayii14StreamOrDevice", "take::s"], [0, 0, 1, "_CPPv415take_along_axisRK5arrayRK5arrayi14StreamOrDevice", "take_along_axis"], [0, 1, 1, "_CPPv415take_along_axisRK5arrayRK5arrayi14StreamOrDevice", "take_along_axis::a"], [0, 1, 1, "_CPPv415take_along_axisRK5arrayRK5arrayi14StreamOrDevice", "take_along_axis::axis"], [0, 1, 1, "_CPPv415take_along_axisRK5arrayRK5arrayi14StreamOrDevice", "take_along_axis::indices"], [0, 1, 1, "_CPPv415take_along_axisRK5arrayRK5arrayi14StreamOrDevice", "take_along_axis::s"], [0, 0, 1, "_CPPv43tanRK5array14StreamOrDevice", "tan"], [0, 1, 1, "_CPPv43tanRK5array14StreamOrDevice", "tan::a"], [0, 1, 1, "_CPPv43tanRK5array14StreamOrDevice", "tan::s"], [0, 0, 1, "_CPPv44tanhRK5array14StreamOrDevice", "tanh"], [0, 1, 1, "_CPPv44tanhRK5array14StreamOrDevice", "tanh::a"], [0, 1, 1, "_CPPv44tanhRK5array14StreamOrDevice", "tanh::s"], [0, 0, 1, "_CPPv49tensordotRK5arrayRK5arrayKi14StreamOrDevice", "tensordot"], [0, 0, 1, "_CPPv49tensordotRK5arrayRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice", "tensordot"], [0, 1, 1, "_CPPv49tensordotRK5arrayRK5arrayKi14StreamOrDevice", "tensordot::a"], [0, 1, 1, "_CPPv49tensordotRK5arrayRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice", "tensordot::a"], [0, 1, 1, "_CPPv49tensordotRK5arrayRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice", "tensordot::axes_a"], [0, 1, 1, "_CPPv49tensordotRK5arrayRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice", "tensordot::axes_b"], [0, 1, 1, "_CPPv49tensordotRK5arrayRK5arrayKi14StreamOrDevice", "tensordot::axis"], [0, 1, 1, "_CPPv49tensordotRK5arrayRK5arrayKi14StreamOrDevice", "tensordot::b"], [0, 1, 1, "_CPPv49tensordotRK5arrayRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice", "tensordot::b"], [0, 1, 1, "_CPPv49tensordotRK5arrayRK5arrayKi14StreamOrDevice", "tensordot::s"], [0, 1, 1, "_CPPv49tensordotRK5arrayRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice", "tensordot::s"], [0, 0, 1, "_CPPv44tileRK5arrayNSt6vectorIiEE14StreamOrDevice", "tile"], [0, 1, 1, "_CPPv44tileRK5arrayNSt6vectorIiEE14StreamOrDevice", "tile::arr"], [0, 1, 1, "_CPPv44tileRK5arrayNSt6vectorIiEE14StreamOrDevice", "tile::reps"], [0, 1, 1, "_CPPv44tileRK5arrayNSt6vectorIiEE14StreamOrDevice", "tile::s"], [0, 0, 1, "_CPPv44topkRK5arrayi14StreamOrDevice", "topk"], [0, 0, 1, "_CPPv44topkRK5arrayii14StreamOrDevice", "topk"], [0, 1, 1, "_CPPv44topkRK5arrayi14StreamOrDevice", "topk::a"], [0, 1, 1, "_CPPv44topkRK5arrayii14StreamOrDevice", "topk::a"], [0, 1, 1, "_CPPv44topkRK5arrayii14StreamOrDevice", "topk::axis"], [0, 1, 1, "_CPPv44topkRK5arrayi14StreamOrDevice", "topk::k"], [0, 1, 1, "_CPPv44topkRK5arrayii14StreamOrDevice", "topk::k"], [0, 1, 1, "_CPPv44topkRK5arrayi14StreamOrDevice", "topk::s"], [0, 1, 1, "_CPPv44topkRK5arrayii14StreamOrDevice", "topk::s"], [0, 0, 1, "_CPPv45traceRK5array14StreamOrDevice", "trace"], [0, 0, 1, "_CPPv45traceRK5arrayiii14StreamOrDevice", "trace"], [0, 0, 1, "_CPPv45traceRK5arrayiii5Dtype14StreamOrDevice", "trace"], [0, 1, 1, "_CPPv45traceRK5array14StreamOrDevice", "trace::a"], [0, 1, 1, "_CPPv45traceRK5arrayiii14StreamOrDevice", "trace::a"], [0, 1, 1, "_CPPv45traceRK5arrayiii5Dtype14StreamOrDevice", "trace::a"], [0, 1, 1, "_CPPv45traceRK5arrayiii14StreamOrDevice", "trace::axis1"], [0, 1, 1, "_CPPv45traceRK5arrayiii5Dtype14StreamOrDevice", "trace::axis1"], [0, 1, 1, "_CPPv45traceRK5arrayiii14StreamOrDevice", "trace::axis2"], [0, 1, 1, "_CPPv45traceRK5arrayiii5Dtype14StreamOrDevice", "trace::axis2"], [0, 1, 1, "_CPPv45traceRK5arrayiii5Dtype14StreamOrDevice", "trace::dtype"], [0, 1, 1, "_CPPv45traceRK5arrayiii14StreamOrDevice", "trace::offset"], [0, 1, 1, "_CPPv45traceRK5arrayiii5Dtype14StreamOrDevice", "trace::offset"], [0, 1, 1, "_CPPv45traceRK5array14StreamOrDevice", "trace::s"], [0, 1, 1, "_CPPv45traceRK5arrayiii14StreamOrDevice", "trace::s"], [0, 1, 1, "_CPPv45traceRK5arrayiii5Dtype14StreamOrDevice", "trace::s"], [0, 0, 1, "_CPPv49transposeRK5array14StreamOrDevice", "transpose"], [0, 0, 1, "_CPPv49transposeRK5arrayNSt16initializer_listIiEE14StreamOrDevice", "transpose"], [0, 0, 1, "_CPPv49transposeRK5arrayNSt6vectorIiEE14StreamOrDevice", "transpose"], [0, 1, 1, "_CPPv49transposeRK5array14StreamOrDevice", "transpose::a"], [0, 1, 1, "_CPPv49transposeRK5arrayNSt16initializer_listIiEE14StreamOrDevice", "transpose::a"], [0, 1, 1, "_CPPv49transposeRK5arrayNSt6vectorIiEE14StreamOrDevice", "transpose::a"], [0, 1, 1, "_CPPv49transposeRK5arrayNSt16initializer_listIiEE14StreamOrDevice", "transpose::axes"], [0, 1, 1, "_CPPv49transposeRK5arrayNSt6vectorIiEE14StreamOrDevice", "transpose::axes"], [0, 1, 1, "_CPPv49transposeRK5array14StreamOrDevice", "transpose::s"], [0, 1, 1, "_CPPv49transposeRK5arrayNSt16initializer_listIiEE14StreamOrDevice", "transpose::s"], [0, 1, 1, "_CPPv49transposeRK5arrayNSt6vectorIiEE14StreamOrDevice", "transpose::s"], [0, 0, 1, "_CPPv43trii5Dtype14StreamOrDevice", "tri"], [0, 0, 1, "_CPPv43triiii5Dtype14StreamOrDevice", "tri"], [0, 1, 1, "_CPPv43triiii5Dtype14StreamOrDevice", "tri::k"], [0, 1, 1, "_CPPv43triiii5Dtype14StreamOrDevice", "tri::m"], [0, 1, 1, "_CPPv43trii5Dtype14StreamOrDevice", "tri::n"], [0, 1, 1, "_CPPv43triiii5Dtype14StreamOrDevice", "tri::n"], [0, 1, 1, "_CPPv43trii5Dtype14StreamOrDevice", "tri::s"], [0, 1, 1, "_CPPv43triiii5Dtype14StreamOrDevice", "tri::s"], [0, 1, 1, "_CPPv43trii5Dtype14StreamOrDevice", "tri::type"], [0, 1, 1, "_CPPv43triiii5Dtype14StreamOrDevice", "tri::type"], [0, 0, 1, "_CPPv44tril5arrayi14StreamOrDevice", "tril"], [0, 1, 1, "_CPPv44tril5arrayi14StreamOrDevice", "tril::k"], [0, 1, 1, "_CPPv44tril5arrayi14StreamOrDevice", "tril::s"], [0, 1, 1, "_CPPv44tril5arrayi14StreamOrDevice", "tril::x"], [0, 0, 1, "_CPPv44triu5arrayi14StreamOrDevice", "triu"], [0, 1, 1, "_CPPv44triu5arrayi14StreamOrDevice", "triu::k"], [0, 1, 1, "_CPPv44triu5arrayi14StreamOrDevice", "triu::s"], [0, 1, 1, "_CPPv44triu5arrayi14StreamOrDevice", "triu::x"], [0, 0, 1, "_CPPv43varRK5array14StreamOrDevice", "var"], [0, 0, 1, "_CPPv43varRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", "var"], [0, 0, 1, "_CPPv43varRK5arraybi14StreamOrDevice", "var"], [0, 0, 1, "_CPPv43varRK5arrayibi14StreamOrDevice", "var"], [0, 1, 1, "_CPPv43varRK5array14StreamOrDevice", "var::a"], [0, 1, 1, "_CPPv43varRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", "var::a"], [0, 1, 1, "_CPPv43varRK5arraybi14StreamOrDevice", "var::a"], [0, 1, 1, "_CPPv43varRK5arrayibi14StreamOrDevice", "var::a"], [0, 1, 1, "_CPPv43varRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", "var::axes"], [0, 1, 1, "_CPPv43varRK5arrayibi14StreamOrDevice", "var::axis"], [0, 1, 1, "_CPPv43varRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", "var::ddof"], [0, 1, 1, "_CPPv43varRK5arraybi14StreamOrDevice", "var::ddof"], [0, 1, 1, "_CPPv43varRK5arrayibi14StreamOrDevice", "var::ddof"], [0, 1, 1, "_CPPv43varRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", "var::keepdims"], [0, 1, 1, "_CPPv43varRK5arraybi14StreamOrDevice", "var::keepdims"], [0, 1, 1, "_CPPv43varRK5arrayibi14StreamOrDevice", "var::keepdims"], [0, 1, 1, "_CPPv43varRK5array14StreamOrDevice", "var::s"], [0, 1, 1, "_CPPv43varRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", "var::s"], [0, 1, 1, "_CPPv43varRK5arraybi14StreamOrDevice", "var::s"], [0, 1, 1, "_CPPv43varRK5arrayibi14StreamOrDevice", "var::s"], [0, 0, 1, "_CPPv44viewRK5arrayRK5Dtype14StreamOrDevice", "view"], [0, 1, 1, "_CPPv44viewRK5arrayRK5Dtype14StreamOrDevice", "view::a"], [0, 1, 1, "_CPPv44viewRK5arrayRK5Dtype14StreamOrDevice", "view::dtype"], [0, 1, 1, "_CPPv44viewRK5arrayRK5Dtype14StreamOrDevice", "view::s"], [0, 0, 1, "_CPPv45whereRK5arrayRK5arrayRK5array14StreamOrDevice", "where"], [0, 1, 1, "_CPPv45whereRK5arrayRK5arrayRK5array14StreamOrDevice", "where::condition"], [0, 1, 1, "_CPPv45whereRK5arrayRK5arrayRK5array14StreamOrDevice", "where::s"], [0, 1, 1, "_CPPv45whereRK5arrayRK5arrayRK5array14StreamOrDevice", "where::x"], [0, 1, 1, "_CPPv45whereRK5arrayRK5arrayRK5array14StreamOrDevice", "where::y"], [0, 0, 1, "_CPPv45zerosRKNSt6vectorIiEE14StreamOrDevice", "zeros"], [0, 0, 1, "_CPPv45zerosRKNSt6vectorIiEE5Dtype14StreamOrDevice", "zeros"], [0, 1, 1, "_CPPv45zerosRKNSt6vectorIiEE5Dtype14StreamOrDevice", "zeros::dtype"], [0, 1, 1, "_CPPv45zerosRKNSt6vectorIiEE14StreamOrDevice", "zeros::s"], [0, 1, 1, "_CPPv45zerosRKNSt6vectorIiEE5Dtype14StreamOrDevice", "zeros::s"], [0, 1, 1, "_CPPv45zerosRKNSt6vectorIiEE14StreamOrDevice", "zeros::shape"], [0, 1, 1, "_CPPv45zerosRKNSt6vectorIiEE5Dtype14StreamOrDevice", "zeros::shape"], [0, 0, 1, "_CPPv410zeros_likeRK5array14StreamOrDevice", "zeros_like"], [0, 1, 1, "_CPPv410zeros_likeRK5array14StreamOrDevice", "zeros_like::a"], [0, 1, 1, "_CPPv410zeros_likeRK5array14StreamOrDevice", "zeros_like::s"]], "mlx.core": [[9, 3, 1, "", "Device"], [10, 3, 1, "", "Dtype"], [11, 3, 1, "", "DtypeCategory"], [314, 3, 1, "", "Stream"], [12, 5, 1, "", "abs"], [13, 5, 1, "", "add"], [14, 5, 1, "", "addmm"], [15, 5, 1, "", "all"], [16, 5, 1, "", "allclose"], [17, 5, 1, "", "any"], [18, 5, 1, "", "arange"], [19, 5, 1, "", "arccos"], [20, 5, 1, "", "arccosh"], [21, 5, 1, "", "arcsin"], [22, 5, 1, "", "arcsinh"], [23, 5, 1, "", "arctan"], [24, 5, 1, "", "arctan2"], [25, 5, 1, "", "arctanh"], [26, 5, 1, "", "argmax"], [27, 5, 1, "", "argmin"], [28, 5, 1, "", "argpartition"], [29, 5, 1, "", "argsort"], [30, 3, 1, "", "array"], [82, 5, 1, "", "array_equal"], [83, 5, 1, "", "as_strided"], [84, 5, 1, "", "atleast_1d"], [85, 5, 1, "", "atleast_2d"], [86, 5, 1, "", "atleast_3d"], [87, 5, 1, "", "bitwise_and"], [88, 5, 1, "", "bitwise_or"], [89, 5, 1, "", "bitwise_xor"], [90, 5, 1, "", "block_masked_mm"], [91, 5, 1, "", "broadcast_to"], [92, 5, 1, "", "ceil"], [93, 5, 1, "", "clip"], [94, 5, 1, "", "compile"], [95, 5, 1, "", "concatenate"], [96, 5, 1, "", "conj"], [97, 5, 1, "", "conjugate"], [98, 5, 1, "", "conv1d"], [99, 5, 1, "", "conv2d"], [100, 5, 1, "", "conv3d"], [101, 5, 1, "", "conv_general"], [102, 5, 1, "", "conv_transpose1d"], [103, 5, 1, "", "conv_transpose2d"], [104, 5, 1, "", "conv_transpose3d"], [105, 5, 1, "", "convolve"], [106, 5, 1, "", "cos"], [107, 5, 1, "", "cosh"], [108, 5, 1, "", "cummax"], [109, 5, 1, "", "cummin"], [110, 5, 1, "", "cumprod"], [111, 5, 1, "", "cumsum"], [112, 3, 1, "", "custom_function"], [113, 5, 1, "", "default_device"], [114, 5, 1, "", "default_stream"], [115, 5, 1, "", "degrees"], [116, 5, 1, "", "dequantize"], [117, 5, 1, "", "diag"], [118, 5, 1, "", "diagonal"], [119, 5, 1, "", "disable_compile"], [128, 5, 1, "", "divide"], [129, 5, 1, "", "divmod"], [130, 5, 1, "", "einsum"], [131, 5, 1, "", "einsum_path"], [132, 5, 1, "", "enable_compile"], [133, 5, 1, "", "equal"], [134, 5, 1, "", "erf"], [135, 5, 1, "", "erfinv"], [136, 5, 1, "", "eval"], [137, 5, 1, "", "exp"], [138, 5, 1, "", "expand_dims"], [139, 5, 1, "", "expm1"], [140, 5, 1, "", "eye"], [158, 5, 1, "", "flatten"], [159, 5, 1, "", "floor"], [160, 5, 1, "", "floor_divide"], [161, 5, 1, "", "full"], [162, 5, 1, "", "gather_mm"], [163, 5, 1, "", "gather_qmm"], [164, 5, 1, "", "grad"], [165, 5, 1, "", "greater"], [166, 5, 1, "", "greater_equal"], [167, 5, 1, "", "hadamard_transform"], [168, 5, 1, "", "identity"], [169, 5, 1, "", "imag"], [170, 5, 1, "", "inner"], [171, 5, 1, "", "isclose"], [172, 5, 1, "", "isfinite"], [173, 5, 1, "", "isinf"], [174, 5, 1, "", "isnan"], [175, 5, 1, "", "isneginf"], [176, 5, 1, "", "isposinf"], [177, 5, 1, "", "issubdtype"], [178, 5, 1, "", "jvp"], [179, 5, 1, "", "left_shift"], [180, 5, 1, "", "less"], [181, 5, 1, "", "less_equal"], [192, 5, 1, "", "linspace"], [193, 5, 1, "", "load"], [194, 5, 1, "", "log"], [195, 5, 1, "", "log10"], [196, 5, 1, "", "log1p"], [197, 5, 1, "", "log2"], [198, 5, 1, "", "logaddexp"], [199, 5, 1, "", "logical_and"], [200, 5, 1, "", "logical_not"], [201, 5, 1, "", "logical_or"], [202, 5, 1, "", "logsumexp"], [203, 5, 1, "", "matmul"], [204, 5, 1, "", "max"], [205, 5, 1, "", "maximum"], [206, 5, 1, "", "mean"], [207, 5, 1, "", "meshgrid"], [220, 5, 1, "", "min"], [221, 5, 1, "", "minimum"], [222, 5, 1, "", "moveaxis"], [223, 5, 1, "", "multiply"], [224, 5, 1, "", "nan_to_num"], [225, 5, 1, "", "negative"], [226, 5, 1, "", "new_stream"], [227, 5, 1, "", "not_equal"], [228, 5, 1, "", "ones"], [229, 5, 1, "", "ones_like"], [230, 5, 1, "", "outer"], [231, 5, 1, "", "pad"], [232, 5, 1, "", "partition"], [233, 5, 1, "", "power"], [234, 5, 1, "", "prod"], [235, 5, 1, "", "put_along_axis"], [236, 5, 1, "", "quantize"], [237, 5, 1, "", "quantized_matmul"], [238, 5, 1, "", "radians"], [252, 5, 1, "", "real"], [253, 5, 1, "", "reciprocal"], [254, 5, 1, "", "remainder"], [255, 5, 1, "", "repeat"], [256, 5, 1, "", "reshape"], [257, 5, 1, "", "right_shift"], [258, 5, 1, "", "roll"], [259, 5, 1, "", "round"], [260, 5, 1, "", "rsqrt"], [261, 5, 1, "", "save"], [262, 5, 1, "", "save_gguf"], [263, 5, 1, "", "save_safetensors"], [264, 5, 1, "", "savez"], [265, 5, 1, "", "savez_compressed"], [266, 5, 1, "", "set_default_device"], [267, 5, 1, "", "set_default_stream"], [268, 5, 1, "", "sigmoid"], [269, 5, 1, "", "sign"], [270, 5, 1, "", "sin"], [271, 5, 1, "", "sinh"], [272, 5, 1, "", "softmax"], [273, 5, 1, "", "sort"], [274, 5, 1, "", "split"], [275, 5, 1, "", "sqrt"], [276, 5, 1, "", "square"], [277, 5, 1, "", "squeeze"], [278, 5, 1, "", "stack"], [279, 5, 1, "", "std"], [280, 5, 1, "", "stop_gradient"], [281, 5, 1, "", "stream"], [282, 5, 1, "", "subtract"], [283, 5, 1, "", "sum"], [284, 5, 1, "", "swapaxes"], [285, 5, 1, "", "synchronize"], [286, 5, 1, "", "take"], [287, 5, 1, "", "take_along_axis"], [288, 5, 1, "", "tan"], [289, 5, 1, "", "tanh"], [290, 5, 1, "", "tensordot"], [291, 5, 1, "", "tile"], [292, 5, 1, "", "topk"], [293, 5, 1, "", "trace"], [294, 5, 1, "", "transpose"], [295, 5, 1, "", "tri"], [296, 5, 1, "", "tril"], [297, 5, 1, "", "triu"], [298, 5, 1, "", "value_and_grad"], [299, 5, 1, "", "var"], [300, 5, 1, "", "view"], [301, 5, 1, "", "vjp"], [302, 5, 1, "", "vmap"], [303, 5, 1, "", "where"], [304, 5, 1, "", "zeros"], [305, 5, 1, "", "zeros_like"]], "mlx.core.Device": [[9, 4, 1, "", "__init__"]], "mlx.core.Dtype": [[10, 4, 1, "", "__init__"]], "mlx.core.DtypeCategory": [[11, 4, 1, "", "__init__"]], "mlx.core.Stream": [[314, 4, 1, "", "__init__"]], "mlx.core.array": [[31, 6, 1, "", "T"], [30, 4, 1, "", "__init__"], [32, 4, 1, "", "abs"], [33, 4, 1, "", "all"], [34, 4, 1, "", "any"], [35, 4, 1, "", "argmax"], [36, 4, 1, "", "argmin"], [37, 4, 1, "", "astype"], [38, 6, 1, "", "at"], [39, 4, 1, "", "conj"], [40, 4, 1, "", "cos"], [41, 4, 1, "", "cummax"], [42, 4, 1, "", "cummin"], [43, 4, 1, "", "cumprod"], [44, 4, 1, "", "cumsum"], [45, 4, 1, "", "diag"], [46, 4, 1, "", "diagonal"], [47, 6, 1, "", "dtype"], [48, 4, 1, "", "exp"], [49, 4, 1, "", "flatten"], [50, 4, 1, "", "item"], [51, 6, 1, "", "itemsize"], [52, 4, 1, "", "log"], [53, 4, 1, "", "log10"], [54, 4, 1, "", "log1p"], [55, 4, 1, "", "log2"], [56, 4, 1, "", "logsumexp"], [57, 4, 1, "", "max"], [58, 4, 1, "", "mean"], [59, 4, 1, "", "min"], [60, 4, 1, "", "moveaxis"], [61, 6, 1, "", "nbytes"], [62, 6, 1, "", "ndim"], [63, 4, 1, "", "prod"], [64, 4, 1, "", "reciprocal"], [65, 4, 1, "", "reshape"], [66, 4, 1, "", "round"], [67, 4, 1, "", "rsqrt"], [68, 6, 1, "", "shape"], [69, 4, 1, "", "sin"], [70, 6, 1, "", "size"], [71, 4, 1, "", "split"], [72, 4, 1, "", "sqrt"], [73, 4, 1, "", "square"], [74, 4, 1, "", "squeeze"], [75, 4, 1, "", "std"], [76, 4, 1, "", "sum"], [77, 4, 1, "", "swapaxes"], [78, 4, 1, "", "tolist"], [79, 4, 1, "", "transpose"], [80, 4, 1, "", "var"], [81, 4, 1, "", "view"]], "mlx.core.custom_function": [[112, 4, 1, "", "__init__"]], "mlx.core.distributed": [[120, 3, 1, "", "Group"], [121, 5, 1, "", "all_gather"], [122, 5, 1, "", "all_sum"], [123, 5, 1, "", "init"], [124, 5, 1, "", "is_available"], [125, 5, 1, "", "recv"], [126, 5, 1, "", "recv_like"], [127, 5, 1, "", "send"]], "mlx.core.distributed.Group": [[120, 4, 1, "", "__init__"]], "mlx.core.fast": [[141, 5, 1, "", "layer_norm"], [142, 5, 1, "", "metal_kernel"], [143, 5, 1, "", "rms_norm"], [144, 5, 1, "", "rope"], [145, 5, 1, "", "scaled_dot_product_attention"]], "mlx.core.fft": [[146, 5, 1, "", "fft"], [147, 5, 1, "", "fft2"], [148, 5, 1, "", "fftn"], [149, 5, 1, "", "ifft"], [150, 5, 1, "", "ifft2"], [151, 5, 1, "", "ifftn"], [152, 5, 1, "", "irfft"], [153, 5, 1, "", "irfft2"], [154, 5, 1, "", "irfftn"], [155, 5, 1, "", "rfft"], [156, 5, 1, "", "rfft2"], [157, 5, 1, "", "rfftn"]], "mlx.core.linalg": [[182, 5, 1, "", "cholesky"], [183, 5, 1, "", "cholesky_inv"], [184, 5, 1, "", "cross"], [185, 5, 1, "", "eigh"], [186, 5, 1, "", "eigvalsh"], [187, 5, 1, "", "inv"], [188, 5, 1, "", "norm"], [189, 5, 1, "", "qr"], [190, 5, 1, "", "svd"], [191, 5, 1, "", "tri_inv"]], "mlx.core.metal": [[208, 5, 1, "", "clear_cache"], [209, 5, 1, "", "device_info"], [210, 5, 1, "", "get_active_memory"], [211, 5, 1, "", "get_cache_memory"], [212, 5, 1, "", "get_peak_memory"], [213, 5, 1, "", "is_available"], [214, 5, 1, "", "reset_peak_memory"], [215, 5, 1, "", "set_cache_limit"], [216, 5, 1, "", "set_memory_limit"], [217, 5, 1, "", "set_wired_limit"], [218, 5, 1, "", "start_capture"], [219, 5, 1, "", "stop_capture"]], "mlx.core.random": [[239, 5, 1, "", "bernoulli"], [240, 5, 1, "", "categorical"], [241, 5, 1, "", "gumbel"], [242, 5, 1, "", "key"], [243, 5, 1, "", "laplace"], [244, 5, 1, "", "multivariate_normal"], [245, 5, 1, "", "normal"], [246, 5, 1, "", "permutation"], [247, 5, 1, "", "randint"], [248, 5, 1, "", "seed"], [249, 5, 1, "", "split"], [250, 5, 1, "", "truncated_normal"], [251, 5, 1, "", "uniform"]], "mlx.nn": [[324, 3, 1, "", "ALiBi"], [325, 3, 1, "", "AvgPool1d"], [326, 3, 1, "", "AvgPool2d"], [327, 3, 1, "", "AvgPool3d"], [328, 3, 1, "", "BatchNorm"], [329, 3, 1, "", "CELU"], [330, 3, 1, "", "Conv1d"], [331, 3, 1, "", "Conv2d"], [332, 3, 1, "", "Conv3d"], [333, 3, 1, "", "ConvTranspose1d"], [334, 3, 1, "", "ConvTranspose2d"], [335, 3, 1, "", "ConvTranspose3d"], [336, 3, 1, "", "Dropout"], [337, 3, 1, "", "Dropout2d"], [338, 3, 1, "", "Dropout3d"], [339, 3, 1, "", "ELU"], [340, 3, 1, "", "Embedding"], [341, 3, 1, "", "GELU"], [342, 3, 1, "", "GLU"], [343, 3, 1, "", "GRU"], [344, 3, 1, "", "GroupNorm"], [345, 3, 1, "", "HardShrink"], [346, 3, 1, "", "HardTanh"], [347, 3, 1, "", "Hardswish"], [348, 3, 1, "", "InstanceNorm"], [349, 3, 1, "", "LSTM"], [350, 3, 1, "", "LayerNorm"], [351, 3, 1, "", "LeakyReLU"], [352, 3, 1, "", "Linear"], [353, 3, 1, "", "LogSigmoid"], [354, 3, 1, "", "LogSoftmax"], [355, 3, 1, "", "MaxPool1d"], [356, 3, 1, "", "MaxPool2d"], [357, 3, 1, "", "MaxPool3d"], [358, 3, 1, "", "Mish"], [453, 3, 1, "", "Module"], [379, 3, 1, "", "MultiHeadAttention"], [380, 3, 1, "", "PReLU"], [381, 3, 1, "", "QuantizedEmbedding"], [382, 3, 1, "", "QuantizedLinear"], [383, 3, 1, "", "RMSNorm"], [384, 3, 1, "", "RNN"], [385, 3, 1, "", "ReLU"], [386, 3, 1, "", "ReLU6"], [387, 3, 1, "", "RoPE"], [388, 3, 1, "", "SELU"], [389, 3, 1, "", "Sequential"], [390, 3, 1, "", "SiLU"], [391, 3, 1, "", "Sigmoid"], [392, 3, 1, "", "SinusoidalPositionalEncoding"], [393, 3, 1, "", "Softmax"], [394, 3, 1, "", "Softmin"], [395, 3, 1, "", "Softplus"], [396, 3, 1, "", "Softshrink"], [397, 3, 1, "", "Softsign"], [398, 3, 1, "", "Step"], [399, 3, 1, "", "Tanh"], [400, 3, 1, "", "Transformer"], [401, 3, 1, "", "Upsample"], [410, 3, 1, "", "celu"], [411, 3, 1, "", "elu"], [412, 3, 1, "", "gelu"], [413, 3, 1, "", "gelu_approx"], [414, 3, 1, "", "gelu_fast_approx"], [415, 3, 1, "", "glu"], [416, 3, 1, "", "hard_shrink"], [417, 3, 1, "", "hard_tanh"], [418, 3, 1, "", "hardswish"], [419, 3, 1, "", "leaky_relu"], [420, 3, 1, "", "log_sigmoid"], [421, 3, 1, "", "log_softmax"], [436, 3, 1, "", "mish"], [437, 3, 1, "", "prelu"], [306, 5, 1, "", "quantize"], [438, 3, 1, "", "relu"], [439, 3, 1, "", "relu6"], [440, 3, 1, "", "selu"], [441, 3, 1, "", "sigmoid"], [442, 3, 1, "", "silu"], [443, 3, 1, "", "softmax"], [444, 3, 1, "", "softmin"], [445, 3, 1, "", "softplus"], [446, 3, 1, "", "softshrink"], [447, 3, 1, "", "step"], [448, 3, 1, "", "tanh"], [307, 5, 1, "", "value_and_grad"]], "mlx.nn.Module": [[359, 4, 1, "", "apply"], [360, 4, 1, "", "apply_to_modules"], [361, 4, 1, "", "children"], [362, 4, 1, "", "eval"], [363, 4, 1, "", "filter_and_map"], [364, 4, 1, "", "freeze"], [365, 4, 1, "", "leaf_modules"], [366, 4, 1, "", "load_weights"], [367, 4, 1, "", "modules"], [368, 4, 1, "", "named_modules"], [369, 4, 1, "", "parameters"], [370, 4, 1, "", "save_weights"], [371, 4, 1, "", "set_dtype"], [372, 6, 1, "", "state"], [373, 4, 1, "", "train"], [374, 4, 1, "", "trainable_parameters"], [375, 6, 1, "", "training"], [376, 4, 1, "", "unfreeze"], [377, 4, 1, "", "update"], [378, 4, 1, "", "update_modules"]], "mlx.nn.init": [[402, 5, 1, "", "constant"], [403, 5, 1, "", "glorot_normal"], [404, 5, 1, "", "glorot_uniform"], [405, 5, 1, "", "he_normal"], [406, 5, 1, "", "he_uniform"], [407, 5, 1, "", "identity"], [408, 5, 1, "", "normal"], [409, 5, 1, "", "uniform"]], "mlx.nn.losses": [[422, 3, 1, "", "binary_cross_entropy"], [423, 3, 1, "", "cosine_similarity_loss"], [424, 3, 1, "", "cross_entropy"], [425, 3, 1, "", "gaussian_nll_loss"], [426, 3, 1, "", "hinge_loss"], [427, 3, 1, "", "huber_loss"], [428, 3, 1, "", "kl_div_loss"], [429, 3, 1, "", "l1_loss"], [430, 3, 1, "", "log_cosh_loss"], [431, 3, 1, "", "margin_ranking_loss"], [432, 3, 1, "", "mse_loss"], [433, 3, 1, "", "nll_loss"], [434, 3, 1, "", "smooth_l1_loss"], [435, 3, 1, "", "triplet_loss"]], "mlx.optimizers": [[456, 3, 1, "", "AdaDelta"], [457, 3, 1, "", "Adafactor"], [458, 3, 1, "", "Adagrad"], [459, 3, 1, "", "Adam"], [460, 3, 1, "", "AdamW"], [461, 3, 1, "", "Adamax"], [462, 3, 1, "", "Lion"], [475, 3, 1, "", "Optimizer"], [467, 3, 1, "", "RMSprop"], [468, 3, 1, "", "SGD"], [308, 5, 1, "", "clip_grad_norm"], [469, 5, 1, "", "cosine_decay"], [470, 5, 1, "", "exponential_decay"], [471, 5, 1, "", "join_schedules"], [472, 5, 1, "", "linear_schedule"], [473, 5, 1, "", "step_decay"]], "mlx.optimizers.Optimizer": [[463, 4, 1, "", "apply_gradients"], [464, 4, 1, "", "init"], [465, 6, 1, "", "state"], [466, 4, 1, "", "update"]], "mlx.utils": [[309, 5, 1, "", "tree_flatten"], [310, 5, 1, "", "tree_map"], [311, 5, 1, "", "tree_map_with_path"], [312, 5, 1, "", "tree_reduce"], [313, 5, 1, "", "tree_unflatten"]]}, "objnames": {"0": ["cpp", "function", "C++ function"], "1": ["cpp", "functionParam", "C++ function parameter"], "2": ["cpp", "templateParam", "C++ template parameter"], "3": ["py", "class", "Python class"], "4": ["py", "method", "Python method"], "5": ["py", "function", "Python function"], "6": ["py", "property", "Python property"]}, "objtypes": {"0": "cpp:function", "1": "cpp:functionParam", "2": "cpp:templateParam", "3": "py:class", "4": "py:method", "5": "py:function", "6": "py:property"}, "terms": {"": [0, 1, 2, 4, 5, 6, 47, 51, 62, 94, 114, 116, 147, 148, 150, 151, 153, 154, 156, 157, 164, 183, 188, 190, 193, 206, 230, 236, 240, 259, 262, 263, 279, 281, 298, 299, 300, 302, 307, 323, 326, 327, 343, 349, 356, 357, 363, 364, 366, 370, 371, 372, 376, 384, 455, 464, 465, 477, 480, 482, 485, 486, 487, 488], "0": [0, 1, 2, 4, 5, 6, 8, 9, 14, 18, 38, 45, 46, 49, 66, 71, 75, 80, 83, 95, 98, 99, 100, 101, 102, 103, 104, 117, 118, 140, 142, 145, 158, 162, 164, 185, 187, 188, 189, 191, 208, 215, 217, 224, 231, 239, 243, 245, 246, 251, 255, 259, 274, 278, 279, 293, 295, 296, 297, 298, 299, 302, 308, 309, 311, 312, 323, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 341, 344, 345, 348, 350, 351, 355, 356, 357, 380, 385, 387, 392, 396, 398, 400, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 413, 414, 416, 417, 418, 419, 422, 424, 426, 427, 431, 434, 435, 437, 438, 439, 440, 446, 447, 450, 453, 456, 457, 459, 460, 461, 462, 464, 467, 468, 469, 470, 471, 472, 473, 477, 480, 481, 482, 483, 484, 485, 486, 487], "00005": 4, "0001": 392, "0005": 413, "001": 457, "00364": 4, "01": [4, 351, 419, 460], "0137595": 405, "015": 414, "0184009": 406, "02264": 404, "024": 482, "02765": 405, "0300242": 406, "044715": [341, 413], "0485873": 424, "05": [16, 171, 328, 344, 348, 350, 383], "0507": 440, "05202": 5, "06": [425, 435, 456], "0638": 431, "06450": 350, "0645099": 408, "06561": 470, "06675": 462, "07467": 383, "08": [16, 171, 423, 458, 459, 460, 461, 467], "08022": 348, "081": 473, "08415": 414, "08494": 344, "08619": 406, "08681": [358, 436], "09864": 5, "0999938": 471, "0999961": 469, "0f": 0, "1": [0, 1, 2, 3, 5, 6, 14, 18, 28, 29, 38, 46, 49, 98, 99, 100, 101, 102, 103, 104, 117, 118, 139, 142, 145, 146, 147, 149, 150, 152, 153, 154, 155, 156, 157, 158, 167, 170, 177, 183, 184, 185, 186, 188, 189, 203, 207, 216, 230, 232, 236, 240, 243, 244, 245, 251, 268, 273, 286, 292, 293, 298, 308, 311, 312, 316, 323, 325, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 341, 342, 343, 344, 348, 349, 350, 352, 355, 380, 383, 384, 387, 391, 392, 398, 401, 403, 404, 405, 406, 407, 408, 409, 410, 411, 413, 414, 415, 417, 420, 421, 422, 423, 424, 425, 426, 427, 428, 430, 431, 433, 434, 435, 440, 441, 443, 444, 445, 447, 450, 453, 455, 456, 457, 458, 459, 460, 461, 462, 464, 467, 468, 469, 470, 471, 472, 473, 480, 481, 482, 483, 485, 486, 487, 488], "10": [0, 3, 5, 6, 195, 259, 264, 310, 323, 366, 450, 471, 473, 480, 481, 483], "100": [2, 4, 5, 422, 472, 480, 482, 484, 488], "1000": [469, 480], "10000": 387, "101": 472, "1024": [1, 5], "105361": 422, "109": 2, "10_000": 4, "10x": 462, "11": 188, "114": 2, "12": [5, 167, 471], "1212": 456, "12451": 404, "128": [264, 323], "13": 8, "14": 8, "15": [1, 8, 188, 217, 312, 480], "150594": 403, "15268": 405, "16": [1, 142, 316, 325, 327, 348, 355, 357, 359, 453], "1606": 414, "1607": [348, 350], "16384": 167, "16506": 406, "17": 8, "177208": 405, "1803": 344, "1908": [358, 436], "1910": 383, "191107": 403, "1985": 188, "1_000": 4, "1d": [0, 98, 102, 105, 262, 287], "1e": [0, 4, 6, 16, 171, 328, 344, 348, 350, 351, 383, 423, 425, 435, 455, 456, 457, 458, 459, 460, 461, 464, 467, 469, 470, 471, 472, 473], "1e3": 480, "1st": 236, "2": [0, 1, 2, 4, 5, 6, 38, 99, 103, 117, 118, 134, 147, 150, 152, 153, 154, 155, 156, 157, 158, 167, 177, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 197, 203, 236, 244, 249, 290, 293, 295, 296, 297, 308, 312, 316, 323, 325, 326, 327, 331, 334, 341, 351, 355, 356, 357, 383, 392, 401, 402, 403, 404, 405, 406, 407, 408, 409, 413, 424, 425, 427, 434, 435, 450, 453, 455, 456, 458, 459, 460, 464, 467, 480, 481, 482, 483, 484, 485, 486, 487, 488], "20": [167, 188], "200": [5, 471, 482], "2002": 5, "2011": 458, "2012": [456, 467], "2015": [337, 459, 461], "2019": [5, 460], "2020": 5, "2021": 5, "20397": 422, "20_000": 5, "21": [5, 473], "2104": 5, "223144": 422, "223404": 404, "225": 188, "225763": 431, "2302": 462, "23607": [188, 189], "24": 8, "24264": 188, "247": 5, "25": [380, 401], "25211": 405, "256": [1, 2, 6, 142], "256995": 431, "28": 167, "2d": [0, 99, 103, 118, 236, 328, 337], "2nd": 236, "2x": 485, "3": [0, 1, 2, 5, 8, 100, 104, 158, 177, 184, 185, 186, 188, 189, 308, 312, 327, 332, 335, 341, 357, 401, 404, 406, 413, 418, 457, 462, 477, 480, 483, 485, 486], "30": 457, "3118": 485, "32": [1, 5, 6, 90, 236, 237, 316, 326, 327, 356, 357, 383, 480], "330": 5, "33333": 401, "348587": 424, "363207": 403, "36788": 480, "379159": 404, "380709": 408, "39": 5, "3d": [0, 2, 100, 104, 328, 338, 401], "3f": [2, 6, 480], "3x": 2, "4": [0, 1, 2, 5, 116, 142, 145, 158, 163, 188, 236, 237, 264, 306, 312, 316, 325, 326, 327, 328, 348, 355, 356, 357, 381, 382, 400, 401, 403, 404, 405, 422, 480, 481, 483, 486, 488], "4096": [480, 482, 488], "40x": 1, "41421": 188, "417497": 409, "42": 313, "437": 5, "44": 5, "447214": 189, "458835": 405, "475": 5, "48095": 403, "4d": [1, 401], "4m": 1, "5": [0, 1, 2, 4, 5, 8, 188, 216, 239, 312, 325, 328, 336, 337, 338, 341, 345, 348, 355, 396, 401, 402, 405, 406, 413, 416, 434, 446, 450, 455, 467, 469, 470, 480, 482, 483], "50": [0, 192], "500": [5, 488], "5000": 2, "510826": 422, "512": [2, 3, 5, 400, 488], "534422": 408, "539245": 422, "53947": 403, "55": 1, "5701": 456, "573409": 431, "57771": 189, "579": 5, "5f": 4, "6": [1, 2, 5, 188, 264, 386, 400, 404, 413, 414, 418, 425, 435, 439, 467, 480, 483, 486], "61278": 403, "617261": 409, "628": 5, "633": 5, "639": 482, "64": [0, 1, 90, 116, 163, 236, 237, 306, 316, 381, 382], "64331": 406, "666329": 406, "66667": 401, "67326": 440, "676": 1, "690": 5, "6967": 405, "7": [2, 5, 188, 236, 483], "702": [341, 414], "707107": 185, "71828": 480, "74166": 188, "74597": 188, "75": 401, "75596": 431, "75787": 405, "765166": 431, "773433": 431, "776856": 404, "793615": 406, "79854": 406, "7b": 5, "7m": 1, "8": [0, 1, 2, 5, 8, 188, 236, 316, 326, 327, 348, 356, 357, 400, 423, 456, 457, 458, 459, 460, 461, 467, 480, 483, 486, 488], "8192": [5, 167], "84804": 188, "863726": 409, "883935": 409, "890597": 404, "894427": 189, "89613": 403, "8gb": 5, "8x": 1, "9": [8, 188, 424, 456, 459, 460, 461, 462, 464, 470, 473, 485], "90041": 404, "912766": 404, "916291": 422, "95": 6, "982273": 408, "99": [462, 467], "995016": 403, "999": [459, 460, 461], "A": [0, 2, 5, 7, 8, 9, 68, 82, 94, 141, 142, 143, 145, 164, 177, 178, 183, 185, 186, 188, 189, 190, 193, 202, 203, 204, 209, 220, 236, 239, 240, 241, 243, 244, 245, 246, 247, 250, 251, 274, 278, 281, 298, 301, 302, 306, 307, 308, 309, 310, 311, 312, 313, 314, 323, 328, 337, 343, 344, 348, 350, 363, 367, 368, 371, 377, 378, 383, 389, 392, 400, 403, 404, 406, 414, 435, 436, 453, 455, 459, 461, 463, 464, 466, 471, 480, 481, 482, 484, 485], "AS": 162, "And": [5, 401], "As": [6, 38, 286, 323], "At": 93, "But": 488, "By": [5, 306, 371, 422, 482, 485], "For": [0, 1, 2, 5, 8, 38, 145, 162, 177, 188, 236, 313, 323, 328, 337, 341, 359, 364, 373, 376, 382, 387, 392, 401, 403, 404, 405, 406, 422, 450, 455, 477, 480, 481, 482, 483, 484, 485, 486, 487, 488], "If": [0, 1, 2, 5, 8, 15, 16, 17, 18, 26, 27, 28, 29, 78, 82, 83, 93, 95, 105, 108, 109, 110, 111, 117, 118, 121, 122, 123, 125, 126, 127, 136, 141, 144, 155, 156, 157, 160, 161, 164, 171, 182, 183, 184, 188, 193, 202, 203, 204, 206, 207, 215, 216, 220, 224, 228, 231, 232, 234, 235, 240, 244, 246, 255, 258, 272, 273, 274, 279, 283, 285, 286, 287, 290, 292, 293, 298, 299, 302, 304, 306, 310, 312, 328, 330, 331, 332, 333, 334, 335, 344, 350, 352, 364, 366, 376, 382, 384, 387, 389, 392, 401, 422, 424, 435, 457, 480, 481, 482, 484, 487, 488, 489], "In": [0, 1, 2, 5, 6, 38, 145, 203, 236, 310, 323, 337, 344, 453, 456, 458, 459, 461, 462, 463, 479, 480, 481, 482, 484, 487, 488], "It": [2, 5, 8, 126, 164, 267, 298, 308, 312, 323, 378, 382, 463, 475, 485, 487], "Its": 323, "No": [2, 5, 185, 186], "Not": [94, 227, 480], "ON": [3, 8], "Of": 482, "On": [1, 480, 482, 484], "One": [146, 149, 155, 231, 260, 480, 482], "THE": 8, "That": 5, "The": [0, 1, 2, 3, 5, 6, 7, 8, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 37, 47, 51, 61, 62, 68, 78, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 115, 116, 117, 118, 121, 122, 123, 125, 126, 127, 128, 129, 130, 131, 133, 134, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 178, 179, 180, 181, 184, 185, 186, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 211, 212, 215, 216, 217, 218, 220, 221, 222, 223, 225, 227, 228, 229, 230, 231, 232, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 262, 263, 268, 269, 270, 271, 272, 273, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 316, 318, 325, 326, 327, 328, 330, 331, 332, 333, 334, 335, 336, 337, 338, 340, 342, 343, 344, 348, 349, 350, 352, 355, 356, 357, 359, 360, 364, 366, 370, 371, 372, 373, 376, 377, 378, 379, 381, 382, 383, 384, 387, 389, 392, 398, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 415, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 447, 450, 453, 455, 456, 457, 458, 459, 460, 461, 462, 465, 467, 468, 469, 472, 475, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489], "Then": [4, 8], "There": [1, 2, 323, 401, 480], "These": [1, 2, 94, 235, 287, 424, 488], "To": [0, 2, 3, 4, 5, 6, 8, 215, 323, 450, 455, 480, 481, 482, 486], "With": 2, "_": [1, 3, 4, 5, 311, 323, 469, 470, 471, 472, 473, 477, 480, 484, 488], "__call__": [1, 5, 6, 323, 453], "__init__": [2, 5, 6, 9, 10, 11, 30, 112, 120, 314, 323, 453], "__main__": [2, 5], "__name__": [2, 5], "_a": 2, "_ext": 2, "_f": 188, "_in": [403, 404], "_out": [403, 404], "_p": 435, "_val": 417, "a1": 162, "a2": 162, "a_": 188, "a_max": [0, 93], "a_min": [0, 93], "a_ndim": 1, "a_shap": 1, "a_strid": 1, "a_view": 485, "ab": [0, 16, 171, 188, 298, 344, 348, 350, 358, 383, 414, 436, 480], "abil": 481, "abl": [2, 236], "about": [1, 2, 5, 6, 131, 209, 484, 488], "abov": [1, 2, 5, 236, 296, 323, 401, 460, 481, 482, 483, 484, 488], "absolut": [0, 12, 16, 171, 413, 414, 434], "acc": 312, "acceler": [2, 328], "access": [0, 5, 50, 323, 453, 464, 481, 484, 488], "accord": [0, 241, 303, 306, 379, 403, 404, 405, 406], "accordingli": 2, "accumul": [312, 383], "accuraci": 6, "accustom": 5, "achiev": [323, 481], "across": [1, 2, 8, 344, 481], "act": [2, 430], "action": 323, "activ": [2, 8, 210, 337, 398, 400, 416, 436, 446, 447, 449, 480], "actual": [5, 18, 366, 453, 484], "ad": [0, 1, 2, 4, 8, 141, 348, 453, 456, 457, 458, 459, 460, 461, 467, 481, 484, 487], "adadelta": 455, "adafactor": 455, "adagrad": 455, "adam": [455, 461, 462, 471, 472], "adamax": 455, "adamw": [455, 462], "adapt": [456, 457, 458, 481], "add": [0, 1, 2, 3, 5, 14, 38, 138, 198, 231, 236, 330, 331, 332, 333, 334, 335, 482, 488], "add_argu": 5, "add_depend": 2, "add_librari": 2, "addit": [0, 2, 5, 8, 13, 14, 141, 143, 145, 193, 328, 344, 350, 379, 383, 453, 482], "addmm": 0, "address": 2, "adjac": 337, "advanc": [5, 480], "advantag": 488, "advis": 485, "affin": [328, 344, 348, 350, 352, 382], "after": [2, 5, 6, 28, 158, 160, 163, 208, 232, 236, 328, 344, 350, 359, 360, 364, 366, 373, 376, 377, 378, 379, 400, 434, 480, 488], "after_1": 231, "after_2": 231, "after_i": 231, "after_n": 231, "afternoon": 5, "again": [5, 8, 323, 480], "against": 0, "aggreg": 379, "ago": 5, "ai": 112, "ainv": [187, 191], "albeit": 488, "algebra": 7, "algorithm": [401, 462], "alia": [96, 97, 341], "alibi": 323, "align": [183, 236, 343, 349], "align_corn": 401, "all": [0, 1, 2, 3, 6, 8, 16, 28, 38, 84, 85, 86, 94, 99, 100, 101, 103, 104, 112, 121, 122, 123, 140, 148, 151, 154, 157, 162, 163, 190, 203, 231, 232, 258, 277, 306, 323, 359, 360, 364, 367, 368, 369, 374, 376, 379, 392, 400, 401, 450, 453, 475, 477, 480, 483, 484, 486, 489], "all_avg": 481, "all_reduce_grad": 481, "all_sum": 481, "allclos": [0, 1, 142], "alloc": [2, 211, 215, 216, 453], "allow": [0, 1, 2, 177, 308, 323, 378, 453, 475, 481, 483, 486], "allow_col_major": 0, "almost": 5, "alon": [2, 485], "along": [0, 2, 26, 27, 94, 95, 108, 109, 110, 111, 121, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 162, 163, 167, 184, 188, 235, 246, 255, 258, 272, 274, 278, 286, 287, 290, 291, 292, 293, 300, 323, 342, 384, 415], "alpha": [0, 2, 14, 236, 329, 339, 410, 411, 435, 437, 440, 460, 467], "alpha_": 2, "alreadi": [2, 3, 5, 481], "also": [0, 1, 2, 5, 6, 7, 8, 11, 13, 87, 88, 89, 119, 128, 129, 133, 148, 151, 154, 157, 165, 166, 179, 180, 181, 198, 205, 221, 223, 227, 233, 236, 254, 257, 282, 306, 307, 318, 323, 363, 377, 379, 381, 382, 390, 412, 440, 442, 449, 455, 480, 481, 482, 483, 484, 485, 486, 489], "altern": 477, "alwai": [1, 83, 210, 309, 482], "am": 5, "among": 2, "amount": [5, 212, 325, 355], "amus": 5, "an": [0, 1, 2, 3, 5, 6, 8, 10, 15, 17, 30, 84, 85, 86, 91, 98, 99, 100, 101, 102, 103, 104, 120, 125, 126, 127, 136, 140, 141, 145, 158, 161, 168, 172, 182, 188, 193, 216, 217, 222, 228, 229, 231, 234, 235, 236, 237, 246, 255, 256, 258, 259, 274, 277, 284, 286, 287, 290, 291, 295, 302, 304, 305, 309, 310, 311, 312, 323, 336, 341, 344, 349, 350, 352, 359, 379, 380, 382, 384, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 413, 437, 450, 455, 456, 466, 470, 475, 477, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489], "anaconda": 481, "anchor": 435, "angl": [115, 238, 351], "angular": [144, 387], "ani": [0, 1, 2, 5, 7, 18, 94, 309, 310, 311, 312, 313, 323, 341, 359, 360, 363, 372, 382, 400, 401, 450, 472, 479, 480, 482, 484, 486, 487, 488], "anonym": 480, "anoth": [0, 93, 177, 203, 282, 303, 316, 323, 359, 480, 482, 483, 488], "anwywher": 8, "anyhow": 5, "anymor": 5, "anyth": [5, 298, 484], "anytim": 484, "api": [1, 2, 341, 481, 482], "app": 8, "append": [5, 203, 480, 484], "appl": [2, 5, 7, 8, 488], "appli": [0, 38, 144, 145, 162, 190, 310, 311, 312, 323, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 337, 338, 339, 341, 342, 344, 345, 346, 347, 348, 350, 351, 352, 353, 354, 355, 356, 357, 358, 360, 373, 380, 382, 383, 384, 385, 386, 388, 390, 391, 393, 394, 395, 396, 397, 398, 399, 401, 410, 411, 412, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 450, 463, 466, 472, 475, 480, 481], "applic": [3, 8], "apply_fn": 360, "apply_gradi": 455, "apply_to_modul": [323, 364], "approach": [430, 482], "appropri": [2, 480], "approx": 341, "approxim": [16, 341, 412, 413, 414], "ar": [0, 1, 2, 4, 5, 6, 7, 8, 16, 18, 82, 90, 91, 93, 94, 101, 105, 112, 118, 125, 126, 136, 140, 142, 145, 147, 148, 150, 151, 153, 154, 156, 157, 158, 163, 164, 171, 172, 173, 174, 175, 176, 177, 178, 185, 186, 188, 189, 193, 203, 216, 230, 231, 232, 236, 237, 239, 240, 241, 246, 247, 250, 251, 258, 264, 265, 277, 278, 286, 298, 301, 302, 306, 309, 310, 316, 328, 330, 331, 332, 333, 334, 335, 336, 337, 338, 344, 348, 350, 352, 366, 379, 382, 401, 422, 424, 425, 449, 453, 455, 462, 464, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488], "arang": [0, 1, 188, 246, 316, 401, 483, 485], "arbitrari": [309, 453], "arbitrarili": [1, 94, 323, 479, 482, 486], "arc": 0, "arcco": 0, "arccosh": 0, "architectur": [5, 8, 209, 323, 378, 488], "archiv": 487, "arcsin": 0, "arcsinh": 0, "arctan": 0, "arctan2": 0, "arctanh": 0, "arg": [2, 5, 10, 18, 120, 136, 264, 265], "arg1": 177, "arg2": 177, "argmax": [0, 6], "argmin": 0, "argnam": [164, 298], "argnum": [2, 164, 298, 482], "argpars": 5, "argpartit": 0, "argsort": 0, "argument": [1, 31, 65, 79, 94, 136, 164, 298, 310, 311, 312, 323, 401, 477, 481, 482, 487, 488, 489], "argumentpars": 5, "ari": [84, 85, 86], "aris": 485, "arm": 8, "arm64": 8, "around": 5, "arr": [0, 261, 483], "arr_0": 487, "arrai": [0, 1, 2, 5, 6, 7, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 115, 116, 117, 118, 121, 122, 125, 126, 127, 128, 129, 130, 131, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 220, 221, 222, 223, 224, 225, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 282, 283, 284, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 308, 323, 328, 349, 359, 366, 369, 374, 380, 401, 402, 403, 404, 405, 406, 407, 408, 409, 415, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 447, 450, 453, 456, 457, 458, 459, 460, 461, 462, 467, 468, 469, 470, 471, 472, 473, 480, 481, 482, 484, 485, 486, 488], "array_equ": [0, 16, 171], "arrayfir": 7, "arxiv": [5, 344, 348, 350, 358, 383, 414, 436, 456, 462], "as_strid": 0, "ascend": [185, 186], "ask": [5, 481], "assert": [1, 2, 142], "assign": [0, 2, 38, 453], "associ": [2, 264, 265, 484], "assum": [0, 2, 5, 90, 184, 185, 186, 189, 310, 323, 344], "astyp": [0, 1, 2, 5, 142, 359, 485], "atleast": 0, "atleast_1d": 0, "atleast_2d": 0, "atleast_3d": 0, "atol": [0, 16, 171], "atom": [1, 142], "atomic_fetch_add_explicit": 1, "atomic_output": [1, 142], "attach": 2, "attempt": 94, "attend": 379, "attent": [145, 364, 379, 392, 400], "attention_norm": 5, "attribut": [1, 9, 10, 11, 30, 314, 372, 453, 475], "audio": 401, "auto": [0, 2, 8], "autom": 482, "automat": [1, 2, 7, 142, 193, 481, 486, 487, 488], "autoregress": 5, "avail": [2, 4, 5, 6, 8, 10, 124, 213, 318, 488], "averag": [325, 326, 327, 456, 457, 459, 460, 461, 481], "avgpool1d": 323, "avgpool2d": 323, "avgpool3d": 323, "avoid": [1, 2, 371, 480], "awai": [2, 5], "awar": [480, 484], "ax": [0, 2, 15, 17, 26, 27, 79, 112, 138, 147, 148, 150, 151, 153, 154, 156, 157, 158, 170, 188, 202, 204, 206, 220, 231, 234, 258, 272, 277, 279, 283, 284, 290, 294, 299, 482], "axes_a": 0, "axes_b": 0, "axi": [0, 2, 5, 6, 15, 17, 26, 27, 28, 29, 33, 34, 35, 36, 41, 42, 43, 44, 56, 57, 58, 59, 63, 71, 74, 75, 76, 80, 95, 108, 109, 110, 111, 118, 121, 138, 141, 143, 146, 149, 152, 153, 154, 155, 156, 157, 158, 167, 184, 188, 202, 204, 206, 220, 222, 231, 232, 234, 235, 240, 246, 255, 258, 272, 273, 274, 277, 278, 279, 283, 284, 286, 287, 291, 292, 293, 294, 299, 300, 302, 325, 326, 327, 342, 355, 356, 357, 384, 415, 421, 423, 424, 428, 433, 435, 443, 444, 483], "axis1": [0, 46, 77, 118, 284, 293], "axis2": [0, 46, 77, 118, 284, 293], "axpbi": 2, "axpby_": 2, "axpby_gener": 2, "axpby_general_": 2, "axpby_impl": 2, "axpby_impl_acceler": 2, "b": [0, 1, 2, 3, 5, 13, 14, 16, 24, 82, 87, 88, 89, 90, 128, 129, 133, 142, 145, 160, 162, 165, 166, 170, 171, 179, 180, 181, 184, 188, 198, 199, 201, 203, 205, 221, 223, 227, 230, 233, 236, 243, 254, 257, 282, 290, 298, 311, 312, 342, 352, 384, 401, 415, 482, 483, 484, 485, 486, 487, 488], "b1": 162, "b2": 162, "b_": [343, 349], "b_stride": 1, "ba": [459, 461], "back": [5, 112, 213, 485], "backend": [1, 8, 123, 124], "backward": [1, 480, 482], "bad": 484, "balanc": 430, "baltimor": 188, "bandwidth": [480, 481], "bar": 481, "base": [0, 2, 144, 188, 195, 197, 233, 387, 400, 453, 455, 461, 475, 477, 480, 483], "base_idx": 1, "basi": 475, "basic": [4, 259, 482], "batch": [5, 14, 90, 145, 162, 163, 203, 244, 328, 330, 331, 332, 333, 334, 335, 337, 338, 343, 349, 379, 384, 401, 484], "batch_idx": 1, "batch_iter": [6, 455], "batch_siz": [6, 455], "batchnorm": 323, "becaus": [5, 210, 323, 484], "been": [0, 2, 5, 211, 484], "befor": [1, 2, 5, 8, 28, 142, 232, 363, 400, 464, 481, 483, 484], "before_1": 231, "before_2": 231, "before_i": 231, "before_n": 231, "beforehand": 230, "beggin": 258, "begin": [83, 183, 212, 236, 343, 349, 398, 416, 427, 434, 440, 446, 447], "behav": 112, "behavior": [244, 430, 483, 484], "behaviour": [112, 182, 183], "behind": 482, "being": [280, 323], "bell": 2, "below": [2, 8, 188, 295, 297, 316, 401, 484], "bench": 2, "benchmark": [2, 480], "benefici": [337, 338, 484], "best": 481, "beta": [0, 2, 14, 116, 236, 328, 344, 348, 350, 434, 455, 459, 460, 461, 462], "beta_": 2, "beta_1": [457, 459, 460, 461, 462], "beta_2": [459, 460, 461, 462], "better": [482, 488], "between": [0, 2, 7, 93, 158, 400, 423, 426, 427, 430, 471, 481, 484, 485, 488], "beyond": [258, 469, 472], "bfloat16": [2, 11, 167, 316, 485], "bfloat16_t": 2, "bia": [5, 116, 141, 163, 236, 237, 310, 323, 330, 331, 332, 333, 334, 335, 343, 349, 350, 352, 364, 366, 376, 379, 382, 384, 459, 460, 461, 464, 482], "bias": [0, 116, 163, 236, 237, 343, 349, 364, 376, 379], "bicub": 401, "big": [1, 480], "bigger": [5, 457], "bilinear": [1, 401], "binari": [193, 261, 262, 263, 264, 265, 300, 398, 422, 447, 480], "binary_cross_entropi": [323, 480], "bit": [0, 116, 163, 179, 236, 237, 257, 306, 316, 359, 381, 382, 383], "bitwis": [0, 87, 88, 89, 179, 257], "bitwise_and": 0, "bitwise_or": 0, "bitwise_xor": 0, "block": [0, 2, 5, 90, 400], "block_masked_mm": 0, "block_siz": [0, 90], "bn": 328, "bodi": [1, 142], "bool": [0, 1, 2, 15, 16, 17, 26, 27, 33, 34, 35, 36, 41, 42, 43, 44, 56, 57, 58, 59, 63, 75, 76, 78, 80, 82, 94, 101, 108, 109, 110, 111, 123, 124, 142, 144, 163, 171, 177, 182, 183, 188, 191, 193, 202, 204, 206, 207, 213, 216, 220, 234, 237, 279, 283, 299, 328, 330, 331, 332, 333, 334, 335, 343, 344, 348, 349, 350, 352, 359, 363, 364, 366, 371, 373, 376, 379, 382, 384, 387, 392, 400, 401, 422, 425, 457, 468], "bool_": [11, 316], "boolean": [0, 16, 82, 171, 172, 173, 174, 175, 176, 177, 199, 200, 201, 316, 375, 483], "both": [1, 2, 13, 87, 88, 89, 128, 129, 133, 165, 166, 177, 179, 180, 181, 188, 198, 205, 221, 223, 227, 233, 240, 254, 257, 282, 306, 325, 326, 327, 348, 349, 355, 356, 357, 455, 480, 481, 482, 486, 488], "bottom": 401, "bound": [0, 247, 250, 251, 341, 409, 480, 483, 488], "boundari": 471, "bracket": 5, "brain": 316, "break": 485, "bregler": 337, "broadcast": [0, 2, 13, 16, 87, 88, 89, 91, 93, 128, 129, 133, 145, 161, 165, 166, 171, 179, 180, 181, 198, 203, 205, 221, 223, 227, 233, 235, 239, 240, 244, 250, 251, 254, 257, 282, 287, 303, 379], "broadcast_arrai": [0, 2], "broadcast_to": 0, "broadcasted_input": 2, "brought": 7, "btl_tcp_link": 481, "buffer": [1, 2, 210, 485], "bui": 5, "build": [3, 5, 7, 405, 453, 480], "build_ext": [2, 8], "build_shared_lib": [2, 8], "built": [1, 2, 8, 484], "bundl": 5, "byte": [51, 61, 210, 211, 212, 215, 216, 217, 316], "c": [0, 1, 2, 5, 14, 188, 328, 330, 331, 332, 333, 334, 335, 337, 338, 348, 349, 485, 486, 488], "c_": [349, 462], "c_in": [98, 99, 100, 101, 102, 103, 104], "c_out": [98, 99, 100, 101, 102, 103, 104], "c_pad": 1, "c_t": [349, 462], "cach": [5, 8, 208, 210, 211, 215, 480], "calcul": [188, 422, 425, 431, 457], "call": [2, 3, 5, 6, 31, 126, 160, 208, 212, 323, 340, 364, 376, 381, 389, 453, 455, 464, 480, 481, 482, 484], "callabl": [94, 112, 142, 164, 178, 298, 301, 302, 306, 307, 309, 310, 311, 312, 359, 360, 363, 371, 384, 389, 400, 402, 403, 404, 405, 406, 407, 408, 409, 456, 457, 458, 459, 460, 461, 462, 467, 468, 469, 470, 471, 472, 473], "can": [1, 2, 3, 5, 7, 8, 13, 18, 65, 79, 83, 87, 88, 89, 94, 118, 119, 120, 128, 129, 133, 136, 145, 165, 166, 179, 180, 181, 188, 198, 205, 217, 221, 223, 227, 233, 239, 240, 247, 250, 251, 254, 257, 262, 282, 293, 298, 312, 323, 326, 327, 340, 341, 356, 357, 363, 376, 381, 389, 401, 424, 450, 453, 455, 463, 464, 477, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489], "cannot": [5, 93, 483, 485], "captur": [2, 3, 94, 218, 219, 323, 480], "care": [5, 484], "carri": 2, "cartesian": 207, "case": [2, 5, 121, 122, 123, 125, 126, 127, 148, 151, 152, 154, 155, 156, 157, 158, 182, 183, 184, 185, 186, 187, 189, 190, 191, 203, 256, 277, 326, 327, 337, 356, 357, 398, 416, 434, 440, 446, 447, 463, 464, 480, 482, 486, 487, 488, 489], "cast": [2, 37, 155, 156, 157, 193, 359, 371, 485], "caster": 2, "categor": 5, "categori": [11, 177, 316], "catlas_saxpbi": 2, "caus": [323, 480, 484], "causal": 5, "caution": 83, "cd": [3, 8], "cdf": [241, 341, 412], "cdot": [414, 423, 426, 442], "ceil": 0, "ceildiv": 1, "cell": 349, "celu": 323, "certain": [2, 373, 480], "chang": [83, 94, 267, 300, 377, 382, 401, 427, 434, 480, 485], "channel": [1, 98, 99, 100, 101, 102, 103, 104, 328, 330, 331, 332, 333, 334, 335, 337, 338], "channel_idx": 1, "charact": 309, "check": [0, 2, 8, 82, 124, 177, 185, 186, 213, 366, 482, 483], "checklist": 481, "checkout": [3, 480], "checkpoint": [400, 455], "chen": 462, "child": 378, "children": 323, "chip": 8, "choleski": 183, "choos": [5, 144, 387], "chosen": 131, "clamp": 158, "clang": 8, "clariti": 482, "class": [2, 5, 6, 9, 10, 11, 30, 112, 120, 314, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 453, 456, 457, 458, 459, 460, 461, 462, 467, 468, 475], "class_pred": 306, "classif": [405, 406], "classifi": 6, "classmethod": [381, 382], "clear": 208, "click": 8, "clip": [0, 308, 422, 457], "clip_threshold": 457, "clipped_grad": 308, "clone": 8, "close": [4, 7, 8, 16, 171], "closer": 310, "cmake": [3, 8], "cmake_arg": 3, "cmake_build_parallel_level": 8, "cmake_build_typ": 8, "cmake_current_list_dir": 2, "cmake_host_system_processor": 8, "cmake_library_output_directori": 2, "cmakebuild": 2, "cmakeextens": 2, "cmakelist": 2, "cmdclass": 2, "co": [0, 2, 112, 392, 482], "code": [1, 142, 480, 481, 484], "coeffici": [2, 456, 457, 459, 460, 461, 462], "col": 295, "col_contigu": 2, "cold": 8, "collect": [2, 310, 311, 479], "column": [2, 140, 168, 185, 236], "com": [8, 481], "combin": [5, 190, 312], "come": [2, 5, 481, 482], "command": [2, 3, 8, 481], "command_buff": 2, "common": [2, 455, 480, 484], "commonli": [6, 377, 450, 480], "commun": [7, 120, 123, 124], "compar": [2, 82, 480], "comparison": [16, 133, 165, 166, 180, 181, 227], "compat": [5, 145, 240, 244, 341, 487], "compil": [0, 3, 7, 8, 119, 132, 142, 481, 482, 484], "compiled_fun": 480, "compiled_grad_fn": 480, "complet": [4, 5, 8, 216, 377, 378, 482, 488], "complex": [2, 96, 97, 153, 154, 155, 156, 157, 169, 185, 186, 252, 309, 316, 323, 378, 480, 482], "complex64": [2, 11, 316], "complex64_t": 2, "complexflo": 11, "compon": [2, 5], "compos": [7, 323, 480, 482, 486], "composit": 486, "compress": 265, "compromis": 5, "comput": [0, 1, 2, 4, 5, 6, 7, 8, 108, 109, 110, 111, 112, 116, 131, 139, 144, 164, 178, 182, 183, 184, 185, 186, 187, 188, 191, 198, 206, 230, 236, 254, 272, 279, 280, 290, 298, 299, 301, 307, 323, 328, 343, 344, 348, 349, 350, 364, 377, 382, 383, 387, 400, 403, 404, 405, 406, 413, 414, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 455, 456, 457, 459, 460, 461, 462, 466, 480, 481, 482, 486, 488], "computation": 484, "compute_encod": 2, "concaten": [0, 5, 121], "concept": 453, "concis": 5, "concret": [2, 343, 349, 352, 384, 484, 488], "conda": [8, 481], "condit": [0, 2, 303, 488], "config": [2, 481], "configu": 455, "configur": [116, 481], "confirm": 481, "confus": 6, "conj": 97, "conjug": [0, 96], "connect": 481, "consecut": [144, 236, 387], "consequ": 5, "consid": [5, 16, 82, 171, 309, 310, 311, 344, 479], "consider": 480, "const": [0, 1, 2, 425], "constant": [0, 2, 5, 8, 141, 143, 231, 323, 328, 344, 350, 383, 425, 435, 467, 469, 480, 485], "constant_valu": 231, "constitut": 310, "construct": [0, 2, 6, 45, 117, 161, 228, 291, 304], "consum": 484, "contain": [2, 5, 8, 28, 29, 68, 94, 118, 131, 152, 153, 154, 162, 163, 185, 188, 199, 200, 201, 236, 274, 303, 308, 323, 363, 365, 366, 372, 400, 431, 450, 453, 480, 481, 482], "content": [8, 363, 480], "context": 281, "contigu": [0, 1, 2, 83, 142], "continu": [329, 410, 482], "contract": [0, 131], "contrast": 460, "contribut": 2, "contriv": [482, 488], "control": [0, 351, 477, 484], "conv": 105, "conv1d": [0, 323], "conv2d": [0, 323], "conv3d": [0, 323], "conv_gener": 0, "conv_transpose1d": 0, "conv_transpose2d": 0, "conv_transpose3d": 0, "conveni": [1, 2, 6, 177], "convent": [18, 105, 130, 131, 401, 460], "convers": 7, "convert": [0, 1, 2, 78, 84, 85, 86, 115, 158, 238, 381, 382, 484, 485, 486], "convolut": [0, 98, 99, 100, 101, 102, 103, 104, 105, 330, 331, 332, 333, 334, 335, 337, 338], "convolv": [98, 99, 100, 101, 102, 103, 104], "convtranspose1d": 323, "convtranspose2d": 323, "convtranspose3d": 323, "coordin": [0, 207], "copi": [0, 1, 2, 5, 7, 232, 273, 485], "copy_inplac": 2, "copytyp": 2, "core": [1, 2, 3, 4, 5, 6, 306, 323, 325, 326, 327, 328, 348, 355, 356, 357, 366, 369, 371, 374, 401, 402, 403, 404, 405, 406, 407, 408, 409, 422, 424, 431, 450, 453, 455, 480, 481, 485, 486], "corner": 401, "correct": [2, 8, 459, 460, 461, 483, 484], "correctli": 38, "correl": [101, 337], "correspond": [0, 1, 2, 15, 17, 78, 93, 116, 118, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 185, 202, 204, 220, 234, 283, 290, 302, 310, 482], "cos_first": 392, "cosh": [0, 430], "cosin": [0, 19, 20, 106, 107, 423, 469, 471, 482], "cosine_decai": [455, 471], "cosine_similarity_loss": 323, "cost": [8, 457, 481, 484], "costli": 484, "cot": 1, "cot_index": 1, "cotan": [2, 112], "cotang": [1, 2, 112, 301], "could": [5, 323], "count": [323, 471], "counter": 477, "cours": 482, "coursera": 467, "cov": 244, "covari": [244, 328], "cover": 2, "cpp": 2, "cpu": [7, 8, 185, 186, 189, 488], "cpython": 2, "crash": [83, 480], "creat": [0, 2, 5, 8, 83, 123, 140, 168, 281, 323, 453, 455, 471, 480, 483, 485], "create_additive_causal_mask": 5, "criteria": 2, "cross": [6, 101, 422, 424], "cross_entropi": [6, 323], "crowd": 5, "cry": 5, "cubic": 401, "cummax": 0, "cummin": 0, "cumprod": 0, "cumsum": 0, "cumul": [0, 83, 108, 109, 110, 111], "current": [5, 7, 8, 83, 90, 100, 103, 104, 127, 209, 211, 236, 312, 323, 457, 481, 484], "custom": [7, 112, 142, 400], "custom_decod": 400, "custom_encod": 400, "custom_funct": 1, "custom_kernel_myexp_float": 1, "custom_tim": 2, "cvpr": 337, "cycl": 479, "d": [0, 1, 2, 5, 100, 104, 117, 118, 145, 170, 188, 203, 207, 230, 286, 293, 295, 296, 297, 313, 332, 335, 338, 343, 349, 384, 456, 459, 461, 488], "d1": 488, "d2": 488, "d2fdx2": 482, "d_i": 352, "dampen": 468, "darwin": 2, "data": [0, 2, 6, 7, 10, 18, 125, 140, 155, 156, 161, 168, 192, 224, 228, 241, 250, 293, 295, 300, 304, 338, 402, 403, 404, 405, 406, 407, 408, 409, 480, 481, 483, 485], "dataset": [4, 481, 484], "datatyp": 51, "dbuild_shared_lib": 8, "dcmake_build_typ": 8, "ddof": [0, 75, 80, 279, 299], "deal": 480, "debug": [1, 3, 481], "debugg": 7, "decai": [457, 460, 462, 468, 469, 470, 473], "decay_r": [457, 470, 473], "decay_step": 469, "decent": 6, "decid": [310, 363], "decim": [0, 66, 259], "declar": 2, "decltyp": 1, "decod": 400, "decomposit": [182, 183, 190], "decor": [1, 112], "decoupl": 460, "deep": [328, 403, 404, 405, 406], "def": [1, 2, 4, 5, 6, 112, 142, 298, 323, 453, 480, 481, 482, 483, 484, 485, 488], "default": [1, 2, 8, 14, 15, 16, 17, 18, 26, 27, 28, 29, 82, 83, 90, 94, 95, 98, 99, 100, 101, 102, 103, 104, 112, 113, 114, 116, 117, 118, 121, 122, 123, 125, 126, 127, 140, 142, 144, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 162, 163, 164, 167, 168, 171, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 202, 204, 206, 207, 215, 216, 217, 220, 224, 228, 231, 232, 234, 236, 237, 239, 240, 241, 243, 244, 245, 246, 247, 249, 250, 251, 255, 256, 259, 266, 267, 273, 274, 277, 278, 279, 281, 283, 285, 290, 292, 293, 294, 295, 296, 297, 298, 299, 302, 304, 306, 316, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 339, 342, 343, 345, 348, 349, 351, 352, 355, 356, 357, 359, 364, 366, 371, 373, 376, 379, 380, 381, 382, 384, 387, 392, 396, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 415, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 453, 456, 457, 458, 459, 460, 461, 462, 467, 468, 469, 477, 479, 480, 482, 485, 487, 489], "default_devic": 489, "default_stream": 489, "defin": [1, 2, 4, 5, 6, 8, 112, 126, 142, 163, 184, 188, 237, 306, 309, 485], "definit": [112, 182, 183, 244], "degre": [0, 238, 435], "delta": [427, 456], "delv": [405, 406], "demonstr": 485, "denomin": [348, 423, 456, 458, 459, 460, 461, 467], "dens": [207, 488], "depend": [0, 2, 3, 4, 8, 78, 188, 343, 349, 384, 481, 483, 487, 488], "depth": [309, 327, 332, 335, 338, 357, 482], "dequant": [0, 236], "deriv": [2, 482, 484], "descend": 361, "descent": [468, 480, 484], "describ": [2, 484], "descript": [2, 5, 316], "design": [1, 4, 7, 477, 488], "destin": [0, 2, 60, 127, 222, 235], "destroi": 480, "detach": 482, "detail": [1, 2, 10, 215, 323, 337, 387, 392, 401, 403, 404, 405, 406, 456, 458, 459, 461, 462, 483, 486], "determin": [0, 2, 118, 244, 312, 316, 370, 487], "dev": [2, 8], "develop": [2, 8], "developer_dir": 8, "deviat": [0, 245, 279, 403, 405, 408], "deviatoin": 0, "devic": [1, 2, 7, 8, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 52, 53, 54, 55, 56, 57, 58, 59, 60, 63, 64, 65, 66, 67, 69, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 113, 114, 115, 116, 117, 118, 121, 122, 125, 126, 127, 128, 129, 130, 133, 134, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 209, 216, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 243, 244, 245, 246, 247, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 303, 304, 305, 314, 488, 489], "device_info": 217, "devicetyp": 9, "df": 485, "dfdx": [482, 483], "dft": [146, 147, 148, 149, 150, 151, 155, 156, 157], "dhwc": 338, "diag": [0, 190], "diagon": [0, 45, 117, 140, 293, 295, 296, 297], "dict": [94, 136, 193, 209, 262, 263, 264, 308, 369, 374, 377, 378, 453, 455, 463, 464, 466, 479, 482, 487], "dict_kei": [310, 464], "dictionari": [5, 94, 193, 209, 262, 263, 308, 309, 312, 323, 363, 372, 377, 378, 465, 479, 487], "did": 5, "diff": 2, "differ": [7, 177, 282, 300, 434, 482], "differenti": [1, 2, 7, 329, 410], "difficult": 482, "difficulti": [403, 404], "dilat": [0, 98, 99, 100, 101, 102, 103, 104, 330, 331, 333, 334], "dim": [1, 5, 144, 145, 340, 344, 348, 350, 379, 381, 383, 387, 392, 400], "dimens": [0, 1, 2, 5, 15, 17, 26, 27, 62, 68, 78, 84, 85, 86, 94, 99, 100, 101, 103, 104, 118, 138, 144, 145, 153, 154, 156, 157, 158, 162, 163, 170, 182, 183, 185, 186, 187, 188, 189, 190, 191, 202, 203, 204, 206, 220, 234, 235, 236, 240, 249, 279, 283, 287, 290, 294, 299, 328, 330, 331, 332, 333, 334, 335, 337, 338, 342, 343, 344, 348, 349, 350, 379, 383, 384, 387, 400, 401, 415, 424, 480, 482], "dimension": [30, 141, 143, 146, 147, 148, 149, 150, 151, 155, 156, 157, 325, 326, 327, 328, 330, 331, 332, 333, 334, 335, 340, 352, 355, 356, 357, 381, 382, 392, 483, 485], "direct": [2, 5, 361, 462, 488], "directli": [2, 5, 83], "directori": [2, 5, 8], "disabl": [119, 215, 480], "disable_compil": 480, "disappoint": 5, "discard": [5, 309], "discov": 8, "discoveri": 462, "discret": [105, 146, 147, 148, 149, 150, 151, 155, 156, 157, 340, 381], "discuss": 2, "disk": 5, "dispatch": 2, "dispatch_thread": 2, "dispatchthread": 1, "displai": 323, "distanc": [5, 435], "distribut": [7, 8, 239, 240, 241, 243, 244, 245, 250, 251, 352, 403, 404, 405, 406, 408, 409, 425, 428, 433, 435, 450], "diverg": 428, "divid": [0, 2, 38, 160, 236, 254, 481], "divis": [0, 128, 160, 236, 254], "divisor": [279, 299], "divmod": 0, "dloss_dw": 482, "dloss_dx": 482, "dlpack": 485, "dlvalu": 298, "dmlx_build_cpu": 8, "dmlx_build_gguf": 8, "dmlx_build_safetensor": 8, "dmlx_metal_debug": 3, "dmlx_metal_jit": 8, "do": [0, 2, 5, 8, 300, 323, 365, 376, 450, 453, 460, 480, 481, 482, 484], "doc": [2, 6, 481], "document": [2, 3, 65, 79, 142, 262, 263, 316, 480, 482, 483], "doe": [0, 2, 3, 5, 8, 210, 300, 308, 323, 480, 483, 484, 485], "doesn": [2, 323], "domain": [250, 481], "don": [1, 8, 480, 488], "done": [323, 336, 383, 480, 481, 484, 485], "dot": [182, 187, 191, 290, 309, 368, 379], "doubl": [0, 5], "doubt": 5, "down": [5, 308], "downsampl": [325, 326, 327, 355, 356, 357], "dparam": 298, "draw": 240, "drop": 363, "dropout": [323, 337, 338, 373, 400, 480], "dropout2d": 323, "dropout3d": 323, "dst": 127, "dt": 134, "dtype": [0, 1, 2, 5, 11, 18, 30, 37, 38, 78, 81, 125, 126, 140, 142, 158, 161, 168, 177, 185, 186, 188, 189, 192, 228, 241, 243, 244, 245, 247, 250, 251, 293, 295, 300, 304, 316, 371, 401, 402, 403, 404, 405, 406, 407, 408, 409, 422, 424, 431, 469, 470, 471, 472, 473, 480, 481, 482, 483, 485, 486, 487], "dtypecategori": [177, 316], "dual": 430, "duchi": 458, "dure": [3, 94, 336, 337, 338, 401, 485], "dx": 112, "dy": 112, "dyld": 481, "dyld_library_path": 481, "dylib": 2, "dynam": 484, "e": [2, 6, 8, 112, 134, 142, 162, 163, 178, 268, 328, 330, 331, 332, 333, 334, 335, 337, 338, 344, 348, 350, 364, 383, 420, 421, 443, 444, 449, 455, 458, 480, 484, 489], "e5": 316, "e8": 316, "each": [0, 1, 2, 68, 116, 136, 144, 163, 177, 182, 183, 185, 186, 187, 190, 191, 203, 207, 231, 236, 237, 240, 255, 264, 265, 274, 291, 294, 300, 302, 303, 337, 338, 340, 343, 344, 349, 384, 387, 400, 422, 424, 477, 480, 481, 484], "eager": 484, "earli": 337, "earlier": 2, "eas": 5, "easi": [2, 323, 481], "easier": [1, 484], "edg": [93, 231, 401, 480], "edit": [8, 378], "effect": [337, 480, 484], "effici": [5, 7, 162, 337, 387, 484, 486], "eigenvalu": [185, 186], "eigenvector": 185, "einstein": [130, 131], "einsum": 131, "either": [8, 13, 65, 78, 79, 87, 88, 89, 93, 128, 129, 133, 160, 165, 166, 179, 180, 181, 188, 198, 203, 205, 221, 223, 227, 233, 254, 257, 282, 298, 326, 327, 356, 357, 389, 401, 405, 406, 485], "elem": [1, 142], "elem_to_loc": [1, 2], "element": [0, 1, 2, 12, 13, 19, 20, 21, 22, 23, 24, 25, 28, 70, 83, 87, 88, 89, 92, 106, 107, 108, 109, 110, 111, 116, 128, 129, 133, 134, 135, 137, 139, 140, 159, 160, 163, 165, 166, 171, 172, 173, 174, 175, 176, 179, 180, 181, 194, 195, 196, 197, 198, 199, 200, 201, 205, 207, 221, 223, 225, 227, 232, 233, 236, 237, 253, 254, 255, 257, 258, 260, 268, 269, 270, 271, 275, 276, 282, 286, 288, 289, 292, 298, 300, 303, 329, 336, 337, 338, 343, 347, 349, 358, 380, 384, 387, 391, 410, 417, 418, 420, 421, 436, 437, 439, 442, 443, 444, 445, 480, 482], "elementwis": [1, 96, 97], "elif": 5, "ellipsi": 483, "elman": 384, "els": [0, 2, 5, 323, 364, 481, 484], "elsewher": [295, 483], "elu": [323, 440], "emb": [5, 340, 381, 392], "embed": [5, 306, 323, 381, 387, 392, 423], "empti": [127, 244], "enabl": [3, 5, 8, 94, 132, 468], "encod": [2, 144, 387, 392, 400, 424], "encount": [2, 482], "end": [118, 183, 213, 236, 258, 343, 349, 398, 416, 427, 434, 440, 446, 447, 469, 472], "end_axi": [0, 49, 158], "end_encod": 2, "endif": 2, "endswith": 364, "enhanc": [5, 387, 484], "enjoi": 2, "enough": [2, 484], "ensur": [0, 1, 2, 8, 142, 308, 430, 481], "ensure_row_contigu": [1, 142], "enter": 5, "entir": [15, 17, 26, 27, 202, 204, 206, 220, 234, 279, 283, 299, 337, 338], "entri": [0, 246, 337, 338], "entropi": [6, 422, 424], "enumer": 323, "environ": [8, 119, 132, 481], "ep": [4, 141, 143, 328, 344, 348, 350, 383, 423, 425, 435, 455, 456, 457, 458, 459, 460, 461, 467], "epoch": 6, "epsilon": [328, 344, 348, 350, 383, 423, 425, 456, 458, 459, 460, 461, 467], "epsilon_1": 457, "epsilon_2": 457, "equal": [0, 1, 16, 28, 82, 140, 166, 171, 181, 227, 232, 247, 274, 348, 352], "equal_nan": [0, 16, 82, 171], "equat": [130, 131], "equival": [0, 2, 31, 65, 79, 126, 129, 160, 163, 167, 286, 329, 339, 341, 345, 346, 347, 353, 354, 378, 380, 382, 385, 386, 388, 390, 393, 394, 395, 396, 397, 399], "erf": [0, 135, 480], "erfinv": 0, "error": [0, 2, 8, 123, 134, 135, 216, 217, 274, 341, 412, 413, 414, 430, 432, 482, 485], "error_norm": 4, "estim": [459, 461], "eta": 462, "etc": [2, 236, 323, 401, 481], "eval": [2, 3, 4, 5, 6, 323, 453, 455, 480, 481, 482, 484, 486], "eval_cpu": 2, "eval_fn": 6, "eval_gpu": 2, "evalu": [2, 5, 6, 7, 127, 136, 178, 301, 323, 362, 373, 453, 455, 480, 486], "even": [1, 2, 5, 94, 480, 484, 485], "evenli": [0, 192], "everi": [236, 310, 455, 473, 482], "everyth": [5, 481], "everywher": 0, "exact": [413, 414], "exactli": [2, 5, 144, 366, 482], "exampl": [0, 3, 4, 5, 6, 8, 18, 38, 112, 142, 145, 158, 177, 185, 186, 188, 189, 281, 286, 308, 311, 312, 323, 325, 326, 327, 328, 348, 355, 356, 357, 364, 366, 373, 376, 401, 402, 403, 404, 405, 406, 407, 408, 409, 422, 424, 431, 450, 455, 464, 469, 470, 471, 472, 473, 477, 482, 483, 484, 485, 486, 487], "exce": 308, "exceed": 216, "except": [7, 140, 152, 153, 155, 156, 157, 344, 366, 483, 485], "exclud": [235, 287], "exclus": [0, 83, 89], "execut": [2, 8, 84, 85, 86, 212, 485, 488], "exist": [2, 3, 5, 364, 376], "exp": [0, 1, 139, 142, 198, 202, 241, 272, 329, 339, 391, 410, 411, 428, 440, 441, 445, 480, 488], "exp_elementwis": [1, 142], "expand_dim": 0, "expect": [2, 5, 330, 331, 332, 333, 334, 335, 336, 337, 338, 392, 400, 425, 480, 483], "expens": 400, "expensive_fun": 484, "experiment": 485, "explain": 2, "explicit": [2, 464, 477, 485], "explicitli": [162, 323, 477], "explor": 8, "expm1": 0, "exponenti": [0, 137, 139, 329, 339, 388, 410, 411, 440, 470], "exponential_decai": 455, "export": 8, "ext_modul": 2, "extend": [2, 231], "extens": [7, 193, 218, 370, 487], "extern": 485, "extra": [1, 310, 311], "extract": [0, 5, 45, 117, 118, 323, 363, 453, 481], "extras_requir": 2, "extrem": [483, 484], "ey": [0, 5, 187, 191], "f": [0, 2, 4, 6, 112, 188, 323, 349, 460, 480, 485], "f_jvp": 112, "f_t": 349, "f_vjp": 112, "f_vmap": 112, "face": 5, "factor": [2, 14, 167, 182, 183, 189, 401, 424, 470, 473], "fall": [2, 112], "fallback": 2, "fals": [0, 1, 2, 5, 15, 16, 17, 26, 27, 33, 34, 35, 36, 41, 42, 43, 44, 56, 57, 58, 59, 63, 75, 76, 80, 82, 94, 101, 108, 109, 110, 111, 123, 142, 171, 177, 182, 183, 188, 191, 193, 202, 204, 206, 207, 216, 220, 234, 279, 283, 299, 303, 306, 309, 310, 311, 312, 316, 344, 348, 350, 352, 364, 366, 376, 379, 382, 387, 392, 400, 401, 422, 425, 457, 468, 485], "famili": 5, "fan": [403, 404, 405, 406], "fan_in": [403, 404, 405, 406], "fan_out": [403, 404, 405, 406], "far": 455, "fast": [1, 7, 341, 414, 481, 488], "faster": [1, 2, 8, 129, 412, 422, 480, 482], "featur": [1, 7, 98, 99, 100, 101, 102, 103, 104, 144, 328, 343, 344, 348, 349, 350, 352, 382, 383, 384, 387, 400, 401, 480, 484], "feed": 5, "feed_forward": 5, "feedforward": [403, 404], "feel": 5, "fetch": 1, "few": [1, 2, 5, 6, 7, 8, 481, 484, 486], "ffn": 5, "ffn_norm": 5, "fft": 7, "figur": 481, "file": [5, 8, 193, 261, 262, 263, 264, 265, 366, 370, 481, 482, 487], "file_or_weight": 366, "fill": [0, 2, 161, 229, 295, 305, 402, 403, 404, 405, 406, 408, 409], "filter": [0, 105, 330, 331, 332, 333, 334, 335, 359, 363], "filter_and_map": 323, "filter_fn": [359, 363], "final": [2, 4, 5, 6, 167, 469, 472], "find": [2, 4, 8, 481], "find_packag": 2, "finder": 8, "fine": [477, 484], "finetun": 323, "finish": 2, "finit": [0, 172, 224], "first": [0, 1, 2, 3, 4, 5, 6, 8, 118, 121, 158, 164, 177, 179, 190, 199, 201, 203, 232, 249, 257, 284, 290, 293, 298, 309, 311, 312, 323, 326, 327, 344, 356, 357, 401, 423, 431, 457, 459, 460, 461, 464, 480, 482, 485, 488], "first_lay": 484, "fit": [2, 236, 488], "five": 480, "fix": [2, 5, 8, 484], "flag": [2, 8, 480, 485], "flat": [162, 163, 309, 313], "flat_param": 264, "flatten": [0, 28, 29, 108, 109, 110, 111, 188, 230, 232, 235, 255, 258, 273, 286, 287, 292, 309], "flexibl": 7, "flexibli": 378, "flip": [0, 101, 105], "float": [0, 1, 2, 11, 14, 16, 18, 78, 141, 142, 143, 144, 145, 160, 161, 167, 171, 177, 188, 224, 237, 239, 243, 245, 308, 316, 328, 336, 337, 338, 344, 348, 350, 359, 371, 383, 387, 392, 398, 400, 401, 402, 403, 404, 405, 406, 408, 409, 423, 424, 425, 427, 431, 434, 435, 446, 447, 456, 457, 458, 459, 460, 461, 462, 467, 468, 469, 470, 472, 473], "float16": [1, 2, 11, 142, 167, 193, 316, 359, 484, 485], "float16_t": [1, 2], "float32": [0, 1, 2, 11, 18, 140, 142, 145, 167, 168, 177, 185, 186, 188, 189, 192, 228, 241, 243, 244, 245, 250, 251, 295, 304, 316, 401, 402, 403, 404, 405, 406, 407, 408, 409, 422, 424, 431, 469, 470, 471, 472, 473, 480, 481, 482, 483, 484, 485, 486, 487], "float64": 177, "floor": [0, 1, 160], "floor_divid": 0, "flow": [0, 280, 484], "flush": 2, "fn": [307, 310, 311, 312, 486], "follow": [1, 2, 5, 6, 7, 8, 18, 105, 116, 145, 162, 188, 231, 236, 311, 323, 413, 414, 428, 456, 457, 458, 459, 460, 461, 462, 468, 477, 480, 481, 482, 488], "foo": 481, "food": 5, "forc": [5, 6, 323, 481, 486], "forg": 8, "formal": [116, 236], "format": [5, 193, 261, 262, 263, 264, 265, 485], "formul": [329, 339], "formula": 434, "forth": 401, "forward": [1, 2, 298, 480, 484], "found": 363, "four": 328, "fourier": [146, 147, 148, 149, 150, 151, 155, 156, 157], "frac": [134, 236, 268, 328, 336, 337, 338, 344, 348, 350, 352, 383, 391, 403, 404, 405, 406, 423, 425, 427, 430, 441, 443, 444, 456, 458, 459, 460, 461, 467], "fraction": 18, "framework": [2, 7], "free": 215, "freez": [323, 376, 453], "freq": 144, "frequenc": [144, 387, 392], "frequent": [480, 484], "friend": 5, "fro": 188, "frobeniu": 188, "from": [0, 1, 2, 5, 6, 7, 83, 115, 116, 118, 121, 122, 125, 126, 127, 142, 153, 154, 156, 157, 161, 162, 167, 188, 193, 203, 207, 212, 215, 229, 236, 238, 239, 240, 241, 242, 243, 247, 250, 264, 277, 280, 282, 286, 287, 292, 293, 303, 305, 309, 310, 311, 312, 313, 323, 352, 364, 366, 379, 403, 404, 405, 406, 408, 409, 425, 434, 450, 455, 479, 480, 481, 482, 484, 485, 486, 487, 488], "from_embed": 381, "from_linear": 382, "front": 2, "frozen": [323, 364, 374, 376, 382, 453], "fuction": 129, "full": [0, 1, 2, 6, 65, 79, 105, 142, 272, 377, 378, 425, 480, 481, 484], "full_turn": 392, "fulli": [2, 7, 481, 485, 488], "fun": [94, 164, 178, 298, 301, 302, 480, 483, 484, 488], "fun1": 484, "func": 384, "function": [0, 1, 2, 3, 4, 5, 6, 7, 16, 18, 83, 94, 112, 129, 134, 135, 142, 164, 171, 178, 182, 183, 185, 186, 187, 188, 189, 190, 191, 203, 217, 268, 298, 301, 302, 307, 308, 310, 311, 312, 323, 329, 339, 341, 342, 345, 346, 347, 353, 354, 358, 360, 364, 371, 376, 380, 384, 385, 386, 388, 389, 390, 391, 393, 394, 395, 396, 397, 398, 399, 400, 412, 413, 414, 415, 416, 417, 418, 420, 421, 422, 436, 441, 443, 444, 445, 446, 447, 448, 450, 455, 464, 477, 479, 481, 483, 484, 485, 487], "functool": 480, "further": [2, 8, 482], "fuse": [1, 480], "fusibl": 480, "futur": [5, 382, 483, 484], "g": [3, 8, 112, 142, 188, 236, 349, 449, 467, 468, 484, 489], "g_t": [349, 456, 458, 459, 460, 461, 462, 467, 468], "gain": [403, 404, 405, 406], "gamma": [328, 344, 348, 350, 383, 403, 404, 405, 406], "gap": 1, "gate": [342, 343, 415], "gather": [0, 121, 162, 163], "gather_mm": [0, 163], "gather_qmm": 0, "gaurante": 300, "gaussian": [4, 341, 412, 413, 414, 425], "gaussian_nll_loss": 323, "gelu": [323, 413, 414, 480], "gelu_approx": [323, 341, 412], "gelu_fast_approx": [323, 341, 412], "geluapprox": 341, "gelufast": 341, "gener": [0, 1, 2, 3, 4, 11, 18, 101, 140, 142, 153, 154, 192, 207, 239, 244, 245, 246, 247, 250, 251, 400, 477, 480, 483, 484, 489], "general_": 2, "generate_stub": 8, "geq": [398, 447], "get": [2, 4, 6, 8, 99, 100, 101, 103, 104, 113, 114, 209, 210, 211, 212, 242, 323, 480, 482, 484, 488], "get_cache_memori": 208, "get_command_encod": 2, "get_kernel": 2, "gguf": [8, 193, 262, 487], "gh": 1, "gii": 1, "git": 8, "github": [4, 6, 8, 480], "give": [2, 5, 6, 28, 480], "given": [0, 2, 8, 15, 17, 28, 38, 83, 91, 93, 95, 108, 109, 110, 111, 116, 118, 131, 136, 138, 145, 146, 147, 148, 149, 150, 151, 155, 156, 157, 161, 162, 188, 202, 204, 206, 215, 220, 224, 226, 234, 244, 246, 247, 258, 259, 267, 272, 274, 279, 283, 285, 291, 292, 293, 295, 296, 297, 299, 314, 336, 363, 379, 423, 425, 431], "gix": 1, "gix_mult": 1, "giy_mult": 1, "global": [119, 121, 122, 123, 125, 126, 127, 132, 248, 308, 477, 480], "glorot": [403, 404], "glorot_norm": 323, "glorot_uniform": 323, "glu": [5, 323], "gm": 1, "gn": 1, "go": [2, 5, 482], "golub": 188, "good": [2, 8, 455, 480, 481, 488], "goroshin": 337, "gower": 5, "gpu": [1, 3, 7, 8, 209, 483, 488], "gputrac": [3, 218], "grad": [2, 4, 6, 298, 308, 455, 463, 480, 481, 482, 483, 484, 486], "grad_fn": [4, 480, 482], "gradient": [0, 4, 6, 112, 164, 280, 298, 307, 308, 323, 364, 377, 382, 400, 430, 453, 455, 456, 457, 459, 460, 461, 462, 463, 466, 468, 480, 481, 482, 483, 484, 485, 486], "grain": 477, "graph": [2, 5, 6, 7, 482], "great": 3, "greater": [0, 5, 28, 139, 166, 232, 308, 398, 447], "greater_equ": 0, "grep": 8, "grid": [2, 142, 207], "grid_dim": 2, "grid_grad": 1, "grid_idx": 1, "grid_sampl": 1, "grid_sample_grad": 1, "grid_sample_ref": 1, "grid_sample_vjp": 1, "grid_shap": 1, "grid_siz": 1, "ground": [4, 5, 424, 434], "group": [0, 1, 98, 99, 100, 101, 102, 103, 104, 116, 121, 122, 123, 125, 126, 127, 145, 163, 236, 237, 300, 306, 330, 331, 344, 381, 382, 481], "group_dim": 2, "group_siz": [0, 116, 163, 236, 237, 306, 381, 382], "groupnorm": 323, "grow": 484, "gru": 323, "guid": [2, 7], "gw": 1, "h": [1, 2, 98, 99, 100, 102, 103, 104, 188, 328, 331, 332, 334, 335, 337, 338, 343, 349, 384, 482, 484], "h_": [343, 349, 384], "h_in": 1, "h_stride": 1, "h_t": [343, 349, 384], "ha": [2, 3, 5, 6, 7, 8, 78, 94, 118, 127, 152, 153, 155, 156, 157, 164, 182, 183, 185, 186, 187, 190, 191, 207, 211, 240, 328, 343, 349, 352, 384, 453, 455, 480, 483, 484, 486, 488], "had": 5, "hadamard": [0, 167], "hadamard_transform": 0, "half": [2, 18, 247, 251, 387, 484], "halv": [342, 415], "hand": [5, 482, 484], "handi": 482, "handl": [2, 323, 480], "happen": [2, 5, 141, 400, 455, 480, 484], "happi": 5, "hard": 5, "hard_shrink": [323, 345], "hard_tanh": [323, 346], "hardshrink": [323, 416], "hardswish": 323, "hardtanh": [323, 417], "hat": [116, 236], "have": [0, 1, 2, 5, 8, 16, 82, 84, 85, 86, 90, 121, 145, 153, 154, 156, 157, 163, 171, 203, 218, 240, 300, 309, 349, 379, 389, 462, 464, 479, 480, 481, 483, 484, 488], "haven": 5, "hazan": 458, "he": [5, 405, 406], "he_norm": 323, "he_uniform": 323, "head": [145, 379, 400], "header": [2, 142], "heart": 5, "heavi": 5, "height": [326, 327, 328, 331, 332, 334, 335, 337, 338, 356, 357], "hello": [309, 313], "help": [2, 5, 480, 488], "helper": [5, 142, 480], "henc": [0, 2, 236, 480], "hendryck": 414, "here": [2, 5, 455, 480, 482, 484, 487, 488], "hermitian": [185, 186], "hf": 349, "hg": 349, "hh": 384, "hi": [5, 349], "hidden": [343, 349, 384, 400], "hidden_dim": [6, 453, 455], "hidden_s": [343, 349, 384], "hierarchi": 316, "high": [247, 251, 323, 340, 409, 450], "high_pad_s": 0, "higher": [2, 170, 217, 431, 482], "highli": 8, "him": 5, "hing": 426, "hinge_loss": 323, "hinton": 467, "hit": 2, "hn": 343, "ho": 349, "hold": [2, 5, 10, 11, 188, 480], "homebrew": 481, "hopkin": 188, "host": 2, "host1": 481, "host2": 481, "host_nam": [1, 2], "hostfil": 481, "hostnam": 481, "hot": 424, "hour": 5, "how": [2, 5, 6, 323, 325, 326, 327, 330, 331, 332, 333, 334, 335, 340, 355, 356, 357, 381, 401, 463, 480, 483, 488], "howev": [2, 112, 323, 341, 344, 464, 477, 480, 481, 484, 485], "hr": 343, "http": [344, 348, 350, 358, 383, 414, 436], "huber": 427, "huber_loss": 323, "human": [405, 406], "hundr": 8, "hurri": 5, "hutter": 460, "hyperbol": [0, 20, 22, 25, 107, 271, 289, 399, 448], "hz": 343, "i": [0, 1, 2, 3, 5, 6, 7, 8, 16, 18, 28, 37, 78, 83, 93, 99, 100, 101, 103, 104, 105, 108, 109, 110, 111, 112, 117, 118, 121, 122, 124, 125, 126, 127, 129, 136, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 160, 161, 162, 163, 167, 171, 172, 177, 178, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 193, 198, 202, 203, 207, 213, 216, 217, 231, 232, 235, 236, 237, 244, 245, 246, 256, 258, 261, 262, 263, 268, 272, 274, 279, 280, 285, 286, 287, 290, 293, 294, 298, 299, 300, 301, 302, 303, 306, 308, 309, 310, 311, 312, 316, 318, 323, 325, 326, 327, 328, 330, 331, 332, 333, 334, 335, 336, 337, 338, 341, 343, 344, 348, 349, 350, 352, 355, 356, 357, 363, 364, 370, 372, 373, 375, 376, 378, 379, 380, 382, 383, 384, 387, 392, 398, 400, 401, 405, 406, 412, 414, 422, 423, 425, 430, 431, 434, 435, 437, 442, 447, 453, 455, 457, 460, 462, 463, 464, 469, 471, 472, 477, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489], "i386": 8, "i_n": 1, "i_nw": 1, "i_s": 1, "i_sw": 1, "i_t": 349, "iclr": [459, 460, 461], "id": [6, 8], "idea": [482, 484], "idempot": [364, 376], "ident": [0, 112, 140, 280, 323, 373], "identifi": [2, 309, 479], "idim": 6, "idiom": [6, 480], "idx": [38, 483], "ie": [376, 481], "ieee": 316, "ignor": [5, 38, 93, 94, 136, 457], "ih": 384, "ii": 1, "ij": 207, "imag": [0, 331, 332, 334, 335, 337, 338, 401], "imagenet": [405, 406], "imaginari": 169, "immedi": [5, 359], "implement": [0, 1, 4, 6, 144, 145, 188, 340, 363, 379, 387, 389, 392, 398, 400, 401, 447, 456, 457, 458, 459, 461, 462, 463, 475, 480, 482], "impli": 300, "implicit": [477, 480, 482], "implicitli": 484, "import": [2, 3, 4, 5, 6, 8, 112, 167, 188, 264, 298, 309, 310, 311, 312, 313, 323, 325, 326, 327, 328, 348, 355, 356, 357, 366, 401, 422, 424, 431, 450, 453, 455, 480, 481, 482, 483, 484, 485, 486], "improv": [1, 2, 3, 5, 422, 456, 457, 458, 459, 460, 461, 467, 480, 481], "in_ax": [302, 482], "in_channel": [330, 331, 332, 333, 334, 335], "in_dim": [323, 453], "in_proj": 453, "inci": 2, "includ": [1, 2, 108, 109, 110, 111, 142, 210, 211, 216, 350, 360, 372, 382, 425, 455, 480, 482, 483, 486, 487, 489], "include_dir": 2, "inclus": [0, 41, 42, 43, 44, 108, 109, 110, 111, 158], "incom": 2, "inconveni": 480, "incorpor": 485, "incorrect": 485, "increas": 217, "increment": 18, "incur": [5, 8], "incx": 2, "independ": [120, 337, 338], "index": [0, 1, 2, 7, 9, 28, 38, 138, 140, 164, 207, 232, 286, 287, 298, 314], "indic": [0, 2, 16, 26, 27, 28, 29, 38, 162, 163, 164, 171, 172, 173, 174, 175, 176, 177, 190, 235, 274, 286, 287, 298, 373, 375, 424, 431, 471, 483], "indices_or_sect": [71, 274], "indirectli": 485, "individu": [323, 337, 338], "ineffici": [483, 484], "inexact": [11, 177], "inf": [188, 224, 379], "infer": [7, 161, 193, 293, 481], "infin": [0, 173, 175, 176, 224, 355, 356, 357, 461], "infinit": [16, 171, 172], "info": [5, 8], "inform": [3, 5, 6, 8, 131, 209, 262, 263, 316, 323, 328, 341, 379, 482, 488], "inherit": [6, 479], "inifn": 173, "init": [323, 380, 450, 455, 469, 470, 472, 473, 481], "init_fn": [402, 403, 404, 405, 406, 407, 408, 409, 450], "init_valu": 1, "initi": [1, 3, 4, 5, 123, 312, 323, 328, 344, 348, 350, 352, 380, 383, 402, 403, 404, 405, 406, 407, 408, 409, 453, 464, 469, 470, 472, 473, 480, 481, 484], "initializer_list": 0, "inject": 0, "inlin": 0, "inner": [0, 480], "inorm": 348, "inp": [1, 142], "inp_ndim": 1, "inp_shap": 1, "inp_strid": 1, "inplac": [2, 8], "input": [0, 1, 2, 4, 5, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 115, 117, 118, 121, 122, 127, 128, 129, 130, 131, 133, 134, 135, 137, 138, 139, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 162, 163, 164, 165, 166, 167, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 220, 221, 222, 223, 224, 225, 227, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 246, 249, 252, 253, 254, 255, 256, 257, 258, 259, 260, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 282, 283, 284, 286, 287, 288, 289, 290, 291, 292, 293, 294, 296, 297, 298, 299, 300, 302, 303, 305, 325, 326, 327, 328, 330, 331, 332, 333, 334, 335, 337, 338, 340, 342, 343, 344, 348, 349, 350, 352, 355, 356, 357, 379, 382, 383, 384, 387, 398, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 415, 422, 423, 425, 426, 427, 428, 430, 431, 433, 435, 447, 450, 480, 482, 483, 486, 487], "input_dil": [0, 101], "input_dim": [6, 323, 352, 382], "input_nam": [1, 142], "input_s": [343, 349, 384], "inputs1": 431, "inputs2": 431, "insert": [118, 138, 488], "insid": 480, "inspect": [3, 480, 486], "inspir": 7, "instabl": 435, "instal": 2, "instanc": [5, 38, 112, 236, 313, 323, 348, 359, 360, 361, 364, 366, 367, 368, 373, 376, 377, 378, 389, 453, 485], "instancenorm": 323, "instanti": [1, 2, 6, 484], "instantiate_axpbi": 2, "instead": [2, 8, 112, 323, 378, 392, 481, 482, 484], "int": [0, 1, 2, 5, 6, 9, 15, 17, 18, 26, 27, 28, 29, 33, 34, 35, 36, 41, 42, 43, 44, 45, 46, 49, 56, 57, 58, 59, 60, 63, 66, 68, 71, 74, 75, 76, 77, 78, 80, 83, 90, 91, 95, 98, 99, 100, 101, 102, 103, 104, 108, 109, 110, 111, 116, 117, 118, 125, 126, 127, 131, 138, 140, 144, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 161, 163, 164, 168, 177, 184, 188, 192, 202, 204, 206, 209, 210, 211, 212, 215, 216, 217, 220, 222, 228, 231, 232, 234, 235, 236, 237, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 255, 256, 258, 259, 272, 273, 274, 277, 278, 279, 283, 284, 286, 287, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 302, 304, 306, 314, 323, 325, 326, 327, 328, 330, 331, 332, 333, 334, 335, 340, 342, 343, 344, 348, 349, 350, 352, 355, 356, 357, 379, 381, 382, 383, 384, 387, 392, 400, 415, 423, 424, 428, 433, 435, 453, 469, 471, 472, 473], "int16": 316, "int32": [0, 1, 11, 18, 38, 158, 177, 188, 247, 316, 401, 483, 486], "int64": [11, 316], "int8": [11, 316], "int_0": 134, "integ": [0, 11, 160, 162, 163, 177, 188, 209, 231, 236, 237, 239, 246, 247, 274, 286, 290, 302, 316, 340, 371, 471, 483], "integr": [18, 286, 484], "intend": [0, 480], "interact": 400, "interest": 488, "interfac": 2, "intermedi": 485, "intern": 328, "interpol": 401, "interv": [18, 192, 247, 251], "introduc": [0, 258], "intuit": 323, "invalid": [0, 83], "invers": [0, 19, 20, 21, 22, 23, 24, 25, 135, 149, 150, 151, 152, 153, 154, 183, 187, 191], "invert": 0, "involv": [455, 480], "iogpu": 217, "ip": 481, "is_avail": 123, "is_equival": 2, "is_floating_point": 2, "is_leaf": [309, 310, 311, 312], "is_leaf_fn": 363, "isclos": 0, "isfinit": 0, "ish": 5, "ishmael": 5, "isinf": 0, "isnan": 0, "isneginf": 0, "isposinf": 0, "issu": [481, 482, 485], "issubdtyp": [11, 316], "item": [0, 2, 4, 5, 6, 310, 455, 484, 485, 486], "iter": [4, 6, 190, 310, 311, 477, 480, 484], "iterm": 8, "itertool": [5, 310], "its": [0, 1, 2, 8, 183, 203, 232, 249, 295, 307, 313, 323, 382, 455, 459, 460, 461, 481, 484, 485, 488], "itself": [2, 306, 464], "ix": 1, "ix_n": 1, "ix_nw": 1, "ix_s": 1, "ix_sw": 1, "iy_n": 1, "iy_nw": 1, "iy_s": 1, "iy_sw": 1, "j": [5, 8, 188, 337, 458, 459, 461], "j8": 2, "jacobian": [2, 178, 301, 486], "jain": 337, "jax": [7, 477], "jit": 142, "jmlr": 458, "jnp": 485, "john": 188, "join": 471, "join_schedul": 455, "jointli": 244, "just": [2, 6, 350, 480, 483], "jvp": [2, 112, 486], "k": [0, 5, 45, 90, 117, 140, 145, 162, 167, 292, 295, 296, 297, 352, 364], "kaim": 406, "keep": [2, 15, 17, 26, 27, 202, 204, 206, 220, 234, 279, 283, 299, 323, 363, 482, 484], "keepdim": [0, 15, 17, 26, 27, 33, 34, 35, 36, 56, 57, 58, 59, 63, 75, 76, 80, 188, 202, 204, 206, 220, 234, 272, 279, 283, 299], "kei": [1, 3, 5, 145, 209, 239, 240, 241, 243, 244, 245, 246, 247, 249, 250, 251, 309, 310, 363, 364, 376, 379, 464, 477, 479, 482], "kept": 217, "kernel": [2, 7, 8, 98, 99, 100, 101, 102, 103, 104, 142, 325, 355, 480, 483], "kernel_dil": [0, 101], "kernel_s": [325, 326, 327, 330, 331, 332, 333, 334, 335, 355, 356, 357], "key_cach": 5, "key_input_dim": 379, "key_proj": 5, "keyword": [164, 264, 265, 298, 310, 323, 477, 487, 489], "kind": 5, "kingma": [459, 461], "kl_div_loss": 323, "kname": 2, "know": [2, 5], "known": [390, 442], "kth": [0, 28, 232], "kullback": 428, "kw_onli": 2, "kwarg": [10, 120, 264, 265, 489], "l": [5, 6, 182, 183, 185, 186, 323, 328, 330, 333, 343, 349, 384, 434], "l1": [298, 427, 429, 430, 434], "l1_loss": 323, "l2": [427, 430, 468], "l2_loss": 323, "l_": 427, "la": 188, "label": [3, 4, 424, 431], "label_smooth": 424, "lack": 483, "lambd": [345, 396, 416, 446], "lambda": [310, 311, 312, 323, 345, 359, 364, 371, 396, 416, 440, 446, 456, 457, 458, 459, 460, 461, 462, 467, 468, 480, 481, 482], "languag": [1, 2], "larg": [5, 323, 379, 430, 480, 481, 484], "larger": [1, 144, 217, 387, 462], "largest": [188, 224, 292], "lasso": 298, "last": [0, 1, 5, 29, 78, 141, 143, 148, 151, 153, 154, 156, 157, 158, 162, 163, 170, 182, 183, 185, 186, 187, 189, 190, 191, 203, 212, 240, 273, 290, 300, 330, 331, 332, 333, 334, 335, 337, 338, 344, 401, 485], "latenc": 481, "later": [3, 8, 455], "launch": [1, 2, 123, 481, 483], "layer": [7, 141, 306, 323, 325, 326, 327, 337, 338, 343, 344, 349, 350, 352, 355, 356, 357, 373, 378, 381, 382, 384, 389, 400, 449, 453], "layer_s": 6, "layernorm": 323, "layout": 1, "lazi": [7, 453, 486], "lazili": [5, 323], "lceil": 90, "ld": [343, 349, 384], "lead": [0, 18, 83, 480], "leaf": [94, 306, 309, 310, 311, 312, 363], "leaf_modul": 323, "leaki": [351, 419], "leaky_relu": 323, "leakyrelu": 323, "learn": [4, 6, 7, 328, 344, 348, 350, 380, 383, 455, 456, 457, 458, 459, 460, 461, 462, 467, 468], "learnabl": [330, 331, 332, 333, 334, 335, 389], "learning_r": [6, 455, 456, 457, 458, 459, 460, 461, 462, 464, 467, 468, 469, 470, 471, 472, 473, 480], "least": [5, 84, 85, 86, 93, 182, 183, 185, 186, 187, 189, 190, 191, 236], "leav": [2, 136, 310, 311, 312], "lectur": 467, "lecun": 337, "left": [0, 5, 144, 179, 188, 236, 258, 341, 387, 401, 413, 414, 425, 427, 435], "left_shift": 0, "leibler": 428, "len": [5, 148, 151, 154, 157, 167, 471], "length": [5, 277, 328, 330, 333, 343, 349, 384, 471], "leq": [427, 440], "less": [0, 1, 5, 28, 181, 217, 232, 387, 434], "less_equ": 0, "let": [1, 2, 4, 5, 183, 480, 482, 484, 485], "level": [0, 162, 163, 405, 406], "lh": [343, 349, 384], "lhs_indic": [0, 162, 163], "lhs_mask": 90, "lib": 481, "libmlx": 8, "libmlx_ext": 2, "libmpi": 481, "librari": [2, 8, 318, 323], "like": [2, 5, 7, 126, 177, 229, 305, 338, 430, 464, 466, 480, 481, 482, 484, 485, 486, 488], "likelihood": [425, 433], "limit": [0, 2, 93, 215, 216, 217, 483], "linalg": 167, "line": [5, 481, 484, 485], "linear": [0, 2, 5, 6, 7, 306, 310, 323, 329, 339, 341, 342, 351, 366, 382, 384, 385, 386, 388, 390, 401, 410, 411, 412, 413, 414, 415, 419, 438, 439, 440, 442, 450, 453, 464, 472, 480], "linear1": 5, "linear2": 5, "linear3": 5, "linear_schedul": [455, 471], "linearli": 379, "link": [2, 8], "linspac": 0, "lion": 455, "list": [1, 5, 10, 15, 17, 30, 71, 78, 83, 84, 85, 86, 91, 94, 95, 101, 131, 136, 142, 147, 148, 150, 151, 153, 154, 156, 157, 161, 164, 178, 188, 202, 204, 206, 207, 220, 228, 231, 234, 239, 240, 241, 243, 244, 245, 247, 250, 251, 262, 272, 274, 278, 279, 283, 290, 291, 294, 298, 299, 301, 304, 309, 312, 313, 323, 364, 366, 367, 368, 369, 374, 376, 377, 378, 453, 455, 459, 460, 461, 462, 471, 479, 480, 481, 482, 484], "liter": [2, 231, 401, 405, 406, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435], "littl": 5, "liu": 5, "live": [7, 142, 488], "ll": [1, 4, 6, 427, 480, 482], "llama": 5, "llamaattent": 5, "llamaencoderlay": 5, "llm": 7, "load": [6, 7, 318, 366, 481], "load_weight": [323, 484], "loader": 6, "loader_path": 2, "loan": 188, "loc": [1, 243, 245], "local": [323, 337, 481], "locat": [0, 2, 83, 377, 378, 481, 488], "log": [0, 196, 198, 202, 353, 354, 420, 421, 422, 425, 428, 430, 433, 445], "log10": 0, "log1p": 0, "log2": 0, "log_cosh_loss": 323, "log_sigmoid": [323, 353], "log_softmax": [323, 354], "logaddexp": 0, "logarithm": [0, 194, 195, 196, 197], "logcosh": 430, "logic": [0, 2, 199, 200, 201], "logical_and": 0, "logical_not": 0, "logical_or": 0, "logist": [0, 4, 268, 414, 442], "logit": [5, 240, 422, 424, 480], "logsigmoid": 323, "logsoftmax": 323, "logsumexp": 0, "long": 5, "longer": [5, 105, 482], "look": [2, 5, 481], "lookup": 340, "loop": [5, 6, 480, 481, 482, 484], "loshchilov": 460, "loss": [4, 6, 298, 323, 455, 480, 481, 482, 484], "loss_and_grad": 323, "loss_and_grad_fn": [6, 455, 480, 482], "loss_fn": [4, 6, 455, 480, 482], "loss_grad_fn": 481, "lot": [481, 482], "low": [247, 251, 409, 450], "low_pad_s": 0, "lower": [182, 183, 185, 186, 191, 236, 247, 250, 251, 295, 409], "lr": [4, 462], "lr_schedul": [469, 470, 471, 473], "lstm": 323, "lto": 2, "lu": 5, "luckili": 484, "lvalu": 298, "m": [0, 2, 5, 8, 90, 140, 162, 167, 188, 295, 456, 480], "m1": [1, 5, 480, 482, 488], "m10": 316, "m7": 316, "m_": [459, 460, 461, 462], "m_t": [459, 460, 461, 462], "mac": 481, "machin": [5, 7, 8, 467, 481], "maco": [8, 217], "macosx": 8, "made": [5, 318], "mai": [2, 188, 306, 337, 481, 482, 483], "main": [7, 118, 140, 142, 293, 310, 311, 323, 481], "maintain": [337, 338, 462], "major": [0, 2], "make": [1, 2, 3, 5, 6, 8, 203, 226, 267, 323, 469, 470, 472, 473, 480, 484, 486, 488], "make_shar": 2, "malloc_or_wait": 2, "man": 5, "manag": [281, 477, 481, 488], "mani": [2, 83, 274, 330, 331, 332, 333, 334, 335, 340, 381, 480, 481, 484], "manual": 323, "map": [2, 6, 38, 193, 310, 340, 359], "map_fn": [359, 363], "map_torch_to_mlx": 5, "margin": [431, 435], "margin_ranking_loss": 323, "mask": [0, 5, 90, 145, 373, 379, 483], "mask_lh": [0, 90], "mask_n": 1, "mask_nw": 1, "mask_out": [0, 90], "mask_rh": [0, 90], "mask_s": 1, "mask_sw": 1, "matadata": 193, "match": [8, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 210, 366, 401, 424, 481, 483, 485], "materi": [5, 7], "math": [5, 435, 480], "mathbf": 183, "mathcal": 352, "mathemat": 188, "mathrm": [134, 268, 348], "matmul": [0, 162, 488], "matric": [188, 189, 190], "matrix": [0, 4, 14, 45, 90, 116, 117, 140, 162, 163, 167, 168, 182, 183, 185, 186, 187, 188, 189, 190, 191, 203, 207, 236, 237, 244, 381, 382, 407, 450], "matter": [5, 323], "max": [0, 1, 2, 188, 205, 329, 355, 356, 357, 380, 410, 417, 418, 423, 425, 426, 431, 435, 437, 439, 457, 461, 480, 482, 488], "max_buffer_s": 209, "max_freq": 392, "max_i": 236, "max_norm": 308, "max_recommended_working_set_s": [209, 217], "max_val": 417, "maximum": [0, 6, 26, 38, 93, 108, 212, 216, 308, 323, 351, 355, 356, 357, 385, 392, 413, 414, 419, 438, 453, 484], "maxpool1d": 323, "maxpool2d": 323, "maxpool3d": 323, "maxtotalthreadsperthreadgroup": 2, "mca": 481, "md": 188, "me": 5, "mean": [0, 1, 4, 5, 6, 143, 243, 244, 245, 298, 323, 328, 344, 364, 383, 408, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 480, 482, 485], "meant": 112, "measur": 488, "mechan": 400, "medic": 338, "meet": 8, "member": [2, 323, 369, 374], "memori": [0, 1, 2, 7, 83, 208, 210, 211, 212, 214, 215, 216, 217, 400, 453, 457, 480, 484, 485], "memory_order_relax": 1, "memory_s": [209, 217], "memoryview": [484, 485], "merg": 480, "meshgrid": 0, "metadata": [4, 193, 262, 263], "metal": [2, 7, 142], "metal_captur": 3, "metal_kernel": 1, "metal_path": 8, "metallib": [2, 8], "method": [2, 5, 9, 10, 30, 112, 120, 306, 314, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 370, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 453, 456, 457, 458, 459, 460, 461, 462, 464, 467, 468, 475], "millisecond": [8, 480, 488], "min": [0, 2, 188, 221, 329, 380, 410, 417, 418, 437, 439], "min_freq": 392, "min_i": 236, "min_val": 417, "mind": [2, 5], "mine": 5, "minibatch": 6, "minim": 481, "minimum": [0, 27, 38, 93, 109, 392, 422, 423], "minsizerel": 8, "minu": 139, "minut": 5, "mish": 323, "miss": [366, 487], "mix": 483, "mkdir": [3, 8], "ml": 8, "mlp": [6, 323, 400, 455], "mlp_dim": [5, 400], "mlx": [1, 3, 4, 5, 6, 8, 318, 323, 450, 453, 455, 477, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488], "mlx_build_benchmark": 8, "mlx_build_cpu": 8, "mlx_build_exampl": 8, "mlx_build_gguf": 8, "mlx_build_met": [2, 8], "mlx_build_metallib": 2, "mlx_build_python_bind": 8, "mlx_build_safetensor": 8, "mlx_build_test": 8, "mlx_disable_compil": [119, 132, 480], "mlx_ext": 2, "mlx_ext_metallib": 2, "mlx_include_dir": 2, "mlx_metal_debug": [3, 8], "mlx_metal_jit": 8, "mlx_sample_extens": 2, "mlx_trace": 3, "mnist": 6, "mode": [0, 1, 2, 105, 231, 362, 373, 375, 401, 405, 406, 481], "model": [4, 6, 7, 264, 306, 307, 310, 311, 323, 359, 362, 364, 366, 370, 373, 375, 376, 377, 379, 400, 450, 453, 455, 463, 464, 466, 480, 481, 484], "modest": 2, "modif": 485, "modifi": 485, "modul": [2, 5, 6, 306, 307, 389, 400, 450, 466, 479, 480, 484], "moment": [5, 457, 459, 460, 461], "momentum": [328, 462, 464, 468, 480], "monei": 5, "monoton": 436, "more": [1, 2, 3, 6, 10, 78, 118, 162, 182, 183, 185, 186, 187, 190, 191, 203, 215, 216, 262, 263, 316, 323, 328, 337, 387, 392, 400, 401, 403, 404, 405, 406, 422, 477, 480, 481, 482, 483, 486, 488], "most": [2, 145, 240, 323, 466, 480, 481, 482, 483, 484], "move": [0, 2, 222, 488], "moveaxi": 0, "mpi": 318, "mpiexec": 481, "mpirun": 481, "mse": 298, "mse_loss": 323, "mtl": 2, "mtl_capture_en": 3, "mtlcommandbuff": 2, "mu": 468, "much": [1, 2, 5, 325, 326, 327, 355, 356, 357, 480, 484], "multi": [7, 145, 330, 331, 332, 333, 334, 335, 483, 485], "multidimension": 207, "multiheadattent": [5, 323], "multipl": [0, 1, 8, 14, 90, 141, 143, 162, 163, 203, 223, 236, 237, 379, 392, 470, 471, 473, 480, 484, 487], "multipli": [0, 2, 38, 163, 236, 237, 336, 392, 401], "murtadha": 5, "must": [0, 1, 2, 3, 8, 90, 93, 144, 145, 161, 163, 185, 186, 188, 239, 240, 244, 247, 250, 251, 303, 401, 485], "mx": [1, 2, 3, 4, 5, 6, 38, 96, 97, 112, 123, 126, 142, 158, 177, 185, 186, 188, 189, 193, 246, 264, 298, 308, 323, 325, 326, 327, 328, 339, 348, 351, 355, 356, 357, 359, 366, 370, 385, 401, 402, 403, 404, 405, 406, 407, 408, 409, 411, 419, 422, 423, 424, 428, 431, 438, 448, 450, 453, 455, 477, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489], "my": [5, 8], "my_devic": 489, "my_path": 264, "myexp": [1, 142], "myexp_strid": 1, "mymlp": 453, "n": [0, 1, 2, 5, 30, 90, 98, 99, 100, 101, 102, 103, 104, 140, 145, 146, 148, 149, 151, 152, 155, 157, 167, 168, 244, 279, 295, 299, 328, 330, 331, 332, 333, 334, 335, 337, 338, 343, 349, 384, 401, 430, 435, 481], "n_kv": 145, "n_q": 145, "n_t": 343, "naiv": [2, 482], "naive_add": 482, "name": [1, 2, 142, 163, 193, 236, 237, 262, 263, 264, 265, 323, 344, 363, 366, 368, 481, 483, 487], "named_modul": 323, "nan": [0, 16, 82, 171, 172, 174, 224], "nan_to_num": 0, "nanobind": [2, 400], "nanobind_add_modul": 2, "nativ": 8, "natur": [0, 194, 196, 484], "nb": 2, "nb_domain": 2, "nb_func": 400, "nb_modul": 2, "nb_static": 2, "nbyte": 2, "nc": 328, "ndarrai": [30, 483, 484, 486], "ndhwc": [332, 335, 338], "ndim": [0, 1, 2, 158, 188, 190, 401], "ne": 1, "nearest": [1, 401], "necessari": 323, "necessarili": 292, "need": [1, 2, 5, 6, 7, 8, 82, 236, 323, 377, 378, 392, 400, 477, 481, 482, 484, 485, 486, 488], "neg": [0, 118, 158, 175, 224, 258, 293, 351, 355, 356, 357, 379, 425, 433, 435, 483], "negat": [0, 225], "negative_slop": [351, 419], "neginf": [0, 224], "neighbor": 401, "neither": [164, 298], "nelem": 2, "nervou": 5, "nest": [78, 94, 312, 323, 453, 479, 482], "nesterov": 468, "network": [5, 7, 328, 337, 340, 403, 404, 450, 453, 467, 481], "neural": [5, 7, 340, 403, 404, 436, 450, 453, 467], "never": [5, 484], "new": [0, 2, 6, 91, 118, 222, 226, 256, 278, 294, 300, 310, 311, 371, 379, 453, 455, 466, 471, 480, 483, 484, 485], "new_tre": 311, "next": [2, 5, 6, 215], "nh": [343, 349, 384], "nhwc": [328, 331, 334], "nice": [482, 484], "nlc": [328, 330, 333], "nld": [343, 349, 384], "nlh": [343, 349, 384], "nll": [425, 433], "nll_loss": 323, "nn": [2, 5, 6, 264, 310, 323, 450, 453, 455, 464, 466, 480, 484], "nobodi": 5, "node": [94, 136, 302, 311, 312], "nois": 4, "noisi": 4, "nomins": 2, "non": [0, 1, 2, 8, 207, 374, 384, 436, 453], "none": [1, 2, 5, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 52, 53, 54, 55, 56, 57, 58, 59, 60, 63, 64, 65, 66, 67, 69, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 115, 116, 117, 118, 119, 121, 122, 125, 126, 127, 128, 129, 130, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 214, 218, 219, 220, 221, 222, 223, 224, 225, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 263, 264, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 302, 303, 304, 305, 306, 309, 310, 311, 312, 314, 325, 326, 327, 341, 355, 356, 357, 359, 363, 364, 371, 376, 379, 384, 392, 400, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 457, 475, 483], "nonlinear": [384, 480], "nonzero": 483, "noop": 376, "nor": [2, 164, 298], "norm": [5, 143, 308, 344, 435, 461, 462], "norm1": 5, "norm2": 5, "norm_first": 400, "normal": [1, 2, 4, 5, 141, 142, 143, 185, 244, 250, 323, 325, 326, 327, 328, 344, 348, 350, 355, 356, 357, 383, 400, 403, 405, 485, 488], "not_equ": 0, "notabl": [5, 7], "notat": [116, 309, 368], "note": [0, 1, 2, 5, 8, 16, 18, 83, 90, 94, 100, 103, 104, 112, 145, 153, 154, 163, 171, 188, 210, 236, 240, 300, 306, 323, 383, 401, 455, 485, 487], "noth": [5, 323, 484], "notic": [5, 482, 487], "now": [1, 2, 5, 8, 382, 480, 481, 485], "np": [1, 5, 6, 481, 485, 486], "npy": [193, 261, 487], "npz": [5, 193, 264, 265, 366, 370, 487], "nuclear": 188, "nullopt": 0, "num": [0, 5, 192, 249], "num_class": [6, 455], "num_decoder_lay": 400, "num_embed": [340, 381], "num_encoder_lay": 400, "num_epoch": [6, 455], "num_exampl": 4, "num_featur": [4, 328], "num_group": 344, "num_head": [5, 379, 400], "num_it": 4, "num_lay": [5, 6, 455], "num_param": 323, "num_paramet": 380, "num_sampl": 240, "num_split": 0, "number": [0, 2, 11, 18, 61, 70, 94, 99, 100, 101, 103, 104, 116, 140, 145, 163, 164, 168, 178, 192, 224, 231, 236, 237, 240, 243, 245, 249, 251, 255, 258, 259, 290, 291, 295, 298, 301, 302, 306, 323, 328, 330, 331, 332, 333, 334, 335, 337, 338, 344, 348, 379, 380, 400, 401, 403, 404, 405, 406, 469, 471, 472, 477, 480, 482, 489], "number_of_el": 0, "numer": [5, 141, 143, 188, 198, 202, 272, 328, 344, 348, 350, 383, 422, 423, 425, 435, 456, 457, 458, 459, 460, 461, 467, 480, 484], "numpi": [2, 5, 6, 7, 13, 16, 18, 87, 88, 89, 91, 128, 129, 133, 165, 166, 171, 179, 180, 181, 198, 203, 205, 221, 223, 227, 233, 254, 257, 282, 484, 486, 487], "nw": 1, "nwhc": 337, "o": [2, 8, 145, 349], "o_t": 349, "obj": 262, "object": [3, 10, 30, 50, 78, 94, 142, 177, 264, 302, 309, 310, 311, 312, 316, 337, 400, 479], "observ": 5, "occupi": [116, 163, 236, 237], "occur": 485, "odim": 6, "odot": [343, 349], "off": [5, 8, 484], "offer": 430, "offset": [0, 1, 2, 5, 46, 83, 118, 141, 144, 293], "often": 338, "ok": [366, 482], "okai": [480, 484], "old": 5, "omit": [459, 461, 481], "onc": [2, 8, 480], "one": [0, 2, 5, 8, 38, 78, 84, 93, 99, 100, 101, 103, 104, 138, 140, 141, 143, 144, 188, 196, 203, 237, 240, 277, 282, 316, 376, 401, 424, 481, 488], "ones": [0, 2, 5, 229, 264, 295, 377, 378, 455, 481, 483], "ones_lik": 0, "onli": [1, 2, 5, 7, 8, 82, 90, 99, 100, 101, 103, 104, 185, 186, 188, 217, 236, 244, 300, 323, 363, 364, 366, 371, 373, 376, 377, 378, 453, 480, 481, 482, 487, 488], "onlin": 458, "op": [1, 2, 230, 300, 364, 484], "open": [3, 8, 18, 247, 251], "openmpi": 481, "oper": [3, 5, 7, 9, 37, 84, 85, 86, 101, 145, 162, 163, 233, 235, 272, 280, 287, 314, 323, 400, 462, 480, 481, 482, 483, 484, 485, 486, 488, 489], "operand": [130, 131, 162], "opportun": 480, "opt": [463, 481], "optim": [1, 3, 4, 6, 7, 377, 480, 481, 482, 484], "option": [0, 3, 5, 14, 15, 17, 18, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 52, 53, 54, 55, 56, 57, 58, 59, 60, 63, 64, 65, 66, 67, 69, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 83, 84, 85, 86, 90, 94, 95, 98, 99, 100, 101, 102, 103, 104, 105, 108, 109, 110, 111, 112, 116, 117, 118, 121, 122, 123, 125, 126, 127, 140, 141, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 161, 162, 163, 164, 168, 175, 176, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 202, 204, 206, 207, 216, 220, 224, 228, 231, 232, 234, 236, 237, 239, 240, 241, 243, 244, 245, 246, 247, 249, 250, 251, 255, 256, 258, 272, 273, 274, 277, 278, 279, 283, 285, 286, 290, 292, 293, 294, 295, 296, 297, 298, 299, 302, 304, 306, 309, 310, 311, 312, 325, 326, 327, 328, 330, 331, 332, 333, 334, 335, 343, 349, 352, 355, 356, 357, 359, 363, 364, 366, 371, 376, 379, 381, 382, 384, 387, 392, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 456, 457, 458, 459, 460, 461, 462, 464, 467, 468, 469, 477, 480, 487, 489], "ord": 188, "order": [0, 1, 28, 83, 101, 131, 185, 186, 188, 232, 236, 292, 323, 344, 377, 389, 464, 480, 482], "ordinari": 170, "org": [344, 348, 350, 358, 383, 414, 436], "origin": [5, 118, 308, 328, 372, 403, 404, 405, 406, 456, 457, 458, 459, 461, 462, 485], "orthonorm": 167, "ostream": 2, "ostringstream": 2, "other": [0, 2, 5, 7, 177, 188, 323, 365, 453, 462, 480, 481, 483, 484, 486], "other_input": 323, "otherwis": [18, 101, 123, 216, 246, 306, 309, 310, 311, 312, 364, 366, 376, 398, 400, 401, 416, 422, 427, 434, 446, 447, 484, 485], "our": [1, 2, 5, 6, 389, 456, 457, 458, 459, 461, 462, 481], "out": [0, 1, 2, 8, 90, 142, 337, 338, 373, 480, 481, 482, 483], "out_ax": [302, 482], "out_channel": [330, 331, 332, 333, 334, 335], "out_dim": [323, 453], "out_dtyp": 2, "out_idx": 2, "out_mask": 90, "out_proj": [5, 453], "out_ptr": 2, "out_shap": [1, 2], "outer": [0, 480, 484], "outlier": 430, "output": [0, 1, 2, 5, 8, 15, 16, 17, 18, 28, 83, 90, 91, 94, 96, 97, 108, 109, 110, 111, 112, 130, 140, 141, 142, 143, 144, 145, 152, 155, 156, 157, 161, 162, 164, 167, 168, 171, 188, 192, 202, 204, 206, 207, 220, 224, 228, 229, 232, 234, 235, 239, 240, 241, 243, 244, 245, 247, 250, 251, 264, 265, 272, 277, 279, 283, 287, 293, 295, 298, 299, 300, 301, 302, 303, 304, 305, 328, 330, 331, 332, 333, 334, 335, 348, 352, 379, 382, 398, 400, 401, 403, 404, 405, 406, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 447, 450, 480, 481, 482, 483, 484, 485, 486, 487, 488], "output_dim": [6, 323, 352, 382], "output_directori": 2, "output_dtyp": [1, 142], "output_fil": 5, "output_nam": [1, 142], "output_shap": [1, 142], "outsid": [142, 158], "over": [0, 2, 5, 6, 15, 17, 26, 27, 28, 29, 98, 99, 100, 101, 102, 103, 104, 108, 109, 110, 111, 148, 151, 154, 157, 170, 188, 190, 192, 202, 204, 206, 220, 232, 234, 260, 272, 273, 279, 283, 290, 292, 299, 328, 330, 331, 332, 333, 334, 335, 344, 350, 383, 424, 469, 472, 481, 482], "overal": 2, "overhead": [480, 484, 488], "overlap": 1, "overload": 18, "overrid": [2, 132], "overview": 3, "overwrit": 5, "own": [8, 485], "owndata": 485, "p": [8, 239, 323, 336, 337, 338, 435, 459, 461], "pack": [163, 236, 237], "packag": [2, 4, 6, 8, 318, 450, 481], "package_data": 2, "pad": [0, 1, 98, 99, 100, 101, 102, 103, 104, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 325, 326, 327, 330, 331, 332, 333, 334, 335, 355, 356, 357], "pad_valu": 0, "pad_width": [0, 231], "padding_hi": 0, "padding_lo": 0, "page": 486, "pain": 5, "pair": [0, 2, 231, 366, 387], "pairwis": 435, "pan": 5, "paper": [328, 392, 456, 457, 458, 459, 461, 462], "parallel": [481, 488], "param": [298, 323, 450, 482], "paramet": [0, 1, 2, 4, 5, 6, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 37, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 115, 116, 117, 118, 121, 122, 123, 125, 126, 127, 128, 129, 130, 131, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 215, 216, 217, 218, 220, 221, 222, 223, 224, 225, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 348, 349, 350, 351, 352, 355, 356, 357, 359, 360, 363, 364, 366, 371, 372, 373, 376, 377, 378, 379, 380, 381, 382, 383, 384, 387, 389, 392, 396, 398, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 415, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 447, 449, 450, 453, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 466, 467, 468, 469, 470, 471, 472, 473, 475, 480, 481, 482, 484], "parameter_scal": 457, "parametr": [380, 437], "pars": 5, "parse_arg": 5, "parser": 5, "part": [1, 2, 169, 252, 482, 483], "partial": [377, 378, 480, 484], "particip": [121, 122, 125, 126, 127], "particular": [236, 344], "particularli": 480, "partit": [0, 28], "pass": [1, 2, 5, 6, 65, 79, 230, 231, 298, 307, 309, 310, 311, 323, 364, 376, 377, 378, 389, 480, 481, 484], "password": 481, "path": [3, 8, 131, 218, 264, 265, 306, 311, 366, 481], "pattern": [323, 484], "peak": [212, 214], "penalti": 468, "pep": 485, "per": [5, 6, 116, 145, 163, 236, 237, 306, 328, 344, 348, 350, 383, 475, 480, 481, 484], "perceptron": 7, "perf_count": 480, "perfectli": 484, "perform": [0, 1, 2, 3, 5, 7, 14, 90, 101, 108, 109, 110, 111, 127, 130, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 162, 163, 167, 185, 186, 203, 237, 259, 272, 286, 323, 344, 400, 405, 406, 455, 480, 481, 483, 484, 488], "perhap": [2, 5], "perm": 6, "permtuat": 246, "permut": [0, 6], "persist": 8, "pg": 188, "phi": [341, 412], "physic": 481, "pi": [134, 341, 392, 413, 482], "pick": 2, "pip": [2, 8], "pipelin": 2, "pixel": 337, "place": [2, 5, 38, 258, 259, 306, 481, 484, 485], "placehold": 480, "plai": [2, 5], "plain": 389, "plan": [2, 480], "platform": 8, "plu": [0, 196], "point": [0, 2, 4, 5, 8, 83, 160, 237, 316], "pointer": 2, "pool": [325, 326, 327, 355, 356, 357, 488], "popul": 2, "portion": 336, "posinf": [0, 224], "posit": [0, 5, 28, 118, 144, 158, 164, 176, 182, 183, 222, 224, 232, 244, 258, 293, 298, 310, 323, 330, 331, 332, 333, 334, 335, 379, 387, 392, 425, 435], "possibl": [274, 340, 381, 480, 481, 483, 488], "possibli": [5, 14, 90, 162, 203, 308], "postur": 5, "potenti": 216, "power": [0, 482, 485], "practic": [2, 480], "pre": [8, 145, 422], "preced": 344, "precis": [0, 2, 5, 139, 145, 323, 341, 383, 422, 463, 480], "preclud": 323, "pred": [426, 430], "predic": [306, 371], "predict": [422, 425, 426, 427, 428, 429, 430, 432, 433, 434], "prefix": [302, 309], "prelu": 323, "prepar": [2, 5], "prepend": [3, 203], "preprint": [5, 456, 462], "preprocessor": 8, "present": 1, "preserv": [256, 482], "press": [5, 188], "pressur": 2, "pretti": [480, 484], "prevent": [280, 435, 485], "previou": [215, 216, 217], "primal": [1, 2, 112, 178, 301], "primit": 482, "print": [1, 2, 4, 5, 6, 8, 308, 309, 310, 311, 313, 323, 477, 480, 481, 482, 483, 484, 485, 486], "prior": [235, 286, 287], "priorit": 482, "privat": 2, "prng": [239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 477], "prob": 422, "probabl": [8, 247, 336, 337, 338, 382, 422, 424, 428, 488], "problem": [4, 6, 323], "process": [5, 101, 105, 120, 121, 122, 123, 125, 126, 127, 310, 311, 338, 340, 400, 479, 481], "processor": 8, "prod": [0, 1], "produc": [0, 2, 8, 94, 379, 450], "product": [0, 2, 14, 83, 110, 170, 178, 184, 203, 230, 234, 290, 301, 379, 486], "profil": 3, "program": [212, 481], "programmat": 378, "project": [3, 5, 379], "project_source_dir": 2, "promot": 2, "promote_typ": 2, "promoted_dtyp": 2, "prompt": 5, "propag": [482, 483], "properti": [31, 38, 47, 51, 61, 62, 68, 70, 372, 375, 465, 482], "proportion": 308, "protocol": 485, "provid": [0, 2, 5, 83, 116, 164, 246, 258, 290, 298, 310, 312, 318, 323, 359, 364, 366, 376, 377, 378, 381, 382, 400, 401, 449, 453, 481, 487, 489], "pseudo": 477, "pth": 5, "public": [2, 323], "pun": 0, "pure": [1, 323, 455], "purpos": [1, 188], "purs": 5, "push": 2, "push_back": 2, "put": [0, 1, 6, 235, 480, 481], "put_along_axi": 0, "py": [2, 5, 8, 481], "pypi": 8, "python": [1, 3, 5, 50, 68, 78, 136, 309, 310, 311, 312, 313, 453, 463, 464, 466, 479, 481, 482, 485], "python_requir": 2, "pytorch": [5, 7, 341, 344, 482], "pytorch_compat": 344, "q": [145, 189], "qualifi": 481, "quantiz": [0, 116, 163, 193, 237, 381, 382], "quantized_matmul": 0, "quantizedembed": 323, "quantizedlinear": 323, "quarter": 5, "queri": [5, 145, 217, 379], "query_input_dim": 379, "query_proj": 5, "question": [5, 484], "queue": 3, "quick": [2, 7], "quit": [482, 485], "quotient": [0, 128, 129, 160], "r": [2, 5, 189, 298, 337, 343], "r_t": 343, "race": 488, "radian": [0, 115], "rag": 5, "rain": 5, "rais": [0, 5, 188, 216, 233, 274, 366], "ram": 5, "random": [1, 2, 3, 4, 5, 6, 7, 142, 325, 326, 327, 328, 348, 355, 356, 357, 366, 373, 480, 482, 488, 489], "randomli": [4, 5, 246, 336, 337, 338], "rang": [0, 2, 3, 4, 5, 6, 8, 18, 158, 162, 192, 404, 406, 413, 414, 455, 469, 470, 471, 472, 473, 477, 480, 482, 484, 488], "rank": [0, 125, 126, 127, 431, 481], "rate": [4, 455, 456, 457, 458, 459, 460, 461, 462, 467, 468], "rather": [2, 482, 488], "ratio": [0, 24], "rceil": 90, "re": [6, 8, 450], "readabl": 3, "readi": 2, "real": [0, 152, 153, 154, 155, 156, 157, 182, 183, 185, 186], "realli": 350, "reason": [1, 5, 483], "reboot": 8, "receiv": [125, 126, 306, 471, 485], "reciproc": [0, 260], "reclaim": 215, "recommend": [8, 216, 462], "recompil": [94, 480], "record": [3, 212, 484], "recreat": [313, 455], "rectifi": [351, 385, 386, 405, 406, 419, 438, 439], "recurr": [343, 349, 384], "recurs": [323, 363, 364, 369, 374, 376, 453], "recv": 126, "redirect": 2, "reduc": [0, 1, 8, 15, 17, 26, 27, 122, 202, 204, 206, 220, 234, 279, 283, 299, 312, 328, 400, 430], "reduct": [15, 17, 122, 202, 204, 220, 234, 312, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 481], "redund": 482, "refer": [188, 348, 358, 372, 403, 404, 405, 406, 414, 436, 483], "reflect": [372, 480, 483, 485], "regard": 341, "regardless": [83, 145], "regist": [2, 6], "register_librari": 2, "regress": [7, 430], "regular": [38, 337, 436, 460, 480, 483], "regularli": 2, "reimplement": 2, "rel": [16, 171, 457, 480], "relative_step": 457, "relax": 216, "relev": 2, "reli": [1, 2], "relu": [323, 380, 400, 437, 450], "relu6": 323, "remain": [0, 5, 217, 298, 311, 336, 337, 338, 481], "remaind": [0, 129], "remov": [0, 118, 203, 240, 277, 424], "rep": [0, 291], "repeat": [0, 291], "repeatedli": 4, "repetit": 255, "replac": [0, 5, 224, 377, 378, 400, 434], "replai": 3, "repli": 5, "repo": [4, 6, 8, 480], "report": [210, 216], "repres": [2, 5, 120, 123, 163, 431, 435, 485], "represent": [5, 236, 300, 309, 313], "request": 2, "requir": [1, 2, 5, 323, 481, 484, 485], "requires_grad": 482, "rerun": [480, 484], "rescal": 308, "research": 7, "reset": 214, "reset_peak_memori": 212, "reshap": [0, 5, 188, 401, 483], "resid": 217, "resolv": 2, "resourc": 2, "respect": [2, 4, 6, 141, 143, 162, 163, 164, 236, 298, 310, 323, 328, 341, 344, 348, 350, 453, 482, 486], "respons": 2, "rest": [5, 144, 310, 311, 387], "restart": 8, "restor": 258, "result": [0, 5, 14, 18, 38, 78, 83, 94, 141, 143, 163, 188, 203, 237, 244, 255, 278, 310, 311, 312, 392, 422, 480, 482, 485], "resum": 5, "return": [0, 1, 2, 4, 5, 6, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 37, 50, 68, 78, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 115, 116, 117, 118, 121, 122, 123, 125, 126, 127, 128, 129, 130, 131, 133, 134, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 211, 215, 216, 217, 220, 221, 222, 223, 224, 225, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 249, 250, 251, 252, 253, 254, 255, 256, 257, 259, 260, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 323, 343, 349, 359, 360, 361, 363, 364, 365, 366, 367, 368, 369, 373, 374, 376, 377, 378, 384, 402, 403, 404, 405, 406, 407, 408, 409, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 450, 453, 463, 479, 480, 481, 482, 483, 484, 485, 487, 488], "return_metadata": 193, "revers": [0, 2, 41, 42, 43, 44, 83, 108, 109, 110, 111, 294, 392], "rf": 8, "rfft": 152, "rfft2": 153, "rfftn": 154, "rho": 456, "rhs_indic": [0, 162, 163], "rhs_mask": 90, "right": [0, 1, 2, 8, 236, 257, 258, 341, 401, 413, 414, 425, 427, 435], "right_shift": 0, "rm": [5, 8, 143, 457], "rmsnorm": [5, 323], "rmsprop": 455, "rnn": [323, 343], "roadcast": 247, "robust": 430, "roform": [5, 387], "roll": 0, "root": [0, 5, 143, 260, 275, 383], "rope": [5, 323], "rosetta": 8, "rotari": [5, 144, 387], "rotat": [144, 387], "round": [0, 236], "routin": 2, "row": [0, 1, 2, 83, 140, 142, 168, 236, 295], "row_contigu": 2, "rpath": 2, "rsqrt": 0, "rtol": [0, 16, 171], "rule": [2, 455], "run": [1, 2, 3, 5, 6, 7, 8, 9, 142, 230, 314, 328, 359, 456, 457, 459, 460, 461, 480, 481, 484, 488, 489], "runtim": [5, 123, 318, 480, 481], "runtime_error": 2, "safetensor": [8, 193, 263, 366, 370, 455, 484, 487], "sai": [2, 5, 450, 484], "said": 5, "sake": 482, "same": [0, 2, 5, 8, 16, 38, 82, 91, 94, 99, 100, 101, 103, 104, 105, 121, 141, 143, 152, 155, 156, 157, 163, 164, 171, 178, 231, 240, 258, 259, 300, 301, 303, 311, 323, 326, 327, 328, 336, 344, 348, 356, 357, 381, 402, 403, 404, 405, 406, 407, 408, 409, 424, 435, 453, 463, 477, 480, 481, 483, 488], "sampl": [2, 4, 5, 192, 239, 240, 241, 243, 244, 247, 250, 251, 403, 404, 405, 406, 408, 409, 425, 431, 435, 477, 480], "sat": 5, "save": [3, 5, 7, 193, 218, 236, 262, 263, 264, 265, 370, 484], "save_gguf": 487, "save_safetensor": [370, 455, 487], "save_weight": 323, "savez": [5, 370, 487], "savez_compress": 487, "saw": [5, 482], "scalar": [0, 2, 13, 14, 16, 30, 50, 78, 82, 87, 88, 89, 90, 91, 93, 128, 129, 133, 160, 161, 164, 165, 166, 167, 171, 179, 180, 181, 192, 198, 199, 200, 201, 203, 205, 221, 223, 224, 227, 231, 233, 239, 247, 250, 251, 254, 257, 262, 282, 298, 300, 303, 307, 435, 482, 484, 486], "scale": [0, 2, 5, 14, 116, 141, 143, 144, 145, 163, 167, 236, 237, 243, 245, 308, 337, 338, 350, 379, 387, 388, 392, 401, 440, 457], "scale_arr": 2, "scale_factor": 401, "scale_paramet": 457, "scatter": 0, "scatter_add": 0, "scatter_max": 0, "scatter_min": 0, "scatter_prod": 0, "schedul": [2, 216, 455, 469, 470, 471, 472, 473, 475, 488], "schema": 3, "scipi": 167, "scope": 323, "score": [5, 145, 431], "sdk": 8, "se": 1, "second": [5, 8, 118, 177, 179, 199, 201, 203, 257, 284, 293, 298, 326, 327, 356, 357, 423, 431, 457, 459, 460, 461, 482, 488], "second_layer_a": 484, "second_layer_b": 484, "secret": 5, "section": [1, 5, 8, 274, 435, 480, 481, 482], "see": [1, 2, 5, 6, 8, 10, 11, 32, 33, 34, 35, 36, 39, 40, 41, 42, 43, 44, 46, 48, 49, 52, 53, 54, 55, 56, 57, 58, 59, 60, 63, 64, 65, 66, 67, 69, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 188, 215, 262, 263, 306, 316, 323, 328, 329, 337, 339, 341, 345, 346, 347, 353, 354, 362, 380, 381, 382, 385, 386, 387, 388, 390, 392, 393, 394, 395, 396, 397, 399, 401, 403, 404, 405, 406, 412, 413, 414, 440, 480, 481, 482, 483, 486, 488], "seed": 242, "seen": 485, "select": [0, 3, 8, 185, 186, 292, 303, 359, 363, 371], "self": [5, 6, 9, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 63, 64, 65, 66, 67, 69, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 112, 314, 323, 436, 453], "selu": 323, "semant": [13, 87, 88, 89, 91, 128, 129, 133, 165, 166, 179, 180, 181, 198, 203, 205, 221, 223, 227, 233, 254, 257, 282, 488], "semi": [182, 183, 244], "send": 481, "sennrich": 5, "sensit": 430, "sentencepiec": 5, "separ": [5, 65, 79, 344, 431], "sequenc": [5, 15, 17, 33, 34, 56, 57, 58, 59, 63, 71, 74, 75, 76, 80, 83, 91, 101, 125, 138, 142, 147, 148, 150, 151, 153, 154, 156, 157, 161, 202, 204, 206, 220, 228, 234, 239, 240, 241, 243, 244, 245, 247, 250, 251, 256, 272, 274, 277, 279, 283, 290, 291, 294, 299, 304, 328, 330, 333, 343, 349, 384, 400, 477, 488], "sequenti": [323, 450], "seri": 8, "serial": 455, "set": [2, 5, 6, 8, 94, 112, 119, 121, 122, 123, 125, 126, 127, 132, 141, 144, 209, 215, 216, 217, 266, 267, 281, 341, 350, 352, 362, 364, 371, 372, 373, 376, 377, 382, 387, 398, 423, 435, 447, 453, 455, 457, 464, 477, 482, 484], "set_byt": 2, "set_compute_pipeline_st": 2, "set_data": 2, "set_default_devic": 2, "set_dtyp": 323, "set_input_arrai": 2, "set_memory_limit": 215, "set_output_arrai": 2, "set_vector_byt": 2, "setup": [2, 4, 6, 8, 480], "sever": [5, 8, 98, 99, 100, 101, 102, 103, 104, 264, 265, 480, 487], "sgd": [4, 6, 455, 462, 464, 469, 470, 473, 480], "shade": [1, 2], "shall": 5, "shape": [0, 2, 3, 5, 6, 65, 82, 83, 90, 91, 94, 98, 99, 100, 101, 102, 103, 104, 118, 121, 125, 126, 142, 145, 146, 149, 152, 155, 156, 157, 161, 162, 167, 178, 187, 191, 203, 228, 229, 239, 240, 241, 243, 244, 245, 247, 250, 251, 256, 258, 300, 301, 303, 304, 305, 323, 325, 326, 327, 328, 330, 331, 332, 333, 334, 335, 337, 338, 343, 348, 349, 352, 355, 356, 357, 366, 384, 402, 403, 404, 405, 406, 407, 408, 409, 424, 435, 455, 480, 482, 483, 486, 488], "shapeless": [0, 94], "share": [7, 116, 163, 236, 237, 300, 481], "shazeer": 5, "shift": [0, 179, 257, 258, 328], "shop": 5, "should": [1, 2, 4, 5, 6, 8, 83, 118, 121, 141, 142, 143, 145, 178, 208, 217, 218, 235, 236, 287, 293, 298, 301, 306, 309, 323, 330, 331, 332, 333, 334, 335, 337, 338, 373, 379, 389, 424, 426, 431, 453, 479, 480, 481, 482, 484, 485, 489], "show": [8, 316, 480], "shown": 2, "shuffl": 6, "side": [0, 231, 325, 326, 327, 355, 356, 357, 480], "sigma": [341, 342, 343, 349, 391, 403, 404, 405, 406, 414, 415, 420, 441, 442], "sigmoid": [0, 5, 323, 353, 390, 414, 420, 422, 442], "sign": [0, 16, 171, 316, 462], "signal": [105, 401], "signatur": [1, 142], "signedinteg": [11, 177], "signific": 236, "silent": [155, 156, 157], "silicon": [2, 5, 7, 8, 488], "silu": 323, "simd": 1, "simd_sum": 1, "simdgroup": 1, "simdgroup_s": 1, "similar": [5, 163, 177, 310, 377, 378, 379, 423, 485, 487], "similarli": [2, 8, 203, 482, 484], "simpl": [2, 5, 6, 323, 340, 449, 455, 480, 481, 482, 484], "simple_axpbi": 2, "simple_tim": 2, "simplest": [2, 323, 481], "simpli": [2, 5, 8, 339, 351, 385, 411, 419, 438, 448, 453, 480, 481, 482], "simplic": 0, "simultan": 1, "sin": [0, 112, 392, 482, 486], "sinc": [1, 2, 5, 6, 163, 212, 453, 462, 471, 485, 488], "sine": [0, 21, 22, 270, 271, 482], "sing": 188, "singer": 458, "singl": [2, 6, 136, 178, 193, 207, 231, 301, 326, 327, 356, 357, 480, 483, 487], "singleton": [0, 15, 17, 26, 27, 123, 202, 203, 204, 206, 220, 234, 279, 283, 299], "singular": [188, 190], "sinh": 0, "sinusoid": 392, "sinusoidalpositionalencod": 323, "size": [0, 1, 2, 5, 6, 51, 68, 90, 99, 100, 103, 104, 116, 138, 141, 142, 143, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 161, 163, 167, 168, 177, 184, 188, 211, 216, 217, 236, 237, 240, 256, 274, 277, 300, 306, 323, 325, 326, 327, 330, 331, 332, 333, 334, 335, 340, 348, 355, 356, 357, 381, 382, 401, 457, 481, 484, 485], "size_in_megabyt": 217, "size_t": [0, 2], "skip": [3, 83], "slice": [0, 483], "slice_s": 0, "slice_upd": 0, "slide": [325, 326, 327, 355, 356, 357], "slight": [5, 484], "slightli": [387, 488], "slope": 351, "slot": 481, "slow": 480, "slowli": 5, "small": [5, 139, 141, 143, 328, 344, 350, 383, 425, 430, 435, 480, 481, 488], "smaller": [0, 8, 232, 462, 480], "smallest": 188, "smile": 5, "smooth": [424, 434, 467], "smooth_l1_loss": 323, "sned": 127, "snippet": 481, "so": [1, 2, 5, 8, 164, 167, 298, 336, 401, 455, 480, 481, 484, 488], "softmax": [0, 5, 145, 323, 354, 421, 424], "softmin": 323, "softplu": [323, 358, 436], "softshrink": 323, "softsign": 323, "solv": 323, "some": [0, 2, 4, 5, 6, 364, 376, 455, 464, 480, 482, 484], "someon": 5, "someth": [4, 5, 483], "sonoma": 8, "soon": 5, "sort": [0, 28, 29, 232, 292], "sourc": [0, 1, 2, 3, 60, 125, 126, 142, 222, 294, 481], "space": [0, 2, 192, 422, 433], "spars": [0, 207], "spatial": [99, 100, 101, 103, 104, 325, 326, 327, 344, 355, 356, 357, 401], "speak": [5, 188], "special": 2, "specif": [1, 2, 8, 481, 482], "specifi": [0, 2, 18, 37, 99, 100, 101, 103, 104, 118, 153, 154, 161, 164, 184, 188, 192, 222, 228, 235, 240, 255, 284, 286, 287, 290, 293, 294, 298, 302, 304, 328, 398, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 447, 481, 482, 488], "speed": [1, 2], "spent": 5, "split": [0, 342, 344, 415], "splittabl": 477, "sqrt": [0, 5, 134, 145, 167, 328, 341, 344, 348, 350, 352, 383, 392, 403, 404, 405, 406, 413, 456, 458, 459, 460, 467, 480], "squar": [0, 4, 5, 143, 168, 187, 191, 260, 275, 298, 310, 323, 383, 432, 434, 456, 457, 459, 460, 461, 482, 485], "squeez": [0, 401, 480], "src": [0, 125, 126], "ssh": 481, "stabil": [141, 143, 328, 344, 348, 350, 383, 422, 423, 425, 456, 457, 458, 459, 460, 461, 467], "stabl": [198, 202, 272, 430], "stable_abi": 2, "stack": [0, 480], "standard": [0, 1, 6, 50, 78, 203, 241, 245, 279, 400, 403, 405, 408, 481, 486], "starmap": [5, 310], "start": [0, 1, 2, 4, 5, 7, 8, 18, 144, 192, 218, 274, 312, 480, 483, 488], "start_axi": [0, 49, 158], "start_captur": 3, "state": [5, 6, 323, 343, 349, 384, 455, 464, 477, 480], "static": 8, "static_cast": 2, "std": [0, 2, 408], "step": [0, 3, 5, 6, 18, 323, 343, 349, 384, 457, 464, 469, 471, 472, 473, 480, 481], "step_decai": 455, "step_siz": 473, "still": [5, 8, 188, 480, 484], "stochast": [458, 459, 461, 468, 484], "stood": 5, "stop": [0, 2, 5, 18, 192, 219, 280, 482, 483], "stop_captur": 3, "stop_gradi": [0, 482], "storag": 83, "store": 5, "str": [2, 105, 130, 131, 142, 164, 185, 186, 188, 193, 207, 209, 218, 261, 262, 263, 264, 265, 298, 309, 313, 359, 360, 363, 364, 366, 368, 370, 376, 401, 405, 406, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435], "straight": 5, "strang": 5, "stream": [2, 7, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 52, 53, 54, 55, 56, 57, 58, 59, 60, 63, 64, 65, 66, 67, 69, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 114, 115, 116, 117, 118, 121, 122, 125, 126, 127, 128, 129, 130, 133, 134, 135, 137, 138, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 243, 244, 245, 246, 247, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 303, 304, 305, 481, 488], "streamcontext": 281, "streamordevic": [0, 2], "street": 5, "strength": [462, 468], "strict": [123, 165, 180, 364, 366, 376], "strictli": [188, 217], "stride": [0, 2, 83, 98, 99, 100, 101, 102, 103, 104, 325, 326, 327, 330, 331, 332, 333, 334, 335, 355, 356, 357, 387, 483], "string": [0, 2, 131, 142, 209, 231, 485, 487], "structur": [2, 463, 482], "stub": 8, "style": [2, 13, 16, 87, 88, 89, 128, 129, 133, 165, 166, 171, 179, 180, 181, 198, 203, 205, 221, 223, 227, 233, 254, 257, 282], "su": 5, "sub": [0, 6, 118, 249, 293, 306], "subarrai": [118, 274], "subclass": 453, "subdivid": 1, "subdtyp": 177, "subgradi": 458, "sublinear": 457, "submodul": [5, 6, 323, 360, 364, 365, 376, 378], "subscript": [130, 131], "subsect": 5, "subsequ": 455, "subset": [323, 363], "substanti": 8, "subtract": [0, 38], "subtyp": [177, 316], "sudo": [8, 217], "sum": [0, 2, 4, 13, 111, 122, 170, 188, 202, 272, 290, 293, 323, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 481, 483, 485], "sum_": [188, 430], "sum_i": 421, "sum_j": [443, 444], "summat": [130, 131], "super": [5, 6, 323, 453], "superset": [310, 463], "support": [1, 2, 5, 7, 8, 16, 90, 100, 103, 104, 145, 158, 167, 171, 182, 183, 185, 186, 187, 189, 190, 191, 193, 203, 236, 244, 481, 482, 483, 485, 487], "suppos": [482, 488], "sure": [2, 3, 5, 8, 323, 480], "surpass": [405, 406], "surpris": 5, "sw": 1, "swap": [0, 105, 216, 284, 378], "swapax": [0, 112], "swiglu": 5, "swish": [390, 442], "switch": 8, "symbol": 462, "symmetr": [99, 100, 103, 104, 182, 183, 185, 186], "symmetri": [185, 186], "synchron": [2, 480], "syntax": [38, 483], "synthet": 4, "sysctl": 217, "system": [5, 8, 209, 210, 211, 217], "t": [0, 1, 2, 5, 8, 134, 142, 145, 163, 182, 183, 237, 298, 323, 343, 349, 384, 456, 457, 458, 459, 460, 461, 462, 467, 468, 480, 482, 488], "t_kv": 145, "t_q": 145, "tabl": [1, 188, 316, 340], "take": [0, 2, 5, 6, 87, 88, 89, 94, 162, 164, 178, 205, 221, 229, 237, 287, 298, 301, 302, 305, 311, 312, 325, 326, 327, 355, 356, 357, 379, 422, 477, 481, 482, 483, 487, 488, 489], "take_along_axi": [0, 483], "taken": [118, 286, 293], "talk": 481, "tan": 0, "tangent": [0, 2, 23, 24, 25, 112, 178, 288, 289, 399, 448], "tangent_i": 2, "tangent_x": 2, "tanh": [0, 323, 341, 343, 349, 358, 384, 413, 436], "target": [2, 298, 422, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 480], "target_include_directori": 2, "target_link_librari": 2, "target_link_opt": 2, "target_sourc": 2, "task": [216, 430], "tau": 468, "tcp": 481, "tell": [5, 480, 485], "temp": 5, "templat": [0, 1, 2, 142], "ten": 484, "tend": 462, "tensor": [193, 290, 435, 485], "tensordot": 0, "term": [2, 425, 456, 457, 458, 459, 460, 461, 467], "termin": 8, "test": [6, 8, 481], "test_imag": 6, "test_label": 6, "text": [5, 341, 343, 349, 358, 384, 391, 398, 403, 404, 405, 406, 413, 416, 417, 418, 425, 426, 427, 430, 431, 434, 436, 437, 440, 441, 446, 447, 457, 462], "textrm": [236, 341, 342, 412, 415], "tf": 485, "tgp_size": 2, "th": [108, 109, 110, 111, 117, 140, 185, 471], "than": [1, 2, 5, 78, 105, 118, 129, 144, 162, 165, 166, 180, 181, 182, 183, 185, 186, 187, 190, 191, 203, 215, 217, 308, 310, 387, 398, 401, 431, 434, 447, 457, 462, 480, 482, 488], "thank": 484, "thei": [1, 2, 4, 5, 8, 16, 105, 163, 171, 389, 426, 453, 462, 479, 480, 481, 484, 486, 487, 488], "them": [0, 2, 5, 121, 323, 364, 376, 481, 488], "themselv": [2, 480], "thi": [0, 1, 2, 5, 6, 8, 15, 16, 17, 18, 26, 27, 28, 29, 83, 112, 132, 142, 162, 163, 167, 171, 178, 182, 183, 185, 186, 187, 188, 189, 190, 191, 198, 202, 203, 204, 206, 208, 210, 217, 220, 232, 234, 240, 267, 272, 273, 274, 279, 283, 286, 292, 299, 308, 311, 312, 323, 336, 337, 338, 342, 343, 349, 360, 361, 363, 364, 367, 368, 369, 374, 376, 377, 378, 379, 382, 384, 398, 403, 404, 405, 406, 413, 414, 415, 422, 430, 447, 453, 464, 479, 480, 481, 482, 484, 485, 487], "thing": [2, 5, 481], "third": [184, 327, 357], "thompson": 337, "those": [2, 5, 323], "though": [2, 5, 480, 484, 485], "thousand": 484, "thread": [1, 2], "thread_index_in_simdgroup": 1, "thread_position_in_grid": [1, 2, 142], "threadgroup": [1, 2, 142], "threads_per_simdgroup": 1, "three": [5, 86, 327, 357, 401], "threefri": 477, "threshold": [398, 427, 434, 447], "through": [1, 2, 280, 400, 462, 480, 482, 485], "throw": [2, 94, 123], "thu": [5, 323], "thumb": 455, "tic": 480, "tieleman": 467, "tile": [0, 145], "time": [2, 5, 8, 216, 291, 323, 343, 349, 384, 480, 482, 484, 488], "timeit": [480, 482], "titl": 2, "tmp": [1, 142], "to_quant": 306, "to_stream": 2, "toc": 480, "togeth": [0, 1, 2, 6, 236, 310, 311, 481], "tok_embed": 5, "token": [5, 340, 381], "told": 5, "toler": [0, 16, 171], "too": [177, 480, 484], "took": 5, "tool": 8, "top": [2, 292, 352, 401], "topk": 0, "torch": [5, 485], "torch_weight": 5, "total": [217, 482], "total_norm": 308, "tpi": 480, "trace": [0, 3, 480], "trace_fil": 3, "tracer": 377, "track": [2, 323, 328], "track_running_stat": 328, "trade": 484, "tradit": [5, 144, 337, 338, 387], "train": [5, 6, 323, 328, 336, 337, 338, 362, 364, 376, 403, 404], "train_imag": [6, 455], "train_label": [6, 455], "trainabl": [6, 307, 323, 453], "trainable_paramet": [323, 363, 464], "transform": [1, 5, 7, 112, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 167, 307, 323, 328, 344, 350, 352, 363, 364, 376, 382, 387, 483], "transformerencod": 264, "transit": 471, "translat": [141, 350], "transpos": [0, 5, 31, 102, 103, 104, 163, 237, 333, 334, 335], "treat": [0, 2, 153, 154, 156, 157, 286, 401, 480], "tree": [7, 94, 136, 164, 298, 302, 309, 310, 311, 312, 313, 463, 464, 466, 475, 482], "tree_flatten": [264, 310, 313, 323, 455], "tree_map": [311, 323, 481], "tree_unflatten": [5, 455], "trembl": 5, "tri": 0, "triangl": [185, 186, 295], "triangular": [182, 183, 191], "tril": 0, "trilinear": 401, "triplet": 435, "triplet_loss": 323, "triu": 0, "true": [0, 1, 2, 4, 5, 16, 41, 42, 43, 44, 82, 94, 108, 109, 110, 111, 142, 144, 163, 171, 177, 182, 183, 188, 193, 207, 216, 237, 272, 303, 306, 309, 310, 311, 312, 316, 323, 328, 330, 331, 332, 333, 334, 335, 343, 344, 348, 349, 350, 352, 363, 364, 366, 373, 376, 382, 384, 387, 392, 400, 401, 422, 430, 457], "truncat": [146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 250], "truth": [4, 424, 434], "try": [2, 8], "tupl": [0, 30, 65, 68, 79, 95, 99, 100, 101, 103, 104, 125, 129, 131, 136, 138, 178, 185, 188, 189, 190, 231, 236, 256, 258, 277, 298, 301, 309, 310, 311, 312, 313, 325, 326, 327, 331, 332, 334, 335, 355, 356, 357, 366, 368, 389, 401, 457, 459, 460, 461, 462, 479, 482], "tutori": 2, "twice": 488, "two": [0, 2, 13, 14, 16, 24, 82, 85, 87, 88, 89, 90, 118, 128, 133, 147, 150, 156, 162, 163, 165, 166, 171, 180, 181, 182, 183, 184, 185, 186, 187, 189, 190, 191, 198, 203, 205, 221, 223, 227, 230, 284, 312, 326, 342, 349, 356, 415, 423, 480, 481, 482, 483, 488], "txt": 2, "type": [0, 1, 2, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 37, 68, 78, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 115, 116, 117, 118, 121, 122, 123, 125, 126, 127, 128, 129, 130, 131, 133, 134, 135, 137, 138, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 209, 215, 216, 217, 220, 221, 222, 223, 224, 225, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 249, 250, 251, 252, 253, 254, 255, 256, 257, 259, 260, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 282, 283, 284, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 308, 309, 312, 323, 371, 400, 402, 403, 404, 405, 406, 407, 408, 409, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 480, 483], "type_nam": 2, "type_to_nam": 2, "typenam": [0, 1, 2], "typic": [0, 145, 340, 455, 480, 484], "u": [1, 2, 182, 185, 186, 190, 352, 378, 475, 484], "u_": 456, "u_t": 456, "uint": [1, 2, 142], "uint16": [11, 316], "uint3": 1, "uint32": [11, 26, 27, 28, 29, 240, 316], "uint64": [11, 316], "uint8": [11, 316], "ultra": 5, "unabl": 8, "unam": 8, "unari": 480, "unchang": [144, 280, 387], "uncheck": 8, "uncompress": 264, "undefin": [0, 28, 112, 182, 183, 232, 244, 483], "under": [2, 188], "underli": [2, 300], "understand": [5, 403, 404], "unexpect": [2, 18], "unfreez": [323, 364], "unfrozen": 376, "unifi": 7, "uniform": [3, 323, 352, 366, 404, 406, 450, 477, 480, 482, 488], "uniformli": 251, "unintend": 0, "union": [18, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 52, 53, 54, 55, 56, 57, 58, 59, 60, 63, 64, 65, 66, 67, 69, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 84, 85, 86, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 175, 176, 177, 185, 186, 209, 262, 281], "uniqu": [2, 477], "unique_ptr": 2, "unit": [329, 339, 341, 342, 343, 351, 385, 386, 388, 390, 403, 404, 405, 406, 410, 411, 412, 413, 414, 415, 419, 438, 439, 440, 442], "unittest": 8, "univers": 188, "unless": [5, 16, 171, 188, 453], "unlik": [5, 16, 171, 337, 338, 372], "unnecessari": [2, 5], "unnorm": [240, 422, 424], "unscal": 457, "unsign": [163, 236, 237, 316], "unsignedinteg": 11, "unspecifi": [15, 17, 18, 26, 27, 28, 29, 95, 108, 109, 110, 111, 161, 202, 204, 206, 220, 228, 232, 234, 255, 272, 273, 279, 283, 286, 292, 293, 299, 304, 489], "unsqueez": 5, "unsupport": 193, "until": [2, 484, 486], "unus": 2, "up": [1, 2, 5, 112, 480], "upcast": 2, "updat": [0, 1, 2, 4, 5, 6, 38, 94, 306, 310, 312, 328, 359, 360, 366, 371, 372, 373, 378, 455, 457, 460, 462, 463, 464, 468, 469, 470, 471, 472, 473, 480, 481, 484], "update_modul": 323, "uplo": [185, 186], "upon": [5, 310, 311], "upper": [182, 183, 185, 186, 191, 236, 247, 250, 251, 409], "upsampl": 323, "us": [0, 3, 4, 5, 6, 7, 8, 18, 38, 83, 112, 116, 119, 121, 122, 125, 126, 127, 129, 142, 144, 158, 163, 179, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 203, 210, 211, 212, 215, 217, 236, 237, 255, 256, 257, 258, 285, 309, 312, 316, 318, 323, 326, 327, 337, 340, 341, 343, 349, 352, 356, 357, 359, 363, 370, 377, 379, 381, 382, 384, 387, 392, 400, 401, 405, 406, 413, 414, 423, 450, 453, 455, 456, 457, 459, 460, 461, 462, 463, 464, 477, 479, 480, 481, 482, 483, 486, 488], "usag": [112, 400, 480], "user": [2, 5, 323], "usual": [340, 381, 479, 484], "util": [1, 2, 5, 7, 8, 264, 323, 455, 481], "v": [5, 105, 145, 185, 323, 364, 485], "v_": [456, 458, 459, 460, 461, 467, 468], "v_t": [456, 458, 459, 460, 461, 467, 468], "val": [0, 30, 161], "valid": [6, 105, 158, 302, 309, 364, 376, 479], "valid_parameter_filt": 359, "valu": [0, 1, 4, 5, 11, 12, 16, 18, 26, 27, 50, 78, 82, 93, 140, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 161, 171, 184, 188, 190, 192, 209, 217, 224, 231, 235, 239, 240, 241, 243, 244, 245, 247, 250, 251, 258, 262, 286, 287, 298, 302, 307, 309, 310, 311, 312, 316, 326, 327, 329, 336, 337, 338, 339, 345, 348, 352, 356, 357, 363, 379, 380, 396, 398, 400, 402, 422, 423, 424, 425, 426, 427, 429, 430, 431, 432, 433, 434, 447, 453, 457, 460, 469, 470, 472, 473, 482], "value_and_grad": [6, 112, 323, 377, 453, 455, 466, 480, 482, 485, 486], "value_and_grad_fn": 484, "value_cach": 5, "value_dim": 379, "value_input_dim": 379, "value_output_dim": 379, "value_proj": 5, "valueerror": [188, 366, 482], "values_hat": 5, "van": 188, "var": [0, 328, 344, 348, 350, 425], "variabl": [8, 94, 119, 132, 164, 178, 298, 301, 302, 481], "varianc": [0, 279, 299, 328, 344, 425], "variant": [5, 434, 461], "variou": 188, "vector": [0, 2, 4, 7, 170, 178, 188, 286, 301, 302, 340, 424, 486], "verbos": [1, 142], "veri": [5, 379, 481, 484, 488], "verifi": [4, 8], "versa": 258, "version": [2, 8, 116, 198, 202, 236, 272, 302, 477, 482, 483], "versu": 480, "via": [8, 112, 463, 466, 481, 484, 485], "vice": 258, "video": 338, "view": [0, 3, 83, 485], "virtual": 2, "vjp": [2, 112, 486], "vmap": [2, 112, 482, 484, 486], "vmap_add": 482, "vocab_s": 5, "vocabulari": [340, 381], "void": [1, 2], "vt": 190, "w": [0, 1, 4, 99, 100, 103, 104, 116, 163, 185, 236, 237, 298, 311, 328, 331, 332, 334, 335, 337, 338, 352, 455, 468, 482], "w1": [5, 308], "w2": [5, 308], "w3": 5, "w_": [343, 349, 384, 456, 457, 458, 459, 460, 461, 462, 467, 468], "w_1": 236, "w_g": 236, "w_i": [116, 236], "w_in": 1, "w_q": 236, "w_star": 4, "w_stride": 1, "w_t": [456, 458, 459, 460, 461, 462, 467, 468], "wa": [5, 83, 125, 126, 481, 484], "wai": [2, 5, 8, 323, 401, 480, 481, 482, 483], "wait": [2, 5, 216], "walk": 5, "walkthrough": 2, "walsh": 167, "want": [1, 5, 481, 482, 488], "warm": [2, 480], "warmup": [471, 472], "warmup_init": 457, "watch": [5, 480], "wd": 462, "we": [0, 1, 2, 4, 5, 6, 116, 125, 126, 163, 236, 237, 323, 340, 381, 389, 460, 462, 477, 479, 480, 481, 482, 484, 488], "weight": [0, 4, 98, 99, 100, 101, 102, 103, 104, 141, 143, 310, 323, 366, 370, 381, 382, 422, 424, 453, 457, 460, 462, 464, 468, 482, 484], "weight_decai": [457, 460, 462, 468], "weight_fil": 5, "weights_fp16": 484, "well": [5, 323, 364, 376, 379, 484], "wen": 5, "went": 5, "were": [5, 488], "wet": 5, "what": [2, 5, 310], "whatsoev": 5, "whc": 337, "when": [0, 1, 2, 5, 7, 8, 94, 101, 112, 127, 182, 183, 185, 186, 187, 188, 190, 191, 193, 330, 331, 332, 333, 334, 335, 401, 405, 406, 422, 428, 434, 453, 455, 471, 477, 480, 481, 488], "where": [0, 6, 140, 171, 183, 236, 298, 302, 328, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 341, 343, 344, 348, 349, 350, 352, 363, 380, 383, 384, 398, 405, 406, 411, 412, 414, 425, 431, 437, 440, 442, 447, 464, 481, 482, 483], "wherea": 482, "whether": [142, 163, 185, 186, 191, 237, 343, 349, 363, 379, 384, 422, 425, 431], "which": [0, 1, 2, 5, 6, 7, 8, 18, 37, 83, 94, 101, 118, 121, 122, 125, 126, 127, 136, 144, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 164, 172, 173, 174, 175, 176, 178, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 193, 207, 218, 236, 240, 241, 255, 256, 258, 261, 262, 263, 264, 265, 277, 278, 286, 293, 298, 301, 302, 306, 326, 327, 337, 338, 341, 356, 357, 359, 363, 387, 422, 424, 427, 431, 434, 450, 463, 464, 477, 480, 481, 482, 483, 484, 488, 489], "while": [2, 3, 5, 8, 256, 387, 484, 485], "whistl": 2, "who": 5, "whose": [140, 306, 307], "why": 5, "wide": 484, "width": [326, 327, 328, 331, 332, 334, 335, 337, 338, 356, 357, 381, 382], "window": [8, 325, 326, 327, 355, 356, 357], "wipe": 8, "wire": 217, "wired_limit_mb": 217, "wise": [0, 2, 12, 13, 19, 20, 21, 22, 23, 24, 25, 87, 88, 89, 92, 106, 107, 128, 129, 133, 134, 135, 137, 139, 159, 160, 165, 166, 171, 179, 180, 181, 194, 195, 196, 197, 198, 199, 200, 201, 205, 221, 223, 225, 227, 233, 253, 254, 257, 260, 268, 269, 270, 271, 275, 276, 282, 288, 289, 329, 337, 338, 347, 358, 380, 391, 410, 417, 418, 420, 421, 436, 437, 439, 442, 443, 444, 445, 480], "wish": 8, "with_logit": 422, "within": [0, 3, 28, 171], "without": [1, 5, 7, 280, 379, 449, 479, 480, 481, 484, 485, 488], "wk": 5, "wl": 2, "wo": 5, "word": 0, "work": [2, 3, 5, 216, 480, 481, 482, 483, 484], "workhors": 323, "world": [313, 481], "worri": [1, 484], "would": [2, 5, 401, 481, 483, 484, 485, 488], "wq": 5, "wrap": [112, 323], "write": [0, 1, 2, 5, 323, 485], "written": 2, "wrt": 307, "wv": 5, "x": [0, 1, 2, 4, 5, 6, 38, 90, 112, 121, 122, 126, 127, 134, 139, 141, 142, 143, 163, 167, 168, 188, 237, 241, 246, 259, 264, 268, 296, 297, 303, 310, 312, 323, 325, 326, 327, 328, 329, 339, 341, 342, 344, 348, 350, 351, 352, 355, 356, 357, 358, 359, 380, 383, 385, 391, 392, 398, 401, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 434, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 453, 455, 462, 480, 481, 482, 483, 484, 485, 486, 488], "x1": 423, "x2": 423, "x86_64": 8, "x_1": [423, 431], "x_2": [423, 431], "x_cast": 2, "x_grad": 1, "x_i": [421, 443, 444], "x_j": [443, 444], "x_offset": 2, "x_ptr": 2, "x_shape": 1, "x_stride": 2, "x_t": [343, 349, 384], "x_view": 485, "xcode": 8, "xcodeproj": 3, "xcrun": 8, "xf": 349, "xg": 349, "xi": 349, "xn": 343, "xo": 349, "xor": 89, "xr": 343, "xy": [0, 207], "xz": 343, "x\u00b2": 485, "y": [0, 2, 4, 5, 6, 38, 112, 167, 303, 323, 328, 337, 344, 348, 350, 352, 383, 426, 431, 434, 455, 458, 480, 481, 482, 484, 485], "y_": [426, 430], "y_cast": 2, "y_hat": 323, "y_offset": 2, "y_ptr": 2, "y_stride": 2, "ye": 5, "year": 5, "yet": [5, 188, 323, 453, 464, 482, 483, 484, 486], "yield": [5, 6, 477], "you": [2, 3, 5, 6, 7, 8, 217, 323, 392, 400, 450, 477, 480, 481, 482, 483, 485, 487, 488], "your": [2, 5, 8, 453, 482, 484], "z": [2, 343, 480, 484], "z_t": 343, "zeiler": 456, "zero": [0, 140, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 184, 207, 214, 295, 296, 297, 305, 323, 325, 326, 327, 336, 337, 338, 366, 402, 403, 404, 405, 406, 407, 408, 409, 450, 455, 457, 483], "zero_grad": 482, "zeros_lik": 0, "zhang": 5, "zip": [5, 6], "zip_saf": 2}, "titles": ["Operations", "Custom Metal Kernels", "Custom Extensions in MLX", "Metal Debugger", "Linear Regression", "LLM inference", "Multi-Layer Perceptron", "MLX", "Build and Install", "mlx.core.Device", "mlx.core.Dtype", "mlx.core.DtypeCategory", "mlx.core.abs", "mlx.core.add", "mlx.core.addmm", "mlx.core.all", "mlx.core.allclose", "mlx.core.any", "mlx.core.arange", "mlx.core.arccos", "mlx.core.arccosh", "mlx.core.arcsin", "mlx.core.arcsinh", "mlx.core.arctan", "mlx.core.arctan2", "mlx.core.arctanh", "mlx.core.argmax", "mlx.core.argmin", "mlx.core.argpartition", "mlx.core.argsort", "mlx.core.array", "mlx.core.array.T", "mlx.core.array.abs", "mlx.core.array.all", "mlx.core.array.any", "mlx.core.array.argmax", "mlx.core.array.argmin", "mlx.core.array.astype", "mlx.core.array.at", "mlx.core.array.conj", "mlx.core.array.cos", "mlx.core.array.cummax", "mlx.core.array.cummin", "mlx.core.array.cumprod", "mlx.core.array.cumsum", "mlx.core.array.diag", "mlx.core.array.diagonal", "mlx.core.array.dtype", "mlx.core.array.exp", "mlx.core.array.flatten", "mlx.core.array.item", "mlx.core.array.itemsize", "mlx.core.array.log", "mlx.core.array.log10", "mlx.core.array.log1p", "mlx.core.array.log2", "mlx.core.array.logsumexp", "mlx.core.array.max", "mlx.core.array.mean", "mlx.core.array.min", "mlx.core.array.moveaxis", "mlx.core.array.nbytes", "mlx.core.array.ndim", "mlx.core.array.prod", "mlx.core.array.reciprocal", "mlx.core.array.reshape", "mlx.core.array.round", "mlx.core.array.rsqrt", "mlx.core.array.shape", "mlx.core.array.sin", "mlx.core.array.size", "mlx.core.array.split", "mlx.core.array.sqrt", "mlx.core.array.square", "mlx.core.array.squeeze", "mlx.core.array.std", "mlx.core.array.sum", "mlx.core.array.swapaxes", "mlx.core.array.tolist", "mlx.core.array.transpose", "mlx.core.array.var", "mlx.core.array.view", "mlx.core.array_equal", "mlx.core.as_strided", "mlx.core.atleast_1d", "mlx.core.atleast_2d", "mlx.core.atleast_3d", "mlx.core.bitwise_and", "mlx.core.bitwise_or", "mlx.core.bitwise_xor", "mlx.core.block_masked_mm", "mlx.core.broadcast_to", "mlx.core.ceil", "mlx.core.clip", "mlx.core.compile", "mlx.core.concatenate", "mlx.core.conj", "mlx.core.conjugate", "mlx.core.conv1d", "mlx.core.conv2d", "mlx.core.conv3d", "mlx.core.conv_general", "mlx.core.conv_transpose1d", "mlx.core.conv_transpose2d", "mlx.core.conv_transpose3d", "mlx.core.convolve", "mlx.core.cos", "mlx.core.cosh", "mlx.core.cummax", "mlx.core.cummin", "mlx.core.cumprod", "mlx.core.cumsum", "mlx.core.custom_function", "mlx.core.default_device", "mlx.core.default_stream", "mlx.core.degrees", "mlx.core.dequantize", "mlx.core.diag", "mlx.core.diagonal", "mlx.core.disable_compile", "mlx.core.distributed.Group", "mlx.core.distributed.all_gather", "mlx.core.distributed.all_sum", "mlx.core.distributed.init", "mlx.core.distributed.is_available", "mlx.core.distributed.recv", "mlx.core.distributed.recv_like", "mlx.core.distributed.send", "mlx.core.divide", "mlx.core.divmod", "mlx.core.einsum", "mlx.core.einsum_path", "mlx.core.enable_compile", "mlx.core.equal", "mlx.core.erf", "mlx.core.erfinv", "mlx.core.eval", "mlx.core.exp", "mlx.core.expand_dims", "mlx.core.expm1", "mlx.core.eye", "mlx.core.fast.layer_norm", "mlx.core.fast.metal_kernel", "mlx.core.fast.rms_norm", "mlx.core.fast.rope", "mlx.core.fast.scaled_dot_product_attention", "mlx.core.fft.fft", "mlx.core.fft.fft2", "mlx.core.fft.fftn", "mlx.core.fft.ifft", "mlx.core.fft.ifft2", "mlx.core.fft.ifftn", "mlx.core.fft.irfft", "mlx.core.fft.irfft2", "mlx.core.fft.irfftn", "mlx.core.fft.rfft", "mlx.core.fft.rfft2", "mlx.core.fft.rfftn", "mlx.core.flatten", "mlx.core.floor", "mlx.core.floor_divide", "mlx.core.full", "mlx.core.gather_mm", "mlx.core.gather_qmm", "mlx.core.grad", "mlx.core.greater", "mlx.core.greater_equal", "mlx.core.hadamard_transform", "mlx.core.identity", "mlx.core.imag", "mlx.core.inner", "mlx.core.isclose", "mlx.core.isfinite", "mlx.core.isinf", "mlx.core.isnan", "mlx.core.isneginf", "mlx.core.isposinf", "mlx.core.issubdtype", "mlx.core.jvp", "mlx.core.left_shift", "mlx.core.less", "mlx.core.less_equal", "mlx.core.linalg.cholesky", "mlx.core.linalg.cholesky_inv", "mlx.core.linalg.cross", "mlx.core.linalg.eigh", "mlx.core.linalg.eigvalsh", "mlx.core.linalg.inv", "mlx.core.linalg.norm", "mlx.core.linalg.qr", "mlx.core.linalg.svd", "mlx.core.linalg.tri_inv", "mlx.core.linspace", "mlx.core.load", "mlx.core.log", "mlx.core.log10", "mlx.core.log1p", "mlx.core.log2", "mlx.core.logaddexp", "mlx.core.logical_and", "mlx.core.logical_not", "mlx.core.logical_or", "mlx.core.logsumexp", "mlx.core.matmul", "mlx.core.max", "mlx.core.maximum", "mlx.core.mean", "mlx.core.meshgrid", "mlx.core.metal.clear_cache", "mlx.core.metal.device_info", "mlx.core.metal.get_active_memory", "mlx.core.metal.get_cache_memory", "mlx.core.metal.get_peak_memory", "mlx.core.metal.is_available", "mlx.core.metal.reset_peak_memory", "mlx.core.metal.set_cache_limit", "mlx.core.metal.set_memory_limit", "mlx.core.metal.set_wired_limit", "mlx.core.metal.start_capture", "mlx.core.metal.stop_capture", "mlx.core.min", "mlx.core.minimum", "mlx.core.moveaxis", "mlx.core.multiply", "mlx.core.nan_to_num", "mlx.core.negative", "mlx.core.new_stream", "mlx.core.not_equal", "mlx.core.ones", "mlx.core.ones_like", "mlx.core.outer", "mlx.core.pad", "mlx.core.partition", "mlx.core.power", "mlx.core.prod", "mlx.core.put_along_axis", "mlx.core.quantize", "mlx.core.quantized_matmul", "mlx.core.radians", "mlx.core.random.bernoulli", "mlx.core.random.categorical", "mlx.core.random.gumbel", "mlx.core.random.key", "mlx.core.random.laplace", "mlx.core.random.multivariate_normal", "mlx.core.random.normal", "mlx.core.random.permutation", "mlx.core.random.randint", "mlx.core.random.seed", "mlx.core.random.split", "mlx.core.random.truncated_normal", "mlx.core.random.uniform", "mlx.core.real", "mlx.core.reciprocal", "mlx.core.remainder", "mlx.core.repeat", "mlx.core.reshape", "mlx.core.right_shift", "mlx.core.roll", "mlx.core.round", "mlx.core.rsqrt", "mlx.core.save", "mlx.core.save_gguf", "mlx.core.save_safetensors", "mlx.core.savez", "mlx.core.savez_compressed", "mlx.core.set_default_device", "mlx.core.set_default_stream", "mlx.core.sigmoid", "mlx.core.sign", "mlx.core.sin", "mlx.core.sinh", "mlx.core.softmax", "mlx.core.sort", "mlx.core.split", "mlx.core.sqrt", "mlx.core.square", "mlx.core.squeeze", "mlx.core.stack", "mlx.core.std", "mlx.core.stop_gradient", "mlx.core.stream", "mlx.core.subtract", "mlx.core.sum", "mlx.core.swapaxes", "mlx.core.synchronize", "mlx.core.take", "mlx.core.take_along_axis", "mlx.core.tan", "mlx.core.tanh", "mlx.core.tensordot", "mlx.core.tile", "mlx.core.topk", "mlx.core.trace", "mlx.core.transpose", "mlx.core.tri", "mlx.core.tril", "mlx.core.triu", "mlx.core.value_and_grad", "mlx.core.var", "mlx.core.view", "mlx.core.vjp", "mlx.core.vmap", "mlx.core.where", "mlx.core.zeros", "mlx.core.zeros_like", "mlx.nn.quantize", "mlx.nn.value_and_grad", "mlx.optimizers.clip_grad_norm", "mlx.utils.tree_flatten", "mlx.utils.tree_map", "mlx.utils.tree_map_with_path", "mlx.utils.tree_reduce", "mlx.utils.tree_unflatten", "mlx.core.Stream", "Array", "Data Types", "Devices and Streams", "Distributed Communication", "Fast", "FFT", "Linear Algebra", "Metal", "Neural Networks", "mlx.nn.ALiBi", "mlx.nn.AvgPool1d", "mlx.nn.AvgPool2d", "mlx.nn.AvgPool3d", "mlx.nn.BatchNorm", "mlx.nn.CELU", "mlx.nn.Conv1d", "mlx.nn.Conv2d", "mlx.nn.Conv3d", "mlx.nn.ConvTranspose1d", "mlx.nn.ConvTranspose2d", "mlx.nn.ConvTranspose3d", "mlx.nn.Dropout", "mlx.nn.Dropout2d", "mlx.nn.Dropout3d", "mlx.nn.ELU", "mlx.nn.Embedding", "mlx.nn.GELU", "mlx.nn.GLU", "mlx.nn.GRU", "mlx.nn.GroupNorm", "mlx.nn.HardShrink", "mlx.nn.HardTanh", "mlx.nn.Hardswish", "mlx.nn.InstanceNorm", "mlx.nn.LSTM", "mlx.nn.LayerNorm", "mlx.nn.LeakyReLU", "mlx.nn.Linear", "mlx.nn.LogSigmoid", "mlx.nn.LogSoftmax", "mlx.nn.MaxPool1d", "mlx.nn.MaxPool2d", "mlx.nn.MaxPool3d", "mlx.nn.Mish", "mlx.nn.Module.apply", "mlx.nn.Module.apply_to_modules", "mlx.nn.Module.children", "mlx.nn.Module.eval", "mlx.nn.Module.filter_and_map", "mlx.nn.Module.freeze", "mlx.nn.Module.leaf_modules", "mlx.nn.Module.load_weights", "mlx.nn.Module.modules", "mlx.nn.Module.named_modules", "mlx.nn.Module.parameters", "mlx.nn.Module.save_weights", "mlx.nn.Module.set_dtype", "mlx.nn.Module.state", "mlx.nn.Module.train", "mlx.nn.Module.trainable_parameters", "mlx.nn.Module.training", "mlx.nn.Module.unfreeze", "mlx.nn.Module.update", "mlx.nn.Module.update_modules", "mlx.nn.MultiHeadAttention", "mlx.nn.PReLU", "mlx.nn.QuantizedEmbedding", "mlx.nn.QuantizedLinear", "mlx.nn.RMSNorm", "mlx.nn.RNN", "mlx.nn.ReLU", "mlx.nn.ReLU6", "mlx.nn.RoPE", "mlx.nn.SELU", "mlx.nn.Sequential", "mlx.nn.SiLU", "mlx.nn.Sigmoid", "mlx.nn.SinusoidalPositionalEncoding", "mlx.nn.Softmax", "mlx.nn.Softmin", "mlx.nn.Softplus", "mlx.nn.Softshrink", "mlx.nn.Softsign", "mlx.nn.Step", "mlx.nn.Tanh", "mlx.nn.Transformer", "mlx.nn.Upsample", "mlx.nn.init.constant", "mlx.nn.init.glorot_normal", "mlx.nn.init.glorot_uniform", "mlx.nn.init.he_normal", "mlx.nn.init.he_uniform", "mlx.nn.init.identity", "mlx.nn.init.normal", "mlx.nn.init.uniform", "mlx.nn.celu", "mlx.nn.elu", "mlx.nn.gelu", "mlx.nn.gelu_approx", "mlx.nn.gelu_fast_approx", "mlx.nn.glu", "mlx.nn.hard_shrink", "mlx.nn.hard_tanh", "mlx.nn.hardswish", "mlx.nn.leaky_relu", "mlx.nn.log_sigmoid", "mlx.nn.log_softmax", "mlx.nn.losses.binary_cross_entropy", "mlx.nn.losses.cosine_similarity_loss", "mlx.nn.losses.cross_entropy", "mlx.nn.losses.gaussian_nll_loss", "mlx.nn.losses.hinge_loss", "mlx.nn.losses.huber_loss", "mlx.nn.losses.kl_div_loss", "mlx.nn.losses.l1_loss", "mlx.nn.losses.log_cosh_loss", "mlx.nn.losses.margin_ranking_loss", "mlx.nn.losses.mse_loss", "mlx.nn.losses.nll_loss", "mlx.nn.losses.smooth_l1_loss", "mlx.nn.losses.triplet_loss", "mlx.nn.mish", "mlx.nn.prelu", "mlx.nn.relu", "mlx.nn.relu6", "mlx.nn.selu", "mlx.nn.sigmoid", "mlx.nn.silu", "mlx.nn.softmax", "mlx.nn.softmin", "mlx.nn.softplus", "mlx.nn.softshrink", "mlx.nn.step", "mlx.nn.tanh", "Functions", "Initializers", "Layers", "Loss Functions", "Module", "Operations", "Optimizers", "mlx.optimizers.AdaDelta", "mlx.optimizers.Adafactor", "mlx.optimizers.Adagrad", "mlx.optimizers.Adam", "mlx.optimizers.AdamW", "mlx.optimizers.Adamax", "mlx.optimizers.Lion", "mlx.optimizers.Optimizer.apply_gradients", "mlx.optimizers.Optimizer.init", "mlx.optimizers.Optimizer.state", "mlx.optimizers.Optimizer.update", "mlx.optimizers.RMSprop", "mlx.optimizers.SGD", "mlx.optimizers.cosine_decay", "mlx.optimizers.exponential_decay", "mlx.optimizers.join_schedules", "mlx.optimizers.linear_schedule", "mlx.optimizers.step_decay", "Common Optimizers", "Optimizer", "Schedulers", "Random", "Transforms", "Tree Utils", "Compilation", "Distributed Communication", "Function Transforms", "Indexing Arrays", "Lazy Evaluation", "Conversion to NumPy and Other Frameworks", "Quick Start Guide", "Saving and Loading Arrays", "Unified Memory", "Using Streams"], "titleterms": {"A": 488, "In": 483, "The": 323, "ab": [12, 32], "adadelta": 456, "adafactor": 457, "adagrad": 458, "adam": 459, "adamax": 461, "adamw": 460, "add": 13, "addmm": 14, "algebra": 321, "alibi": 324, "all": [5, 15, 33, 481], "all_gath": 121, "all_sum": 122, "allclos": 16, "ani": [17, 34], "api": [7, 8], "appli": 359, "apply_gradi": 463, "apply_to_modul": 360, "arang": 18, "arcco": 19, "arccosh": 20, "arcsin": 21, "arcsinh": 22, "arctan": 23, "arctan2": 24, "arctanh": 25, "argmax": [26, 35], "argmin": [27, 36], "argpartit": 28, "argsort": 29, "arrai": [30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 315, 483, 487], "array_equ": 82, "as_strid": 83, "astyp": 37, "atleast_1d": 84, "atleast_2d": 85, "atleast_3d": 86, "attent": 5, "automat": 482, "avgpool1d": 325, "avgpool2d": 326, "avgpool3d": 327, "back": 2, "basic": [480, 486], "batchnorm": 328, "benchmark": 5, "bernoulli": 239, "binari": 8, "binary_cross_entropi": 422, "bind": 2, "bitwise_and": 87, "bitwise_or": 88, "bitwise_xor": 89, "block_masked_mm": 90, "broadcast_to": 91, "build": [2, 8], "c": [7, 8], "categor": 240, "ceil": 92, "celu": [329, 410], "children": 361, "choleski": 182, "cholesky_inv": 183, "class": 323, "clear_cach": 208, "clip": 93, "clip_grad_norm": 308, "cmake": 2, "co": [40, 106], "code": [2, 5], "common": 474, "commun": [318, 481], "compil": [94, 480], "complex": 1, "comput": 484, "concaten": 95, "conj": [39, 96], "conjug": 97, "constant": 402, "conv1d": [98, 330], "conv2d": [99, 331], "conv3d": [100, 332], "conv_gener": 101, "conv_transpose1d": 102, "conv_transpose2d": 103, "conv_transpose3d": 104, "convers": 485, "convert": 5, "convolv": 105, "convtranspose1d": 333, "convtranspose2d": 334, "convtranspose3d": 335, "core": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 314], "cosh": 107, "cosine_decai": 469, "cosine_similarity_loss": 423, "cpu": 2, "cross": 184, "cross_entropi": 424, "cummax": [41, 108], "cummin": [42, 109], "cumprod": [43, 110], "cumsum": [44, 111], "custom": [1, 2], "custom_funct": 112, "data": 316, "debug": 480, "debugg": 3, "default_devic": 113, "default_stream": 114, "degre": 115, "dequant": 116, "devic": [9, 317], "device_info": 209, "diag": [45, 117], "diagon": [46, 118], "differ": 483, "differenti": 482, "disable_compil": 119, "distribut": [120, 121, 122, 123, 124, 125, 126, 127, 318, 481], "divid": 128, "divmod": 129, "download": [2, 5], "dropout": 336, "dropout2d": 337, "dropout3d": 338, "dtype": [10, 47], "dtypecategori": 11, "eigh": 185, "eigvalsh": 186, "einsum": 130, "einsum_path": 131, "elu": [339, 411], "embed": 340, "enable_compil": 132, "encod": 5, "end": 2, "equal": 133, "erf": 134, "erfinv": 135, "eval": [136, 362], "evalu": 484, "exampl": [1, 2, 7, 480, 481, 488], "exp": [48, 137], "expand_dim": 138, "expm1": 139, "exponential_decai": 470, "extens": 2, "ey": 140, "fast": [141, 142, 143, 144, 145, 319], "fft": [146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 320], "fft2": 147, "fftn": 148, "filter_and_map": 363, "flatten": [49, 158], "floor": 159, "floor_divid": 160, "format": 487, "found": 8, "framework": 485, "freez": 364, "from": [8, 483], "full": [5, 161], "function": [449, 452, 480, 482, 486], "further": 7, "gather_mm": 162, "gather_qmm": 163, "gaussian_nll_loss": 425, "gelu": [341, 412], "gelu_approx": 413, "gelu_fast_approx": 414, "gener": 5, "get": 481, "get_active_memori": 210, "get_cache_memori": 211, "get_peak_memori": 212, "glorot_norm": 403, "glorot_uniform": 404, "glu": [342, 415], "gpu": 2, "grad": [164, 323], "graph": [480, 484, 486], "greater": 165, "greater_equ": 166, "grid": 1, "group": 120, "groupnorm": 344, "gru": 343, "guid": 486, "gumbel": 241, "hadamard_transform": 167, "hard_shrink": 416, "hard_tanh": 417, "hardshrink": 345, "hardswish": [347, 418], "hardtanh": 346, "he_norm": 405, "he_uniform": 406, "hinge_loss": 426, "host": 481, "huber_loss": 427, "ident": [168, 407], "ifft": 149, "ifft2": 150, "ifftn": 151, "imag": 169, "implement": [2, 5], "index": 483, "infer": 5, "init": [123, 402, 403, 404, 405, 406, 407, 408, 409, 464], "initi": 450, "inner": 170, "inspect": 323, "instal": [7, 8, 481], "instancenorm": 348, "introduc": 2, "inv": 187, "irfft": 152, "irfft2": 153, "irfftn": 154, "is_avail": [124, 213], "isclos": 171, "isfinit": 172, "isinf": 173, "isnan": 174, "isneginf": 175, "isposinf": 176, "issubdtyp": 177, "item": 50, "items": 51, "jax": 485, "join_schedul": 471, "jvp": 178, "kei": 242, "kernel": 1, "kl_div_loss": 428, "l1_loss": 429, "laplac": 243, "layer": [5, 6, 451], "layer_norm": 141, "layernorm": 350, "lazi": 484, "leaf_modul": 365, "leaky_relu": 419, "leakyrelu": 351, "left_shift": 179, "less": 180, "less_equ": 181, "linalg": [182, 183, 184, 185, 186, 187, 188, 189, 190, 191], "linear": [4, 321, 352], "linear_schedul": 472, "linspac": 192, "lion": 462, "llm": 5, "load": [5, 193, 455, 487], "load_weight": 366, "log": [52, 194], "log10": [53, 195], "log1p": [54, 196], "log2": [55, 197], "log_cosh_loss": 430, "log_sigmoid": 420, "log_softmax": 421, "logaddexp": 198, "logical_and": 199, "logical_not": 200, "logical_or": 201, "logsigmoid": 353, "logsoftmax": 354, "logsumexp": [56, 202], "loss": [422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 452], "lstm": 349, "margin_ranking_loss": 431, "matmul": 203, "max": [57, 204], "maximum": 205, "maxpool1d": 355, "maxpool2d": 356, "maxpool3d": 357, "mean": [58, 206], "memori": 488, "meshgrid": 207, "metal": [1, 3, 8, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 322], "metal_kernel": 142, "min": [59, 220], "minim": 8, "minimum": 221, "mish": [358, 436], "mlx": [2, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473], "model": 5, "modul": [323, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 453], "moveaxi": [60, 222], "mpi": 481, "mse_loss": 432, "multi": 6, "multiheadattent": 379, "multipli": 223, "multivariate_norm": 244, "named_modul": 368, "nan_to_num": 224, "nbyte": 61, "ndim": 62, "neg": 225, "network": 323, "neural": 323, "new_stream": 226, "nll_loss": 433, "nn": [306, 307, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448], "norm": 188, "normal": [245, 408], "not_equ": 227, "numpi": [483, 485], "ones": 228, "ones_lik": 229, "onli": 484, "oper": [0, 2, 454], "optim": [308, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475], "option": 8, "other": 485, "outer": 230, "pad": 231, "paramet": [323, 369], "partit": 232, "perceptron": 6, "permut": 246, "place": 483, "power": 233, "prelu": [380, 437], "primit": 2, "prod": [63, 234], "pure": 480, "put": 5, "put_along_axi": 235, "python": [2, 7, 8], "pytorch": 485, "qr": 189, "quantiz": [236, 306], "quantized_matmul": 237, "quantizedembed": 381, "quantizedlinear": 382, "quick": [323, 486], "radian": 238, "randint": 247, "random": [239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 477], "read": 7, "real": 252, "reciproc": [64, 253], "recv": 125, "recv_lik": 126, "reduc": 481, "refer": 7, "regress": 4, "relu": [385, 438], "relu6": [386, 439], "remaind": 254, "remot": 481, "repeat": 255, "requir": 8, "reset_peak_memori": 214, "reshap": [65, 256], "result": 2, "rfft": 155, "rfft2": 156, "rfftn": 157, "right_shift": 257, "rms_norm": 143, "rmsnorm": 383, "rmsprop": 467, "rnn": 384, "roll": 258, "rope": [144, 387], "round": [66, 259], "rsqrt": [67, 260], "sampl": 1, "save": [261, 455, 487], "save_gguf": 262, "save_safetensor": 263, "save_weight": 370, "savez": 264, "savez_compress": 265, "scaled_dot_product_attent": 145, "schedul": 476, "script": [2, 5], "seed": 248, "selu": [388, 440], "send": 127, "sequenti": 389, "serial": 487, "set": 481, "set_cache_limit": 215, "set_default_devic": 266, "set_default_stream": 267, "set_dtyp": 371, "set_memory_limit": 216, "set_wired_limit": 217, "setuptool": 2, "sgd": 468, "shape": [1, 68], "shell": 8, "sigmoid": [268, 391, 441], "sign": 269, "silu": [390, 442], "simpl": [1, 488], "sin": [69, 270], "sinh": 271, "sinusoidalpositionalencod": 392, "size": [8, 70], "smooth_l1_loss": 434, "softmax": [272, 393, 443], "softmin": [394, 444], "softplu": [395, 445], "softshrink": [396, 446], "softsign": 397, "sort": 273, "sourc": 8, "specifi": 489, "speedup": 480, "split": [71, 249, 274], "sqrt": [72, 275], "squar": [73, 276], "squeez": [74, 277], "stack": 278, "start": [323, 481, 486], "start_captur": 218, "state": [372, 465], "std": [75, 279], "step": [398, 447], "step_decai": 473, "stop_captur": 219, "stop_gradi": 280, "stream": [281, 314, 317, 489], "stride": 1, "subtract": 282, "sum": [76, 283], "support": 316, "svd": 190, "swapax": [77, 284], "synchron": 285, "t": 31, "take": 286, "take_along_axi": 287, "tan": 288, "tanh": [289, 399, 448], "tensordot": 290, "tensorflow": 485, "tile": 291, "togeth": 5, "tolist": 78, "topk": 292, "trace": 293, "train": [373, 375, 480, 481], "trainable_paramet": 374, "transform": [2, 400, 478, 480, 482, 484, 486], "transpos": [79, 294], "tree": 479, "tree_flatten": 309, "tree_map": 310, "tree_map_with_path": 311, "tree_reduc": 312, "tree_unflatten": 313, "tri": 295, "tri_inv": 191, "tril": 296, "triplet_loss": 435, "triu": 297, "troubleshoot": 8, "truncated_norm": 250, "tune": 481, "type": 316, "unfreez": 376, "unifi": 488, "uniform": [251, 409], "up": 481, "updat": [323, 377, 466, 483], "update_modul": 378, "upsampl": 401, "us": [1, 2, 484, 489], "usag": [2, 7], "util": [309, 310, 311, 312, 313, 479], "valu": 323, "value_and_grad": [298, 307], "var": [80, 299], "vector": 482, "view": [81, 300], "vjp": [1, 301], "vmap": 302, "weight": 5, "what": 484, "when": 484, "where": 303, "why": 484, "workflow": 3, "x86": 8, "xcode": 3, "you": 484, "zero": 304, "zeros_lik": 305}}) \ No newline at end of file +Search.setIndex({"alltitles": {"A Simple Example": [[488, "a-simple-example"]], "Array": [[315, null]], "Attention layer": [[5, "attention-layer"]], "Automatic Differentiation": [[482, "automatic-differentiation"]], "Automatic Vectorization": [[482, "automatic-vectorization"]], "Basics": [[486, "basics"]], "Basics of Compile": [[480, "basics-of-compile"]], "Binary Size Minimization": [[8, "binary-size-minimization"]], "Binding to Python": [[2, "binding-to-python"]], "Build Options": [[8, "id3"]], "Build Requirements": [[8, "build-requirements"]], "Build and Install": [[8, null]], "Build from source": [[8, "build-from-source"]], "Building and Binding": [[2, "building-and-binding"]], "Building with CMake": [[2, "building-with-cmake"]], "Building with setuptools": [[2, "building-with-setuptools"]], "C++ API": [[8, "c-api"]], "C++ API Reference": [[7, null]], "Common Optimizers": [[474, null]], "Compilation": [[480, null]], "Compiling Training Graphs": [[480, "compiling-training-graphs"]], "Complex Example": [[1, "complex-example"]], "Conversion to NumPy and Other Frameworks": [[485, null]], "Converting the weights": [[5, "converting-the-weights"]], "Custom Extensions in MLX": [[2, null]], "Custom Metal Kernels": [[1, null]], "Data Types": [[316, null]], "Debugging": [[480, "debugging"]], "Devices and Streams": [[317, null]], "Differences from NumPy": [[483, "differences-from-numpy"]], "Distributed Communication": [[318, null], [481, null]], "Download the code": [[2, null], [5, null]], "Encoder layer": [[5, "encoder-layer"]], "Example Speedup": [[480, "example-speedup"]], "Examples": [[7, null]], "FFT": [[320, null]], "Fast": [[319, null]], "Full model": [[5, "full-model"]], "Function Transforms": [[482, null]], "Function and Graph Transformations": [[486, "function-and-graph-transformations"]], "Functions": [[449, null]], "Further Reading": [[7, null]], "Generation": [[5, "generation"]], "Getting Started": [[481, "getting-started"]], "Grid Sample VJP": [[1, "grid-sample-vjp"]], "Implementing the CPU Back-end": [[2, "implementing-the-cpu-back-end"]], "Implementing the GPU Back-end": [[2, "implementing-the-gpu-back-end"]], "Implementing the Primitive": [[2, "implementing-the-primitive"]], "Implementing the model": [[5, "implementing-the-model"]], "In Place Updates": [[483, "in-place-updates"]], "Indexing Arrays": [[483, null]], "Initializers": [[450, null]], "Inspecting Modules": [[323, "inspecting-modules"]], "Install": [[7, null]], "Installing MPI": [[481, "installing-mpi"]], "Introducing the Example": [[2, "introducing-the-example"]], "JAX": [[485, "jax"]], "LLM inference": [[5, null]], "Layers": [[451, null]], "Lazy Evaluation": [[484, null]], "Linear Algebra": [[321, null]], "Linear Regression": [[4, null]], "Loss Functions": [[452, null]], "MLX": [[7, null]], "Metal": [[322, null]], "Metal Debugger": [[3, null]], "Metal not found": [[8, "metal-not-found"]], "Module": [[453, null]], "Multi-Layer Perceptron": [[6, null]], "Neural Networks": [[323, null]], "Only Compute What You Use": [[484, "only-compute-what-you-use"]], "Operations": [[0, null], [2, "operations"], [454, null]], "Operations and Primitives": [[2, "operations-and-primitives"]], "Optimizer": [[475, null]], "Optimizers": [[455, null]], "Parameters": [[323, "parameters"]], "Primitive Transforms": [[2, "primitive-transforms"]], "Primitives": [[2, "primitives"]], "Pure Functions": [[480, "pure-functions"]], "Putting it all together": [[5, "putting-it-all-together"]], "PyTorch": [[485, "pytorch"]], "Python API": [[8, "python-api"]], "Python API Reference": [[7, null]], "Python Installation": [[8, "python-installation"]], "Quick Start Guide": [[486, null]], "Quick Start with Neural Networks": [[323, "quick-start-with-neural-networks"]], "Random": [[477, null]], "Results": [[2, "results"]], "Saving and Loading": [[455, "saving-and-loading"]], "Saving and Loading Arrays": [[487, null]], "Schedulers": [[476, null]], "Scripts": [[2, "scripts"], [5, "scripts"]], "Serialization Formats": [[487, "id1"]], "Setting up Remote Hosts": [[481, "setting-up-remote-hosts"]], "Simple Example": [[1, "simple-example"]], "Specifying the Stream": [[489, "specifying-the-stream"]], "Supported Data Types": [[316, "id2"]], "TensorFlow": [[485, "tensorflow"]], "The Module Class": [[323, "the-module-class"]], "Training Example": [[481, "training-example"]], "Transformations with Compile": [[480, "transformations-with-compile"]], "Transforming Compute Graphs": [[484, "transforming-compute-graphs"]], "Transforms": [[478, null]], "Tree Utils": [[479, null]], "Troubleshooting": [[8, "troubleshooting"], [8, "id2"]], "Tuning All Reduce": [[481, "tuning-all-reduce"]], "Unified Memory": [[488, null]], "Updating the Parameters": [[323, "updating-the-parameters"]], "Usage": [[2, "usage"], [7, null]], "Using Shape/Strides": [[1, "using-shape-strides"]], "Using Streams": [[489, null]], "Using the Primitive": [[2, "using-the-primitive"]], "Value and Grad": [[323, "value-and-grad"]], "Weight loading and benchmarking": [[5, "weight-loading-and-benchmarking"]], "When to Evaluate": [[484, "when-to-evaluate"]], "Why Lazy Evaluation": [[484, "why-lazy-evaluation"]], "Xcode Workflow": [[3, "xcode-workflow"]], "mlx.core.Device": [[9, null]], "mlx.core.Dtype": [[10, null]], "mlx.core.DtypeCategory": [[11, null]], "mlx.core.Stream": [[314, null]], "mlx.core.abs": [[12, null]], "mlx.core.add": [[13, null]], "mlx.core.addmm": [[14, null]], "mlx.core.all": [[15, null]], "mlx.core.allclose": [[16, null]], "mlx.core.any": [[17, null]], "mlx.core.arange": [[18, null]], "mlx.core.arccos": [[19, null]], "mlx.core.arccosh": [[20, null]], "mlx.core.arcsin": [[21, null]], "mlx.core.arcsinh": [[22, null]], "mlx.core.arctan": [[23, null]], "mlx.core.arctan2": [[24, null]], "mlx.core.arctanh": [[25, null]], "mlx.core.argmax": [[26, null]], "mlx.core.argmin": [[27, null]], "mlx.core.argpartition": [[28, null]], "mlx.core.argsort": [[29, null]], "mlx.core.array": [[30, null]], "mlx.core.array.T": [[31, null]], "mlx.core.array.abs": [[32, null]], "mlx.core.array.all": [[33, null]], "mlx.core.array.any": [[34, null]], "mlx.core.array.argmax": [[35, null]], "mlx.core.array.argmin": [[36, null]], "mlx.core.array.astype": [[37, null]], "mlx.core.array.at": [[38, null]], "mlx.core.array.conj": [[39, null]], "mlx.core.array.cos": [[40, null]], "mlx.core.array.cummax": [[41, null]], "mlx.core.array.cummin": [[42, null]], "mlx.core.array.cumprod": [[43, null]], "mlx.core.array.cumsum": [[44, null]], "mlx.core.array.diag": [[45, null]], "mlx.core.array.diagonal": [[46, null]], "mlx.core.array.dtype": [[47, null]], "mlx.core.array.exp": [[48, null]], "mlx.core.array.flatten": [[49, null]], "mlx.core.array.item": [[50, null]], "mlx.core.array.itemsize": [[51, null]], "mlx.core.array.log": [[52, null]], "mlx.core.array.log10": [[53, null]], "mlx.core.array.log1p": [[54, null]], "mlx.core.array.log2": [[55, null]], "mlx.core.array.logsumexp": [[56, null]], "mlx.core.array.max": [[57, null]], "mlx.core.array.mean": [[58, null]], "mlx.core.array.min": [[59, null]], "mlx.core.array.moveaxis": [[60, null]], "mlx.core.array.nbytes": [[61, null]], "mlx.core.array.ndim": [[62, null]], "mlx.core.array.prod": [[63, null]], "mlx.core.array.reciprocal": [[64, null]], "mlx.core.array.reshape": [[65, null]], "mlx.core.array.round": [[66, null]], "mlx.core.array.rsqrt": [[67, null]], "mlx.core.array.shape": [[68, null]], "mlx.core.array.sin": [[69, null]], "mlx.core.array.size": [[70, null]], "mlx.core.array.split": [[71, null]], "mlx.core.array.sqrt": [[72, null]], "mlx.core.array.square": [[73, null]], "mlx.core.array.squeeze": [[74, null]], "mlx.core.array.std": [[75, null]], "mlx.core.array.sum": [[76, null]], "mlx.core.array.swapaxes": [[77, null]], "mlx.core.array.tolist": [[78, null]], "mlx.core.array.transpose": [[79, null]], "mlx.core.array.var": [[80, null]], "mlx.core.array.view": [[81, null]], "mlx.core.array_equal": [[82, null]], "mlx.core.as_strided": [[83, null]], "mlx.core.atleast_1d": [[84, null]], "mlx.core.atleast_2d": [[85, null]], "mlx.core.atleast_3d": [[86, null]], "mlx.core.bitwise_and": [[87, null]], "mlx.core.bitwise_or": [[88, null]], "mlx.core.bitwise_xor": [[89, null]], "mlx.core.block_masked_mm": [[90, null]], "mlx.core.broadcast_to": [[91, null]], "mlx.core.ceil": [[92, null]], "mlx.core.clip": [[93, null]], "mlx.core.compile": [[94, null]], "mlx.core.concatenate": [[95, null]], "mlx.core.conj": [[96, null]], "mlx.core.conjugate": [[97, null]], "mlx.core.conv1d": [[98, null]], "mlx.core.conv2d": [[99, null]], "mlx.core.conv3d": [[100, null]], "mlx.core.conv_general": [[101, null]], "mlx.core.conv_transpose1d": [[102, null]], "mlx.core.conv_transpose2d": [[103, null]], "mlx.core.conv_transpose3d": [[104, null]], "mlx.core.convolve": [[105, null]], "mlx.core.cos": [[106, null]], "mlx.core.cosh": [[107, null]], "mlx.core.cummax": [[108, null]], "mlx.core.cummin": [[109, null]], "mlx.core.cumprod": [[110, null]], "mlx.core.cumsum": [[111, null]], "mlx.core.custom_function": [[112, null]], "mlx.core.default_device": [[113, null]], "mlx.core.default_stream": [[114, null]], "mlx.core.degrees": [[115, null]], "mlx.core.dequantize": [[116, null]], "mlx.core.diag": [[117, null]], "mlx.core.diagonal": [[118, null]], "mlx.core.disable_compile": [[119, null]], "mlx.core.distributed.Group": [[120, null]], "mlx.core.distributed.all_gather": [[121, null]], "mlx.core.distributed.all_sum": [[122, null]], "mlx.core.distributed.init": [[123, null]], "mlx.core.distributed.is_available": [[124, null]], "mlx.core.distributed.recv": [[125, null]], "mlx.core.distributed.recv_like": [[126, null]], "mlx.core.distributed.send": [[127, null]], "mlx.core.divide": [[128, null]], "mlx.core.divmod": [[129, null]], "mlx.core.einsum": [[130, null]], "mlx.core.einsum_path": [[131, null]], "mlx.core.enable_compile": [[132, null]], "mlx.core.equal": [[133, null]], "mlx.core.erf": [[134, null]], "mlx.core.erfinv": [[135, null]], "mlx.core.eval": [[136, null]], "mlx.core.exp": [[137, null]], "mlx.core.expand_dims": [[138, null]], "mlx.core.expm1": [[139, null]], "mlx.core.eye": [[140, null]], "mlx.core.fast.layer_norm": [[141, null]], "mlx.core.fast.metal_kernel": [[142, null]], "mlx.core.fast.rms_norm": [[143, null]], "mlx.core.fast.rope": [[144, null]], "mlx.core.fast.scaled_dot_product_attention": [[145, null]], "mlx.core.fft.fft": [[146, null]], "mlx.core.fft.fft2": [[147, null]], "mlx.core.fft.fftn": [[148, null]], "mlx.core.fft.ifft": [[149, null]], "mlx.core.fft.ifft2": [[150, null]], "mlx.core.fft.ifftn": [[151, null]], "mlx.core.fft.irfft": [[152, null]], "mlx.core.fft.irfft2": [[153, null]], "mlx.core.fft.irfftn": [[154, null]], "mlx.core.fft.rfft": [[155, null]], "mlx.core.fft.rfft2": [[156, null]], "mlx.core.fft.rfftn": [[157, null]], "mlx.core.flatten": [[158, null]], "mlx.core.floor": [[159, null]], "mlx.core.floor_divide": [[160, null]], "mlx.core.full": [[161, null]], "mlx.core.gather_mm": [[162, null]], "mlx.core.gather_qmm": [[163, null]], "mlx.core.grad": [[164, null]], "mlx.core.greater": [[165, null]], "mlx.core.greater_equal": [[166, null]], "mlx.core.hadamard_transform": [[167, null]], "mlx.core.identity": [[168, null]], "mlx.core.imag": [[169, null]], "mlx.core.inner": [[170, null]], "mlx.core.isclose": [[171, null]], "mlx.core.isfinite": [[172, null]], "mlx.core.isinf": [[173, null]], "mlx.core.isnan": [[174, null]], "mlx.core.isneginf": [[175, null]], "mlx.core.isposinf": [[176, null]], "mlx.core.issubdtype": [[177, null]], "mlx.core.jvp": [[178, null]], "mlx.core.left_shift": [[179, null]], "mlx.core.less": [[180, null]], "mlx.core.less_equal": [[181, null]], "mlx.core.linalg.cholesky": [[182, null]], "mlx.core.linalg.cholesky_inv": [[183, null]], "mlx.core.linalg.cross": [[184, null]], "mlx.core.linalg.eigh": [[185, null]], "mlx.core.linalg.eigvalsh": [[186, null]], "mlx.core.linalg.inv": [[187, null]], "mlx.core.linalg.norm": [[188, null]], "mlx.core.linalg.qr": [[189, null]], "mlx.core.linalg.svd": [[190, null]], "mlx.core.linalg.tri_inv": [[191, null]], "mlx.core.linspace": [[192, null]], "mlx.core.load": [[193, null]], "mlx.core.log": [[194, null]], "mlx.core.log10": [[195, null]], "mlx.core.log1p": [[196, null]], "mlx.core.log2": [[197, null]], "mlx.core.logaddexp": [[198, null]], "mlx.core.logical_and": [[199, null]], "mlx.core.logical_not": [[200, null]], "mlx.core.logical_or": [[201, null]], "mlx.core.logsumexp": [[202, null]], "mlx.core.matmul": [[203, null]], "mlx.core.max": [[204, null]], "mlx.core.maximum": [[205, null]], "mlx.core.mean": [[206, null]], "mlx.core.meshgrid": [[207, null]], "mlx.core.metal.clear_cache": [[208, null]], "mlx.core.metal.device_info": [[209, null]], "mlx.core.metal.get_active_memory": [[210, null]], "mlx.core.metal.get_cache_memory": [[211, null]], "mlx.core.metal.get_peak_memory": [[212, null]], "mlx.core.metal.is_available": [[213, null]], "mlx.core.metal.reset_peak_memory": [[214, null]], "mlx.core.metal.set_cache_limit": [[215, null]], "mlx.core.metal.set_memory_limit": [[216, null]], "mlx.core.metal.set_wired_limit": [[217, null]], "mlx.core.metal.start_capture": [[218, null]], "mlx.core.metal.stop_capture": [[219, null]], "mlx.core.min": [[220, null]], "mlx.core.minimum": [[221, null]], "mlx.core.moveaxis": [[222, null]], "mlx.core.multiply": [[223, null]], "mlx.core.nan_to_num": [[224, null]], "mlx.core.negative": [[225, null]], "mlx.core.new_stream": [[226, null]], "mlx.core.not_equal": [[227, null]], "mlx.core.ones": [[228, null]], "mlx.core.ones_like": [[229, null]], "mlx.core.outer": [[230, null]], "mlx.core.pad": [[231, null]], "mlx.core.partition": [[232, null]], "mlx.core.power": [[233, null]], "mlx.core.prod": [[234, null]], "mlx.core.put_along_axis": [[235, null]], "mlx.core.quantize": [[236, null]], "mlx.core.quantized_matmul": [[237, null]], "mlx.core.radians": [[238, null]], "mlx.core.random.bernoulli": [[239, null]], "mlx.core.random.categorical": [[240, null]], "mlx.core.random.gumbel": [[241, null]], "mlx.core.random.key": [[242, null]], "mlx.core.random.laplace": [[243, null]], "mlx.core.random.multivariate_normal": [[244, null]], "mlx.core.random.normal": [[245, null]], "mlx.core.random.permutation": [[246, null]], "mlx.core.random.randint": [[247, null]], "mlx.core.random.seed": [[248, null]], "mlx.core.random.split": [[249, null]], "mlx.core.random.truncated_normal": [[250, null]], "mlx.core.random.uniform": [[251, null]], "mlx.core.real": [[252, null]], "mlx.core.reciprocal": [[253, null]], "mlx.core.remainder": [[254, null]], "mlx.core.repeat": [[255, null]], "mlx.core.reshape": [[256, null]], "mlx.core.right_shift": [[257, null]], "mlx.core.roll": [[258, null]], "mlx.core.round": [[259, null]], "mlx.core.rsqrt": [[260, null]], "mlx.core.save": [[261, null]], "mlx.core.save_gguf": [[262, null]], "mlx.core.save_safetensors": [[263, null]], "mlx.core.savez": [[264, null]], "mlx.core.savez_compressed": [[265, null]], "mlx.core.set_default_device": [[266, null]], "mlx.core.set_default_stream": [[267, null]], "mlx.core.sigmoid": [[268, null]], "mlx.core.sign": [[269, null]], "mlx.core.sin": [[270, null]], "mlx.core.sinh": [[271, null]], "mlx.core.softmax": [[272, null]], "mlx.core.sort": [[273, null]], "mlx.core.split": [[274, null]], "mlx.core.sqrt": [[275, null]], "mlx.core.square": [[276, null]], "mlx.core.squeeze": [[277, null]], "mlx.core.stack": [[278, null]], "mlx.core.std": [[279, null]], "mlx.core.stop_gradient": [[280, null]], "mlx.core.stream": [[281, null]], "mlx.core.subtract": [[282, null]], "mlx.core.sum": [[283, null]], "mlx.core.swapaxes": [[284, null]], "mlx.core.synchronize": [[285, null]], "mlx.core.take": [[286, null]], "mlx.core.take_along_axis": [[287, null]], "mlx.core.tan": [[288, null]], "mlx.core.tanh": [[289, null]], "mlx.core.tensordot": [[290, null]], "mlx.core.tile": [[291, null]], "mlx.core.topk": [[292, null]], "mlx.core.trace": [[293, null]], "mlx.core.transpose": [[294, null]], "mlx.core.tri": [[295, null]], "mlx.core.tril": [[296, null]], "mlx.core.triu": [[297, null]], "mlx.core.value_and_grad": [[298, null]], "mlx.core.var": [[299, null]], "mlx.core.view": [[300, null]], "mlx.core.vjp": [[301, null]], "mlx.core.vmap": [[302, null]], "mlx.core.where": [[303, null]], "mlx.core.zeros": [[304, null]], "mlx.core.zeros_like": [[305, null]], "mlx.nn.ALiBi": [[324, null]], "mlx.nn.AvgPool1d": [[325, null]], "mlx.nn.AvgPool2d": [[326, null]], "mlx.nn.AvgPool3d": [[327, null]], "mlx.nn.BatchNorm": [[328, null]], "mlx.nn.CELU": [[329, null]], "mlx.nn.Conv1d": [[330, null]], "mlx.nn.Conv2d": [[331, null]], "mlx.nn.Conv3d": [[332, null]], "mlx.nn.ConvTranspose1d": [[333, null]], "mlx.nn.ConvTranspose2d": [[334, null]], "mlx.nn.ConvTranspose3d": [[335, null]], "mlx.nn.Dropout": [[336, null]], "mlx.nn.Dropout2d": [[337, null]], "mlx.nn.Dropout3d": [[338, null]], "mlx.nn.ELU": [[339, null]], "mlx.nn.Embedding": [[340, null]], "mlx.nn.GELU": [[341, null]], "mlx.nn.GLU": [[342, null]], "mlx.nn.GRU": [[343, null]], "mlx.nn.GroupNorm": [[344, null]], "mlx.nn.HardShrink": [[345, null]], "mlx.nn.HardTanh": [[346, null]], "mlx.nn.Hardswish": [[347, null]], "mlx.nn.InstanceNorm": [[348, null]], "mlx.nn.LSTM": [[349, null]], "mlx.nn.LayerNorm": [[350, null]], "mlx.nn.LeakyReLU": [[351, null]], "mlx.nn.Linear": [[352, null]], "mlx.nn.LogSigmoid": [[353, null]], "mlx.nn.LogSoftmax": [[354, null]], "mlx.nn.MaxPool1d": [[355, null]], "mlx.nn.MaxPool2d": [[356, null]], "mlx.nn.MaxPool3d": [[357, null]], "mlx.nn.Mish": [[358, null]], "mlx.nn.Module.apply": [[359, null]], "mlx.nn.Module.apply_to_modules": [[360, null]], "mlx.nn.Module.children": [[361, null]], "mlx.nn.Module.eval": [[362, null]], "mlx.nn.Module.filter_and_map": [[363, null]], "mlx.nn.Module.freeze": [[364, null]], "mlx.nn.Module.leaf_modules": [[365, null]], "mlx.nn.Module.load_weights": [[366, null]], "mlx.nn.Module.modules": [[367, null]], "mlx.nn.Module.named_modules": [[368, null]], "mlx.nn.Module.parameters": [[369, null]], "mlx.nn.Module.save_weights": [[370, null]], "mlx.nn.Module.set_dtype": [[371, null]], "mlx.nn.Module.state": [[372, null]], "mlx.nn.Module.train": [[373, null]], "mlx.nn.Module.trainable_parameters": [[374, null]], "mlx.nn.Module.training": [[375, null]], "mlx.nn.Module.unfreeze": [[376, null]], "mlx.nn.Module.update": [[377, null]], "mlx.nn.Module.update_modules": [[378, null]], "mlx.nn.MultiHeadAttention": [[379, null]], "mlx.nn.PReLU": [[380, null]], "mlx.nn.QuantizedEmbedding": [[381, null]], "mlx.nn.QuantizedLinear": [[382, null]], "mlx.nn.RMSNorm": [[383, null]], "mlx.nn.RNN": [[384, null]], "mlx.nn.ReLU": [[385, null]], "mlx.nn.ReLU6": [[386, null]], "mlx.nn.RoPE": [[387, null]], "mlx.nn.SELU": [[388, null]], "mlx.nn.Sequential": [[389, null]], "mlx.nn.SiLU": [[390, null]], "mlx.nn.Sigmoid": [[391, null]], "mlx.nn.SinusoidalPositionalEncoding": [[392, null]], "mlx.nn.Softmax": [[393, null]], "mlx.nn.Softmin": [[394, null]], "mlx.nn.Softplus": [[395, null]], "mlx.nn.Softshrink": [[396, null]], "mlx.nn.Softsign": [[397, null]], "mlx.nn.Step": [[398, null]], "mlx.nn.Tanh": [[399, null]], "mlx.nn.Transformer": [[400, null]], "mlx.nn.Upsample": [[401, null]], "mlx.nn.celu": [[410, null]], "mlx.nn.elu": [[411, null]], "mlx.nn.gelu": [[412, null]], "mlx.nn.gelu_approx": [[413, null]], "mlx.nn.gelu_fast_approx": [[414, null]], "mlx.nn.glu": [[415, null]], "mlx.nn.hard_shrink": [[416, null]], "mlx.nn.hard_tanh": [[417, null]], "mlx.nn.hardswish": [[418, null]], "mlx.nn.init.constant": [[402, null]], "mlx.nn.init.glorot_normal": [[403, null]], "mlx.nn.init.glorot_uniform": [[404, null]], "mlx.nn.init.he_normal": [[405, null]], "mlx.nn.init.he_uniform": [[406, null]], "mlx.nn.init.identity": [[407, null]], "mlx.nn.init.normal": [[408, null]], "mlx.nn.init.uniform": [[409, null]], "mlx.nn.leaky_relu": [[419, null]], "mlx.nn.log_sigmoid": [[420, null]], "mlx.nn.log_softmax": [[421, null]], "mlx.nn.losses.binary_cross_entropy": [[422, null]], "mlx.nn.losses.cosine_similarity_loss": [[423, null]], "mlx.nn.losses.cross_entropy": [[424, null]], "mlx.nn.losses.gaussian_nll_loss": [[425, null]], "mlx.nn.losses.hinge_loss": [[426, null]], "mlx.nn.losses.huber_loss": [[427, null]], "mlx.nn.losses.kl_div_loss": [[428, null]], "mlx.nn.losses.l1_loss": [[429, null]], "mlx.nn.losses.log_cosh_loss": [[430, null]], "mlx.nn.losses.margin_ranking_loss": [[431, null]], "mlx.nn.losses.mse_loss": [[432, null]], "mlx.nn.losses.nll_loss": [[433, null]], "mlx.nn.losses.smooth_l1_loss": [[434, null]], "mlx.nn.losses.triplet_loss": [[435, null]], "mlx.nn.mish": [[436, null]], "mlx.nn.prelu": [[437, null]], "mlx.nn.quantize": [[306, null]], "mlx.nn.relu": [[438, null]], "mlx.nn.relu6": [[439, null]], "mlx.nn.selu": [[440, null]], "mlx.nn.sigmoid": [[441, null]], "mlx.nn.silu": [[442, null]], "mlx.nn.softmax": [[443, null]], "mlx.nn.softmin": [[444, null]], "mlx.nn.softplus": [[445, null]], "mlx.nn.softshrink": [[446, null]], "mlx.nn.step": [[447, null]], "mlx.nn.tanh": [[448, null]], "mlx.nn.value_and_grad": [[307, null]], "mlx.optimizers.AdaDelta": [[456, null]], "mlx.optimizers.Adafactor": [[457, null]], "mlx.optimizers.Adagrad": [[458, null]], "mlx.optimizers.Adam": [[459, null]], "mlx.optimizers.AdamW": [[460, null]], "mlx.optimizers.Adamax": [[461, null]], "mlx.optimizers.Lion": [[462, null]], "mlx.optimizers.Optimizer.apply_gradients": [[463, null]], "mlx.optimizers.Optimizer.init": [[464, null]], "mlx.optimizers.Optimizer.state": [[465, null]], "mlx.optimizers.Optimizer.update": [[466, null]], "mlx.optimizers.RMSprop": [[467, null]], "mlx.optimizers.SGD": [[468, null]], "mlx.optimizers.clip_grad_norm": [[308, null]], "mlx.optimizers.cosine_decay": [[469, null]], "mlx.optimizers.exponential_decay": [[470, null]], "mlx.optimizers.join_schedules": [[471, null]], "mlx.optimizers.linear_schedule": [[472, null]], "mlx.optimizers.step_decay": [[473, null]], "mlx.utils.tree_flatten": [[309, null]], "mlx.utils.tree_map": [[310, null]], "mlx.utils.tree_map_with_path": [[311, null]], "mlx.utils.tree_reduce": [[312, null]], "mlx.utils.tree_unflatten": [[313, null]], "x86 Shell": [[8, "x86-shell"]]}, "docnames": ["cpp/ops", "dev/custom_metal_kernels", "dev/extensions", "dev/metal_debugger", "examples/linear_regression", "examples/llama-inference", "examples/mlp", "index", "install", "python/_autosummary/mlx.core.Device", "python/_autosummary/mlx.core.Dtype", "python/_autosummary/mlx.core.DtypeCategory", "python/_autosummary/mlx.core.abs", "python/_autosummary/mlx.core.add", "python/_autosummary/mlx.core.addmm", "python/_autosummary/mlx.core.all", "python/_autosummary/mlx.core.allclose", "python/_autosummary/mlx.core.any", "python/_autosummary/mlx.core.arange", "python/_autosummary/mlx.core.arccos", "python/_autosummary/mlx.core.arccosh", "python/_autosummary/mlx.core.arcsin", "python/_autosummary/mlx.core.arcsinh", "python/_autosummary/mlx.core.arctan", "python/_autosummary/mlx.core.arctan2", "python/_autosummary/mlx.core.arctanh", "python/_autosummary/mlx.core.argmax", "python/_autosummary/mlx.core.argmin", "python/_autosummary/mlx.core.argpartition", "python/_autosummary/mlx.core.argsort", "python/_autosummary/mlx.core.array", "python/_autosummary/mlx.core.array.T", "python/_autosummary/mlx.core.array.abs", "python/_autosummary/mlx.core.array.all", "python/_autosummary/mlx.core.array.any", "python/_autosummary/mlx.core.array.argmax", "python/_autosummary/mlx.core.array.argmin", "python/_autosummary/mlx.core.array.astype", "python/_autosummary/mlx.core.array.at", "python/_autosummary/mlx.core.array.conj", "python/_autosummary/mlx.core.array.cos", "python/_autosummary/mlx.core.array.cummax", "python/_autosummary/mlx.core.array.cummin", "python/_autosummary/mlx.core.array.cumprod", "python/_autosummary/mlx.core.array.cumsum", "python/_autosummary/mlx.core.array.diag", "python/_autosummary/mlx.core.array.diagonal", "python/_autosummary/mlx.core.array.dtype", "python/_autosummary/mlx.core.array.exp", "python/_autosummary/mlx.core.array.flatten", "python/_autosummary/mlx.core.array.item", "python/_autosummary/mlx.core.array.itemsize", "python/_autosummary/mlx.core.array.log", "python/_autosummary/mlx.core.array.log10", "python/_autosummary/mlx.core.array.log1p", "python/_autosummary/mlx.core.array.log2", "python/_autosummary/mlx.core.array.logsumexp", "python/_autosummary/mlx.core.array.max", "python/_autosummary/mlx.core.array.mean", "python/_autosummary/mlx.core.array.min", "python/_autosummary/mlx.core.array.moveaxis", "python/_autosummary/mlx.core.array.nbytes", "python/_autosummary/mlx.core.array.ndim", "python/_autosummary/mlx.core.array.prod", "python/_autosummary/mlx.core.array.reciprocal", "python/_autosummary/mlx.core.array.reshape", "python/_autosummary/mlx.core.array.round", "python/_autosummary/mlx.core.array.rsqrt", "python/_autosummary/mlx.core.array.shape", "python/_autosummary/mlx.core.array.sin", "python/_autosummary/mlx.core.array.size", "python/_autosummary/mlx.core.array.split", "python/_autosummary/mlx.core.array.sqrt", "python/_autosummary/mlx.core.array.square", "python/_autosummary/mlx.core.array.squeeze", "python/_autosummary/mlx.core.array.std", "python/_autosummary/mlx.core.array.sum", "python/_autosummary/mlx.core.array.swapaxes", "python/_autosummary/mlx.core.array.tolist", "python/_autosummary/mlx.core.array.transpose", "python/_autosummary/mlx.core.array.var", "python/_autosummary/mlx.core.array.view", "python/_autosummary/mlx.core.array_equal", "python/_autosummary/mlx.core.as_strided", "python/_autosummary/mlx.core.atleast_1d", "python/_autosummary/mlx.core.atleast_2d", "python/_autosummary/mlx.core.atleast_3d", "python/_autosummary/mlx.core.bitwise_and", "python/_autosummary/mlx.core.bitwise_or", "python/_autosummary/mlx.core.bitwise_xor", "python/_autosummary/mlx.core.block_masked_mm", "python/_autosummary/mlx.core.broadcast_to", "python/_autosummary/mlx.core.ceil", "python/_autosummary/mlx.core.clip", "python/_autosummary/mlx.core.compile", "python/_autosummary/mlx.core.concatenate", "python/_autosummary/mlx.core.conj", "python/_autosummary/mlx.core.conjugate", "python/_autosummary/mlx.core.conv1d", "python/_autosummary/mlx.core.conv2d", "python/_autosummary/mlx.core.conv3d", "python/_autosummary/mlx.core.conv_general", "python/_autosummary/mlx.core.conv_transpose1d", "python/_autosummary/mlx.core.conv_transpose2d", "python/_autosummary/mlx.core.conv_transpose3d", "python/_autosummary/mlx.core.convolve", "python/_autosummary/mlx.core.cos", "python/_autosummary/mlx.core.cosh", "python/_autosummary/mlx.core.cummax", "python/_autosummary/mlx.core.cummin", "python/_autosummary/mlx.core.cumprod", "python/_autosummary/mlx.core.cumsum", "python/_autosummary/mlx.core.custom_function", "python/_autosummary/mlx.core.default_device", "python/_autosummary/mlx.core.default_stream", "python/_autosummary/mlx.core.degrees", "python/_autosummary/mlx.core.dequantize", "python/_autosummary/mlx.core.diag", "python/_autosummary/mlx.core.diagonal", "python/_autosummary/mlx.core.disable_compile", "python/_autosummary/mlx.core.distributed.Group", "python/_autosummary/mlx.core.distributed.all_gather", "python/_autosummary/mlx.core.distributed.all_sum", "python/_autosummary/mlx.core.distributed.init", "python/_autosummary/mlx.core.distributed.is_available", "python/_autosummary/mlx.core.distributed.recv", "python/_autosummary/mlx.core.distributed.recv_like", "python/_autosummary/mlx.core.distributed.send", "python/_autosummary/mlx.core.divide", "python/_autosummary/mlx.core.divmod", "python/_autosummary/mlx.core.einsum", "python/_autosummary/mlx.core.einsum_path", "python/_autosummary/mlx.core.enable_compile", "python/_autosummary/mlx.core.equal", "python/_autosummary/mlx.core.erf", "python/_autosummary/mlx.core.erfinv", "python/_autosummary/mlx.core.eval", "python/_autosummary/mlx.core.exp", "python/_autosummary/mlx.core.expand_dims", "python/_autosummary/mlx.core.expm1", "python/_autosummary/mlx.core.eye", "python/_autosummary/mlx.core.fast.layer_norm", "python/_autosummary/mlx.core.fast.metal_kernel", "python/_autosummary/mlx.core.fast.rms_norm", "python/_autosummary/mlx.core.fast.rope", "python/_autosummary/mlx.core.fast.scaled_dot_product_attention", "python/_autosummary/mlx.core.fft.fft", "python/_autosummary/mlx.core.fft.fft2", "python/_autosummary/mlx.core.fft.fftn", "python/_autosummary/mlx.core.fft.ifft", "python/_autosummary/mlx.core.fft.ifft2", "python/_autosummary/mlx.core.fft.ifftn", "python/_autosummary/mlx.core.fft.irfft", "python/_autosummary/mlx.core.fft.irfft2", "python/_autosummary/mlx.core.fft.irfftn", "python/_autosummary/mlx.core.fft.rfft", "python/_autosummary/mlx.core.fft.rfft2", "python/_autosummary/mlx.core.fft.rfftn", "python/_autosummary/mlx.core.flatten", "python/_autosummary/mlx.core.floor", "python/_autosummary/mlx.core.floor_divide", "python/_autosummary/mlx.core.full", "python/_autosummary/mlx.core.gather_mm", "python/_autosummary/mlx.core.gather_qmm", "python/_autosummary/mlx.core.grad", "python/_autosummary/mlx.core.greater", "python/_autosummary/mlx.core.greater_equal", "python/_autosummary/mlx.core.hadamard_transform", "python/_autosummary/mlx.core.identity", "python/_autosummary/mlx.core.imag", "python/_autosummary/mlx.core.inner", "python/_autosummary/mlx.core.isclose", "python/_autosummary/mlx.core.isfinite", "python/_autosummary/mlx.core.isinf", "python/_autosummary/mlx.core.isnan", "python/_autosummary/mlx.core.isneginf", "python/_autosummary/mlx.core.isposinf", "python/_autosummary/mlx.core.issubdtype", "python/_autosummary/mlx.core.jvp", "python/_autosummary/mlx.core.left_shift", "python/_autosummary/mlx.core.less", "python/_autosummary/mlx.core.less_equal", "python/_autosummary/mlx.core.linalg.cholesky", "python/_autosummary/mlx.core.linalg.cholesky_inv", "python/_autosummary/mlx.core.linalg.cross", "python/_autosummary/mlx.core.linalg.eigh", "python/_autosummary/mlx.core.linalg.eigvalsh", "python/_autosummary/mlx.core.linalg.inv", "python/_autosummary/mlx.core.linalg.norm", "python/_autosummary/mlx.core.linalg.qr", "python/_autosummary/mlx.core.linalg.svd", "python/_autosummary/mlx.core.linalg.tri_inv", "python/_autosummary/mlx.core.linspace", "python/_autosummary/mlx.core.load", "python/_autosummary/mlx.core.log", "python/_autosummary/mlx.core.log10", "python/_autosummary/mlx.core.log1p", "python/_autosummary/mlx.core.log2", "python/_autosummary/mlx.core.logaddexp", "python/_autosummary/mlx.core.logical_and", "python/_autosummary/mlx.core.logical_not", "python/_autosummary/mlx.core.logical_or", "python/_autosummary/mlx.core.logsumexp", "python/_autosummary/mlx.core.matmul", "python/_autosummary/mlx.core.max", "python/_autosummary/mlx.core.maximum", "python/_autosummary/mlx.core.mean", "python/_autosummary/mlx.core.meshgrid", "python/_autosummary/mlx.core.metal.clear_cache", "python/_autosummary/mlx.core.metal.device_info", "python/_autosummary/mlx.core.metal.get_active_memory", "python/_autosummary/mlx.core.metal.get_cache_memory", "python/_autosummary/mlx.core.metal.get_peak_memory", "python/_autosummary/mlx.core.metal.is_available", "python/_autosummary/mlx.core.metal.reset_peak_memory", "python/_autosummary/mlx.core.metal.set_cache_limit", "python/_autosummary/mlx.core.metal.set_memory_limit", "python/_autosummary/mlx.core.metal.set_wired_limit", "python/_autosummary/mlx.core.metal.start_capture", "python/_autosummary/mlx.core.metal.stop_capture", "python/_autosummary/mlx.core.min", "python/_autosummary/mlx.core.minimum", "python/_autosummary/mlx.core.moveaxis", "python/_autosummary/mlx.core.multiply", "python/_autosummary/mlx.core.nan_to_num", "python/_autosummary/mlx.core.negative", "python/_autosummary/mlx.core.new_stream", "python/_autosummary/mlx.core.not_equal", "python/_autosummary/mlx.core.ones", "python/_autosummary/mlx.core.ones_like", "python/_autosummary/mlx.core.outer", "python/_autosummary/mlx.core.pad", "python/_autosummary/mlx.core.partition", "python/_autosummary/mlx.core.power", "python/_autosummary/mlx.core.prod", "python/_autosummary/mlx.core.put_along_axis", "python/_autosummary/mlx.core.quantize", "python/_autosummary/mlx.core.quantized_matmul", "python/_autosummary/mlx.core.radians", "python/_autosummary/mlx.core.random.bernoulli", "python/_autosummary/mlx.core.random.categorical", "python/_autosummary/mlx.core.random.gumbel", "python/_autosummary/mlx.core.random.key", "python/_autosummary/mlx.core.random.laplace", "python/_autosummary/mlx.core.random.multivariate_normal", "python/_autosummary/mlx.core.random.normal", "python/_autosummary/mlx.core.random.permutation", "python/_autosummary/mlx.core.random.randint", "python/_autosummary/mlx.core.random.seed", "python/_autosummary/mlx.core.random.split", "python/_autosummary/mlx.core.random.truncated_normal", "python/_autosummary/mlx.core.random.uniform", "python/_autosummary/mlx.core.real", "python/_autosummary/mlx.core.reciprocal", "python/_autosummary/mlx.core.remainder", "python/_autosummary/mlx.core.repeat", "python/_autosummary/mlx.core.reshape", "python/_autosummary/mlx.core.right_shift", "python/_autosummary/mlx.core.roll", "python/_autosummary/mlx.core.round", "python/_autosummary/mlx.core.rsqrt", "python/_autosummary/mlx.core.save", "python/_autosummary/mlx.core.save_gguf", "python/_autosummary/mlx.core.save_safetensors", "python/_autosummary/mlx.core.savez", "python/_autosummary/mlx.core.savez_compressed", "python/_autosummary/mlx.core.set_default_device", "python/_autosummary/mlx.core.set_default_stream", "python/_autosummary/mlx.core.sigmoid", "python/_autosummary/mlx.core.sign", "python/_autosummary/mlx.core.sin", "python/_autosummary/mlx.core.sinh", "python/_autosummary/mlx.core.softmax", "python/_autosummary/mlx.core.sort", "python/_autosummary/mlx.core.split", "python/_autosummary/mlx.core.sqrt", "python/_autosummary/mlx.core.square", "python/_autosummary/mlx.core.squeeze", "python/_autosummary/mlx.core.stack", "python/_autosummary/mlx.core.std", "python/_autosummary/mlx.core.stop_gradient", "python/_autosummary/mlx.core.stream", "python/_autosummary/mlx.core.subtract", "python/_autosummary/mlx.core.sum", "python/_autosummary/mlx.core.swapaxes", "python/_autosummary/mlx.core.synchronize", "python/_autosummary/mlx.core.take", "python/_autosummary/mlx.core.take_along_axis", "python/_autosummary/mlx.core.tan", "python/_autosummary/mlx.core.tanh", "python/_autosummary/mlx.core.tensordot", "python/_autosummary/mlx.core.tile", "python/_autosummary/mlx.core.topk", "python/_autosummary/mlx.core.trace", "python/_autosummary/mlx.core.transpose", "python/_autosummary/mlx.core.tri", "python/_autosummary/mlx.core.tril", "python/_autosummary/mlx.core.triu", "python/_autosummary/mlx.core.value_and_grad", "python/_autosummary/mlx.core.var", "python/_autosummary/mlx.core.view", "python/_autosummary/mlx.core.vjp", "python/_autosummary/mlx.core.vmap", "python/_autosummary/mlx.core.where", "python/_autosummary/mlx.core.zeros", "python/_autosummary/mlx.core.zeros_like", "python/_autosummary/mlx.nn.quantize", "python/_autosummary/mlx.nn.value_and_grad", "python/_autosummary/mlx.optimizers.clip_grad_norm", "python/_autosummary/mlx.utils.tree_flatten", "python/_autosummary/mlx.utils.tree_map", "python/_autosummary/mlx.utils.tree_map_with_path", "python/_autosummary/mlx.utils.tree_reduce", "python/_autosummary/mlx.utils.tree_unflatten", "python/_autosummary/stream_class", "python/array", "python/data_types", "python/devices_and_streams", "python/distributed", "python/fast", "python/fft", "python/linalg", "python/metal", "python/nn", "python/nn/_autosummary/mlx.nn.ALiBi", "python/nn/_autosummary/mlx.nn.AvgPool1d", "python/nn/_autosummary/mlx.nn.AvgPool2d", "python/nn/_autosummary/mlx.nn.AvgPool3d", "python/nn/_autosummary/mlx.nn.BatchNorm", "python/nn/_autosummary/mlx.nn.CELU", "python/nn/_autosummary/mlx.nn.Conv1d", "python/nn/_autosummary/mlx.nn.Conv2d", "python/nn/_autosummary/mlx.nn.Conv3d", "python/nn/_autosummary/mlx.nn.ConvTranspose1d", "python/nn/_autosummary/mlx.nn.ConvTranspose2d", "python/nn/_autosummary/mlx.nn.ConvTranspose3d", "python/nn/_autosummary/mlx.nn.Dropout", "python/nn/_autosummary/mlx.nn.Dropout2d", "python/nn/_autosummary/mlx.nn.Dropout3d", "python/nn/_autosummary/mlx.nn.ELU", "python/nn/_autosummary/mlx.nn.Embedding", "python/nn/_autosummary/mlx.nn.GELU", "python/nn/_autosummary/mlx.nn.GLU", "python/nn/_autosummary/mlx.nn.GRU", "python/nn/_autosummary/mlx.nn.GroupNorm", "python/nn/_autosummary/mlx.nn.HardShrink", "python/nn/_autosummary/mlx.nn.HardTanh", "python/nn/_autosummary/mlx.nn.Hardswish", "python/nn/_autosummary/mlx.nn.InstanceNorm", "python/nn/_autosummary/mlx.nn.LSTM", "python/nn/_autosummary/mlx.nn.LayerNorm", "python/nn/_autosummary/mlx.nn.LeakyReLU", "python/nn/_autosummary/mlx.nn.Linear", "python/nn/_autosummary/mlx.nn.LogSigmoid", "python/nn/_autosummary/mlx.nn.LogSoftmax", "python/nn/_autosummary/mlx.nn.MaxPool1d", "python/nn/_autosummary/mlx.nn.MaxPool2d", "python/nn/_autosummary/mlx.nn.MaxPool3d", "python/nn/_autosummary/mlx.nn.Mish", "python/nn/_autosummary/mlx.nn.Module.apply", "python/nn/_autosummary/mlx.nn.Module.apply_to_modules", "python/nn/_autosummary/mlx.nn.Module.children", "python/nn/_autosummary/mlx.nn.Module.eval", "python/nn/_autosummary/mlx.nn.Module.filter_and_map", "python/nn/_autosummary/mlx.nn.Module.freeze", "python/nn/_autosummary/mlx.nn.Module.leaf_modules", "python/nn/_autosummary/mlx.nn.Module.load_weights", "python/nn/_autosummary/mlx.nn.Module.modules", "python/nn/_autosummary/mlx.nn.Module.named_modules", "python/nn/_autosummary/mlx.nn.Module.parameters", "python/nn/_autosummary/mlx.nn.Module.save_weights", "python/nn/_autosummary/mlx.nn.Module.set_dtype", "python/nn/_autosummary/mlx.nn.Module.state", "python/nn/_autosummary/mlx.nn.Module.train", "python/nn/_autosummary/mlx.nn.Module.trainable_parameters", "python/nn/_autosummary/mlx.nn.Module.training", "python/nn/_autosummary/mlx.nn.Module.unfreeze", "python/nn/_autosummary/mlx.nn.Module.update", "python/nn/_autosummary/mlx.nn.Module.update_modules", "python/nn/_autosummary/mlx.nn.MultiHeadAttention", "python/nn/_autosummary/mlx.nn.PReLU", "python/nn/_autosummary/mlx.nn.QuantizedEmbedding", "python/nn/_autosummary/mlx.nn.QuantizedLinear", "python/nn/_autosummary/mlx.nn.RMSNorm", "python/nn/_autosummary/mlx.nn.RNN", "python/nn/_autosummary/mlx.nn.ReLU", "python/nn/_autosummary/mlx.nn.ReLU6", "python/nn/_autosummary/mlx.nn.RoPE", "python/nn/_autosummary/mlx.nn.SELU", "python/nn/_autosummary/mlx.nn.Sequential", "python/nn/_autosummary/mlx.nn.SiLU", "python/nn/_autosummary/mlx.nn.Sigmoid", "python/nn/_autosummary/mlx.nn.SinusoidalPositionalEncoding", "python/nn/_autosummary/mlx.nn.Softmax", "python/nn/_autosummary/mlx.nn.Softmin", "python/nn/_autosummary/mlx.nn.Softplus", "python/nn/_autosummary/mlx.nn.Softshrink", "python/nn/_autosummary/mlx.nn.Softsign", "python/nn/_autosummary/mlx.nn.Step", "python/nn/_autosummary/mlx.nn.Tanh", "python/nn/_autosummary/mlx.nn.Transformer", "python/nn/_autosummary/mlx.nn.Upsample", "python/nn/_autosummary/mlx.nn.init.constant", "python/nn/_autosummary/mlx.nn.init.glorot_normal", "python/nn/_autosummary/mlx.nn.init.glorot_uniform", "python/nn/_autosummary/mlx.nn.init.he_normal", "python/nn/_autosummary/mlx.nn.init.he_uniform", "python/nn/_autosummary/mlx.nn.init.identity", "python/nn/_autosummary/mlx.nn.init.normal", "python/nn/_autosummary/mlx.nn.init.uniform", "python/nn/_autosummary_functions/mlx.nn.celu", "python/nn/_autosummary_functions/mlx.nn.elu", "python/nn/_autosummary_functions/mlx.nn.gelu", "python/nn/_autosummary_functions/mlx.nn.gelu_approx", "python/nn/_autosummary_functions/mlx.nn.gelu_fast_approx", "python/nn/_autosummary_functions/mlx.nn.glu", "python/nn/_autosummary_functions/mlx.nn.hard_shrink", "python/nn/_autosummary_functions/mlx.nn.hard_tanh", "python/nn/_autosummary_functions/mlx.nn.hardswish", "python/nn/_autosummary_functions/mlx.nn.leaky_relu", "python/nn/_autosummary_functions/mlx.nn.log_sigmoid", "python/nn/_autosummary_functions/mlx.nn.log_softmax", "python/nn/_autosummary_functions/mlx.nn.losses.binary_cross_entropy", "python/nn/_autosummary_functions/mlx.nn.losses.cosine_similarity_loss", "python/nn/_autosummary_functions/mlx.nn.losses.cross_entropy", "python/nn/_autosummary_functions/mlx.nn.losses.gaussian_nll_loss", "python/nn/_autosummary_functions/mlx.nn.losses.hinge_loss", "python/nn/_autosummary_functions/mlx.nn.losses.huber_loss", "python/nn/_autosummary_functions/mlx.nn.losses.kl_div_loss", "python/nn/_autosummary_functions/mlx.nn.losses.l1_loss", "python/nn/_autosummary_functions/mlx.nn.losses.log_cosh_loss", "python/nn/_autosummary_functions/mlx.nn.losses.margin_ranking_loss", "python/nn/_autosummary_functions/mlx.nn.losses.mse_loss", "python/nn/_autosummary_functions/mlx.nn.losses.nll_loss", "python/nn/_autosummary_functions/mlx.nn.losses.smooth_l1_loss", "python/nn/_autosummary_functions/mlx.nn.losses.triplet_loss", "python/nn/_autosummary_functions/mlx.nn.mish", "python/nn/_autosummary_functions/mlx.nn.prelu", "python/nn/_autosummary_functions/mlx.nn.relu", "python/nn/_autosummary_functions/mlx.nn.relu6", "python/nn/_autosummary_functions/mlx.nn.selu", "python/nn/_autosummary_functions/mlx.nn.sigmoid", "python/nn/_autosummary_functions/mlx.nn.silu", "python/nn/_autosummary_functions/mlx.nn.softmax", "python/nn/_autosummary_functions/mlx.nn.softmin", "python/nn/_autosummary_functions/mlx.nn.softplus", "python/nn/_autosummary_functions/mlx.nn.softshrink", "python/nn/_autosummary_functions/mlx.nn.step", "python/nn/_autosummary_functions/mlx.nn.tanh", "python/nn/functions", "python/nn/init", "python/nn/layers", "python/nn/losses", "python/nn/module", "python/ops", "python/optimizers", "python/optimizers/_autosummary/mlx.optimizers.AdaDelta", "python/optimizers/_autosummary/mlx.optimizers.Adafactor", "python/optimizers/_autosummary/mlx.optimizers.Adagrad", "python/optimizers/_autosummary/mlx.optimizers.Adam", "python/optimizers/_autosummary/mlx.optimizers.AdamW", "python/optimizers/_autosummary/mlx.optimizers.Adamax", "python/optimizers/_autosummary/mlx.optimizers.Lion", "python/optimizers/_autosummary/mlx.optimizers.Optimizer.apply_gradients", "python/optimizers/_autosummary/mlx.optimizers.Optimizer.init", "python/optimizers/_autosummary/mlx.optimizers.Optimizer.state", "python/optimizers/_autosummary/mlx.optimizers.Optimizer.update", "python/optimizers/_autosummary/mlx.optimizers.RMSprop", "python/optimizers/_autosummary/mlx.optimizers.SGD", "python/optimizers/_autosummary/mlx.optimizers.cosine_decay", "python/optimizers/_autosummary/mlx.optimizers.exponential_decay", "python/optimizers/_autosummary/mlx.optimizers.join_schedules", "python/optimizers/_autosummary/mlx.optimizers.linear_schedule", "python/optimizers/_autosummary/mlx.optimizers.step_decay", "python/optimizers/common_optimizers", "python/optimizers/optimizer", "python/optimizers/schedulers", "python/random", "python/transforms", "python/tree_utils", "usage/compile", "usage/distributed", "usage/function_transforms", "usage/indexing", "usage/lazy_evaluation", "usage/numpy", "usage/quick_start", "usage/saving_and_loading", "usage/unified_memory", "usage/using_streams"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1}, "filenames": ["cpp/ops.rst", "dev/custom_metal_kernels.rst", "dev/extensions.rst", "dev/metal_debugger.rst", "examples/linear_regression.rst", "examples/llama-inference.rst", "examples/mlp.rst", "index.rst", "install.rst", "python/_autosummary/mlx.core.Device.rst", "python/_autosummary/mlx.core.Dtype.rst", "python/_autosummary/mlx.core.DtypeCategory.rst", "python/_autosummary/mlx.core.abs.rst", "python/_autosummary/mlx.core.add.rst", "python/_autosummary/mlx.core.addmm.rst", "python/_autosummary/mlx.core.all.rst", "python/_autosummary/mlx.core.allclose.rst", "python/_autosummary/mlx.core.any.rst", "python/_autosummary/mlx.core.arange.rst", "python/_autosummary/mlx.core.arccos.rst", "python/_autosummary/mlx.core.arccosh.rst", "python/_autosummary/mlx.core.arcsin.rst", "python/_autosummary/mlx.core.arcsinh.rst", "python/_autosummary/mlx.core.arctan.rst", "python/_autosummary/mlx.core.arctan2.rst", "python/_autosummary/mlx.core.arctanh.rst", "python/_autosummary/mlx.core.argmax.rst", "python/_autosummary/mlx.core.argmin.rst", "python/_autosummary/mlx.core.argpartition.rst", "python/_autosummary/mlx.core.argsort.rst", "python/_autosummary/mlx.core.array.rst", "python/_autosummary/mlx.core.array.T.rst", "python/_autosummary/mlx.core.array.abs.rst", "python/_autosummary/mlx.core.array.all.rst", "python/_autosummary/mlx.core.array.any.rst", "python/_autosummary/mlx.core.array.argmax.rst", "python/_autosummary/mlx.core.array.argmin.rst", "python/_autosummary/mlx.core.array.astype.rst", "python/_autosummary/mlx.core.array.at.rst", "python/_autosummary/mlx.core.array.conj.rst", "python/_autosummary/mlx.core.array.cos.rst", "python/_autosummary/mlx.core.array.cummax.rst", "python/_autosummary/mlx.core.array.cummin.rst", "python/_autosummary/mlx.core.array.cumprod.rst", "python/_autosummary/mlx.core.array.cumsum.rst", "python/_autosummary/mlx.core.array.diag.rst", "python/_autosummary/mlx.core.array.diagonal.rst", "python/_autosummary/mlx.core.array.dtype.rst", "python/_autosummary/mlx.core.array.exp.rst", "python/_autosummary/mlx.core.array.flatten.rst", "python/_autosummary/mlx.core.array.item.rst", "python/_autosummary/mlx.core.array.itemsize.rst", "python/_autosummary/mlx.core.array.log.rst", "python/_autosummary/mlx.core.array.log10.rst", "python/_autosummary/mlx.core.array.log1p.rst", "python/_autosummary/mlx.core.array.log2.rst", "python/_autosummary/mlx.core.array.logsumexp.rst", "python/_autosummary/mlx.core.array.max.rst", "python/_autosummary/mlx.core.array.mean.rst", "python/_autosummary/mlx.core.array.min.rst", "python/_autosummary/mlx.core.array.moveaxis.rst", "python/_autosummary/mlx.core.array.nbytes.rst", "python/_autosummary/mlx.core.array.ndim.rst", "python/_autosummary/mlx.core.array.prod.rst", "python/_autosummary/mlx.core.array.reciprocal.rst", "python/_autosummary/mlx.core.array.reshape.rst", "python/_autosummary/mlx.core.array.round.rst", "python/_autosummary/mlx.core.array.rsqrt.rst", "python/_autosummary/mlx.core.array.shape.rst", "python/_autosummary/mlx.core.array.sin.rst", "python/_autosummary/mlx.core.array.size.rst", "python/_autosummary/mlx.core.array.split.rst", "python/_autosummary/mlx.core.array.sqrt.rst", "python/_autosummary/mlx.core.array.square.rst", "python/_autosummary/mlx.core.array.squeeze.rst", "python/_autosummary/mlx.core.array.std.rst", "python/_autosummary/mlx.core.array.sum.rst", "python/_autosummary/mlx.core.array.swapaxes.rst", "python/_autosummary/mlx.core.array.tolist.rst", "python/_autosummary/mlx.core.array.transpose.rst", "python/_autosummary/mlx.core.array.var.rst", "python/_autosummary/mlx.core.array.view.rst", "python/_autosummary/mlx.core.array_equal.rst", "python/_autosummary/mlx.core.as_strided.rst", "python/_autosummary/mlx.core.atleast_1d.rst", "python/_autosummary/mlx.core.atleast_2d.rst", "python/_autosummary/mlx.core.atleast_3d.rst", "python/_autosummary/mlx.core.bitwise_and.rst", "python/_autosummary/mlx.core.bitwise_or.rst", "python/_autosummary/mlx.core.bitwise_xor.rst", "python/_autosummary/mlx.core.block_masked_mm.rst", "python/_autosummary/mlx.core.broadcast_to.rst", "python/_autosummary/mlx.core.ceil.rst", "python/_autosummary/mlx.core.clip.rst", "python/_autosummary/mlx.core.compile.rst", "python/_autosummary/mlx.core.concatenate.rst", "python/_autosummary/mlx.core.conj.rst", "python/_autosummary/mlx.core.conjugate.rst", "python/_autosummary/mlx.core.conv1d.rst", "python/_autosummary/mlx.core.conv2d.rst", "python/_autosummary/mlx.core.conv3d.rst", "python/_autosummary/mlx.core.conv_general.rst", "python/_autosummary/mlx.core.conv_transpose1d.rst", "python/_autosummary/mlx.core.conv_transpose2d.rst", "python/_autosummary/mlx.core.conv_transpose3d.rst", "python/_autosummary/mlx.core.convolve.rst", "python/_autosummary/mlx.core.cos.rst", "python/_autosummary/mlx.core.cosh.rst", "python/_autosummary/mlx.core.cummax.rst", "python/_autosummary/mlx.core.cummin.rst", "python/_autosummary/mlx.core.cumprod.rst", "python/_autosummary/mlx.core.cumsum.rst", "python/_autosummary/mlx.core.custom_function.rst", "python/_autosummary/mlx.core.default_device.rst", "python/_autosummary/mlx.core.default_stream.rst", "python/_autosummary/mlx.core.degrees.rst", "python/_autosummary/mlx.core.dequantize.rst", "python/_autosummary/mlx.core.diag.rst", "python/_autosummary/mlx.core.diagonal.rst", "python/_autosummary/mlx.core.disable_compile.rst", "python/_autosummary/mlx.core.distributed.Group.rst", "python/_autosummary/mlx.core.distributed.all_gather.rst", "python/_autosummary/mlx.core.distributed.all_sum.rst", "python/_autosummary/mlx.core.distributed.init.rst", "python/_autosummary/mlx.core.distributed.is_available.rst", "python/_autosummary/mlx.core.distributed.recv.rst", "python/_autosummary/mlx.core.distributed.recv_like.rst", "python/_autosummary/mlx.core.distributed.send.rst", "python/_autosummary/mlx.core.divide.rst", "python/_autosummary/mlx.core.divmod.rst", "python/_autosummary/mlx.core.einsum.rst", "python/_autosummary/mlx.core.einsum_path.rst", "python/_autosummary/mlx.core.enable_compile.rst", "python/_autosummary/mlx.core.equal.rst", "python/_autosummary/mlx.core.erf.rst", "python/_autosummary/mlx.core.erfinv.rst", "python/_autosummary/mlx.core.eval.rst", "python/_autosummary/mlx.core.exp.rst", "python/_autosummary/mlx.core.expand_dims.rst", "python/_autosummary/mlx.core.expm1.rst", "python/_autosummary/mlx.core.eye.rst", "python/_autosummary/mlx.core.fast.layer_norm.rst", "python/_autosummary/mlx.core.fast.metal_kernel.rst", "python/_autosummary/mlx.core.fast.rms_norm.rst", "python/_autosummary/mlx.core.fast.rope.rst", "python/_autosummary/mlx.core.fast.scaled_dot_product_attention.rst", "python/_autosummary/mlx.core.fft.fft.rst", "python/_autosummary/mlx.core.fft.fft2.rst", "python/_autosummary/mlx.core.fft.fftn.rst", "python/_autosummary/mlx.core.fft.ifft.rst", "python/_autosummary/mlx.core.fft.ifft2.rst", "python/_autosummary/mlx.core.fft.ifftn.rst", "python/_autosummary/mlx.core.fft.irfft.rst", "python/_autosummary/mlx.core.fft.irfft2.rst", "python/_autosummary/mlx.core.fft.irfftn.rst", "python/_autosummary/mlx.core.fft.rfft.rst", "python/_autosummary/mlx.core.fft.rfft2.rst", "python/_autosummary/mlx.core.fft.rfftn.rst", "python/_autosummary/mlx.core.flatten.rst", "python/_autosummary/mlx.core.floor.rst", "python/_autosummary/mlx.core.floor_divide.rst", "python/_autosummary/mlx.core.full.rst", "python/_autosummary/mlx.core.gather_mm.rst", "python/_autosummary/mlx.core.gather_qmm.rst", "python/_autosummary/mlx.core.grad.rst", "python/_autosummary/mlx.core.greater.rst", "python/_autosummary/mlx.core.greater_equal.rst", "python/_autosummary/mlx.core.hadamard_transform.rst", "python/_autosummary/mlx.core.identity.rst", "python/_autosummary/mlx.core.imag.rst", "python/_autosummary/mlx.core.inner.rst", "python/_autosummary/mlx.core.isclose.rst", "python/_autosummary/mlx.core.isfinite.rst", "python/_autosummary/mlx.core.isinf.rst", "python/_autosummary/mlx.core.isnan.rst", "python/_autosummary/mlx.core.isneginf.rst", "python/_autosummary/mlx.core.isposinf.rst", "python/_autosummary/mlx.core.issubdtype.rst", "python/_autosummary/mlx.core.jvp.rst", "python/_autosummary/mlx.core.left_shift.rst", "python/_autosummary/mlx.core.less.rst", "python/_autosummary/mlx.core.less_equal.rst", "python/_autosummary/mlx.core.linalg.cholesky.rst", "python/_autosummary/mlx.core.linalg.cholesky_inv.rst", "python/_autosummary/mlx.core.linalg.cross.rst", "python/_autosummary/mlx.core.linalg.eigh.rst", "python/_autosummary/mlx.core.linalg.eigvalsh.rst", "python/_autosummary/mlx.core.linalg.inv.rst", "python/_autosummary/mlx.core.linalg.norm.rst", "python/_autosummary/mlx.core.linalg.qr.rst", "python/_autosummary/mlx.core.linalg.svd.rst", "python/_autosummary/mlx.core.linalg.tri_inv.rst", "python/_autosummary/mlx.core.linspace.rst", "python/_autosummary/mlx.core.load.rst", "python/_autosummary/mlx.core.log.rst", "python/_autosummary/mlx.core.log10.rst", "python/_autosummary/mlx.core.log1p.rst", "python/_autosummary/mlx.core.log2.rst", "python/_autosummary/mlx.core.logaddexp.rst", "python/_autosummary/mlx.core.logical_and.rst", "python/_autosummary/mlx.core.logical_not.rst", "python/_autosummary/mlx.core.logical_or.rst", "python/_autosummary/mlx.core.logsumexp.rst", "python/_autosummary/mlx.core.matmul.rst", "python/_autosummary/mlx.core.max.rst", "python/_autosummary/mlx.core.maximum.rst", "python/_autosummary/mlx.core.mean.rst", "python/_autosummary/mlx.core.meshgrid.rst", "python/_autosummary/mlx.core.metal.clear_cache.rst", "python/_autosummary/mlx.core.metal.device_info.rst", "python/_autosummary/mlx.core.metal.get_active_memory.rst", "python/_autosummary/mlx.core.metal.get_cache_memory.rst", "python/_autosummary/mlx.core.metal.get_peak_memory.rst", "python/_autosummary/mlx.core.metal.is_available.rst", "python/_autosummary/mlx.core.metal.reset_peak_memory.rst", "python/_autosummary/mlx.core.metal.set_cache_limit.rst", "python/_autosummary/mlx.core.metal.set_memory_limit.rst", "python/_autosummary/mlx.core.metal.set_wired_limit.rst", "python/_autosummary/mlx.core.metal.start_capture.rst", "python/_autosummary/mlx.core.metal.stop_capture.rst", "python/_autosummary/mlx.core.min.rst", "python/_autosummary/mlx.core.minimum.rst", "python/_autosummary/mlx.core.moveaxis.rst", "python/_autosummary/mlx.core.multiply.rst", "python/_autosummary/mlx.core.nan_to_num.rst", "python/_autosummary/mlx.core.negative.rst", "python/_autosummary/mlx.core.new_stream.rst", "python/_autosummary/mlx.core.not_equal.rst", "python/_autosummary/mlx.core.ones.rst", "python/_autosummary/mlx.core.ones_like.rst", "python/_autosummary/mlx.core.outer.rst", "python/_autosummary/mlx.core.pad.rst", "python/_autosummary/mlx.core.partition.rst", "python/_autosummary/mlx.core.power.rst", "python/_autosummary/mlx.core.prod.rst", "python/_autosummary/mlx.core.put_along_axis.rst", "python/_autosummary/mlx.core.quantize.rst", "python/_autosummary/mlx.core.quantized_matmul.rst", "python/_autosummary/mlx.core.radians.rst", "python/_autosummary/mlx.core.random.bernoulli.rst", "python/_autosummary/mlx.core.random.categorical.rst", "python/_autosummary/mlx.core.random.gumbel.rst", "python/_autosummary/mlx.core.random.key.rst", "python/_autosummary/mlx.core.random.laplace.rst", "python/_autosummary/mlx.core.random.multivariate_normal.rst", "python/_autosummary/mlx.core.random.normal.rst", "python/_autosummary/mlx.core.random.permutation.rst", "python/_autosummary/mlx.core.random.randint.rst", "python/_autosummary/mlx.core.random.seed.rst", "python/_autosummary/mlx.core.random.split.rst", "python/_autosummary/mlx.core.random.truncated_normal.rst", "python/_autosummary/mlx.core.random.uniform.rst", "python/_autosummary/mlx.core.real.rst", "python/_autosummary/mlx.core.reciprocal.rst", "python/_autosummary/mlx.core.remainder.rst", "python/_autosummary/mlx.core.repeat.rst", "python/_autosummary/mlx.core.reshape.rst", "python/_autosummary/mlx.core.right_shift.rst", "python/_autosummary/mlx.core.roll.rst", "python/_autosummary/mlx.core.round.rst", "python/_autosummary/mlx.core.rsqrt.rst", "python/_autosummary/mlx.core.save.rst", "python/_autosummary/mlx.core.save_gguf.rst", "python/_autosummary/mlx.core.save_safetensors.rst", "python/_autosummary/mlx.core.savez.rst", "python/_autosummary/mlx.core.savez_compressed.rst", "python/_autosummary/mlx.core.set_default_device.rst", "python/_autosummary/mlx.core.set_default_stream.rst", "python/_autosummary/mlx.core.sigmoid.rst", "python/_autosummary/mlx.core.sign.rst", "python/_autosummary/mlx.core.sin.rst", "python/_autosummary/mlx.core.sinh.rst", "python/_autosummary/mlx.core.softmax.rst", "python/_autosummary/mlx.core.sort.rst", "python/_autosummary/mlx.core.split.rst", "python/_autosummary/mlx.core.sqrt.rst", "python/_autosummary/mlx.core.square.rst", "python/_autosummary/mlx.core.squeeze.rst", "python/_autosummary/mlx.core.stack.rst", "python/_autosummary/mlx.core.std.rst", "python/_autosummary/mlx.core.stop_gradient.rst", "python/_autosummary/mlx.core.stream.rst", "python/_autosummary/mlx.core.subtract.rst", "python/_autosummary/mlx.core.sum.rst", "python/_autosummary/mlx.core.swapaxes.rst", "python/_autosummary/mlx.core.synchronize.rst", "python/_autosummary/mlx.core.take.rst", "python/_autosummary/mlx.core.take_along_axis.rst", "python/_autosummary/mlx.core.tan.rst", "python/_autosummary/mlx.core.tanh.rst", "python/_autosummary/mlx.core.tensordot.rst", "python/_autosummary/mlx.core.tile.rst", "python/_autosummary/mlx.core.topk.rst", "python/_autosummary/mlx.core.trace.rst", "python/_autosummary/mlx.core.transpose.rst", "python/_autosummary/mlx.core.tri.rst", "python/_autosummary/mlx.core.tril.rst", "python/_autosummary/mlx.core.triu.rst", "python/_autosummary/mlx.core.value_and_grad.rst", "python/_autosummary/mlx.core.var.rst", "python/_autosummary/mlx.core.view.rst", "python/_autosummary/mlx.core.vjp.rst", "python/_autosummary/mlx.core.vmap.rst", "python/_autosummary/mlx.core.where.rst", "python/_autosummary/mlx.core.zeros.rst", "python/_autosummary/mlx.core.zeros_like.rst", "python/_autosummary/mlx.nn.quantize.rst", "python/_autosummary/mlx.nn.value_and_grad.rst", "python/_autosummary/mlx.optimizers.clip_grad_norm.rst", "python/_autosummary/mlx.utils.tree_flatten.rst", "python/_autosummary/mlx.utils.tree_map.rst", "python/_autosummary/mlx.utils.tree_map_with_path.rst", "python/_autosummary/mlx.utils.tree_reduce.rst", "python/_autosummary/mlx.utils.tree_unflatten.rst", "python/_autosummary/stream_class.rst", "python/array.rst", "python/data_types.rst", "python/devices_and_streams.rst", "python/distributed.rst", "python/fast.rst", "python/fft.rst", "python/linalg.rst", "python/metal.rst", "python/nn.rst", "python/nn/_autosummary/mlx.nn.ALiBi.rst", "python/nn/_autosummary/mlx.nn.AvgPool1d.rst", "python/nn/_autosummary/mlx.nn.AvgPool2d.rst", "python/nn/_autosummary/mlx.nn.AvgPool3d.rst", "python/nn/_autosummary/mlx.nn.BatchNorm.rst", "python/nn/_autosummary/mlx.nn.CELU.rst", "python/nn/_autosummary/mlx.nn.Conv1d.rst", "python/nn/_autosummary/mlx.nn.Conv2d.rst", "python/nn/_autosummary/mlx.nn.Conv3d.rst", "python/nn/_autosummary/mlx.nn.ConvTranspose1d.rst", "python/nn/_autosummary/mlx.nn.ConvTranspose2d.rst", "python/nn/_autosummary/mlx.nn.ConvTranspose3d.rst", "python/nn/_autosummary/mlx.nn.Dropout.rst", "python/nn/_autosummary/mlx.nn.Dropout2d.rst", "python/nn/_autosummary/mlx.nn.Dropout3d.rst", "python/nn/_autosummary/mlx.nn.ELU.rst", "python/nn/_autosummary/mlx.nn.Embedding.rst", "python/nn/_autosummary/mlx.nn.GELU.rst", "python/nn/_autosummary/mlx.nn.GLU.rst", "python/nn/_autosummary/mlx.nn.GRU.rst", "python/nn/_autosummary/mlx.nn.GroupNorm.rst", "python/nn/_autosummary/mlx.nn.HardShrink.rst", "python/nn/_autosummary/mlx.nn.HardTanh.rst", "python/nn/_autosummary/mlx.nn.Hardswish.rst", "python/nn/_autosummary/mlx.nn.InstanceNorm.rst", "python/nn/_autosummary/mlx.nn.LSTM.rst", "python/nn/_autosummary/mlx.nn.LayerNorm.rst", "python/nn/_autosummary/mlx.nn.LeakyReLU.rst", "python/nn/_autosummary/mlx.nn.Linear.rst", "python/nn/_autosummary/mlx.nn.LogSigmoid.rst", "python/nn/_autosummary/mlx.nn.LogSoftmax.rst", "python/nn/_autosummary/mlx.nn.MaxPool1d.rst", "python/nn/_autosummary/mlx.nn.MaxPool2d.rst", "python/nn/_autosummary/mlx.nn.MaxPool3d.rst", "python/nn/_autosummary/mlx.nn.Mish.rst", "python/nn/_autosummary/mlx.nn.Module.apply.rst", "python/nn/_autosummary/mlx.nn.Module.apply_to_modules.rst", "python/nn/_autosummary/mlx.nn.Module.children.rst", "python/nn/_autosummary/mlx.nn.Module.eval.rst", "python/nn/_autosummary/mlx.nn.Module.filter_and_map.rst", "python/nn/_autosummary/mlx.nn.Module.freeze.rst", "python/nn/_autosummary/mlx.nn.Module.leaf_modules.rst", "python/nn/_autosummary/mlx.nn.Module.load_weights.rst", "python/nn/_autosummary/mlx.nn.Module.modules.rst", "python/nn/_autosummary/mlx.nn.Module.named_modules.rst", "python/nn/_autosummary/mlx.nn.Module.parameters.rst", "python/nn/_autosummary/mlx.nn.Module.save_weights.rst", "python/nn/_autosummary/mlx.nn.Module.set_dtype.rst", "python/nn/_autosummary/mlx.nn.Module.state.rst", "python/nn/_autosummary/mlx.nn.Module.train.rst", "python/nn/_autosummary/mlx.nn.Module.trainable_parameters.rst", "python/nn/_autosummary/mlx.nn.Module.training.rst", "python/nn/_autosummary/mlx.nn.Module.unfreeze.rst", "python/nn/_autosummary/mlx.nn.Module.update.rst", "python/nn/_autosummary/mlx.nn.Module.update_modules.rst", "python/nn/_autosummary/mlx.nn.MultiHeadAttention.rst", "python/nn/_autosummary/mlx.nn.PReLU.rst", "python/nn/_autosummary/mlx.nn.QuantizedEmbedding.rst", "python/nn/_autosummary/mlx.nn.QuantizedLinear.rst", "python/nn/_autosummary/mlx.nn.RMSNorm.rst", "python/nn/_autosummary/mlx.nn.RNN.rst", "python/nn/_autosummary/mlx.nn.ReLU.rst", "python/nn/_autosummary/mlx.nn.ReLU6.rst", "python/nn/_autosummary/mlx.nn.RoPE.rst", "python/nn/_autosummary/mlx.nn.SELU.rst", "python/nn/_autosummary/mlx.nn.Sequential.rst", "python/nn/_autosummary/mlx.nn.SiLU.rst", "python/nn/_autosummary/mlx.nn.Sigmoid.rst", "python/nn/_autosummary/mlx.nn.SinusoidalPositionalEncoding.rst", "python/nn/_autosummary/mlx.nn.Softmax.rst", "python/nn/_autosummary/mlx.nn.Softmin.rst", "python/nn/_autosummary/mlx.nn.Softplus.rst", "python/nn/_autosummary/mlx.nn.Softshrink.rst", "python/nn/_autosummary/mlx.nn.Softsign.rst", "python/nn/_autosummary/mlx.nn.Step.rst", "python/nn/_autosummary/mlx.nn.Tanh.rst", "python/nn/_autosummary/mlx.nn.Transformer.rst", "python/nn/_autosummary/mlx.nn.Upsample.rst", "python/nn/_autosummary/mlx.nn.init.constant.rst", "python/nn/_autosummary/mlx.nn.init.glorot_normal.rst", "python/nn/_autosummary/mlx.nn.init.glorot_uniform.rst", "python/nn/_autosummary/mlx.nn.init.he_normal.rst", "python/nn/_autosummary/mlx.nn.init.he_uniform.rst", "python/nn/_autosummary/mlx.nn.init.identity.rst", "python/nn/_autosummary/mlx.nn.init.normal.rst", "python/nn/_autosummary/mlx.nn.init.uniform.rst", "python/nn/_autosummary_functions/mlx.nn.celu.rst", "python/nn/_autosummary_functions/mlx.nn.elu.rst", "python/nn/_autosummary_functions/mlx.nn.gelu.rst", "python/nn/_autosummary_functions/mlx.nn.gelu_approx.rst", "python/nn/_autosummary_functions/mlx.nn.gelu_fast_approx.rst", "python/nn/_autosummary_functions/mlx.nn.glu.rst", "python/nn/_autosummary_functions/mlx.nn.hard_shrink.rst", "python/nn/_autosummary_functions/mlx.nn.hard_tanh.rst", "python/nn/_autosummary_functions/mlx.nn.hardswish.rst", "python/nn/_autosummary_functions/mlx.nn.leaky_relu.rst", "python/nn/_autosummary_functions/mlx.nn.log_sigmoid.rst", "python/nn/_autosummary_functions/mlx.nn.log_softmax.rst", "python/nn/_autosummary_functions/mlx.nn.losses.binary_cross_entropy.rst", "python/nn/_autosummary_functions/mlx.nn.losses.cosine_similarity_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.cross_entropy.rst", "python/nn/_autosummary_functions/mlx.nn.losses.gaussian_nll_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.hinge_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.huber_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.kl_div_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.l1_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.log_cosh_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.margin_ranking_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.mse_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.nll_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.smooth_l1_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.triplet_loss.rst", "python/nn/_autosummary_functions/mlx.nn.mish.rst", "python/nn/_autosummary_functions/mlx.nn.prelu.rst", "python/nn/_autosummary_functions/mlx.nn.relu.rst", "python/nn/_autosummary_functions/mlx.nn.relu6.rst", "python/nn/_autosummary_functions/mlx.nn.selu.rst", "python/nn/_autosummary_functions/mlx.nn.sigmoid.rst", "python/nn/_autosummary_functions/mlx.nn.silu.rst", "python/nn/_autosummary_functions/mlx.nn.softmax.rst", "python/nn/_autosummary_functions/mlx.nn.softmin.rst", "python/nn/_autosummary_functions/mlx.nn.softplus.rst", "python/nn/_autosummary_functions/mlx.nn.softshrink.rst", "python/nn/_autosummary_functions/mlx.nn.step.rst", "python/nn/_autosummary_functions/mlx.nn.tanh.rst", "python/nn/functions.rst", "python/nn/init.rst", "python/nn/layers.rst", "python/nn/losses.rst", "python/nn/module.rst", "python/ops.rst", "python/optimizers.rst", "python/optimizers/_autosummary/mlx.optimizers.AdaDelta.rst", "python/optimizers/_autosummary/mlx.optimizers.Adafactor.rst", "python/optimizers/_autosummary/mlx.optimizers.Adagrad.rst", "python/optimizers/_autosummary/mlx.optimizers.Adam.rst", "python/optimizers/_autosummary/mlx.optimizers.AdamW.rst", "python/optimizers/_autosummary/mlx.optimizers.Adamax.rst", "python/optimizers/_autosummary/mlx.optimizers.Lion.rst", "python/optimizers/_autosummary/mlx.optimizers.Optimizer.apply_gradients.rst", "python/optimizers/_autosummary/mlx.optimizers.Optimizer.init.rst", "python/optimizers/_autosummary/mlx.optimizers.Optimizer.state.rst", "python/optimizers/_autosummary/mlx.optimizers.Optimizer.update.rst", "python/optimizers/_autosummary/mlx.optimizers.RMSprop.rst", "python/optimizers/_autosummary/mlx.optimizers.SGD.rst", "python/optimizers/_autosummary/mlx.optimizers.cosine_decay.rst", "python/optimizers/_autosummary/mlx.optimizers.exponential_decay.rst", "python/optimizers/_autosummary/mlx.optimizers.join_schedules.rst", "python/optimizers/_autosummary/mlx.optimizers.linear_schedule.rst", "python/optimizers/_autosummary/mlx.optimizers.step_decay.rst", "python/optimizers/common_optimizers.rst", "python/optimizers/optimizer.rst", "python/optimizers/schedulers.rst", "python/random.rst", "python/transforms.rst", "python/tree_utils.rst", "usage/compile.rst", "usage/distributed.rst", "usage/function_transforms.rst", "usage/indexing.rst", "usage/lazy_evaluation.rst", "usage/numpy.rst", "usage/quick_start.rst", "usage/saving_and_loading.rst", "usage/unified_memory.rst", "usage/using_streams.rst"], "indexentries": {"__init__() (array method)": [[30, "mlx.core.array.__init__", false]], "__init__() (custom_function method)": [[112, "mlx.core.custom_function.__init__", false]], "__init__() (device method)": [[9, "mlx.core.Device.__init__", false]], "__init__() (dtype method)": [[10, "mlx.core.Dtype.__init__", false]], "__init__() (dtypecategory method)": [[11, "mlx.core.DtypeCategory.__init__", false]], "__init__() (group method)": [[120, "mlx.core.distributed.Group.__init__", false]], "__init__() (stream method)": [[314, "mlx.core.Stream.__init__", false]], "abs (c++ function)": [[0, "_CPPv43absRK5array14StreamOrDevice", false]], "abs() (array method)": [[32, "mlx.core.array.abs", false]], "abs() (in module mlx.core)": [[12, "mlx.core.abs", false]], "adadelta (class in mlx.optimizers)": [[456, "mlx.optimizers.AdaDelta", false]], "adafactor (class in mlx.optimizers)": [[457, "mlx.optimizers.Adafactor", false]], "adagrad (class in mlx.optimizers)": [[458, "mlx.optimizers.Adagrad", false]], "adam (class in mlx.optimizers)": [[459, "mlx.optimizers.Adam", false]], "adamax (class in mlx.optimizers)": [[461, "mlx.optimizers.Adamax", false]], "adamw (class in mlx.optimizers)": [[460, "mlx.optimizers.AdamW", false]], "add (c++ function)": [[0, "_CPPv43addRK5arrayRK5array14StreamOrDevice", false]], "add() (in module mlx.core)": [[13, "mlx.core.add", false]], "addmm (c++ function)": [[0, "_CPPv45addmm5array5array5arrayRKfRKf14StreamOrDevice", false]], "addmm() (in module mlx.core)": [[14, "mlx.core.addmm", false]], "alibi (class in mlx.nn)": [[324, "mlx.nn.ALiBi", false]], "all (c++ function)": [[0, "_CPPv43allRK5array14StreamOrDevice", false], [0, "_CPPv43allRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", false], [0, "_CPPv43allRK5arrayb14StreamOrDevice", false], [0, "_CPPv43allRK5arrayib14StreamOrDevice", false]], "all() (array method)": [[33, "mlx.core.array.all", false]], "all() (in module mlx.core)": [[15, "mlx.core.all", false]], "all_gather() (in module mlx.core.distributed)": [[121, "mlx.core.distributed.all_gather", false]], "all_sum() (in module mlx.core.distributed)": [[122, "mlx.core.distributed.all_sum", false]], "allclose (c++ function)": [[0, "_CPPv48allcloseRK5arrayRK5arrayddb14StreamOrDevice", false]], "allclose() (in module mlx.core)": [[16, "mlx.core.allclose", false]], "any (c++ function)": [[0, "_CPPv43anyRK5array14StreamOrDevice", false], [0, "_CPPv43anyRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", false], [0, "_CPPv43anyRK5arrayb14StreamOrDevice", false], [0, "_CPPv43anyRK5arrayib14StreamOrDevice", false]], "any() (array method)": [[34, "mlx.core.array.any", false]], "any() (in module mlx.core)": [[17, "mlx.core.any", false]], "apply() (module method)": [[359, "mlx.nn.Module.apply", false]], "apply_gradients() (optimizer method)": [[463, "mlx.optimizers.Optimizer.apply_gradients", false]], "apply_to_modules() (module method)": [[360, "mlx.nn.Module.apply_to_modules", false]], "arange (c++ function)": [[0, "_CPPv46aranged14StreamOrDevice", false], [0, "_CPPv46aranged5Dtype14StreamOrDevice", false], [0, "_CPPv46arangedd14StreamOrDevice", false], [0, "_CPPv46arangedd5Dtype14StreamOrDevice", false], [0, "_CPPv46arangeddd14StreamOrDevice", false], [0, "_CPPv46arangeddd5Dtype14StreamOrDevice", false], [0, "_CPPv46arangei14StreamOrDevice", false], [0, "_CPPv46arangeii14StreamOrDevice", false], [0, "_CPPv46arangeiii14StreamOrDevice", false]], "arange() (in module mlx.core)": [[18, "mlx.core.arange", false]], "arccos (c++ function)": [[0, "_CPPv46arccosRK5array14StreamOrDevice", false]], "arccos() (in module mlx.core)": [[19, "mlx.core.arccos", false]], "arccosh (c++ function)": [[0, "_CPPv47arccoshRK5array14StreamOrDevice", false]], "arccosh() (in module mlx.core)": [[20, "mlx.core.arccosh", false]], "arcsin (c++ function)": [[0, "_CPPv46arcsinRK5array14StreamOrDevice", false]], "arcsin() (in module mlx.core)": [[21, "mlx.core.arcsin", false]], "arcsinh (c++ function)": [[0, "_CPPv47arcsinhRK5array14StreamOrDevice", false]], "arcsinh() (in module mlx.core)": [[22, "mlx.core.arcsinh", false]], "arctan (c++ function)": [[0, "_CPPv46arctanRK5array14StreamOrDevice", false]], "arctan() (in module mlx.core)": [[23, "mlx.core.arctan", false]], "arctan2 (c++ function)": [[0, "_CPPv47arctan2RK5arrayRK5array14StreamOrDevice", false]], "arctan2() (in module mlx.core)": [[24, "mlx.core.arctan2", false]], "arctanh (c++ function)": [[0, "_CPPv47arctanhRK5array14StreamOrDevice", false]], "arctanh() (in module mlx.core)": [[25, "mlx.core.arctanh", false]], "argmax (c++ function)": [[0, "_CPPv46argmaxRK5array14StreamOrDevice", false], [0, "_CPPv46argmaxRK5arrayb14StreamOrDevice", false], [0, "_CPPv46argmaxRK5arrayib14StreamOrDevice", false]], "argmax() (array method)": [[35, "mlx.core.array.argmax", false]], "argmax() (in module mlx.core)": [[26, "mlx.core.argmax", false]], "argmin (c++ function)": [[0, "_CPPv46argminRK5array14StreamOrDevice", false], [0, "_CPPv46argminRK5arrayb14StreamOrDevice", false], [0, "_CPPv46argminRK5arrayib14StreamOrDevice", false]], "argmin() (array method)": [[36, "mlx.core.array.argmin", false]], "argmin() (in module mlx.core)": [[27, "mlx.core.argmin", false]], "argpartition (c++ function)": [[0, "_CPPv412argpartitionRK5arrayi14StreamOrDevice", false], [0, "_CPPv412argpartitionRK5arrayii14StreamOrDevice", false]], "argpartition() (in module mlx.core)": [[28, "mlx.core.argpartition", false]], "argsort (c++ function)": [[0, "_CPPv47argsortRK5array14StreamOrDevice", false], [0, "_CPPv47argsortRK5arrayi14StreamOrDevice", false]], "argsort() (in module mlx.core)": [[29, "mlx.core.argsort", false]], "array (class in mlx.core)": [[30, "mlx.core.array", false]], "array_equal (c++ function)": [[0, "_CPPv411array_equalRK5arrayRK5array14StreamOrDevice", false], [0, "_CPPv411array_equalRK5arrayRK5arrayb14StreamOrDevice", false]], "array_equal() (in module mlx.core)": [[82, "mlx.core.array_equal", false]], "as_strided (c++ function)": [[0, "_CPPv410as_strided5array5Shape7Strides6size_t14StreamOrDevice", false]], "as_strided() (in module mlx.core)": [[83, "mlx.core.as_strided", false]], "astype (c++ function)": [[0, "_CPPv46astype5array5Dtype14StreamOrDevice", false]], "astype() (array method)": [[37, "mlx.core.array.astype", false]], "at (array property)": [[38, "mlx.core.array.at", false]], "atleast_1d (c++ function)": [[0, "_CPPv410atleast_1dRK5array14StreamOrDevice", false], [0, "_CPPv410atleast_1dRKNSt6vectorI5arrayEE14StreamOrDevice", false]], "atleast_1d() (in module mlx.core)": [[84, "mlx.core.atleast_1d", false]], "atleast_2d (c++ function)": [[0, "_CPPv410atleast_2dRK5array14StreamOrDevice", false], [0, "_CPPv410atleast_2dRKNSt6vectorI5arrayEE14StreamOrDevice", false]], "atleast_2d() (in module mlx.core)": [[85, "mlx.core.atleast_2d", false]], "atleast_3d (c++ function)": [[0, "_CPPv410atleast_3dRK5array14StreamOrDevice", false], [0, "_CPPv410atleast_3dRKNSt6vectorI5arrayEE14StreamOrDevice", false]], "atleast_3d() (in module mlx.core)": [[86, "mlx.core.atleast_3d", false]], "avgpool1d (class in mlx.nn)": [[325, "mlx.nn.AvgPool1d", false]], "avgpool2d (class in mlx.nn)": [[326, "mlx.nn.AvgPool2d", false]], "avgpool3d (class in mlx.nn)": [[327, "mlx.nn.AvgPool3d", false]], "batchnorm (class in mlx.nn)": [[328, "mlx.nn.BatchNorm", false]], "bernoulli() (in module mlx.core.random)": [[239, "mlx.core.random.bernoulli", false]], "binary_cross_entropy (class in mlx.nn.losses)": [[422, "mlx.nn.losses.binary_cross_entropy", false]], "bitwise_and (c++ function)": [[0, "_CPPv411bitwise_andRK5arrayRK5array14StreamOrDevice", false]], "bitwise_and() (in module mlx.core)": [[87, "mlx.core.bitwise_and", false]], "bitwise_or (c++ function)": [[0, "_CPPv410bitwise_orRK5arrayRK5array14StreamOrDevice", false]], "bitwise_or() (in module mlx.core)": [[88, "mlx.core.bitwise_or", false]], "bitwise_xor (c++ function)": [[0, "_CPPv411bitwise_xorRK5arrayRK5array14StreamOrDevice", false]], "bitwise_xor() (in module mlx.core)": [[89, "mlx.core.bitwise_xor", false]], "block_masked_mm (c++ function)": [[0, "_CPPv415block_masked_mm5array5arrayiNSt8optionalI5arrayEENSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", false]], "block_masked_mm() (in module mlx.core)": [[90, "mlx.core.block_masked_mm", false]], "broadcast_arrays (c++ function)": [[0, "_CPPv416broadcast_arraysRKNSt6vectorI5arrayEE14StreamOrDevice", false]], "broadcast_to (c++ function)": [[0, "_CPPv412broadcast_toRK5arrayRK5Shape14StreamOrDevice", false]], "broadcast_to() (in module mlx.core)": [[91, "mlx.core.broadcast_to", false]], "categorical() (in module mlx.core.random)": [[240, "mlx.core.random.categorical", false]], "ceil (c++ function)": [[0, "_CPPv44ceilRK5array14StreamOrDevice", false]], "ceil() (in module mlx.core)": [[92, "mlx.core.ceil", false]], "celu (class in mlx.nn)": [[329, "mlx.nn.CELU", false], [410, "mlx.nn.celu", false]], "children() (module method)": [[361, "mlx.nn.Module.children", false]], "cholesky() (in module mlx.core.linalg)": [[182, "mlx.core.linalg.cholesky", false]], "cholesky_inv() (in module mlx.core.linalg)": [[183, "mlx.core.linalg.cholesky_inv", false]], "clear_cache() (in module mlx.core.metal)": [[208, "mlx.core.metal.clear_cache", false]], "clip (c++ function)": [[0, "_CPPv44clipRK5arrayRKNSt8optionalI5arrayEERKNSt8optionalI5arrayEE14StreamOrDevice", false]], "clip() (in module mlx.core)": [[93, "mlx.core.clip", false]], "clip_grad_norm() (in module mlx.optimizers)": [[308, "mlx.optimizers.clip_grad_norm", false]], "compile() (in module mlx.core)": [[94, "mlx.core.compile", false]], "concatenate (c++ function)": [[0, "_CPPv411concatenateRKNSt6vectorI5arrayEE14StreamOrDevice", false], [0, "_CPPv411concatenateRKNSt6vectorI5arrayEEi14StreamOrDevice", false]], "concatenate() (in module mlx.core)": [[95, "mlx.core.concatenate", false]], "conj() (array method)": [[39, "mlx.core.array.conj", false]], "conj() (in module mlx.core)": [[96, "mlx.core.conj", false]], "conjugate (c++ function)": [[0, "_CPPv49conjugateRK5array14StreamOrDevice", false]], "conjugate() (in module mlx.core)": [[97, "mlx.core.conjugate", false]], "constant() (in module mlx.nn.init)": [[402, "mlx.nn.init.constant", false]], "contiguous (c++ function)": [[0, "_CPPv410contiguousRK5arrayb14StreamOrDevice", false]], "conv1d (c++ function)": [[0, "_CPPv46conv1dRK5arrayRK5arrayiiii14StreamOrDevice", false]], "conv1d (class in mlx.nn)": [[330, "mlx.nn.Conv1d", false]], "conv1d() (in module mlx.core)": [[98, "mlx.core.conv1d", false]], "conv2d (c++ function)": [[0, "_CPPv46conv2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", false]], "conv2d (class in mlx.nn)": [[331, "mlx.nn.Conv2d", false]], "conv2d() (in module mlx.core)": [[99, "mlx.core.conv2d", false]], "conv3d (c++ function)": [[0, "_CPPv46conv3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", false]], "conv3d (class in mlx.nn)": [[332, "mlx.nn.Conv3d", false]], "conv3d() (in module mlx.core)": [[100, "mlx.core.conv3d", false]], "conv_general (c++ function)": [[0, "_CPPv412conv_general5array5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", false], [0, "_CPPv412conv_generalRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", false]], "conv_general() (in module mlx.core)": [[101, "mlx.core.conv_general", false]], "conv_transpose1d (c++ function)": [[0, "_CPPv416conv_transpose1dRK5arrayRK5arrayiiii14StreamOrDevice", false]], "conv_transpose1d() (in module mlx.core)": [[102, "mlx.core.conv_transpose1d", false]], "conv_transpose2d (c++ function)": [[0, "_CPPv416conv_transpose2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", false]], "conv_transpose2d() (in module mlx.core)": [[103, "mlx.core.conv_transpose2d", false]], "conv_transpose3d (c++ function)": [[0, "_CPPv416conv_transpose3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", false]], "conv_transpose3d() (in module mlx.core)": [[104, "mlx.core.conv_transpose3d", false]], "convolve() (in module mlx.core)": [[105, "mlx.core.convolve", false]], "convtranspose1d (class in mlx.nn)": [[333, "mlx.nn.ConvTranspose1d", false]], "convtranspose2d (class in mlx.nn)": [[334, "mlx.nn.ConvTranspose2d", false]], "convtranspose3d (class in mlx.nn)": [[335, "mlx.nn.ConvTranspose3d", false]], "copy (c++ function)": [[0, "_CPPv44copy5array14StreamOrDevice", false]], "cos (c++ function)": [[0, "_CPPv43cosRK5array14StreamOrDevice", false]], "cos() (array method)": [[40, "mlx.core.array.cos", false]], "cos() (in module mlx.core)": [[106, "mlx.core.cos", false]], "cosh (c++ function)": [[0, "_CPPv44coshRK5array14StreamOrDevice", false]], "cosh() (in module mlx.core)": [[107, "mlx.core.cosh", false]], "cosine_decay() (in module mlx.optimizers)": [[469, "mlx.optimizers.cosine_decay", false]], "cosine_similarity_loss (class in mlx.nn.losses)": [[423, "mlx.nn.losses.cosine_similarity_loss", false]], "cross() (in module mlx.core.linalg)": [[184, "mlx.core.linalg.cross", false]], "cross_entropy (class in mlx.nn.losses)": [[424, "mlx.nn.losses.cross_entropy", false]], "cummax (c++ function)": [[0, "_CPPv46cummaxRK5arrayibb14StreamOrDevice", false]], "cummax() (array method)": [[41, "mlx.core.array.cummax", false]], "cummax() (in module mlx.core)": [[108, "mlx.core.cummax", false]], "cummin (c++ function)": [[0, "_CPPv46cumminRK5arrayibb14StreamOrDevice", false]], "cummin() (array method)": [[42, "mlx.core.array.cummin", false]], "cummin() (in module mlx.core)": [[109, "mlx.core.cummin", false]], "cumprod (c++ function)": [[0, "_CPPv47cumprodRK5arrayibb14StreamOrDevice", false]], "cumprod() (array method)": [[43, "mlx.core.array.cumprod", false]], "cumprod() (in module mlx.core)": [[110, "mlx.core.cumprod", false]], "cumsum (c++ function)": [[0, "_CPPv46cumsumRK5arrayibb14StreamOrDevice", false]], "cumsum() (array method)": [[44, "mlx.core.array.cumsum", false]], "cumsum() (in module mlx.core)": [[111, "mlx.core.cumsum", false]], "custom_function (class in mlx.core)": [[112, "mlx.core.custom_function", false]], "default_device() (in module mlx.core)": [[113, "mlx.core.default_device", false]], "default_stream() (in module mlx.core)": [[114, "mlx.core.default_stream", false]], "degrees (c++ function)": [[0, "_CPPv47degreesRK5array14StreamOrDevice", false]], "degrees() (in module mlx.core)": [[115, "mlx.core.degrees", false]], "depends (c++ function)": [[0, "_CPPv47dependsRKNSt6vectorI5arrayEERKNSt6vectorI5arrayEE", false]], "dequantize (c++ function)": [[0, "_CPPv410dequantizeRK5arrayRK5arrayRK5arrayii14StreamOrDevice", false]], "dequantize() (in module mlx.core)": [[116, "mlx.core.dequantize", false]], "device (class in mlx.core)": [[9, "mlx.core.Device", false]], "device_info() (in module mlx.core.metal)": [[209, "mlx.core.metal.device_info", false]], "diag (c++ function)": [[0, "_CPPv44diagRK5arrayi14StreamOrDevice", false]], "diag() (array method)": [[45, "mlx.core.array.diag", false]], "diag() (in module mlx.core)": [[117, "mlx.core.diag", false]], "diagonal (c++ function)": [[0, "_CPPv48diagonalRK5arrayiii14StreamOrDevice", false]], "diagonal() (array method)": [[46, "mlx.core.array.diagonal", false]], "diagonal() (in module mlx.core)": [[118, "mlx.core.diagonal", false]], "disable_compile() (in module mlx.core)": [[119, "mlx.core.disable_compile", false]], "divide (c++ function)": [[0, "_CPPv46divideRK5arrayRK5array14StreamOrDevice", false]], "divide() (in module mlx.core)": [[128, "mlx.core.divide", false]], "divmod (c++ function)": [[0, "_CPPv46divmodRK5arrayRK5array14StreamOrDevice", false]], "divmod() (in module mlx.core)": [[129, "mlx.core.divmod", false]], "dropout (class in mlx.nn)": [[336, "mlx.nn.Dropout", false]], "dropout2d (class in mlx.nn)": [[337, "mlx.nn.Dropout2d", false]], "dropout3d (class in mlx.nn)": [[338, "mlx.nn.Dropout3d", false]], "dtype (array property)": [[47, "mlx.core.array.dtype", false]], "dtype (class in mlx.core)": [[10, "mlx.core.Dtype", false]], "dtypecategory (class in mlx.core)": [[11, "mlx.core.DtypeCategory", false]], "eigh() (in module mlx.core.linalg)": [[185, "mlx.core.linalg.eigh", false]], "eigvalsh() (in module mlx.core.linalg)": [[186, "mlx.core.linalg.eigvalsh", false]], "einsum() (in module mlx.core)": [[130, "mlx.core.einsum", false]], "einsum_path() (in module mlx.core)": [[131, "mlx.core.einsum_path", false]], "elu (class in mlx.nn)": [[339, "mlx.nn.ELU", false], [411, "mlx.nn.elu", false]], "embedding (class in mlx.nn)": [[340, "mlx.nn.Embedding", false]], "enable_compile() (in module mlx.core)": [[132, "mlx.core.enable_compile", false]], "equal (c++ function)": [[0, "_CPPv45equalRK5arrayRK5array14StreamOrDevice", false]], "equal() (in module mlx.core)": [[133, "mlx.core.equal", false]], "erf (c++ function)": [[0, "_CPPv43erfRK5array14StreamOrDevice", false]], "erf() (in module mlx.core)": [[134, "mlx.core.erf", false]], "erfinv (c++ function)": [[0, "_CPPv46erfinvRK5array14StreamOrDevice", false]], "erfinv() (in module mlx.core)": [[135, "mlx.core.erfinv", false]], "eval() (in module mlx.core)": [[136, "mlx.core.eval", false]], "eval() (module method)": [[362, "mlx.nn.Module.eval", false]], "exp (c++ function)": [[0, "_CPPv43expRK5array14StreamOrDevice", false]], "exp() (array method)": [[48, "mlx.core.array.exp", false]], "exp() (in module mlx.core)": [[137, "mlx.core.exp", false]], "expand_dims (c++ function)": [[0, "_CPPv411expand_dimsRK5arrayRKNSt6vectorIiEE14StreamOrDevice", false], [0, "_CPPv411expand_dimsRK5arrayi14StreamOrDevice", false]], "expand_dims() (in module mlx.core)": [[138, "mlx.core.expand_dims", false]], "expm1 (c++ function)": [[0, "_CPPv45expm1RK5array14StreamOrDevice", false]], "expm1() (in module mlx.core)": [[139, "mlx.core.expm1", false]], "exponential_decay() (in module mlx.optimizers)": [[470, "mlx.optimizers.exponential_decay", false]], "eye (c++ function)": [[0, "_CPPv43eyei14StreamOrDevice", false], [0, "_CPPv43eyei5Dtype14StreamOrDevice", false], [0, "_CPPv43eyeii14StreamOrDevice", false], [0, "_CPPv43eyeiii14StreamOrDevice", false], [0, "_CPPv43eyeiii5Dtype14StreamOrDevice", false]], "eye() (in module mlx.core)": [[140, "mlx.core.eye", false]], "fft() (in module mlx.core.fft)": [[146, "mlx.core.fft.fft", false]], "fft2() (in module mlx.core.fft)": [[147, "mlx.core.fft.fft2", false]], "fftn() (in module mlx.core.fft)": [[148, "mlx.core.fft.fftn", false]], "filter_and_map() (module method)": [[363, "mlx.nn.Module.filter_and_map", false]], "flatten (c++ function)": [[0, "_CPPv47flattenRK5array14StreamOrDevice", false], [0, "_CPPv47flattenRK5arrayii14StreamOrDevice", false]], "flatten() (array method)": [[49, "mlx.core.array.flatten", false]], "flatten() (in module mlx.core)": [[158, "mlx.core.flatten", false]], "floor (c++ function)": [[0, "_CPPv45floorRK5array14StreamOrDevice", false]], "floor() (in module mlx.core)": [[159, "mlx.core.floor", false]], "floor_divide (c++ function)": [[0, "_CPPv412floor_divideRK5arrayRK5array14StreamOrDevice", false]], "floor_divide() (in module mlx.core)": [[160, "mlx.core.floor_divide", false]], "freeze() (module method)": [[364, "mlx.nn.Module.freeze", false]], "full (c++ function)": [[0, "_CPPv44full5Shape5array14StreamOrDevice", false], [0, "_CPPv44full5Shape5array5Dtype14StreamOrDevice", false], [0, "_CPPv4I0E4full5array5Shape1T14StreamOrDevice", false], [0, "_CPPv4I0E4full5array5Shape1T5Dtype14StreamOrDevice", false]], "full() (in module mlx.core)": [[161, "mlx.core.full", false]], "gather (c++ function)": [[0, "_CPPv46gatherRK5arrayRK5arrayiRK5Shape14StreamOrDevice", false], [0, "_CPPv46gatherRK5arrayRKNSt6vectorI5arrayEERKNSt6vectorIiEERK5Shape14StreamOrDevice", false]], "gather_mm (c++ function)": [[0, "_CPPv49gather_mm5array5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", false]], "gather_mm() (in module mlx.core)": [[162, "mlx.core.gather_mm", false]], "gather_qmm (c++ function)": [[0, "_CPPv410gather_qmmRK5arrayRK5arrayRK5arrayRK5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEEbii14StreamOrDevice", false]], "gather_qmm() (in module mlx.core)": [[163, "mlx.core.gather_qmm", false]], "gaussian_nll_loss (class in mlx.nn.losses)": [[425, "mlx.nn.losses.gaussian_nll_loss", false]], "gelu (class in mlx.nn)": [[341, "mlx.nn.GELU", false], [412, "mlx.nn.gelu", false]], "gelu_approx (class in mlx.nn)": [[413, "mlx.nn.gelu_approx", false]], "gelu_fast_approx (class in mlx.nn)": [[414, "mlx.nn.gelu_fast_approx", false]], "get_active_memory() (in module mlx.core.metal)": [[210, "mlx.core.metal.get_active_memory", false]], "get_cache_memory() (in module mlx.core.metal)": [[211, "mlx.core.metal.get_cache_memory", false]], "get_peak_memory() (in module mlx.core.metal)": [[212, "mlx.core.metal.get_peak_memory", false]], "glorot_normal() (in module mlx.nn.init)": [[403, "mlx.nn.init.glorot_normal", false]], "glorot_uniform() (in module mlx.nn.init)": [[404, "mlx.nn.init.glorot_uniform", false]], "glu (class in mlx.nn)": [[342, "mlx.nn.GLU", false], [415, "mlx.nn.glu", false]], "grad() (in module mlx.core)": [[164, "mlx.core.grad", false]], "greater (c++ function)": [[0, "_CPPv47greaterRK5arrayRK5array14StreamOrDevice", false]], "greater() (in module mlx.core)": [[165, "mlx.core.greater", false]], "greater_equal (c++ function)": [[0, "_CPPv413greater_equalRK5arrayRK5array14StreamOrDevice", false]], "greater_equal() (in module mlx.core)": [[166, "mlx.core.greater_equal", false]], "group (class in mlx.core.distributed)": [[120, "mlx.core.distributed.Group", false]], "groupnorm (class in mlx.nn)": [[344, "mlx.nn.GroupNorm", false]], "gru (class in mlx.nn)": [[343, "mlx.nn.GRU", false]], "gumbel() (in module mlx.core.random)": [[241, "mlx.core.random.gumbel", false]], "hadamard_transform (c++ function)": [[0, "_CPPv418hadamard_transformRK5arrayNSt8optionalIfEE14StreamOrDevice", false]], "hadamard_transform() (in module mlx.core)": [[167, "mlx.core.hadamard_transform", false]], "hard_shrink (class in mlx.nn)": [[416, "mlx.nn.hard_shrink", false]], "hard_tanh (class in mlx.nn)": [[417, "mlx.nn.hard_tanh", false]], "hardshrink (class in mlx.nn)": [[345, "mlx.nn.HardShrink", false]], "hardswish (class in mlx.nn)": [[347, "mlx.nn.Hardswish", false], [418, "mlx.nn.hardswish", false]], "hardtanh (class in mlx.nn)": [[346, "mlx.nn.HardTanh", false]], "he_normal() (in module mlx.nn.init)": [[405, "mlx.nn.init.he_normal", false]], "he_uniform() (in module mlx.nn.init)": [[406, "mlx.nn.init.he_uniform", false]], "hinge_loss (class in mlx.nn.losses)": [[426, "mlx.nn.losses.hinge_loss", false]], "huber_loss (class in mlx.nn.losses)": [[427, "mlx.nn.losses.huber_loss", false]], "identity (c++ function)": [[0, "_CPPv48identityi14StreamOrDevice", false], [0, "_CPPv48identityi5Dtype14StreamOrDevice", false]], "identity() (in module mlx.core)": [[168, "mlx.core.identity", false]], "identity() (in module mlx.nn.init)": [[407, "mlx.nn.init.identity", false]], "ifft() (in module mlx.core.fft)": [[149, "mlx.core.fft.ifft", false]], "ifft2() (in module mlx.core.fft)": [[150, "mlx.core.fft.ifft2", false]], "ifftn() (in module mlx.core.fft)": [[151, "mlx.core.fft.ifftn", false]], "imag (c++ function)": [[0, "_CPPv44imagRK5array14StreamOrDevice", false]], "imag() (in module mlx.core)": [[169, "mlx.core.imag", false]], "init() (in module mlx.core.distributed)": [[123, "mlx.core.distributed.init", false]], "init() (optimizer method)": [[464, "mlx.optimizers.Optimizer.init", false]], "inner (c++ function)": [[0, "_CPPv45innerRK5arrayRK5array14StreamOrDevice", false]], "inner() (in module mlx.core)": [[170, "mlx.core.inner", false]], "instancenorm (class in mlx.nn)": [[348, "mlx.nn.InstanceNorm", false]], "inv() (in module mlx.core.linalg)": [[187, "mlx.core.linalg.inv", false]], "irfft() (in module mlx.core.fft)": [[152, "mlx.core.fft.irfft", false]], "irfft2() (in module mlx.core.fft)": [[153, "mlx.core.fft.irfft2", false]], "irfftn() (in module mlx.core.fft)": [[154, "mlx.core.fft.irfftn", false]], "is_available() (in module mlx.core.distributed)": [[124, "mlx.core.distributed.is_available", false]], "is_available() (in module mlx.core.metal)": [[213, "mlx.core.metal.is_available", false]], "isclose (c++ function)": [[0, "_CPPv47iscloseRK5arrayRK5arrayddb14StreamOrDevice", false]], "isclose() (in module mlx.core)": [[171, "mlx.core.isclose", false]], "isfinite (c++ function)": [[0, "_CPPv48isfiniteRK5array14StreamOrDevice", false]], "isfinite() (in module mlx.core)": [[172, "mlx.core.isfinite", false]], "isinf (c++ function)": [[0, "_CPPv45isinfRK5array14StreamOrDevice", false]], "isinf() (in module mlx.core)": [[173, "mlx.core.isinf", false]], "isnan (c++ function)": [[0, "_CPPv45isnanRK5array14StreamOrDevice", false]], "isnan() (in module mlx.core)": [[174, "mlx.core.isnan", false]], "isneginf (c++ function)": [[0, "_CPPv48isneginfRK5array14StreamOrDevice", false]], "isneginf() (in module mlx.core)": [[175, "mlx.core.isneginf", false]], "isposinf (c++ function)": [[0, "_CPPv48isposinfRK5array14StreamOrDevice", false]], "isposinf() (in module mlx.core)": [[176, "mlx.core.isposinf", false]], "issubdtype() (in module mlx.core)": [[177, "mlx.core.issubdtype", false]], "item() (array method)": [[50, "mlx.core.array.item", false]], "itemsize (array property)": [[51, "mlx.core.array.itemsize", false]], "join_schedules() (in module mlx.optimizers)": [[471, "mlx.optimizers.join_schedules", false]], "jvp() (in module mlx.core)": [[178, "mlx.core.jvp", false]], "key() (in module mlx.core.random)": [[242, "mlx.core.random.key", false]], "kl_div_loss (class in mlx.nn.losses)": [[428, "mlx.nn.losses.kl_div_loss", false]], "l1_loss (class in mlx.nn.losses)": [[429, "mlx.nn.losses.l1_loss", false]], "laplace() (in module mlx.core.random)": [[243, "mlx.core.random.laplace", false]], "layer_norm() (in module mlx.core.fast)": [[141, "mlx.core.fast.layer_norm", false]], "layernorm (class in mlx.nn)": [[350, "mlx.nn.LayerNorm", false]], "leaf_modules() (module method)": [[365, "mlx.nn.Module.leaf_modules", false]], "leaky_relu (class in mlx.nn)": [[419, "mlx.nn.leaky_relu", false]], "leakyrelu (class in mlx.nn)": [[351, "mlx.nn.LeakyReLU", false]], "left_shift (c++ function)": [[0, "_CPPv410left_shiftRK5arrayRK5array14StreamOrDevice", false]], "left_shift() (in module mlx.core)": [[179, "mlx.core.left_shift", false]], "less (c++ function)": [[0, "_CPPv44lessRK5arrayRK5array14StreamOrDevice", false]], "less() (in module mlx.core)": [[180, "mlx.core.less", false]], "less_equal (c++ function)": [[0, "_CPPv410less_equalRK5arrayRK5array14StreamOrDevice", false]], "less_equal() (in module mlx.core)": [[181, "mlx.core.less_equal", false]], "linear (class in mlx.nn)": [[352, "mlx.nn.Linear", false]], "linear_schedule() (in module mlx.optimizers)": [[472, "mlx.optimizers.linear_schedule", false]], "linspace (c++ function)": [[0, "_CPPv48linspaceddi5Dtype14StreamOrDevice", false]], "linspace() (in module mlx.core)": [[192, "mlx.core.linspace", false]], "lion (class in mlx.optimizers)": [[462, "mlx.optimizers.Lion", false]], "load() (in module mlx.core)": [[193, "mlx.core.load", false]], "load_weights() (module method)": [[366, "mlx.nn.Module.load_weights", false]], "log (c++ function)": [[0, "_CPPv43logRK5array14StreamOrDevice", false]], "log() (array method)": [[52, "mlx.core.array.log", false]], "log() (in module mlx.core)": [[194, "mlx.core.log", false]], "log10 (c++ function)": [[0, "_CPPv45log10RK5array14StreamOrDevice", false]], "log10() (array method)": [[53, "mlx.core.array.log10", false]], "log10() (in module mlx.core)": [[195, "mlx.core.log10", false]], "log1p (c++ function)": [[0, "_CPPv45log1pRK5array14StreamOrDevice", false]], "log1p() (array method)": [[54, "mlx.core.array.log1p", false]], "log1p() (in module mlx.core)": [[196, "mlx.core.log1p", false]], "log2 (c++ function)": [[0, "_CPPv44log2RK5array14StreamOrDevice", false]], "log2() (array method)": [[55, "mlx.core.array.log2", false]], "log2() (in module mlx.core)": [[197, "mlx.core.log2", false]], "log_cosh_loss (class in mlx.nn.losses)": [[430, "mlx.nn.losses.log_cosh_loss", false]], "log_sigmoid (class in mlx.nn)": [[420, "mlx.nn.log_sigmoid", false]], "log_softmax (class in mlx.nn)": [[421, "mlx.nn.log_softmax", false]], "logaddexp (c++ function)": [[0, "_CPPv49logaddexpRK5arrayRK5array14StreamOrDevice", false]], "logaddexp() (in module mlx.core)": [[198, "mlx.core.logaddexp", false]], "logical_and (c++ function)": [[0, "_CPPv411logical_andRK5arrayRK5array14StreamOrDevice", false]], "logical_and() (in module mlx.core)": [[199, "mlx.core.logical_and", false]], "logical_not (c++ function)": [[0, "_CPPv411logical_notRK5array14StreamOrDevice", false]], "logical_not() (in module mlx.core)": [[200, "mlx.core.logical_not", false]], "logical_or (c++ function)": [[0, "_CPPv410logical_orRK5arrayRK5array14StreamOrDevice", false]], "logical_or() (in module mlx.core)": [[201, "mlx.core.logical_or", false]], "logsigmoid (class in mlx.nn)": [[353, "mlx.nn.LogSigmoid", false]], "logsoftmax (class in mlx.nn)": [[354, "mlx.nn.LogSoftmax", false]], "logsumexp (c++ function)": [[0, "_CPPv49logsumexpRK5array14StreamOrDevice", false], [0, "_CPPv49logsumexpRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", false], [0, "_CPPv49logsumexpRK5arrayb14StreamOrDevice", false], [0, "_CPPv49logsumexpRK5arrayib14StreamOrDevice", false]], "logsumexp() (array method)": [[56, "mlx.core.array.logsumexp", false]], "logsumexp() (in module mlx.core)": [[202, "mlx.core.logsumexp", false]], "lstm (class in mlx.nn)": [[349, "mlx.nn.LSTM", false]], "margin_ranking_loss (class in mlx.nn.losses)": [[431, "mlx.nn.losses.margin_ranking_loss", false]], "matmul (c++ function)": [[0, "_CPPv46matmulRK5arrayRK5array14StreamOrDevice", false]], "matmul() (in module mlx.core)": [[203, "mlx.core.matmul", false]], "max (c++ function)": [[0, "_CPPv43maxRK5array14StreamOrDevice", false], [0, "_CPPv43maxRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", false], [0, "_CPPv43maxRK5arrayb14StreamOrDevice", false], [0, "_CPPv43maxRK5arrayib14StreamOrDevice", false]], "max() (array method)": [[57, "mlx.core.array.max", false]], "max() (in module mlx.core)": [[204, "mlx.core.max", false]], "maximum (c++ function)": [[0, "_CPPv47maximumRK5arrayRK5array14StreamOrDevice", false]], "maximum() (in module mlx.core)": [[205, "mlx.core.maximum", false]], "maxpool1d (class in mlx.nn)": [[355, "mlx.nn.MaxPool1d", false]], "maxpool2d (class in mlx.nn)": [[356, "mlx.nn.MaxPool2d", false]], "maxpool3d (class in mlx.nn)": [[357, "mlx.nn.MaxPool3d", false]], "mean (c++ function)": [[0, "_CPPv44meanRK5array14StreamOrDevice", false], [0, "_CPPv44meanRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", false], [0, "_CPPv44meanRK5arrayb14StreamOrDevice", false], [0, "_CPPv44meanRK5arrayib14StreamOrDevice", false]], "mean() (array method)": [[58, "mlx.core.array.mean", false]], "mean() (in module mlx.core)": [[206, "mlx.core.mean", false]], "meshgrid (c++ function)": [[0, "_CPPv48meshgridRKNSt6vectorI5arrayEEbNSt6stringE14StreamOrDevice", false]], "meshgrid() (in module mlx.core)": [[207, "mlx.core.meshgrid", false]], "metal_kernel() (in module mlx.core.fast)": [[142, "mlx.core.fast.metal_kernel", false]], "min (c++ function)": [[0, "_CPPv43minRK5array14StreamOrDevice", false], [0, "_CPPv43minRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", false], [0, "_CPPv43minRK5arrayb14StreamOrDevice", false], [0, "_CPPv43minRK5arrayib14StreamOrDevice", false]], "min() (array method)": [[59, "mlx.core.array.min", false]], "min() (in module mlx.core)": [[220, "mlx.core.min", false]], "minimum (c++ function)": [[0, "_CPPv47minimumRK5arrayRK5array14StreamOrDevice", false]], "minimum() (in module mlx.core)": [[221, "mlx.core.minimum", false]], "mish (class in mlx.nn)": [[358, "mlx.nn.Mish", false], [436, "mlx.nn.mish", false]], "module (class in mlx.nn)": [[453, "mlx.nn.Module", false]], "modules() (module method)": [[367, "mlx.nn.Module.modules", false]], "moveaxis (c++ function)": [[0, "_CPPv48moveaxisRK5arrayii14StreamOrDevice", false]], "moveaxis() (array method)": [[60, "mlx.core.array.moveaxis", false]], "moveaxis() (in module mlx.core)": [[222, "mlx.core.moveaxis", false]], "mse_loss (class in mlx.nn.losses)": [[432, "mlx.nn.losses.mse_loss", false]], "multiheadattention (class in mlx.nn)": [[379, "mlx.nn.MultiHeadAttention", false]], "multiply (c++ function)": [[0, "_CPPv48multiplyRK5arrayRK5array14StreamOrDevice", false]], "multiply() (in module mlx.core)": [[223, "mlx.core.multiply", false]], "multivariate_normal() (in module mlx.core.random)": [[244, "mlx.core.random.multivariate_normal", false]], "named_modules() (module method)": [[368, "mlx.nn.Module.named_modules", false]], "nan_to_num (c++ function)": [[0, "_CPPv410nan_to_numRK5arrayfKNSt8optionalIfEEKNSt8optionalIfEE14StreamOrDevice", false]], "nan_to_num() (in module mlx.core)": [[224, "mlx.core.nan_to_num", false]], "nbytes (array property)": [[61, "mlx.core.array.nbytes", false]], "ndim (array property)": [[62, "mlx.core.array.ndim", false]], "negative (c++ function)": [[0, "_CPPv48negativeRK5array14StreamOrDevice", false]], "negative() (in module mlx.core)": [[225, "mlx.core.negative", false]], "new_stream() (in module mlx.core)": [[226, "mlx.core.new_stream", false]], "nll_loss (class in mlx.nn.losses)": [[433, "mlx.nn.losses.nll_loss", false]], "norm() (in module mlx.core.linalg)": [[188, "mlx.core.linalg.norm", false]], "normal() (in module mlx.core.random)": [[245, "mlx.core.random.normal", false]], "normal() (in module mlx.nn.init)": [[408, "mlx.nn.init.normal", false]], "not_equal (c++ function)": [[0, "_CPPv49not_equalRK5arrayRK5array14StreamOrDevice", false]], "not_equal() (in module mlx.core)": [[227, "mlx.core.not_equal", false]], "number_of_elements (c++ function)": [[0, "_CPPv418number_of_elementsRK5arrayNSt6vectorIiEEb5Dtype14StreamOrDevice", false]], "ones (c++ function)": [[0, "_CPPv44onesRK5Shape14StreamOrDevice", false], [0, "_CPPv44onesRK5Shape5Dtype14StreamOrDevice", false]], "ones() (in module mlx.core)": [[228, "mlx.core.ones", false]], "ones_like (c++ function)": [[0, "_CPPv49ones_likeRK5array14StreamOrDevice", false]], "ones_like() (in module mlx.core)": [[229, "mlx.core.ones_like", false]], "operator!= (c++ function)": [[0, "_CPPv4I0Ene5array1TRK5array", false], [0, "_CPPv4I0Ene5arrayRK5array1T", false], [0, "_CPPv4neRK5arrayRK5array", false]], "operator% (c++ function)": [[0, "_CPPv4I0Erm5array1TRK5array", false], [0, "_CPPv4I0Erm5arrayRK5array1T", false], [0, "_CPPv4rmRK5arrayRK5array", false]], "operator& (c++ function)": [[0, "_CPPv4anRK5arrayRK5array", false]], "operator&& (c++ function)": [[0, "_CPPv4aaRK5arrayRK5array", false]], "operator* (c++ function)": [[0, "_CPPv4I0Eml5array1TRK5array", false], [0, "_CPPv4I0Eml5arrayRK5array1T", false], [0, "_CPPv4mlRK5arrayRK5array", false]], "operator+ (c++ function)": [[0, "_CPPv4I0Epl5array1TRK5array", false], [0, "_CPPv4I0Epl5arrayRK5array1T", false], [0, "_CPPv4plRK5arrayRK5array", false]], "operator- (c++ function)": [[0, "_CPPv4I0Emi5array1TRK5array", false], [0, "_CPPv4I0Emi5arrayRK5array1T", false], [0, "_CPPv4miRK5array", false], [0, "_CPPv4miRK5arrayRK5array", false]], "operator/ (c++ function)": [[0, "_CPPv4dvRK5arrayRK5array", false], [0, "_CPPv4dvRK5arrayd", false], [0, "_CPPv4dvdRK5array", false]], "operator< (c++ function)": [[0, "_CPPv4I0Elt5array1TRK5array", false], [0, "_CPPv4I0Elt5arrayRK5array1T", false], [0, "_CPPv4ltRK5arrayRK5array", false]], "operator<< (c++ function)": [[0, "_CPPv4lsRK5arrayRK5array", false]], "operator<= (c++ function)": [[0, "_CPPv4I0Ele5array1TRK5array", false], [0, "_CPPv4I0Ele5arrayRK5array1T", false], [0, "_CPPv4leRK5arrayRK5array", false]], "operator== (c++ function)": [[0, "_CPPv4I0Eeq5array1TRK5array", false], [0, "_CPPv4I0Eeq5arrayRK5array1T", false], [0, "_CPPv4eqRK5arrayRK5array", false]], "operator> (c++ function)": [[0, "_CPPv4I0Egt5array1TRK5array", false], [0, "_CPPv4I0Egt5arrayRK5array1T", false], [0, "_CPPv4gtRK5arrayRK5array", false]], "operator>= (c++ function)": [[0, "_CPPv4I0Ege5array1TRK5array", false], [0, "_CPPv4I0Ege5arrayRK5array1T", false], [0, "_CPPv4geRK5arrayRK5array", false]], "operator>> (c++ function)": [[0, "_CPPv4rsRK5arrayRK5array", false]], "operator^ (c++ function)": [[0, "_CPPv4eoRK5arrayRK5array", false]], "operator| (c++ function)": [[0, "_CPPv4orRK5arrayRK5array", false]], "operator|| (c++ function)": [[0, "_CPPv4ooRK5arrayRK5array", false]], "optimizer (class in mlx.optimizers)": [[475, "mlx.optimizers.Optimizer", false]], "outer (c++ function)": [[0, "_CPPv45outerRK5arrayRK5array14StreamOrDevice", false]], "outer() (in module mlx.core)": [[230, "mlx.core.outer", false]], "pad (c++ function)": [[0, "_CPPv43padRK5arrayRKNSt4pairIiiEERK5arrayKNSt6stringE14StreamOrDevice", false], [0, "_CPPv43padRK5arrayRKNSt6vectorINSt4pairIiiEEEERK5arrayKNSt6stringE14StreamOrDevice", false], [0, "_CPPv43padRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEERKNSt6vectorIiEERK5arrayKNSt6stringE14StreamOrDevice", false], [0, "_CPPv43padRK5arrayiRK5arrayKNSt6stringE14StreamOrDevice", false]], "pad() (in module mlx.core)": [[231, "mlx.core.pad", false]], "parameters() (module method)": [[369, "mlx.nn.Module.parameters", false]], "partition (c++ function)": [[0, "_CPPv49partitionRK5arrayi14StreamOrDevice", false], [0, "_CPPv49partitionRK5arrayii14StreamOrDevice", false]], "partition() (in module mlx.core)": [[232, "mlx.core.partition", false]], "permutation() (in module mlx.core.random)": [[246, "mlx.core.random.permutation", false]], "power (c++ function)": [[0, "_CPPv45powerRK5arrayRK5array14StreamOrDevice", false]], "power() (in module mlx.core)": [[233, "mlx.core.power", false]], "prelu (class in mlx.nn)": [[380, "mlx.nn.PReLU", false], [437, "mlx.nn.prelu", false]], "prod (c++ function)": [[0, "_CPPv44prodRK5array14StreamOrDevice", false], [0, "_CPPv44prodRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", false], [0, "_CPPv44prodRK5arrayb14StreamOrDevice", false], [0, "_CPPv44prodRK5arrayib14StreamOrDevice", false]], "prod() (array method)": [[63, "mlx.core.array.prod", false]], "prod() (in module mlx.core)": [[234, "mlx.core.prod", false]], "put_along_axis (c++ function)": [[0, "_CPPv414put_along_axisRK5arrayRK5arrayRK5arrayi14StreamOrDevice", false]], "put_along_axis() (in module mlx.core)": [[235, "mlx.core.put_along_axis", false]], "qr() (in module mlx.core.linalg)": [[189, "mlx.core.linalg.qr", false]], "quantize (c++ function)": [[0, "_CPPv48quantizeRK5arrayii14StreamOrDevice", false]], "quantize() (in module mlx.core)": [[236, "mlx.core.quantize", false]], "quantize() (in module mlx.nn)": [[306, "mlx.nn.quantize", false]], "quantized_matmul (c++ function)": [[0, "_CPPv416quantized_matmul5array5array5array5arraybii14StreamOrDevice", false]], "quantized_matmul() (in module mlx.core)": [[237, "mlx.core.quantized_matmul", false]], "quantizedembedding (class in mlx.nn)": [[381, "mlx.nn.QuantizedEmbedding", false]], "quantizedlinear (class in mlx.nn)": [[382, "mlx.nn.QuantizedLinear", false]], "radians (c++ function)": [[0, "_CPPv47radiansRK5array14StreamOrDevice", false]], "radians() (in module mlx.core)": [[238, "mlx.core.radians", false]], "randint() (in module mlx.core.random)": [[247, "mlx.core.random.randint", false]], "real (c++ function)": [[0, "_CPPv44realRK5array14StreamOrDevice", false]], "real() (in module mlx.core)": [[252, "mlx.core.real", false]], "reciprocal (c++ function)": [[0, "_CPPv410reciprocalRK5array14StreamOrDevice", false]], "reciprocal() (array method)": [[64, "mlx.core.array.reciprocal", false]], "reciprocal() (in module mlx.core)": [[253, "mlx.core.reciprocal", false]], "recv() (in module mlx.core.distributed)": [[125, "mlx.core.distributed.recv", false]], "recv_like() (in module mlx.core.distributed)": [[126, "mlx.core.distributed.recv_like", false]], "relu (class in mlx.nn)": [[385, "mlx.nn.ReLU", false], [438, "mlx.nn.relu", false]], "relu6 (class in mlx.nn)": [[386, "mlx.nn.ReLU6", false], [439, "mlx.nn.relu6", false]], "remainder (c++ function)": [[0, "_CPPv49remainderRK5arrayRK5array14StreamOrDevice", false]], "remainder() (in module mlx.core)": [[254, "mlx.core.remainder", false]], "repeat (c++ function)": [[0, "_CPPv46repeatRK5arrayi14StreamOrDevice", false], [0, "_CPPv46repeatRK5arrayii14StreamOrDevice", false]], "repeat() (in module mlx.core)": [[255, "mlx.core.repeat", false]], "reset_peak_memory() (in module mlx.core.metal)": [[214, "mlx.core.metal.reset_peak_memory", false]], "reshape (c++ function)": [[0, "_CPPv47reshapeRK5array5Shape14StreamOrDevice", false]], "reshape() (array method)": [[65, "mlx.core.array.reshape", false]], "reshape() (in module mlx.core)": [[256, "mlx.core.reshape", false]], "rfft() (in module mlx.core.fft)": [[155, "mlx.core.fft.rfft", false]], "rfft2() (in module mlx.core.fft)": [[156, "mlx.core.fft.rfft2", false]], "rfftn() (in module mlx.core.fft)": [[157, "mlx.core.fft.rfftn", false]], "right_shift (c++ function)": [[0, "_CPPv411right_shiftRK5arrayRK5array14StreamOrDevice", false]], "right_shift() (in module mlx.core)": [[257, "mlx.core.right_shift", false]], "rms_norm() (in module mlx.core.fast)": [[143, "mlx.core.fast.rms_norm", false]], "rmsnorm (class in mlx.nn)": [[383, "mlx.nn.RMSNorm", false]], "rmsprop (class in mlx.optimizers)": [[467, "mlx.optimizers.RMSprop", false]], "rnn (class in mlx.nn)": [[384, "mlx.nn.RNN", false]], "roll (c++ function)": [[0, "_CPPv44rollRK5arrayRK5Shape14StreamOrDevice", false], [0, "_CPPv44rollRK5arrayRK5ShapeRKNSt6vectorIiEE14StreamOrDevice", false], [0, "_CPPv44rollRK5arrayRK5Shapei14StreamOrDevice", false], [0, "_CPPv44rollRK5arrayi14StreamOrDevice", false], [0, "_CPPv44rollRK5arrayiRK5Shape14StreamOrDevice", false], [0, "_CPPv44rollRK5arrayii14StreamOrDevice", false]], "roll() (in module mlx.core)": [[258, "mlx.core.roll", false]], "rope (class in mlx.nn)": [[387, "mlx.nn.RoPE", false]], "rope() (in module mlx.core.fast)": [[144, "mlx.core.fast.rope", false]], "round (c++ function)": [[0, "_CPPv45roundRK5array14StreamOrDevice", false], [0, "_CPPv45roundRK5arrayi14StreamOrDevice", false]], "round() (array method)": [[66, "mlx.core.array.round", false]], "round() (in module mlx.core)": [[259, "mlx.core.round", false]], "rsqrt (c++ function)": [[0, "_CPPv45rsqrtRK5array14StreamOrDevice", false]], "rsqrt() (array method)": [[67, "mlx.core.array.rsqrt", false]], "rsqrt() (in module mlx.core)": [[260, "mlx.core.rsqrt", false]], "save() (in module mlx.core)": [[261, "mlx.core.save", false]], "save_gguf() (in module mlx.core)": [[262, "mlx.core.save_gguf", false]], "save_safetensors() (in module mlx.core)": [[263, "mlx.core.save_safetensors", false]], "save_weights() (module method)": [[370, "mlx.nn.Module.save_weights", false]], "savez() (in module mlx.core)": [[264, "mlx.core.savez", false]], "savez_compressed() (in module mlx.core)": [[265, "mlx.core.savez_compressed", false]], "scaled_dot_product_attention() (in module mlx.core.fast)": [[145, "mlx.core.fast.scaled_dot_product_attention", false]], "scatter (c++ function)": [[0, "_CPPv47scatterRK5arrayRK5arrayRK5arrayi14StreamOrDevice", false], [0, "_CPPv47scatterRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", false]], "scatter_add (c++ function)": [[0, "_CPPv411scatter_addRK5arrayRK5arrayRK5arrayi14StreamOrDevice", false], [0, "_CPPv411scatter_addRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", false]], "scatter_max (c++ function)": [[0, "_CPPv411scatter_maxRK5arrayRK5arrayRK5arrayi14StreamOrDevice", false], [0, "_CPPv411scatter_maxRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", false]], "scatter_min (c++ function)": [[0, "_CPPv411scatter_minRK5arrayRK5arrayRK5arrayi14StreamOrDevice", false], [0, "_CPPv411scatter_minRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", false]], "scatter_prod (c++ function)": [[0, "_CPPv412scatter_prodRK5arrayRK5arrayRK5arrayi14StreamOrDevice", false], [0, "_CPPv412scatter_prodRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", false]], "seed() (in module mlx.core.random)": [[248, "mlx.core.random.seed", false]], "selu (class in mlx.nn)": [[388, "mlx.nn.SELU", false], [440, "mlx.nn.selu", false]], "send() (in module mlx.core.distributed)": [[127, "mlx.core.distributed.send", false]], "sequential (class in mlx.nn)": [[389, "mlx.nn.Sequential", false]], "set_cache_limit() (in module mlx.core.metal)": [[215, "mlx.core.metal.set_cache_limit", false]], "set_default_device() (in module mlx.core)": [[266, "mlx.core.set_default_device", false]], "set_default_stream() (in module mlx.core)": [[267, "mlx.core.set_default_stream", false]], "set_dtype() (module method)": [[371, "mlx.nn.Module.set_dtype", false]], "set_memory_limit() (in module mlx.core.metal)": [[216, "mlx.core.metal.set_memory_limit", false]], "set_wired_limit() (in module mlx.core.metal)": [[217, "mlx.core.metal.set_wired_limit", false]], "sgd (class in mlx.optimizers)": [[468, "mlx.optimizers.SGD", false]], "shape (array property)": [[68, "mlx.core.array.shape", false]], "sigmoid (c++ function)": [[0, "_CPPv47sigmoidRK5array14StreamOrDevice", false]], "sigmoid (class in mlx.nn)": [[391, "mlx.nn.Sigmoid", false], [441, "mlx.nn.sigmoid", false]], "sigmoid() (in module mlx.core)": [[268, "mlx.core.sigmoid", false]], "sign (c++ function)": [[0, "_CPPv44signRK5array14StreamOrDevice", false]], "sign() (in module mlx.core)": [[269, "mlx.core.sign", false]], "silu (class in mlx.nn)": [[390, "mlx.nn.SiLU", false], [442, "mlx.nn.silu", false]], "sin (c++ function)": [[0, "_CPPv43sinRK5array14StreamOrDevice", false]], "sin() (array method)": [[69, "mlx.core.array.sin", false]], "sin() (in module mlx.core)": [[270, "mlx.core.sin", false]], "sinh (c++ function)": [[0, "_CPPv44sinhRK5array14StreamOrDevice", false]], "sinh() (in module mlx.core)": [[271, "mlx.core.sinh", false]], "sinusoidalpositionalencoding (class in mlx.nn)": [[392, "mlx.nn.SinusoidalPositionalEncoding", false]], "size (array property)": [[70, "mlx.core.array.size", false]], "slice (c++ function)": [[0, "_CPPv45sliceRK5array5Shape5Shape14StreamOrDevice", false], [0, "_CPPv45sliceRK5array5Shape5Shape5Shape14StreamOrDevice", false]], "slice_update (c++ function)": [[0, "_CPPv412slice_updateRK5arrayRK5array5Shape5Shape14StreamOrDevice", false], [0, "_CPPv412slice_updateRK5arrayRK5array5Shape5Shape5Shape14StreamOrDevice", false]], "smooth_l1_loss (class in mlx.nn.losses)": [[434, "mlx.nn.losses.smooth_l1_loss", false]], "softmax (c++ function)": [[0, "_CPPv47softmaxRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", false], [0, "_CPPv47softmaxRK5arrayb14StreamOrDevice", false], [0, "_CPPv47softmaxRK5arrayib14StreamOrDevice", false]], "softmax (class in mlx.nn)": [[393, "mlx.nn.Softmax", false], [443, "mlx.nn.softmax", false]], "softmax() (in module mlx.core)": [[272, "mlx.core.softmax", false]], "softmin (class in mlx.nn)": [[394, "mlx.nn.Softmin", false], [444, "mlx.nn.softmin", false]], "softplus (class in mlx.nn)": [[395, "mlx.nn.Softplus", false], [445, "mlx.nn.softplus", false]], "softshrink (class in mlx.nn)": [[396, "mlx.nn.Softshrink", false], [446, "mlx.nn.softshrink", false]], "softsign (class in mlx.nn)": [[397, "mlx.nn.Softsign", false]], "sort (c++ function)": [[0, "_CPPv44sortRK5array14StreamOrDevice", false], [0, "_CPPv44sortRK5arrayi14StreamOrDevice", false]], "sort() (in module mlx.core)": [[273, "mlx.core.sort", false]], "split (c++ function)": [[0, "_CPPv45splitRK5arrayRKNSt6vectorIiEE14StreamOrDevice", false], [0, "_CPPv45splitRK5arrayRKNSt6vectorIiEEi14StreamOrDevice", false], [0, "_CPPv45splitRK5arrayi14StreamOrDevice", false], [0, "_CPPv45splitRK5arrayii14StreamOrDevice", false]], "split() (array method)": [[71, "mlx.core.array.split", false]], "split() (in module mlx.core)": [[274, "mlx.core.split", false]], "split() (in module mlx.core.random)": [[249, "mlx.core.random.split", false]], "sqrt (c++ function)": [[0, "_CPPv44sqrtRK5array14StreamOrDevice", false]], "sqrt() (array method)": [[72, "mlx.core.array.sqrt", false]], "sqrt() (in module mlx.core)": [[275, "mlx.core.sqrt", false]], "square (c++ function)": [[0, "_CPPv46squareRK5array14StreamOrDevice", false]], "square() (array method)": [[73, "mlx.core.array.square", false]], "square() (in module mlx.core)": [[276, "mlx.core.square", false]], "squeeze (c++ function)": [[0, "_CPPv47squeezeRK5array14StreamOrDevice", false], [0, "_CPPv47squeezeRK5arrayRKNSt6vectorIiEE14StreamOrDevice", false], [0, "_CPPv47squeezeRK5arrayi14StreamOrDevice", false]], "squeeze() (array method)": [[74, "mlx.core.array.squeeze", false]], "squeeze() (in module mlx.core)": [[277, "mlx.core.squeeze", false]], "stack (c++ function)": [[0, "_CPPv45stackRKNSt6vectorI5arrayEE14StreamOrDevice", false], [0, "_CPPv45stackRKNSt6vectorI5arrayEEi14StreamOrDevice", false]], "stack() (in module mlx.core)": [[278, "mlx.core.stack", false]], "start_capture() (in module mlx.core.metal)": [[218, "mlx.core.metal.start_capture", false]], "state (module property)": [[372, "mlx.nn.Module.state", false]], "state (optimizer property)": [[465, "mlx.optimizers.Optimizer.state", false]], "std (c++ function)": [[0, "_CPPv4StRK5array14StreamOrDevice", false], [0, "_CPPv4StRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", false], [0, "_CPPv4StRK5arraybi14StreamOrDevice", false], [0, "_CPPv4StRK5arrayibi14StreamOrDevice", false]], "std() (array method)": [[75, "mlx.core.array.std", false]], "std() (in module mlx.core)": [[279, "mlx.core.std", false]], "step (class in mlx.nn)": [[398, "mlx.nn.Step", false], [447, "mlx.nn.step", false]], "step_decay() (in module mlx.optimizers)": [[473, "mlx.optimizers.step_decay", false]], "stop_capture() (in module mlx.core.metal)": [[219, "mlx.core.metal.stop_capture", false]], "stop_gradient (c++ function)": [[0, "_CPPv413stop_gradientRK5array14StreamOrDevice", false]], "stop_gradient() (in module mlx.core)": [[280, "mlx.core.stop_gradient", false]], "stream (class in mlx.core)": [[314, "mlx.core.Stream", false]], "stream() (in module mlx.core)": [[281, "mlx.core.stream", false]], "subtract (c++ function)": [[0, "_CPPv48subtractRK5arrayRK5array14StreamOrDevice", false]], "subtract() (in module mlx.core)": [[282, "mlx.core.subtract", false]], "sum (c++ function)": [[0, "_CPPv43sumRK5array14StreamOrDevice", false], [0, "_CPPv43sumRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", false], [0, "_CPPv43sumRK5arrayb14StreamOrDevice", false], [0, "_CPPv43sumRK5arrayib14StreamOrDevice", false]], "sum() (array method)": [[76, "mlx.core.array.sum", false]], "sum() (in module mlx.core)": [[283, "mlx.core.sum", false]], "svd() (in module mlx.core.linalg)": [[190, "mlx.core.linalg.svd", false]], "swapaxes (c++ function)": [[0, "_CPPv48swapaxesRK5arrayii14StreamOrDevice", false]], "swapaxes() (array method)": [[77, "mlx.core.array.swapaxes", false]], "swapaxes() (in module mlx.core)": [[284, "mlx.core.swapaxes", false]], "synchronize() (in module mlx.core)": [[285, "mlx.core.synchronize", false]], "t (array property)": [[31, "mlx.core.array.T", false]], "take (c++ function)": [[0, "_CPPv44takeRK5arrayRK5array14StreamOrDevice", false], [0, "_CPPv44takeRK5arrayRK5arrayi14StreamOrDevice", false], [0, "_CPPv44takeRK5arrayi14StreamOrDevice", false], [0, "_CPPv44takeRK5arrayii14StreamOrDevice", false]], "take() (in module mlx.core)": [[286, "mlx.core.take", false]], "take_along_axis (c++ function)": [[0, "_CPPv415take_along_axisRK5arrayRK5arrayi14StreamOrDevice", false]], "take_along_axis() (in module mlx.core)": [[287, "mlx.core.take_along_axis", false]], "tan (c++ function)": [[0, "_CPPv43tanRK5array14StreamOrDevice", false]], "tan() (in module mlx.core)": [[288, "mlx.core.tan", false]], "tanh (c++ function)": [[0, "_CPPv44tanhRK5array14StreamOrDevice", false]], "tanh (class in mlx.nn)": [[399, "mlx.nn.Tanh", false], [448, "mlx.nn.tanh", false]], "tanh() (in module mlx.core)": [[289, "mlx.core.tanh", false]], "tensordot (c++ function)": [[0, "_CPPv49tensordotRK5arrayRK5arrayKi14StreamOrDevice", false], [0, "_CPPv49tensordotRK5arrayRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice", false]], "tensordot() (in module mlx.core)": [[290, "mlx.core.tensordot", false]], "tile (c++ function)": [[0, "_CPPv44tileRK5arrayNSt6vectorIiEE14StreamOrDevice", false]], "tile() (in module mlx.core)": [[291, "mlx.core.tile", false]], "tolist() (array method)": [[78, "mlx.core.array.tolist", false]], "topk (c++ function)": [[0, "_CPPv44topkRK5arrayi14StreamOrDevice", false], [0, "_CPPv44topkRK5arrayii14StreamOrDevice", false]], "topk() (in module mlx.core)": [[292, "mlx.core.topk", false]], "trace (c++ function)": [[0, "_CPPv45traceRK5array14StreamOrDevice", false], [0, "_CPPv45traceRK5arrayiii14StreamOrDevice", false], [0, "_CPPv45traceRK5arrayiii5Dtype14StreamOrDevice", false]], "trace() (in module mlx.core)": [[293, "mlx.core.trace", false]], "train() (module method)": [[373, "mlx.nn.Module.train", false]], "trainable_parameters() (module method)": [[374, "mlx.nn.Module.trainable_parameters", false]], "training (module property)": [[375, "mlx.nn.Module.training", false]], "transformer (class in mlx.nn)": [[400, "mlx.nn.Transformer", false]], "transpose (c++ function)": [[0, "_CPPv49transposeRK5array14StreamOrDevice", false], [0, "_CPPv49transposeRK5arrayNSt16initializer_listIiEE14StreamOrDevice", false], [0, "_CPPv49transposeRK5arrayNSt6vectorIiEE14StreamOrDevice", false]], "transpose() (array method)": [[79, "mlx.core.array.transpose", false]], "transpose() (in module mlx.core)": [[294, "mlx.core.transpose", false]], "tree_flatten() (in module mlx.utils)": [[309, "mlx.utils.tree_flatten", false]], "tree_map() (in module mlx.utils)": [[310, "mlx.utils.tree_map", false]], "tree_map_with_path() (in module mlx.utils)": [[311, "mlx.utils.tree_map_with_path", false]], "tree_reduce() (in module mlx.utils)": [[312, "mlx.utils.tree_reduce", false]], "tree_unflatten() (in module mlx.utils)": [[313, "mlx.utils.tree_unflatten", false]], "tri (c++ function)": [[0, "_CPPv43trii5Dtype14StreamOrDevice", false], [0, "_CPPv43triiii5Dtype14StreamOrDevice", false]], "tri() (in module mlx.core)": [[295, "mlx.core.tri", false]], "tri_inv() (in module mlx.core.linalg)": [[191, "mlx.core.linalg.tri_inv", false]], "tril (c++ function)": [[0, "_CPPv44tril5arrayi14StreamOrDevice", false]], "tril() (in module mlx.core)": [[296, "mlx.core.tril", false]], "triplet_loss (class in mlx.nn.losses)": [[435, "mlx.nn.losses.triplet_loss", false]], "triu (c++ function)": [[0, "_CPPv44triu5arrayi14StreamOrDevice", false]], "triu() (in module mlx.core)": [[297, "mlx.core.triu", false]], "truncated_normal() (in module mlx.core.random)": [[250, "mlx.core.random.truncated_normal", false]], "unfreeze() (module method)": [[376, "mlx.nn.Module.unfreeze", false]], "uniform() (in module mlx.core.random)": [[251, "mlx.core.random.uniform", false]], "uniform() (in module mlx.nn.init)": [[409, "mlx.nn.init.uniform", false]], "update() (module method)": [[377, "mlx.nn.Module.update", false]], "update() (optimizer method)": [[466, "mlx.optimizers.Optimizer.update", false]], "update_modules() (module method)": [[378, "mlx.nn.Module.update_modules", false]], "upsample (class in mlx.nn)": [[401, "mlx.nn.Upsample", false]], "value_and_grad() (in module mlx.core)": [[298, "mlx.core.value_and_grad", false]], "value_and_grad() (in module mlx.nn)": [[307, "mlx.nn.value_and_grad", false]], "var (c++ function)": [[0, "_CPPv43varRK5array14StreamOrDevice", false], [0, "_CPPv43varRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", false], [0, "_CPPv43varRK5arraybi14StreamOrDevice", false], [0, "_CPPv43varRK5arrayibi14StreamOrDevice", false]], "var() (array method)": [[80, "mlx.core.array.var", false]], "var() (in module mlx.core)": [[299, "mlx.core.var", false]], "view (c++ function)": [[0, "_CPPv44viewRK5arrayRK5Dtype14StreamOrDevice", false]], "view() (array method)": [[81, "mlx.core.array.view", false]], "view() (in module mlx.core)": [[300, "mlx.core.view", false]], "vjp() (in module mlx.core)": [[301, "mlx.core.vjp", false]], "vmap() (in module mlx.core)": [[302, "mlx.core.vmap", false]], "where (c++ function)": [[0, "_CPPv45whereRK5arrayRK5arrayRK5array14StreamOrDevice", false]], "where() (in module mlx.core)": [[303, "mlx.core.where", false]], "zeros (c++ function)": [[0, "_CPPv45zerosRK5Shape14StreamOrDevice", false], [0, "_CPPv45zerosRK5Shape5Dtype14StreamOrDevice", false]], "zeros() (in module mlx.core)": [[304, "mlx.core.zeros", false]], "zeros_like (c++ function)": [[0, "_CPPv410zeros_likeRK5array14StreamOrDevice", false]], "zeros_like() (in module mlx.core)": [[305, "mlx.core.zeros_like", false]]}, "objects": {"": [[0, 0, 1, "_CPPv43absRK5array14StreamOrDevice", "abs"], [0, 1, 1, "_CPPv43absRK5array14StreamOrDevice", "abs::a"], [0, 1, 1, "_CPPv43absRK5array14StreamOrDevice", "abs::s"], [0, 0, 1, "_CPPv43addRK5arrayRK5array14StreamOrDevice", "add"], [0, 1, 1, "_CPPv43addRK5arrayRK5array14StreamOrDevice", "add::a"], [0, 1, 1, "_CPPv43addRK5arrayRK5array14StreamOrDevice", "add::b"], [0, 1, 1, "_CPPv43addRK5arrayRK5array14StreamOrDevice", "add::s"], [0, 0, 1, "_CPPv45addmm5array5array5arrayRKfRKf14StreamOrDevice", "addmm"], [0, 1, 1, "_CPPv45addmm5array5array5arrayRKfRKf14StreamOrDevice", "addmm::a"], [0, 1, 1, "_CPPv45addmm5array5array5arrayRKfRKf14StreamOrDevice", "addmm::alpha"], [0, 1, 1, "_CPPv45addmm5array5array5arrayRKfRKf14StreamOrDevice", "addmm::b"], [0, 1, 1, "_CPPv45addmm5array5array5arrayRKfRKf14StreamOrDevice", "addmm::beta"], [0, 1, 1, "_CPPv45addmm5array5array5arrayRKfRKf14StreamOrDevice", "addmm::c"], [0, 1, 1, "_CPPv45addmm5array5array5arrayRKfRKf14StreamOrDevice", "addmm::s"], [0, 0, 1, "_CPPv43allRK5array14StreamOrDevice", "all"], [0, 0, 1, "_CPPv43allRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "all"], [0, 0, 1, "_CPPv43allRK5arrayb14StreamOrDevice", "all"], [0, 0, 1, "_CPPv43allRK5arrayib14StreamOrDevice", "all"], [0, 1, 1, "_CPPv43allRK5array14StreamOrDevice", "all::a"], [0, 1, 1, "_CPPv43allRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "all::a"], [0, 1, 1, "_CPPv43allRK5arrayb14StreamOrDevice", "all::a"], [0, 1, 1, "_CPPv43allRK5arrayib14StreamOrDevice", "all::a"], [0, 1, 1, "_CPPv43allRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "all::axes"], [0, 1, 1, "_CPPv43allRK5arrayib14StreamOrDevice", "all::axis"], [0, 1, 1, "_CPPv43allRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "all::keepdims"], [0, 1, 1, "_CPPv43allRK5arrayb14StreamOrDevice", "all::keepdims"], [0, 1, 1, "_CPPv43allRK5arrayib14StreamOrDevice", "all::keepdims"], [0, 1, 1, "_CPPv43allRK5array14StreamOrDevice", "all::s"], [0, 1, 1, "_CPPv43allRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "all::s"], [0, 1, 1, "_CPPv43allRK5arrayb14StreamOrDevice", "all::s"], [0, 1, 1, "_CPPv43allRK5arrayib14StreamOrDevice", "all::s"], [0, 0, 1, "_CPPv48allcloseRK5arrayRK5arrayddb14StreamOrDevice", "allclose"], [0, 1, 1, "_CPPv48allcloseRK5arrayRK5arrayddb14StreamOrDevice", "allclose::a"], [0, 1, 1, "_CPPv48allcloseRK5arrayRK5arrayddb14StreamOrDevice", "allclose::atol"], [0, 1, 1, "_CPPv48allcloseRK5arrayRK5arrayddb14StreamOrDevice", "allclose::b"], [0, 1, 1, "_CPPv48allcloseRK5arrayRK5arrayddb14StreamOrDevice", "allclose::equal_nan"], [0, 1, 1, "_CPPv48allcloseRK5arrayRK5arrayddb14StreamOrDevice", "allclose::rtol"], [0, 1, 1, "_CPPv48allcloseRK5arrayRK5arrayddb14StreamOrDevice", "allclose::s"], [0, 0, 1, "_CPPv43anyRK5array14StreamOrDevice", "any"], [0, 0, 1, "_CPPv43anyRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "any"], [0, 0, 1, "_CPPv43anyRK5arrayb14StreamOrDevice", "any"], [0, 0, 1, "_CPPv43anyRK5arrayib14StreamOrDevice", "any"], [0, 1, 1, "_CPPv43anyRK5array14StreamOrDevice", "any::a"], [0, 1, 1, "_CPPv43anyRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "any::a"], [0, 1, 1, "_CPPv43anyRK5arrayb14StreamOrDevice", "any::a"], [0, 1, 1, "_CPPv43anyRK5arrayib14StreamOrDevice", "any::a"], [0, 1, 1, "_CPPv43anyRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "any::axes"], [0, 1, 1, "_CPPv43anyRK5arrayib14StreamOrDevice", "any::axis"], [0, 1, 1, "_CPPv43anyRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "any::keepdims"], [0, 1, 1, "_CPPv43anyRK5arrayb14StreamOrDevice", "any::keepdims"], [0, 1, 1, "_CPPv43anyRK5arrayib14StreamOrDevice", "any::keepdims"], [0, 1, 1, "_CPPv43anyRK5array14StreamOrDevice", "any::s"], [0, 1, 1, "_CPPv43anyRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "any::s"], [0, 1, 1, "_CPPv43anyRK5arrayb14StreamOrDevice", "any::s"], [0, 1, 1, "_CPPv43anyRK5arrayib14StreamOrDevice", "any::s"], [0, 0, 1, "_CPPv46aranged14StreamOrDevice", "arange"], [0, 0, 1, "_CPPv46aranged5Dtype14StreamOrDevice", "arange"], [0, 0, 1, "_CPPv46arangedd14StreamOrDevice", "arange"], [0, 0, 1, "_CPPv46arangedd5Dtype14StreamOrDevice", "arange"], [0, 0, 1, "_CPPv46arangeddd14StreamOrDevice", "arange"], [0, 0, 1, "_CPPv46arangeddd5Dtype14StreamOrDevice", "arange"], [0, 0, 1, "_CPPv46arangei14StreamOrDevice", "arange"], [0, 0, 1, "_CPPv46arangeii14StreamOrDevice", "arange"], [0, 0, 1, "_CPPv46arangeiii14StreamOrDevice", "arange"], [0, 1, 1, "_CPPv46aranged5Dtype14StreamOrDevice", "arange::dtype"], [0, 1, 1, "_CPPv46arangedd5Dtype14StreamOrDevice", "arange::dtype"], [0, 1, 1, "_CPPv46arangeddd5Dtype14StreamOrDevice", "arange::dtype"], [0, 1, 1, "_CPPv46aranged14StreamOrDevice", "arange::s"], [0, 1, 1, "_CPPv46aranged5Dtype14StreamOrDevice", "arange::s"], [0, 1, 1, "_CPPv46arangedd14StreamOrDevice", "arange::s"], [0, 1, 1, "_CPPv46arangedd5Dtype14StreamOrDevice", "arange::s"], [0, 1, 1, "_CPPv46arangeddd14StreamOrDevice", "arange::s"], [0, 1, 1, "_CPPv46arangeddd5Dtype14StreamOrDevice", "arange::s"], [0, 1, 1, "_CPPv46arangei14StreamOrDevice", "arange::s"], [0, 1, 1, "_CPPv46arangeii14StreamOrDevice", "arange::s"], [0, 1, 1, "_CPPv46arangeiii14StreamOrDevice", "arange::s"], [0, 1, 1, "_CPPv46arangedd14StreamOrDevice", "arange::start"], [0, 1, 1, "_CPPv46arangedd5Dtype14StreamOrDevice", "arange::start"], [0, 1, 1, "_CPPv46arangeddd14StreamOrDevice", "arange::start"], [0, 1, 1, "_CPPv46arangeddd5Dtype14StreamOrDevice", "arange::start"], [0, 1, 1, "_CPPv46arangeii14StreamOrDevice", "arange::start"], [0, 1, 1, "_CPPv46arangeiii14StreamOrDevice", "arange::start"], [0, 1, 1, "_CPPv46arangeddd14StreamOrDevice", "arange::step"], [0, 1, 1, "_CPPv46arangeddd5Dtype14StreamOrDevice", "arange::step"], [0, 1, 1, "_CPPv46arangeiii14StreamOrDevice", "arange::step"], [0, 1, 1, "_CPPv46aranged14StreamOrDevice", "arange::stop"], [0, 1, 1, "_CPPv46aranged5Dtype14StreamOrDevice", "arange::stop"], [0, 1, 1, "_CPPv46arangedd14StreamOrDevice", "arange::stop"], [0, 1, 1, "_CPPv46arangedd5Dtype14StreamOrDevice", "arange::stop"], [0, 1, 1, "_CPPv46arangeddd14StreamOrDevice", "arange::stop"], [0, 1, 1, "_CPPv46arangeddd5Dtype14StreamOrDevice", "arange::stop"], [0, 1, 1, "_CPPv46arangei14StreamOrDevice", "arange::stop"], [0, 1, 1, "_CPPv46arangeii14StreamOrDevice", "arange::stop"], [0, 1, 1, "_CPPv46arangeiii14StreamOrDevice", "arange::stop"], [0, 0, 1, "_CPPv46arccosRK5array14StreamOrDevice", "arccos"], [0, 1, 1, "_CPPv46arccosRK5array14StreamOrDevice", "arccos::a"], [0, 1, 1, "_CPPv46arccosRK5array14StreamOrDevice", "arccos::s"], [0, 0, 1, "_CPPv47arccoshRK5array14StreamOrDevice", "arccosh"], [0, 1, 1, "_CPPv47arccoshRK5array14StreamOrDevice", "arccosh::a"], [0, 1, 1, "_CPPv47arccoshRK5array14StreamOrDevice", "arccosh::s"], [0, 0, 1, "_CPPv46arcsinRK5array14StreamOrDevice", "arcsin"], [0, 1, 1, "_CPPv46arcsinRK5array14StreamOrDevice", "arcsin::a"], [0, 1, 1, "_CPPv46arcsinRK5array14StreamOrDevice", "arcsin::s"], [0, 0, 1, "_CPPv47arcsinhRK5array14StreamOrDevice", "arcsinh"], [0, 1, 1, "_CPPv47arcsinhRK5array14StreamOrDevice", "arcsinh::a"], [0, 1, 1, "_CPPv47arcsinhRK5array14StreamOrDevice", "arcsinh::s"], [0, 0, 1, "_CPPv46arctanRK5array14StreamOrDevice", "arctan"], [0, 0, 1, "_CPPv47arctan2RK5arrayRK5array14StreamOrDevice", "arctan2"], [0, 1, 1, "_CPPv47arctan2RK5arrayRK5array14StreamOrDevice", "arctan2::a"], [0, 1, 1, "_CPPv47arctan2RK5arrayRK5array14StreamOrDevice", "arctan2::b"], [0, 1, 1, "_CPPv47arctan2RK5arrayRK5array14StreamOrDevice", "arctan2::s"], [0, 1, 1, "_CPPv46arctanRK5array14StreamOrDevice", "arctan::a"], [0, 1, 1, "_CPPv46arctanRK5array14StreamOrDevice", "arctan::s"], [0, 0, 1, "_CPPv47arctanhRK5array14StreamOrDevice", "arctanh"], [0, 1, 1, "_CPPv47arctanhRK5array14StreamOrDevice", "arctanh::a"], [0, 1, 1, "_CPPv47arctanhRK5array14StreamOrDevice", "arctanh::s"], [0, 0, 1, "_CPPv46argmaxRK5array14StreamOrDevice", "argmax"], [0, 0, 1, "_CPPv46argmaxRK5arrayb14StreamOrDevice", "argmax"], [0, 0, 1, "_CPPv46argmaxRK5arrayib14StreamOrDevice", "argmax"], [0, 1, 1, "_CPPv46argmaxRK5array14StreamOrDevice", "argmax::a"], [0, 1, 1, "_CPPv46argmaxRK5arrayb14StreamOrDevice", "argmax::a"], [0, 1, 1, "_CPPv46argmaxRK5arrayib14StreamOrDevice", "argmax::a"], [0, 1, 1, "_CPPv46argmaxRK5arrayib14StreamOrDevice", "argmax::axis"], [0, 1, 1, "_CPPv46argmaxRK5arrayb14StreamOrDevice", "argmax::keepdims"], [0, 1, 1, "_CPPv46argmaxRK5arrayib14StreamOrDevice", "argmax::keepdims"], [0, 1, 1, "_CPPv46argmaxRK5array14StreamOrDevice", "argmax::s"], [0, 1, 1, "_CPPv46argmaxRK5arrayb14StreamOrDevice", "argmax::s"], [0, 1, 1, "_CPPv46argmaxRK5arrayib14StreamOrDevice", "argmax::s"], [0, 0, 1, "_CPPv46argminRK5array14StreamOrDevice", "argmin"], [0, 0, 1, "_CPPv46argminRK5arrayb14StreamOrDevice", "argmin"], [0, 0, 1, "_CPPv46argminRK5arrayib14StreamOrDevice", "argmin"], [0, 1, 1, "_CPPv46argminRK5array14StreamOrDevice", "argmin::a"], [0, 1, 1, "_CPPv46argminRK5arrayb14StreamOrDevice", "argmin::a"], [0, 1, 1, "_CPPv46argminRK5arrayib14StreamOrDevice", "argmin::a"], [0, 1, 1, "_CPPv46argminRK5arrayib14StreamOrDevice", "argmin::axis"], [0, 1, 1, "_CPPv46argminRK5arrayb14StreamOrDevice", "argmin::keepdims"], [0, 1, 1, "_CPPv46argminRK5arrayib14StreamOrDevice", "argmin::keepdims"], [0, 1, 1, "_CPPv46argminRK5array14StreamOrDevice", "argmin::s"], [0, 1, 1, "_CPPv46argminRK5arrayb14StreamOrDevice", "argmin::s"], [0, 1, 1, "_CPPv46argminRK5arrayib14StreamOrDevice", "argmin::s"], [0, 0, 1, "_CPPv412argpartitionRK5arrayi14StreamOrDevice", "argpartition"], [0, 0, 1, "_CPPv412argpartitionRK5arrayii14StreamOrDevice", "argpartition"], [0, 1, 1, "_CPPv412argpartitionRK5arrayi14StreamOrDevice", "argpartition::a"], [0, 1, 1, "_CPPv412argpartitionRK5arrayii14StreamOrDevice", "argpartition::a"], [0, 1, 1, "_CPPv412argpartitionRK5arrayii14StreamOrDevice", "argpartition::axis"], [0, 1, 1, "_CPPv412argpartitionRK5arrayi14StreamOrDevice", "argpartition::kth"], [0, 1, 1, "_CPPv412argpartitionRK5arrayii14StreamOrDevice", "argpartition::kth"], [0, 1, 1, "_CPPv412argpartitionRK5arrayi14StreamOrDevice", "argpartition::s"], [0, 1, 1, "_CPPv412argpartitionRK5arrayii14StreamOrDevice", "argpartition::s"], [0, 0, 1, "_CPPv47argsortRK5array14StreamOrDevice", "argsort"], [0, 0, 1, "_CPPv47argsortRK5arrayi14StreamOrDevice", "argsort"], [0, 1, 1, "_CPPv47argsortRK5array14StreamOrDevice", "argsort::a"], [0, 1, 1, "_CPPv47argsortRK5arrayi14StreamOrDevice", "argsort::a"], [0, 1, 1, "_CPPv47argsortRK5arrayi14StreamOrDevice", "argsort::axis"], [0, 1, 1, "_CPPv47argsortRK5array14StreamOrDevice", "argsort::s"], [0, 1, 1, "_CPPv47argsortRK5arrayi14StreamOrDevice", "argsort::s"], [0, 0, 1, "_CPPv411array_equalRK5arrayRK5array14StreamOrDevice", "array_equal"], [0, 0, 1, "_CPPv411array_equalRK5arrayRK5arrayb14StreamOrDevice", "array_equal"], [0, 1, 1, "_CPPv411array_equalRK5arrayRK5array14StreamOrDevice", "array_equal::a"], [0, 1, 1, "_CPPv411array_equalRK5arrayRK5arrayb14StreamOrDevice", "array_equal::a"], [0, 1, 1, "_CPPv411array_equalRK5arrayRK5array14StreamOrDevice", "array_equal::b"], [0, 1, 1, "_CPPv411array_equalRK5arrayRK5arrayb14StreamOrDevice", "array_equal::b"], [0, 1, 1, "_CPPv411array_equalRK5arrayRK5arrayb14StreamOrDevice", "array_equal::equal_nan"], [0, 1, 1, "_CPPv411array_equalRK5arrayRK5array14StreamOrDevice", "array_equal::s"], [0, 1, 1, "_CPPv411array_equalRK5arrayRK5arrayb14StreamOrDevice", "array_equal::s"], [0, 0, 1, "_CPPv410as_strided5array5Shape7Strides6size_t14StreamOrDevice", "as_strided"], [0, 1, 1, "_CPPv410as_strided5array5Shape7Strides6size_t14StreamOrDevice", "as_strided::a"], [0, 1, 1, "_CPPv410as_strided5array5Shape7Strides6size_t14StreamOrDevice", "as_strided::offset"], [0, 1, 1, "_CPPv410as_strided5array5Shape7Strides6size_t14StreamOrDevice", "as_strided::s"], [0, 1, 1, "_CPPv410as_strided5array5Shape7Strides6size_t14StreamOrDevice", "as_strided::shape"], [0, 1, 1, "_CPPv410as_strided5array5Shape7Strides6size_t14StreamOrDevice", "as_strided::strides"], [0, 0, 1, "_CPPv46astype5array5Dtype14StreamOrDevice", "astype"], [0, 1, 1, "_CPPv46astype5array5Dtype14StreamOrDevice", "astype::a"], [0, 1, 1, "_CPPv46astype5array5Dtype14StreamOrDevice", "astype::dtype"], [0, 1, 1, "_CPPv46astype5array5Dtype14StreamOrDevice", "astype::s"], [0, 0, 1, "_CPPv410atleast_1dRK5array14StreamOrDevice", "atleast_1d"], [0, 0, 1, "_CPPv410atleast_1dRKNSt6vectorI5arrayEE14StreamOrDevice", "atleast_1d"], [0, 1, 1, "_CPPv410atleast_1dRK5array14StreamOrDevice", "atleast_1d::a"], [0, 1, 1, "_CPPv410atleast_1dRKNSt6vectorI5arrayEE14StreamOrDevice", "atleast_1d::a"], [0, 1, 1, "_CPPv410atleast_1dRK5array14StreamOrDevice", "atleast_1d::s"], [0, 1, 1, "_CPPv410atleast_1dRKNSt6vectorI5arrayEE14StreamOrDevice", "atleast_1d::s"], [0, 0, 1, "_CPPv410atleast_2dRK5array14StreamOrDevice", "atleast_2d"], [0, 0, 1, "_CPPv410atleast_2dRKNSt6vectorI5arrayEE14StreamOrDevice", "atleast_2d"], [0, 1, 1, "_CPPv410atleast_2dRK5array14StreamOrDevice", "atleast_2d::a"], [0, 1, 1, "_CPPv410atleast_2dRKNSt6vectorI5arrayEE14StreamOrDevice", "atleast_2d::a"], [0, 1, 1, "_CPPv410atleast_2dRK5array14StreamOrDevice", "atleast_2d::s"], [0, 1, 1, "_CPPv410atleast_2dRKNSt6vectorI5arrayEE14StreamOrDevice", "atleast_2d::s"], [0, 0, 1, "_CPPv410atleast_3dRK5array14StreamOrDevice", "atleast_3d"], [0, 0, 1, "_CPPv410atleast_3dRKNSt6vectorI5arrayEE14StreamOrDevice", "atleast_3d"], [0, 1, 1, "_CPPv410atleast_3dRK5array14StreamOrDevice", "atleast_3d::a"], [0, 1, 1, "_CPPv410atleast_3dRKNSt6vectorI5arrayEE14StreamOrDevice", "atleast_3d::a"], [0, 1, 1, "_CPPv410atleast_3dRK5array14StreamOrDevice", "atleast_3d::s"], [0, 1, 1, "_CPPv410atleast_3dRKNSt6vectorI5arrayEE14StreamOrDevice", "atleast_3d::s"], [0, 0, 1, "_CPPv411bitwise_andRK5arrayRK5array14StreamOrDevice", "bitwise_and"], [0, 1, 1, "_CPPv411bitwise_andRK5arrayRK5array14StreamOrDevice", "bitwise_and::a"], [0, 1, 1, "_CPPv411bitwise_andRK5arrayRK5array14StreamOrDevice", "bitwise_and::b"], [0, 1, 1, "_CPPv411bitwise_andRK5arrayRK5array14StreamOrDevice", "bitwise_and::s"], [0, 0, 1, "_CPPv410bitwise_orRK5arrayRK5array14StreamOrDevice", "bitwise_or"], [0, 1, 1, "_CPPv410bitwise_orRK5arrayRK5array14StreamOrDevice", "bitwise_or::a"], [0, 1, 1, "_CPPv410bitwise_orRK5arrayRK5array14StreamOrDevice", "bitwise_or::b"], [0, 1, 1, "_CPPv410bitwise_orRK5arrayRK5array14StreamOrDevice", "bitwise_or::s"], [0, 0, 1, "_CPPv411bitwise_xorRK5arrayRK5array14StreamOrDevice", "bitwise_xor"], [0, 1, 1, "_CPPv411bitwise_xorRK5arrayRK5array14StreamOrDevice", "bitwise_xor::a"], [0, 1, 1, "_CPPv411bitwise_xorRK5arrayRK5array14StreamOrDevice", "bitwise_xor::b"], [0, 1, 1, "_CPPv411bitwise_xorRK5arrayRK5array14StreamOrDevice", "bitwise_xor::s"], [0, 0, 1, "_CPPv415block_masked_mm5array5arrayiNSt8optionalI5arrayEENSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "block_masked_mm"], [0, 1, 1, "_CPPv415block_masked_mm5array5arrayiNSt8optionalI5arrayEENSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "block_masked_mm::a"], [0, 1, 1, "_CPPv415block_masked_mm5array5arrayiNSt8optionalI5arrayEENSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "block_masked_mm::b"], [0, 1, 1, "_CPPv415block_masked_mm5array5arrayiNSt8optionalI5arrayEENSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "block_masked_mm::block_size"], [0, 1, 1, "_CPPv415block_masked_mm5array5arrayiNSt8optionalI5arrayEENSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "block_masked_mm::mask_lhs"], [0, 1, 1, "_CPPv415block_masked_mm5array5arrayiNSt8optionalI5arrayEENSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "block_masked_mm::mask_out"], [0, 1, 1, "_CPPv415block_masked_mm5array5arrayiNSt8optionalI5arrayEENSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "block_masked_mm::mask_rhs"], [0, 1, 1, "_CPPv415block_masked_mm5array5arrayiNSt8optionalI5arrayEENSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "block_masked_mm::s"], [0, 0, 1, "_CPPv416broadcast_arraysRKNSt6vectorI5arrayEE14StreamOrDevice", "broadcast_arrays"], [0, 1, 1, "_CPPv416broadcast_arraysRKNSt6vectorI5arrayEE14StreamOrDevice", "broadcast_arrays::inputs"], [0, 1, 1, "_CPPv416broadcast_arraysRKNSt6vectorI5arrayEE14StreamOrDevice", "broadcast_arrays::s"], [0, 0, 1, "_CPPv412broadcast_toRK5arrayRK5Shape14StreamOrDevice", "broadcast_to"], [0, 1, 1, "_CPPv412broadcast_toRK5arrayRK5Shape14StreamOrDevice", "broadcast_to::a"], [0, 1, 1, "_CPPv412broadcast_toRK5arrayRK5Shape14StreamOrDevice", "broadcast_to::s"], [0, 1, 1, "_CPPv412broadcast_toRK5arrayRK5Shape14StreamOrDevice", "broadcast_to::shape"], [0, 0, 1, "_CPPv44ceilRK5array14StreamOrDevice", "ceil"], [0, 1, 1, "_CPPv44ceilRK5array14StreamOrDevice", "ceil::a"], [0, 1, 1, "_CPPv44ceilRK5array14StreamOrDevice", "ceil::s"], [0, 0, 1, "_CPPv44clipRK5arrayRKNSt8optionalI5arrayEERKNSt8optionalI5arrayEE14StreamOrDevice", "clip"], [0, 1, 1, "_CPPv44clipRK5arrayRKNSt8optionalI5arrayEERKNSt8optionalI5arrayEE14StreamOrDevice", "clip::a"], [0, 1, 1, "_CPPv44clipRK5arrayRKNSt8optionalI5arrayEERKNSt8optionalI5arrayEE14StreamOrDevice", "clip::a_max"], [0, 1, 1, "_CPPv44clipRK5arrayRKNSt8optionalI5arrayEERKNSt8optionalI5arrayEE14StreamOrDevice", "clip::a_min"], [0, 1, 1, "_CPPv44clipRK5arrayRKNSt8optionalI5arrayEERKNSt8optionalI5arrayEE14StreamOrDevice", "clip::s"], [0, 0, 1, "_CPPv411concatenateRKNSt6vectorI5arrayEE14StreamOrDevice", "concatenate"], [0, 0, 1, "_CPPv411concatenateRKNSt6vectorI5arrayEEi14StreamOrDevice", "concatenate"], [0, 1, 1, "_CPPv411concatenateRKNSt6vectorI5arrayEE14StreamOrDevice", "concatenate::arrays"], [0, 1, 1, "_CPPv411concatenateRKNSt6vectorI5arrayEEi14StreamOrDevice", "concatenate::arrays"], [0, 1, 1, "_CPPv411concatenateRKNSt6vectorI5arrayEEi14StreamOrDevice", "concatenate::axis"], [0, 1, 1, "_CPPv411concatenateRKNSt6vectorI5arrayEE14StreamOrDevice", "concatenate::s"], [0, 1, 1, "_CPPv411concatenateRKNSt6vectorI5arrayEEi14StreamOrDevice", "concatenate::s"], [0, 0, 1, "_CPPv49conjugateRK5array14StreamOrDevice", "conjugate"], [0, 1, 1, "_CPPv49conjugateRK5array14StreamOrDevice", "conjugate::a"], [0, 1, 1, "_CPPv49conjugateRK5array14StreamOrDevice", "conjugate::s"], [0, 0, 1, "_CPPv410contiguousRK5arrayb14StreamOrDevice", "contiguous"], [0, 1, 1, "_CPPv410contiguousRK5arrayb14StreamOrDevice", "contiguous::a"], [0, 1, 1, "_CPPv410contiguousRK5arrayb14StreamOrDevice", "contiguous::allow_col_major"], [0, 1, 1, "_CPPv410contiguousRK5arrayb14StreamOrDevice", "contiguous::s"], [0, 0, 1, "_CPPv46conv1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv1d"], [0, 1, 1, "_CPPv46conv1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv1d::dilation"], [0, 1, 1, "_CPPv46conv1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv1d::groups"], [0, 1, 1, "_CPPv46conv1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv1d::input"], [0, 1, 1, "_CPPv46conv1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv1d::padding"], [0, 1, 1, "_CPPv46conv1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv1d::s"], [0, 1, 1, "_CPPv46conv1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv1d::stride"], [0, 1, 1, "_CPPv46conv1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv1d::weight"], [0, 0, 1, "_CPPv46conv2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv2d"], [0, 1, 1, "_CPPv46conv2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv2d::dilation"], [0, 1, 1, "_CPPv46conv2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv2d::groups"], [0, 1, 1, "_CPPv46conv2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv2d::input"], [0, 1, 1, "_CPPv46conv2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv2d::padding"], [0, 1, 1, "_CPPv46conv2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv2d::s"], [0, 1, 1, "_CPPv46conv2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv2d::stride"], [0, 1, 1, "_CPPv46conv2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv2d::weight"], [0, 0, 1, "_CPPv46conv3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv3d"], [0, 1, 1, "_CPPv46conv3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv3d::dilation"], [0, 1, 1, "_CPPv46conv3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv3d::groups"], [0, 1, 1, "_CPPv46conv3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv3d::input"], [0, 1, 1, "_CPPv46conv3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv3d::padding"], [0, 1, 1, "_CPPv46conv3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv3d::s"], [0, 1, 1, "_CPPv46conv3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv3d::stride"], [0, 1, 1, "_CPPv46conv3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv3d::weight"], [0, 0, 1, "_CPPv412conv_general5array5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general"], [0, 0, 1, "_CPPv412conv_generalRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general"], [0, 1, 1, "_CPPv412conv_general5array5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::flip"], [0, 1, 1, "_CPPv412conv_generalRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::flip"], [0, 1, 1, "_CPPv412conv_general5array5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::groups"], [0, 1, 1, "_CPPv412conv_generalRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::groups"], [0, 1, 1, "_CPPv412conv_general5array5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::input"], [0, 1, 1, "_CPPv412conv_generalRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::input"], [0, 1, 1, "_CPPv412conv_general5array5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::input_dilation"], [0, 1, 1, "_CPPv412conv_generalRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::input_dilation"], [0, 1, 1, "_CPPv412conv_general5array5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::kernel_dilation"], [0, 1, 1, "_CPPv412conv_generalRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::kernel_dilation"], [0, 1, 1, "_CPPv412conv_generalRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::padding"], [0, 1, 1, "_CPPv412conv_general5array5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::padding_hi"], [0, 1, 1, "_CPPv412conv_general5array5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::padding_lo"], [0, 1, 1, "_CPPv412conv_general5array5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::s"], [0, 1, 1, "_CPPv412conv_generalRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::s"], [0, 1, 1, "_CPPv412conv_general5array5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::stride"], [0, 1, 1, "_CPPv412conv_generalRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::stride"], [0, 1, 1, "_CPPv412conv_general5array5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::weight"], [0, 1, 1, "_CPPv412conv_generalRK5arrayRK5arrayNSt6vectorIiEENSt6vectorIiEENSt6vectorIiEENSt6vectorIiEEib14StreamOrDevice", "conv_general::weight"], [0, 0, 1, "_CPPv416conv_transpose1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv_transpose1d"], [0, 1, 1, "_CPPv416conv_transpose1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv_transpose1d::dilation"], [0, 1, 1, "_CPPv416conv_transpose1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv_transpose1d::groups"], [0, 1, 1, "_CPPv416conv_transpose1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv_transpose1d::input"], [0, 1, 1, "_CPPv416conv_transpose1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv_transpose1d::padding"], [0, 1, 1, "_CPPv416conv_transpose1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv_transpose1d::s"], [0, 1, 1, "_CPPv416conv_transpose1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv_transpose1d::stride"], [0, 1, 1, "_CPPv416conv_transpose1dRK5arrayRK5arrayiiii14StreamOrDevice", "conv_transpose1d::weight"], [0, 0, 1, "_CPPv416conv_transpose2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv_transpose2d"], [0, 1, 1, "_CPPv416conv_transpose2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv_transpose2d::dilation"], [0, 1, 1, "_CPPv416conv_transpose2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv_transpose2d::groups"], [0, 1, 1, "_CPPv416conv_transpose2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv_transpose2d::input"], [0, 1, 1, "_CPPv416conv_transpose2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv_transpose2d::padding"], [0, 1, 1, "_CPPv416conv_transpose2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv_transpose2d::s"], [0, 1, 1, "_CPPv416conv_transpose2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv_transpose2d::stride"], [0, 1, 1, "_CPPv416conv_transpose2dRK5arrayRK5arrayRKNSt4pairIiiEERKNSt4pairIiiEERKNSt4pairIiiEEi14StreamOrDevice", "conv_transpose2d::weight"], [0, 0, 1, "_CPPv416conv_transpose3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv_transpose3d"], [0, 1, 1, "_CPPv416conv_transpose3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv_transpose3d::dilation"], [0, 1, 1, "_CPPv416conv_transpose3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv_transpose3d::groups"], [0, 1, 1, "_CPPv416conv_transpose3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv_transpose3d::input"], [0, 1, 1, "_CPPv416conv_transpose3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv_transpose3d::padding"], [0, 1, 1, "_CPPv416conv_transpose3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv_transpose3d::s"], [0, 1, 1, "_CPPv416conv_transpose3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv_transpose3d::stride"], [0, 1, 1, "_CPPv416conv_transpose3dRK5arrayRK5arrayRKNSt5tupleIiiiEERKNSt5tupleIiiiEERKNSt5tupleIiiiEEi14StreamOrDevice", "conv_transpose3d::weight"], [0, 0, 1, "_CPPv44copy5array14StreamOrDevice", "copy"], [0, 1, 1, "_CPPv44copy5array14StreamOrDevice", "copy::a"], [0, 1, 1, "_CPPv44copy5array14StreamOrDevice", "copy::s"], [0, 0, 1, "_CPPv43cosRK5array14StreamOrDevice", "cos"], [0, 1, 1, "_CPPv43cosRK5array14StreamOrDevice", "cos::a"], [0, 1, 1, "_CPPv43cosRK5array14StreamOrDevice", "cos::s"], [0, 0, 1, "_CPPv44coshRK5array14StreamOrDevice", "cosh"], [0, 1, 1, "_CPPv44coshRK5array14StreamOrDevice", "cosh::a"], [0, 1, 1, "_CPPv44coshRK5array14StreamOrDevice", "cosh::s"], [0, 0, 1, "_CPPv46cummaxRK5arrayibb14StreamOrDevice", "cummax"], [0, 1, 1, "_CPPv46cummaxRK5arrayibb14StreamOrDevice", "cummax::a"], [0, 1, 1, "_CPPv46cummaxRK5arrayibb14StreamOrDevice", "cummax::axis"], [0, 1, 1, "_CPPv46cummaxRK5arrayibb14StreamOrDevice", "cummax::inclusive"], [0, 1, 1, "_CPPv46cummaxRK5arrayibb14StreamOrDevice", "cummax::reverse"], [0, 1, 1, "_CPPv46cummaxRK5arrayibb14StreamOrDevice", "cummax::s"], [0, 0, 1, "_CPPv46cumminRK5arrayibb14StreamOrDevice", "cummin"], [0, 1, 1, "_CPPv46cumminRK5arrayibb14StreamOrDevice", "cummin::a"], [0, 1, 1, "_CPPv46cumminRK5arrayibb14StreamOrDevice", "cummin::axis"], [0, 1, 1, "_CPPv46cumminRK5arrayibb14StreamOrDevice", "cummin::inclusive"], [0, 1, 1, "_CPPv46cumminRK5arrayibb14StreamOrDevice", "cummin::reverse"], [0, 1, 1, "_CPPv46cumminRK5arrayibb14StreamOrDevice", "cummin::s"], [0, 0, 1, "_CPPv47cumprodRK5arrayibb14StreamOrDevice", "cumprod"], [0, 1, 1, "_CPPv47cumprodRK5arrayibb14StreamOrDevice", "cumprod::a"], [0, 1, 1, "_CPPv47cumprodRK5arrayibb14StreamOrDevice", "cumprod::axis"], [0, 1, 1, "_CPPv47cumprodRK5arrayibb14StreamOrDevice", "cumprod::inclusive"], [0, 1, 1, "_CPPv47cumprodRK5arrayibb14StreamOrDevice", "cumprod::reverse"], [0, 1, 1, "_CPPv47cumprodRK5arrayibb14StreamOrDevice", "cumprod::s"], [0, 0, 1, "_CPPv46cumsumRK5arrayibb14StreamOrDevice", "cumsum"], [0, 1, 1, "_CPPv46cumsumRK5arrayibb14StreamOrDevice", "cumsum::a"], [0, 1, 1, "_CPPv46cumsumRK5arrayibb14StreamOrDevice", "cumsum::axis"], [0, 1, 1, "_CPPv46cumsumRK5arrayibb14StreamOrDevice", "cumsum::inclusive"], [0, 1, 1, "_CPPv46cumsumRK5arrayibb14StreamOrDevice", "cumsum::reverse"], [0, 1, 1, "_CPPv46cumsumRK5arrayibb14StreamOrDevice", "cumsum::s"], [0, 0, 1, "_CPPv47degreesRK5array14StreamOrDevice", "degrees"], [0, 1, 1, "_CPPv47degreesRK5array14StreamOrDevice", "degrees::a"], [0, 1, 1, "_CPPv47degreesRK5array14StreamOrDevice", "degrees::s"], [0, 0, 1, "_CPPv47dependsRKNSt6vectorI5arrayEERKNSt6vectorI5arrayEE", "depends"], [0, 1, 1, "_CPPv47dependsRKNSt6vectorI5arrayEERKNSt6vectorI5arrayEE", "depends::dependencies"], [0, 1, 1, "_CPPv47dependsRKNSt6vectorI5arrayEERKNSt6vectorI5arrayEE", "depends::inputs"], [0, 0, 1, "_CPPv410dequantizeRK5arrayRK5arrayRK5arrayii14StreamOrDevice", "dequantize"], [0, 1, 1, "_CPPv410dequantizeRK5arrayRK5arrayRK5arrayii14StreamOrDevice", "dequantize::biases"], [0, 1, 1, "_CPPv410dequantizeRK5arrayRK5arrayRK5arrayii14StreamOrDevice", "dequantize::bits"], [0, 1, 1, "_CPPv410dequantizeRK5arrayRK5arrayRK5arrayii14StreamOrDevice", "dequantize::group_size"], [0, 1, 1, "_CPPv410dequantizeRK5arrayRK5arrayRK5arrayii14StreamOrDevice", "dequantize::s"], [0, 1, 1, "_CPPv410dequantizeRK5arrayRK5arrayRK5arrayii14StreamOrDevice", "dequantize::scales"], [0, 1, 1, "_CPPv410dequantizeRK5arrayRK5arrayRK5arrayii14StreamOrDevice", "dequantize::w"], [0, 0, 1, "_CPPv44diagRK5arrayi14StreamOrDevice", "diag"], [0, 1, 1, "_CPPv44diagRK5arrayi14StreamOrDevice", "diag::a"], [0, 1, 1, "_CPPv44diagRK5arrayi14StreamOrDevice", "diag::k"], [0, 1, 1, "_CPPv44diagRK5arrayi14StreamOrDevice", "diag::s"], [0, 0, 1, "_CPPv48diagonalRK5arrayiii14StreamOrDevice", "diagonal"], [0, 1, 1, "_CPPv48diagonalRK5arrayiii14StreamOrDevice", "diagonal::a"], [0, 1, 1, "_CPPv48diagonalRK5arrayiii14StreamOrDevice", "diagonal::axis1"], [0, 1, 1, "_CPPv48diagonalRK5arrayiii14StreamOrDevice", "diagonal::axis2"], [0, 1, 1, "_CPPv48diagonalRK5arrayiii14StreamOrDevice", "diagonal::offset"], [0, 1, 1, "_CPPv48diagonalRK5arrayiii14StreamOrDevice", "diagonal::s"], [0, 0, 1, "_CPPv46divideRK5arrayRK5array14StreamOrDevice", "divide"], [0, 1, 1, "_CPPv46divideRK5arrayRK5array14StreamOrDevice", "divide::a"], [0, 1, 1, "_CPPv46divideRK5arrayRK5array14StreamOrDevice", "divide::b"], [0, 1, 1, "_CPPv46divideRK5arrayRK5array14StreamOrDevice", "divide::s"], [0, 0, 1, "_CPPv46divmodRK5arrayRK5array14StreamOrDevice", "divmod"], [0, 1, 1, "_CPPv46divmodRK5arrayRK5array14StreamOrDevice", "divmod::a"], [0, 1, 1, "_CPPv46divmodRK5arrayRK5array14StreamOrDevice", "divmod::b"], [0, 1, 1, "_CPPv46divmodRK5arrayRK5array14StreamOrDevice", "divmod::s"], [0, 0, 1, "_CPPv45equalRK5arrayRK5array14StreamOrDevice", "equal"], [0, 1, 1, "_CPPv45equalRK5arrayRK5array14StreamOrDevice", "equal::a"], [0, 1, 1, "_CPPv45equalRK5arrayRK5array14StreamOrDevice", "equal::b"], [0, 1, 1, "_CPPv45equalRK5arrayRK5array14StreamOrDevice", "equal::s"], [0, 0, 1, "_CPPv43erfRK5array14StreamOrDevice", "erf"], [0, 1, 1, "_CPPv43erfRK5array14StreamOrDevice", "erf::a"], [0, 1, 1, "_CPPv43erfRK5array14StreamOrDevice", "erf::s"], [0, 0, 1, "_CPPv46erfinvRK5array14StreamOrDevice", "erfinv"], [0, 1, 1, "_CPPv46erfinvRK5array14StreamOrDevice", "erfinv::a"], [0, 1, 1, "_CPPv46erfinvRK5array14StreamOrDevice", "erfinv::s"], [0, 0, 1, "_CPPv43expRK5array14StreamOrDevice", "exp"], [0, 1, 1, "_CPPv43expRK5array14StreamOrDevice", "exp::a"], [0, 1, 1, "_CPPv43expRK5array14StreamOrDevice", "exp::s"], [0, 0, 1, "_CPPv411expand_dimsRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "expand_dims"], [0, 0, 1, "_CPPv411expand_dimsRK5arrayi14StreamOrDevice", "expand_dims"], [0, 1, 1, "_CPPv411expand_dimsRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "expand_dims::a"], [0, 1, 1, "_CPPv411expand_dimsRK5arrayi14StreamOrDevice", "expand_dims::a"], [0, 1, 1, "_CPPv411expand_dimsRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "expand_dims::axes"], [0, 1, 1, "_CPPv411expand_dimsRK5arrayi14StreamOrDevice", "expand_dims::axis"], [0, 1, 1, "_CPPv411expand_dimsRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "expand_dims::s"], [0, 1, 1, "_CPPv411expand_dimsRK5arrayi14StreamOrDevice", "expand_dims::s"], [0, 0, 1, "_CPPv45expm1RK5array14StreamOrDevice", "expm1"], [0, 1, 1, "_CPPv45expm1RK5array14StreamOrDevice", "expm1::a"], [0, 1, 1, "_CPPv45expm1RK5array14StreamOrDevice", "expm1::s"], [0, 0, 1, "_CPPv43eyei14StreamOrDevice", "eye"], [0, 0, 1, "_CPPv43eyei5Dtype14StreamOrDevice", "eye"], [0, 0, 1, "_CPPv43eyeii14StreamOrDevice", "eye"], [0, 0, 1, "_CPPv43eyeiii14StreamOrDevice", "eye"], [0, 0, 1, "_CPPv43eyeiii5Dtype14StreamOrDevice", "eye"], [0, 1, 1, "_CPPv43eyei5Dtype14StreamOrDevice", "eye::dtype"], [0, 1, 1, "_CPPv43eyeiii5Dtype14StreamOrDevice", "eye::dtype"], [0, 1, 1, "_CPPv43eyeiii14StreamOrDevice", "eye::k"], [0, 1, 1, "_CPPv43eyeiii5Dtype14StreamOrDevice", "eye::k"], [0, 1, 1, "_CPPv43eyeii14StreamOrDevice", "eye::m"], [0, 1, 1, "_CPPv43eyeiii14StreamOrDevice", "eye::m"], [0, 1, 1, "_CPPv43eyeiii5Dtype14StreamOrDevice", "eye::m"], [0, 1, 1, "_CPPv43eyei14StreamOrDevice", "eye::n"], [0, 1, 1, "_CPPv43eyei5Dtype14StreamOrDevice", "eye::n"], [0, 1, 1, "_CPPv43eyeii14StreamOrDevice", "eye::n"], [0, 1, 1, "_CPPv43eyeiii14StreamOrDevice", "eye::n"], [0, 1, 1, "_CPPv43eyeiii5Dtype14StreamOrDevice", "eye::n"], [0, 1, 1, "_CPPv43eyei14StreamOrDevice", "eye::s"], [0, 1, 1, "_CPPv43eyei5Dtype14StreamOrDevice", "eye::s"], [0, 1, 1, "_CPPv43eyeii14StreamOrDevice", "eye::s"], [0, 1, 1, "_CPPv43eyeiii14StreamOrDevice", "eye::s"], [0, 1, 1, "_CPPv43eyeiii5Dtype14StreamOrDevice", "eye::s"], [0, 0, 1, "_CPPv47flattenRK5array14StreamOrDevice", "flatten"], [0, 0, 1, "_CPPv47flattenRK5arrayii14StreamOrDevice", "flatten"], [0, 1, 1, "_CPPv47flattenRK5array14StreamOrDevice", "flatten::a"], [0, 1, 1, "_CPPv47flattenRK5arrayii14StreamOrDevice", "flatten::a"], [0, 1, 1, "_CPPv47flattenRK5arrayii14StreamOrDevice", "flatten::end_axis"], [0, 1, 1, "_CPPv47flattenRK5array14StreamOrDevice", "flatten::s"], [0, 1, 1, "_CPPv47flattenRK5arrayii14StreamOrDevice", "flatten::s"], [0, 1, 1, "_CPPv47flattenRK5arrayii14StreamOrDevice", "flatten::start_axis"], [0, 0, 1, "_CPPv45floorRK5array14StreamOrDevice", "floor"], [0, 1, 1, "_CPPv45floorRK5array14StreamOrDevice", "floor::a"], [0, 1, 1, "_CPPv45floorRK5array14StreamOrDevice", "floor::s"], [0, 0, 1, "_CPPv412floor_divideRK5arrayRK5array14StreamOrDevice", "floor_divide"], [0, 1, 1, "_CPPv412floor_divideRK5arrayRK5array14StreamOrDevice", "floor_divide::a"], [0, 1, 1, "_CPPv412floor_divideRK5arrayRK5array14StreamOrDevice", "floor_divide::b"], [0, 1, 1, "_CPPv412floor_divideRK5arrayRK5array14StreamOrDevice", "floor_divide::s"], [0, 0, 1, "_CPPv44full5Shape5array14StreamOrDevice", "full"], [0, 0, 1, "_CPPv44full5Shape5array5Dtype14StreamOrDevice", "full"], [0, 0, 1, "_CPPv4I0E4full5array5Shape1T14StreamOrDevice", "full"], [0, 0, 1, "_CPPv4I0E4full5array5Shape1T5Dtype14StreamOrDevice", "full"], [0, 2, 1, "_CPPv4I0E4full5array5Shape1T14StreamOrDevice", "full::T"], [0, 2, 1, "_CPPv4I0E4full5array5Shape1T5Dtype14StreamOrDevice", "full::T"], [0, 1, 1, "_CPPv44full5Shape5array5Dtype14StreamOrDevice", "full::dtype"], [0, 1, 1, "_CPPv4I0E4full5array5Shape1T5Dtype14StreamOrDevice", "full::dtype"], [0, 1, 1, "_CPPv44full5Shape5array14StreamOrDevice", "full::s"], [0, 1, 1, "_CPPv44full5Shape5array5Dtype14StreamOrDevice", "full::s"], [0, 1, 1, "_CPPv4I0E4full5array5Shape1T14StreamOrDevice", "full::s"], [0, 1, 1, "_CPPv4I0E4full5array5Shape1T5Dtype14StreamOrDevice", "full::s"], [0, 1, 1, "_CPPv44full5Shape5array14StreamOrDevice", "full::shape"], [0, 1, 1, "_CPPv44full5Shape5array5Dtype14StreamOrDevice", "full::shape"], [0, 1, 1, "_CPPv4I0E4full5array5Shape1T14StreamOrDevice", "full::shape"], [0, 1, 1, "_CPPv4I0E4full5array5Shape1T5Dtype14StreamOrDevice", "full::shape"], [0, 1, 1, "_CPPv4I0E4full5array5Shape1T14StreamOrDevice", "full::val"], [0, 1, 1, "_CPPv4I0E4full5array5Shape1T5Dtype14StreamOrDevice", "full::val"], [0, 1, 1, "_CPPv44full5Shape5array14StreamOrDevice", "full::vals"], [0, 1, 1, "_CPPv44full5Shape5array5Dtype14StreamOrDevice", "full::vals"], [0, 0, 1, "_CPPv46gatherRK5arrayRK5arrayiRK5Shape14StreamOrDevice", "gather"], [0, 0, 1, "_CPPv46gatherRK5arrayRKNSt6vectorI5arrayEERKNSt6vectorIiEERK5Shape14StreamOrDevice", "gather"], [0, 1, 1, "_CPPv46gatherRK5arrayRK5arrayiRK5Shape14StreamOrDevice", "gather::a"], [0, 1, 1, "_CPPv46gatherRK5arrayRKNSt6vectorI5arrayEERKNSt6vectorIiEERK5Shape14StreamOrDevice", "gather::a"], [0, 1, 1, "_CPPv46gatherRK5arrayRKNSt6vectorI5arrayEERKNSt6vectorIiEERK5Shape14StreamOrDevice", "gather::axes"], [0, 1, 1, "_CPPv46gatherRK5arrayRK5arrayiRK5Shape14StreamOrDevice", "gather::axis"], [0, 1, 1, "_CPPv46gatherRK5arrayRK5arrayiRK5Shape14StreamOrDevice", "gather::indices"], [0, 1, 1, "_CPPv46gatherRK5arrayRKNSt6vectorI5arrayEERKNSt6vectorIiEERK5Shape14StreamOrDevice", "gather::indices"], [0, 1, 1, "_CPPv46gatherRK5arrayRK5arrayiRK5Shape14StreamOrDevice", "gather::s"], [0, 1, 1, "_CPPv46gatherRK5arrayRKNSt6vectorI5arrayEERKNSt6vectorIiEERK5Shape14StreamOrDevice", "gather::s"], [0, 1, 1, "_CPPv46gatherRK5arrayRK5arrayiRK5Shape14StreamOrDevice", "gather::slice_sizes"], [0, 1, 1, "_CPPv46gatherRK5arrayRKNSt6vectorI5arrayEERKNSt6vectorIiEERK5Shape14StreamOrDevice", "gather::slice_sizes"], [0, 0, 1, "_CPPv49gather_mm5array5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "gather_mm"], [0, 1, 1, "_CPPv49gather_mm5array5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "gather_mm::a"], [0, 1, 1, "_CPPv49gather_mm5array5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "gather_mm::b"], [0, 1, 1, "_CPPv49gather_mm5array5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "gather_mm::lhs_indices"], [0, 1, 1, "_CPPv49gather_mm5array5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "gather_mm::rhs_indices"], [0, 1, 1, "_CPPv49gather_mm5array5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEE14StreamOrDevice", "gather_mm::s"], [0, 0, 1, "_CPPv410gather_qmmRK5arrayRK5arrayRK5arrayRK5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEEbii14StreamOrDevice", "gather_qmm"], [0, 1, 1, "_CPPv410gather_qmmRK5arrayRK5arrayRK5arrayRK5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEEbii14StreamOrDevice", "gather_qmm::biases"], [0, 1, 1, "_CPPv410gather_qmmRK5arrayRK5arrayRK5arrayRK5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEEbii14StreamOrDevice", "gather_qmm::bits"], [0, 1, 1, "_CPPv410gather_qmmRK5arrayRK5arrayRK5arrayRK5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEEbii14StreamOrDevice", "gather_qmm::group_size"], [0, 1, 1, "_CPPv410gather_qmmRK5arrayRK5arrayRK5arrayRK5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEEbii14StreamOrDevice", "gather_qmm::lhs_indices"], [0, 1, 1, "_CPPv410gather_qmmRK5arrayRK5arrayRK5arrayRK5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEEbii14StreamOrDevice", "gather_qmm::rhs_indices"], [0, 1, 1, "_CPPv410gather_qmmRK5arrayRK5arrayRK5arrayRK5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEEbii14StreamOrDevice", "gather_qmm::s"], [0, 1, 1, "_CPPv410gather_qmmRK5arrayRK5arrayRK5arrayRK5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEEbii14StreamOrDevice", "gather_qmm::scales"], [0, 1, 1, "_CPPv410gather_qmmRK5arrayRK5arrayRK5arrayRK5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEEbii14StreamOrDevice", "gather_qmm::transpose"], [0, 1, 1, "_CPPv410gather_qmmRK5arrayRK5arrayRK5arrayRK5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEEbii14StreamOrDevice", "gather_qmm::w"], [0, 1, 1, "_CPPv410gather_qmmRK5arrayRK5arrayRK5arrayRK5arrayNSt8optionalI5arrayEENSt8optionalI5arrayEEbii14StreamOrDevice", "gather_qmm::x"], [0, 0, 1, "_CPPv47greaterRK5arrayRK5array14StreamOrDevice", "greater"], [0, 1, 1, "_CPPv47greaterRK5arrayRK5array14StreamOrDevice", "greater::a"], [0, 1, 1, "_CPPv47greaterRK5arrayRK5array14StreamOrDevice", "greater::b"], [0, 1, 1, "_CPPv47greaterRK5arrayRK5array14StreamOrDevice", "greater::s"], [0, 0, 1, "_CPPv413greater_equalRK5arrayRK5array14StreamOrDevice", "greater_equal"], [0, 1, 1, "_CPPv413greater_equalRK5arrayRK5array14StreamOrDevice", "greater_equal::a"], [0, 1, 1, "_CPPv413greater_equalRK5arrayRK5array14StreamOrDevice", "greater_equal::b"], [0, 1, 1, "_CPPv413greater_equalRK5arrayRK5array14StreamOrDevice", "greater_equal::s"], [0, 0, 1, "_CPPv418hadamard_transformRK5arrayNSt8optionalIfEE14StreamOrDevice", "hadamard_transform"], [0, 1, 1, "_CPPv418hadamard_transformRK5arrayNSt8optionalIfEE14StreamOrDevice", "hadamard_transform::a"], [0, 1, 1, "_CPPv418hadamard_transformRK5arrayNSt8optionalIfEE14StreamOrDevice", "hadamard_transform::s"], [0, 1, 1, "_CPPv418hadamard_transformRK5arrayNSt8optionalIfEE14StreamOrDevice", "hadamard_transform::scale"], [0, 0, 1, "_CPPv48identityi14StreamOrDevice", "identity"], [0, 0, 1, "_CPPv48identityi5Dtype14StreamOrDevice", "identity"], [0, 1, 1, "_CPPv48identityi5Dtype14StreamOrDevice", "identity::dtype"], [0, 1, 1, "_CPPv48identityi14StreamOrDevice", "identity::n"], [0, 1, 1, "_CPPv48identityi5Dtype14StreamOrDevice", "identity::n"], [0, 1, 1, "_CPPv48identityi14StreamOrDevice", "identity::s"], [0, 1, 1, "_CPPv48identityi5Dtype14StreamOrDevice", "identity::s"], [0, 0, 1, "_CPPv44imagRK5array14StreamOrDevice", "imag"], [0, 1, 1, "_CPPv44imagRK5array14StreamOrDevice", "imag::a"], [0, 1, 1, "_CPPv44imagRK5array14StreamOrDevice", "imag::s"], [0, 0, 1, "_CPPv45innerRK5arrayRK5array14StreamOrDevice", "inner"], [0, 1, 1, "_CPPv45innerRK5arrayRK5array14StreamOrDevice", "inner::a"], [0, 1, 1, "_CPPv45innerRK5arrayRK5array14StreamOrDevice", "inner::b"], [0, 1, 1, "_CPPv45innerRK5arrayRK5array14StreamOrDevice", "inner::s"], [0, 0, 1, "_CPPv47iscloseRK5arrayRK5arrayddb14StreamOrDevice", "isclose"], [0, 1, 1, "_CPPv47iscloseRK5arrayRK5arrayddb14StreamOrDevice", "isclose::a"], [0, 1, 1, "_CPPv47iscloseRK5arrayRK5arrayddb14StreamOrDevice", "isclose::atol"], [0, 1, 1, "_CPPv47iscloseRK5arrayRK5arrayddb14StreamOrDevice", "isclose::b"], [0, 1, 1, "_CPPv47iscloseRK5arrayRK5arrayddb14StreamOrDevice", "isclose::equal_nan"], [0, 1, 1, "_CPPv47iscloseRK5arrayRK5arrayddb14StreamOrDevice", "isclose::rtol"], [0, 1, 1, "_CPPv47iscloseRK5arrayRK5arrayddb14StreamOrDevice", "isclose::s"], [0, 0, 1, "_CPPv48isfiniteRK5array14StreamOrDevice", "isfinite"], [0, 1, 1, "_CPPv48isfiniteRK5array14StreamOrDevice", "isfinite::a"], [0, 1, 1, "_CPPv48isfiniteRK5array14StreamOrDevice", "isfinite::s"], [0, 0, 1, "_CPPv45isinfRK5array14StreamOrDevice", "isinf"], [0, 1, 1, "_CPPv45isinfRK5array14StreamOrDevice", "isinf::a"], [0, 1, 1, "_CPPv45isinfRK5array14StreamOrDevice", "isinf::s"], [0, 0, 1, "_CPPv45isnanRK5array14StreamOrDevice", "isnan"], [0, 1, 1, "_CPPv45isnanRK5array14StreamOrDevice", "isnan::a"], [0, 1, 1, "_CPPv45isnanRK5array14StreamOrDevice", "isnan::s"], [0, 0, 1, "_CPPv48isneginfRK5array14StreamOrDevice", "isneginf"], [0, 1, 1, "_CPPv48isneginfRK5array14StreamOrDevice", "isneginf::a"], [0, 1, 1, "_CPPv48isneginfRK5array14StreamOrDevice", "isneginf::s"], [0, 0, 1, "_CPPv48isposinfRK5array14StreamOrDevice", "isposinf"], [0, 1, 1, "_CPPv48isposinfRK5array14StreamOrDevice", "isposinf::a"], [0, 1, 1, "_CPPv48isposinfRK5array14StreamOrDevice", "isposinf::s"], [0, 0, 1, "_CPPv410left_shiftRK5arrayRK5array14StreamOrDevice", "left_shift"], [0, 1, 1, "_CPPv410left_shiftRK5arrayRK5array14StreamOrDevice", "left_shift::a"], [0, 1, 1, "_CPPv410left_shiftRK5arrayRK5array14StreamOrDevice", "left_shift::b"], [0, 1, 1, "_CPPv410left_shiftRK5arrayRK5array14StreamOrDevice", "left_shift::s"], [0, 0, 1, "_CPPv44lessRK5arrayRK5array14StreamOrDevice", "less"], [0, 1, 1, "_CPPv44lessRK5arrayRK5array14StreamOrDevice", "less::a"], [0, 1, 1, "_CPPv44lessRK5arrayRK5array14StreamOrDevice", "less::b"], [0, 1, 1, "_CPPv44lessRK5arrayRK5array14StreamOrDevice", "less::s"], [0, 0, 1, "_CPPv410less_equalRK5arrayRK5array14StreamOrDevice", "less_equal"], [0, 1, 1, "_CPPv410less_equalRK5arrayRK5array14StreamOrDevice", "less_equal::a"], [0, 1, 1, "_CPPv410less_equalRK5arrayRK5array14StreamOrDevice", "less_equal::b"], [0, 1, 1, "_CPPv410less_equalRK5arrayRK5array14StreamOrDevice", "less_equal::s"], [0, 0, 1, "_CPPv48linspaceddi5Dtype14StreamOrDevice", "linspace"], [0, 1, 1, "_CPPv48linspaceddi5Dtype14StreamOrDevice", "linspace::dtype"], [0, 1, 1, "_CPPv48linspaceddi5Dtype14StreamOrDevice", "linspace::num"], [0, 1, 1, "_CPPv48linspaceddi5Dtype14StreamOrDevice", "linspace::s"], [0, 1, 1, "_CPPv48linspaceddi5Dtype14StreamOrDevice", "linspace::start"], [0, 1, 1, "_CPPv48linspaceddi5Dtype14StreamOrDevice", "linspace::stop"], [0, 0, 1, "_CPPv43logRK5array14StreamOrDevice", "log"], [0, 0, 1, "_CPPv45log10RK5array14StreamOrDevice", "log10"], [0, 1, 1, "_CPPv45log10RK5array14StreamOrDevice", "log10::a"], [0, 1, 1, "_CPPv45log10RK5array14StreamOrDevice", "log10::s"], [0, 0, 1, "_CPPv45log1pRK5array14StreamOrDevice", "log1p"], [0, 1, 1, "_CPPv45log1pRK5array14StreamOrDevice", "log1p::a"], [0, 1, 1, "_CPPv45log1pRK5array14StreamOrDevice", "log1p::s"], [0, 0, 1, "_CPPv44log2RK5array14StreamOrDevice", "log2"], [0, 1, 1, "_CPPv44log2RK5array14StreamOrDevice", "log2::a"], [0, 1, 1, "_CPPv44log2RK5array14StreamOrDevice", "log2::s"], [0, 1, 1, "_CPPv43logRK5array14StreamOrDevice", "log::a"], [0, 1, 1, "_CPPv43logRK5array14StreamOrDevice", "log::s"], [0, 0, 1, "_CPPv49logaddexpRK5arrayRK5array14StreamOrDevice", "logaddexp"], [0, 1, 1, "_CPPv49logaddexpRK5arrayRK5array14StreamOrDevice", "logaddexp::a"], [0, 1, 1, "_CPPv49logaddexpRK5arrayRK5array14StreamOrDevice", "logaddexp::b"], [0, 1, 1, "_CPPv49logaddexpRK5arrayRK5array14StreamOrDevice", "logaddexp::s"], [0, 0, 1, "_CPPv411logical_andRK5arrayRK5array14StreamOrDevice", "logical_and"], [0, 1, 1, "_CPPv411logical_andRK5arrayRK5array14StreamOrDevice", "logical_and::a"], [0, 1, 1, "_CPPv411logical_andRK5arrayRK5array14StreamOrDevice", "logical_and::b"], [0, 1, 1, "_CPPv411logical_andRK5arrayRK5array14StreamOrDevice", "logical_and::s"], [0, 0, 1, "_CPPv411logical_notRK5array14StreamOrDevice", "logical_not"], [0, 1, 1, "_CPPv411logical_notRK5array14StreamOrDevice", "logical_not::a"], [0, 1, 1, "_CPPv411logical_notRK5array14StreamOrDevice", "logical_not::s"], [0, 0, 1, "_CPPv410logical_orRK5arrayRK5array14StreamOrDevice", "logical_or"], [0, 1, 1, "_CPPv410logical_orRK5arrayRK5array14StreamOrDevice", "logical_or::a"], [0, 1, 1, "_CPPv410logical_orRK5arrayRK5array14StreamOrDevice", "logical_or::b"], [0, 1, 1, "_CPPv410logical_orRK5arrayRK5array14StreamOrDevice", "logical_or::s"], [0, 0, 1, "_CPPv49logsumexpRK5array14StreamOrDevice", "logsumexp"], [0, 0, 1, "_CPPv49logsumexpRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "logsumexp"], [0, 0, 1, "_CPPv49logsumexpRK5arrayb14StreamOrDevice", "logsumexp"], [0, 0, 1, "_CPPv49logsumexpRK5arrayib14StreamOrDevice", "logsumexp"], [0, 1, 1, "_CPPv49logsumexpRK5array14StreamOrDevice", "logsumexp::a"], [0, 1, 1, "_CPPv49logsumexpRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "logsumexp::a"], [0, 1, 1, "_CPPv49logsumexpRK5arrayb14StreamOrDevice", "logsumexp::a"], [0, 1, 1, "_CPPv49logsumexpRK5arrayib14StreamOrDevice", "logsumexp::a"], [0, 1, 1, "_CPPv49logsumexpRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "logsumexp::axes"], [0, 1, 1, "_CPPv49logsumexpRK5arrayib14StreamOrDevice", "logsumexp::axis"], [0, 1, 1, "_CPPv49logsumexpRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "logsumexp::keepdims"], [0, 1, 1, "_CPPv49logsumexpRK5arrayb14StreamOrDevice", "logsumexp::keepdims"], [0, 1, 1, "_CPPv49logsumexpRK5arrayib14StreamOrDevice", "logsumexp::keepdims"], [0, 1, 1, "_CPPv49logsumexpRK5array14StreamOrDevice", "logsumexp::s"], [0, 1, 1, "_CPPv49logsumexpRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "logsumexp::s"], [0, 1, 1, "_CPPv49logsumexpRK5arrayb14StreamOrDevice", "logsumexp::s"], [0, 1, 1, "_CPPv49logsumexpRK5arrayib14StreamOrDevice", "logsumexp::s"], [0, 0, 1, "_CPPv46matmulRK5arrayRK5array14StreamOrDevice", "matmul"], [0, 1, 1, "_CPPv46matmulRK5arrayRK5array14StreamOrDevice", "matmul::a"], [0, 1, 1, "_CPPv46matmulRK5arrayRK5array14StreamOrDevice", "matmul::b"], [0, 1, 1, "_CPPv46matmulRK5arrayRK5array14StreamOrDevice", "matmul::s"], [0, 0, 1, "_CPPv43maxRK5array14StreamOrDevice", "max"], [0, 0, 1, "_CPPv43maxRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "max"], [0, 0, 1, "_CPPv43maxRK5arrayb14StreamOrDevice", "max"], [0, 0, 1, "_CPPv43maxRK5arrayib14StreamOrDevice", "max"], [0, 1, 1, "_CPPv43maxRK5array14StreamOrDevice", "max::a"], [0, 1, 1, "_CPPv43maxRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "max::a"], [0, 1, 1, "_CPPv43maxRK5arrayb14StreamOrDevice", "max::a"], [0, 1, 1, "_CPPv43maxRK5arrayib14StreamOrDevice", "max::a"], [0, 1, 1, "_CPPv43maxRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "max::axes"], [0, 1, 1, "_CPPv43maxRK5arrayib14StreamOrDevice", "max::axis"], [0, 1, 1, "_CPPv43maxRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "max::keepdims"], [0, 1, 1, "_CPPv43maxRK5arrayb14StreamOrDevice", "max::keepdims"], [0, 1, 1, "_CPPv43maxRK5arrayib14StreamOrDevice", "max::keepdims"], [0, 1, 1, "_CPPv43maxRK5array14StreamOrDevice", "max::s"], [0, 1, 1, "_CPPv43maxRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "max::s"], [0, 1, 1, "_CPPv43maxRK5arrayb14StreamOrDevice", "max::s"], [0, 1, 1, "_CPPv43maxRK5arrayib14StreamOrDevice", "max::s"], [0, 0, 1, "_CPPv47maximumRK5arrayRK5array14StreamOrDevice", "maximum"], [0, 1, 1, "_CPPv47maximumRK5arrayRK5array14StreamOrDevice", "maximum::a"], [0, 1, 1, "_CPPv47maximumRK5arrayRK5array14StreamOrDevice", "maximum::b"], [0, 1, 1, "_CPPv47maximumRK5arrayRK5array14StreamOrDevice", "maximum::s"], [0, 0, 1, "_CPPv44meanRK5array14StreamOrDevice", "mean"], [0, 0, 1, "_CPPv44meanRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "mean"], [0, 0, 1, "_CPPv44meanRK5arrayb14StreamOrDevice", "mean"], [0, 0, 1, "_CPPv44meanRK5arrayib14StreamOrDevice", "mean"], [0, 1, 1, "_CPPv44meanRK5array14StreamOrDevice", "mean::a"], [0, 1, 1, "_CPPv44meanRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "mean::a"], [0, 1, 1, "_CPPv44meanRK5arrayb14StreamOrDevice", "mean::a"], [0, 1, 1, "_CPPv44meanRK5arrayib14StreamOrDevice", "mean::a"], [0, 1, 1, "_CPPv44meanRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "mean::axes"], [0, 1, 1, "_CPPv44meanRK5arrayib14StreamOrDevice", "mean::axis"], [0, 1, 1, "_CPPv44meanRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "mean::keepdims"], [0, 1, 1, "_CPPv44meanRK5arrayb14StreamOrDevice", "mean::keepdims"], [0, 1, 1, "_CPPv44meanRK5arrayib14StreamOrDevice", "mean::keepdims"], [0, 1, 1, "_CPPv44meanRK5array14StreamOrDevice", "mean::s"], [0, 1, 1, "_CPPv44meanRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "mean::s"], [0, 1, 1, "_CPPv44meanRK5arrayb14StreamOrDevice", "mean::s"], [0, 1, 1, "_CPPv44meanRK5arrayib14StreamOrDevice", "mean::s"], [0, 0, 1, "_CPPv48meshgridRKNSt6vectorI5arrayEEbNSt6stringE14StreamOrDevice", "meshgrid"], [0, 1, 1, "_CPPv48meshgridRKNSt6vectorI5arrayEEbNSt6stringE14StreamOrDevice", "meshgrid::arrays"], [0, 1, 1, "_CPPv48meshgridRKNSt6vectorI5arrayEEbNSt6stringE14StreamOrDevice", "meshgrid::indexing"], [0, 1, 1, "_CPPv48meshgridRKNSt6vectorI5arrayEEbNSt6stringE14StreamOrDevice", "meshgrid::s"], [0, 1, 1, "_CPPv48meshgridRKNSt6vectorI5arrayEEbNSt6stringE14StreamOrDevice", "meshgrid::sparse"], [0, 0, 1, "_CPPv43minRK5array14StreamOrDevice", "min"], [0, 0, 1, "_CPPv43minRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "min"], [0, 0, 1, "_CPPv43minRK5arrayb14StreamOrDevice", "min"], [0, 0, 1, "_CPPv43minRK5arrayib14StreamOrDevice", "min"], [0, 1, 1, "_CPPv43minRK5array14StreamOrDevice", "min::a"], [0, 1, 1, "_CPPv43minRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "min::a"], [0, 1, 1, "_CPPv43minRK5arrayb14StreamOrDevice", "min::a"], [0, 1, 1, "_CPPv43minRK5arrayib14StreamOrDevice", "min::a"], [0, 1, 1, "_CPPv43minRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "min::axes"], [0, 1, 1, "_CPPv43minRK5arrayib14StreamOrDevice", "min::axis"], [0, 1, 1, "_CPPv43minRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "min::keepdims"], [0, 1, 1, "_CPPv43minRK5arrayb14StreamOrDevice", "min::keepdims"], [0, 1, 1, "_CPPv43minRK5arrayib14StreamOrDevice", "min::keepdims"], [0, 1, 1, "_CPPv43minRK5array14StreamOrDevice", "min::s"], [0, 1, 1, "_CPPv43minRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "min::s"], [0, 1, 1, "_CPPv43minRK5arrayb14StreamOrDevice", "min::s"], [0, 1, 1, "_CPPv43minRK5arrayib14StreamOrDevice", "min::s"], [0, 0, 1, "_CPPv47minimumRK5arrayRK5array14StreamOrDevice", "minimum"], [0, 1, 1, "_CPPv47minimumRK5arrayRK5array14StreamOrDevice", "minimum::a"], [0, 1, 1, "_CPPv47minimumRK5arrayRK5array14StreamOrDevice", "minimum::b"], [0, 1, 1, "_CPPv47minimumRK5arrayRK5array14StreamOrDevice", "minimum::s"], [0, 0, 1, "_CPPv48moveaxisRK5arrayii14StreamOrDevice", "moveaxis"], [0, 1, 1, "_CPPv48moveaxisRK5arrayii14StreamOrDevice", "moveaxis::a"], [0, 1, 1, "_CPPv48moveaxisRK5arrayii14StreamOrDevice", "moveaxis::destination"], [0, 1, 1, "_CPPv48moveaxisRK5arrayii14StreamOrDevice", "moveaxis::s"], [0, 1, 1, "_CPPv48moveaxisRK5arrayii14StreamOrDevice", "moveaxis::source"], [0, 0, 1, "_CPPv48multiplyRK5arrayRK5array14StreamOrDevice", "multiply"], [0, 1, 1, "_CPPv48multiplyRK5arrayRK5array14StreamOrDevice", "multiply::a"], [0, 1, 1, "_CPPv48multiplyRK5arrayRK5array14StreamOrDevice", "multiply::b"], [0, 1, 1, "_CPPv48multiplyRK5arrayRK5array14StreamOrDevice", "multiply::s"], [0, 0, 1, "_CPPv410nan_to_numRK5arrayfKNSt8optionalIfEEKNSt8optionalIfEE14StreamOrDevice", "nan_to_num"], [0, 1, 1, "_CPPv410nan_to_numRK5arrayfKNSt8optionalIfEEKNSt8optionalIfEE14StreamOrDevice", "nan_to_num::a"], [0, 1, 1, "_CPPv410nan_to_numRK5arrayfKNSt8optionalIfEEKNSt8optionalIfEE14StreamOrDevice", "nan_to_num::nan"], [0, 1, 1, "_CPPv410nan_to_numRK5arrayfKNSt8optionalIfEEKNSt8optionalIfEE14StreamOrDevice", "nan_to_num::neginf"], [0, 1, 1, "_CPPv410nan_to_numRK5arrayfKNSt8optionalIfEEKNSt8optionalIfEE14StreamOrDevice", "nan_to_num::posinf"], [0, 1, 1, "_CPPv410nan_to_numRK5arrayfKNSt8optionalIfEEKNSt8optionalIfEE14StreamOrDevice", "nan_to_num::s"], [0, 0, 1, "_CPPv48negativeRK5array14StreamOrDevice", "negative"], [0, 1, 1, "_CPPv48negativeRK5array14StreamOrDevice", "negative::a"], [0, 1, 1, "_CPPv48negativeRK5array14StreamOrDevice", "negative::s"], [0, 0, 1, "_CPPv49not_equalRK5arrayRK5array14StreamOrDevice", "not_equal"], [0, 1, 1, "_CPPv49not_equalRK5arrayRK5array14StreamOrDevice", "not_equal::a"], [0, 1, 1, "_CPPv49not_equalRK5arrayRK5array14StreamOrDevice", "not_equal::b"], [0, 1, 1, "_CPPv49not_equalRK5arrayRK5array14StreamOrDevice", "not_equal::s"], [0, 0, 1, "_CPPv418number_of_elementsRK5arrayNSt6vectorIiEEb5Dtype14StreamOrDevice", "number_of_elements"], [0, 1, 1, "_CPPv418number_of_elementsRK5arrayNSt6vectorIiEEb5Dtype14StreamOrDevice", "number_of_elements::a"], [0, 1, 1, "_CPPv418number_of_elementsRK5arrayNSt6vectorIiEEb5Dtype14StreamOrDevice", "number_of_elements::axes"], [0, 1, 1, "_CPPv418number_of_elementsRK5arrayNSt6vectorIiEEb5Dtype14StreamOrDevice", "number_of_elements::dtype"], [0, 1, 1, "_CPPv418number_of_elementsRK5arrayNSt6vectorIiEEb5Dtype14StreamOrDevice", "number_of_elements::inverted"], [0, 1, 1, "_CPPv418number_of_elementsRK5arrayNSt6vectorIiEEb5Dtype14StreamOrDevice", "number_of_elements::s"], [0, 0, 1, "_CPPv44onesRK5Shape14StreamOrDevice", "ones"], [0, 0, 1, "_CPPv44onesRK5Shape5Dtype14StreamOrDevice", "ones"], [0, 1, 1, "_CPPv44onesRK5Shape5Dtype14StreamOrDevice", "ones::dtype"], [0, 1, 1, "_CPPv44onesRK5Shape14StreamOrDevice", "ones::s"], [0, 1, 1, "_CPPv44onesRK5Shape5Dtype14StreamOrDevice", "ones::s"], [0, 1, 1, "_CPPv44onesRK5Shape14StreamOrDevice", "ones::shape"], [0, 1, 1, "_CPPv44onesRK5Shape5Dtype14StreamOrDevice", "ones::shape"], [0, 0, 1, "_CPPv49ones_likeRK5array14StreamOrDevice", "ones_like"], [0, 1, 1, "_CPPv49ones_likeRK5array14StreamOrDevice", "ones_like::a"], [0, 1, 1, "_CPPv49ones_likeRK5array14StreamOrDevice", "ones_like::s"], [0, 0, 1, "_CPPv4I0Ene5array1TRK5array", "operator!="], [0, 0, 1, "_CPPv4I0Ene5arrayRK5array1T", "operator!="], [0, 0, 1, "_CPPv4neRK5arrayRK5array", "operator!="], [0, 2, 1, "_CPPv4I0Ene5array1TRK5array", "operator!=::T"], [0, 2, 1, "_CPPv4I0Ene5arrayRK5array1T", "operator!=::T"], [0, 1, 1, "_CPPv4I0Ene5array1TRK5array", "operator!=::a"], [0, 1, 1, "_CPPv4I0Ene5arrayRK5array1T", "operator!=::a"], [0, 1, 1, "_CPPv4neRK5arrayRK5array", "operator!=::a"], [0, 1, 1, "_CPPv4I0Ene5array1TRK5array", "operator!=::b"], [0, 1, 1, "_CPPv4I0Ene5arrayRK5array1T", "operator!=::b"], [0, 1, 1, "_CPPv4neRK5arrayRK5array", "operator!=::b"], [0, 0, 1, "_CPPv4I0Erm5array1TRK5array", "operator%"], [0, 0, 1, "_CPPv4I0Erm5arrayRK5array1T", "operator%"], [0, 0, 1, "_CPPv4rmRK5arrayRK5array", "operator%"], [0, 2, 1, "_CPPv4I0Erm5array1TRK5array", "operator%::T"], [0, 2, 1, "_CPPv4I0Erm5arrayRK5array1T", "operator%::T"], [0, 1, 1, "_CPPv4I0Erm5array1TRK5array", "operator%::a"], [0, 1, 1, "_CPPv4I0Erm5arrayRK5array1T", "operator%::a"], [0, 1, 1, "_CPPv4rmRK5arrayRK5array", "operator%::a"], [0, 1, 1, "_CPPv4I0Erm5array1TRK5array", "operator%::b"], [0, 1, 1, "_CPPv4I0Erm5arrayRK5array1T", "operator%::b"], [0, 1, 1, "_CPPv4rmRK5arrayRK5array", "operator%::b"], [0, 0, 1, "_CPPv4anRK5arrayRK5array", "operator&"], [0, 0, 1, "_CPPv4aaRK5arrayRK5array", "operator&&"], [0, 1, 1, "_CPPv4aaRK5arrayRK5array", "operator&&::a"], [0, 1, 1, "_CPPv4aaRK5arrayRK5array", "operator&&::b"], [0, 1, 1, "_CPPv4anRK5arrayRK5array", "operator&::a"], [0, 1, 1, "_CPPv4anRK5arrayRK5array", "operator&::b"], [0, 0, 1, "_CPPv4I0Eml5array1TRK5array", "operator*"], [0, 0, 1, "_CPPv4I0Eml5arrayRK5array1T", "operator*"], [0, 0, 1, "_CPPv4mlRK5arrayRK5array", "operator*"], [0, 2, 1, "_CPPv4I0Eml5array1TRK5array", "operator*::T"], [0, 2, 1, "_CPPv4I0Eml5arrayRK5array1T", "operator*::T"], [0, 1, 1, "_CPPv4I0Eml5array1TRK5array", "operator*::a"], [0, 1, 1, "_CPPv4I0Eml5arrayRK5array1T", "operator*::a"], [0, 1, 1, "_CPPv4mlRK5arrayRK5array", "operator*::a"], [0, 1, 1, "_CPPv4I0Eml5array1TRK5array", "operator*::b"], [0, 1, 1, "_CPPv4I0Eml5arrayRK5array1T", "operator*::b"], [0, 1, 1, "_CPPv4mlRK5arrayRK5array", "operator*::b"], [0, 0, 1, "_CPPv4I0Epl5array1TRK5array", "operator+"], [0, 0, 1, "_CPPv4I0Epl5arrayRK5array1T", "operator+"], [0, 0, 1, "_CPPv4plRK5arrayRK5array", "operator+"], [0, 2, 1, "_CPPv4I0Epl5array1TRK5array", "operator+::T"], [0, 2, 1, "_CPPv4I0Epl5arrayRK5array1T", "operator+::T"], [0, 1, 1, "_CPPv4I0Epl5array1TRK5array", "operator+::a"], [0, 1, 1, "_CPPv4I0Epl5arrayRK5array1T", "operator+::a"], [0, 1, 1, "_CPPv4plRK5arrayRK5array", "operator+::a"], [0, 1, 1, "_CPPv4I0Epl5array1TRK5array", "operator+::b"], [0, 1, 1, "_CPPv4I0Epl5arrayRK5array1T", "operator+::b"], [0, 1, 1, "_CPPv4plRK5arrayRK5array", "operator+::b"], [0, 0, 1, "_CPPv4I0Emi5array1TRK5array", "operator-"], [0, 0, 1, "_CPPv4I0Emi5arrayRK5array1T", "operator-"], [0, 0, 1, "_CPPv4miRK5array", "operator-"], [0, 0, 1, "_CPPv4miRK5arrayRK5array", "operator-"], [0, 2, 1, "_CPPv4I0Emi5array1TRK5array", "operator-::T"], [0, 2, 1, "_CPPv4I0Emi5arrayRK5array1T", "operator-::T"], [0, 1, 1, "_CPPv4I0Emi5array1TRK5array", "operator-::a"], [0, 1, 1, "_CPPv4I0Emi5arrayRK5array1T", "operator-::a"], [0, 1, 1, "_CPPv4miRK5array", "operator-::a"], [0, 1, 1, "_CPPv4miRK5arrayRK5array", "operator-::a"], [0, 1, 1, "_CPPv4I0Emi5array1TRK5array", "operator-::b"], [0, 1, 1, "_CPPv4I0Emi5arrayRK5array1T", "operator-::b"], [0, 1, 1, "_CPPv4miRK5arrayRK5array", "operator-::b"], [0, 0, 1, "_CPPv4dvRK5arrayRK5array", "operator/"], [0, 0, 1, "_CPPv4dvRK5arrayd", "operator/"], [0, 0, 1, "_CPPv4dvdRK5array", "operator/"], [0, 1, 1, "_CPPv4dvRK5arrayRK5array", "operator/::a"], [0, 1, 1, "_CPPv4dvRK5arrayd", "operator/::a"], [0, 1, 1, "_CPPv4dvdRK5array", "operator/::a"], [0, 1, 1, "_CPPv4dvRK5arrayRK5array", "operator/::b"], [0, 1, 1, "_CPPv4dvRK5arrayd", "operator/::b"], [0, 1, 1, "_CPPv4dvdRK5array", "operator/::b"], [0, 0, 1, "_CPPv4I0Elt5array1TRK5array", "operator<"], [0, 0, 1, "_CPPv4I0Elt5arrayRK5array1T", "operator<"], [0, 0, 1, "_CPPv4ltRK5arrayRK5array", "operator<"], [0, 2, 1, "_CPPv4I0Elt5array1TRK5array", "operator<::T"], [0, 2, 1, "_CPPv4I0Elt5arrayRK5array1T", "operator<::T"], [0, 1, 1, "_CPPv4I0Elt5array1TRK5array", "operator<::a"], [0, 1, 1, "_CPPv4I0Elt5arrayRK5array1T", "operator<::a"], [0, 1, 1, "_CPPv4ltRK5arrayRK5array", "operator<::a"], [0, 1, 1, "_CPPv4I0Elt5array1TRK5array", "operator<::b"], [0, 1, 1, "_CPPv4I0Elt5arrayRK5array1T", "operator<::b"], [0, 1, 1, "_CPPv4ltRK5arrayRK5array", "operator<::b"], [0, 0, 1, "_CPPv4lsRK5arrayRK5array", "operator<<"], [0, 1, 1, "_CPPv4lsRK5arrayRK5array", "operator<<::a"], [0, 1, 1, "_CPPv4lsRK5arrayRK5array", "operator<<::b"], [0, 0, 1, "_CPPv4I0Ele5array1TRK5array", "operator<="], [0, 0, 1, "_CPPv4I0Ele5arrayRK5array1T", "operator<="], [0, 0, 1, "_CPPv4leRK5arrayRK5array", "operator<="], [0, 2, 1, "_CPPv4I0Ele5array1TRK5array", "operator<=::T"], [0, 2, 1, "_CPPv4I0Ele5arrayRK5array1T", "operator<=::T"], [0, 1, 1, "_CPPv4I0Ele5array1TRK5array", "operator<=::a"], [0, 1, 1, "_CPPv4I0Ele5arrayRK5array1T", "operator<=::a"], [0, 1, 1, "_CPPv4leRK5arrayRK5array", "operator<=::a"], [0, 1, 1, "_CPPv4I0Ele5array1TRK5array", "operator<=::b"], [0, 1, 1, "_CPPv4I0Ele5arrayRK5array1T", "operator<=::b"], [0, 1, 1, "_CPPv4leRK5arrayRK5array", "operator<=::b"], [0, 0, 1, "_CPPv4I0Eeq5array1TRK5array", "operator=="], [0, 0, 1, "_CPPv4I0Eeq5arrayRK5array1T", "operator=="], [0, 0, 1, "_CPPv4eqRK5arrayRK5array", "operator=="], [0, 2, 1, "_CPPv4I0Eeq5array1TRK5array", "operator==::T"], [0, 2, 1, "_CPPv4I0Eeq5arrayRK5array1T", "operator==::T"], [0, 1, 1, "_CPPv4I0Eeq5array1TRK5array", "operator==::a"], [0, 1, 1, "_CPPv4I0Eeq5arrayRK5array1T", "operator==::a"], [0, 1, 1, "_CPPv4eqRK5arrayRK5array", "operator==::a"], [0, 1, 1, "_CPPv4I0Eeq5array1TRK5array", "operator==::b"], [0, 1, 1, "_CPPv4I0Eeq5arrayRK5array1T", "operator==::b"], [0, 1, 1, "_CPPv4eqRK5arrayRK5array", "operator==::b"], [0, 0, 1, "_CPPv4I0Egt5array1TRK5array", "operator>"], [0, 0, 1, "_CPPv4I0Egt5arrayRK5array1T", "operator>"], [0, 0, 1, "_CPPv4gtRK5arrayRK5array", "operator>"], [0, 2, 1, "_CPPv4I0Egt5array1TRK5array", "operator>::T"], [0, 2, 1, "_CPPv4I0Egt5arrayRK5array1T", "operator>::T"], [0, 1, 1, "_CPPv4I0Egt5array1TRK5array", "operator>::a"], [0, 1, 1, "_CPPv4I0Egt5arrayRK5array1T", "operator>::a"], [0, 1, 1, "_CPPv4gtRK5arrayRK5array", "operator>::a"], [0, 1, 1, "_CPPv4I0Egt5array1TRK5array", "operator>::b"], [0, 1, 1, "_CPPv4I0Egt5arrayRK5array1T", "operator>::b"], [0, 1, 1, "_CPPv4gtRK5arrayRK5array", "operator>::b"], [0, 0, 1, "_CPPv4I0Ege5array1TRK5array", "operator>="], [0, 0, 1, "_CPPv4I0Ege5arrayRK5array1T", "operator>="], [0, 0, 1, "_CPPv4geRK5arrayRK5array", "operator>="], [0, 2, 1, "_CPPv4I0Ege5array1TRK5array", "operator>=::T"], [0, 2, 1, "_CPPv4I0Ege5arrayRK5array1T", "operator>=::T"], [0, 1, 1, "_CPPv4I0Ege5array1TRK5array", "operator>=::a"], [0, 1, 1, "_CPPv4I0Ege5arrayRK5array1T", "operator>=::a"], [0, 1, 1, "_CPPv4geRK5arrayRK5array", "operator>=::a"], [0, 1, 1, "_CPPv4I0Ege5array1TRK5array", "operator>=::b"], [0, 1, 1, "_CPPv4I0Ege5arrayRK5array1T", "operator>=::b"], [0, 1, 1, "_CPPv4geRK5arrayRK5array", "operator>=::b"], [0, 0, 1, "_CPPv4rsRK5arrayRK5array", "operator>>"], [0, 1, 1, "_CPPv4rsRK5arrayRK5array", "operator>>::a"], [0, 1, 1, "_CPPv4rsRK5arrayRK5array", "operator>>::b"], [0, 0, 1, "_CPPv4eoRK5arrayRK5array", "operator^"], [0, 1, 1, "_CPPv4eoRK5arrayRK5array", "operator^::a"], [0, 1, 1, "_CPPv4eoRK5arrayRK5array", "operator^::b"], [0, 0, 1, "_CPPv4orRK5arrayRK5array", "operator|"], [0, 1, 1, "_CPPv4orRK5arrayRK5array", "operator|::a"], [0, 1, 1, "_CPPv4orRK5arrayRK5array", "operator|::b"], [0, 0, 1, "_CPPv4ooRK5arrayRK5array", "operator||"], [0, 1, 1, "_CPPv4ooRK5arrayRK5array", "operator||::a"], [0, 1, 1, "_CPPv4ooRK5arrayRK5array", "operator||::b"], [0, 0, 1, "_CPPv45outerRK5arrayRK5array14StreamOrDevice", "outer"], [0, 1, 1, "_CPPv45outerRK5arrayRK5array14StreamOrDevice", "outer::a"], [0, 1, 1, "_CPPv45outerRK5arrayRK5array14StreamOrDevice", "outer::b"], [0, 1, 1, "_CPPv45outerRK5arrayRK5array14StreamOrDevice", "outer::s"], [0, 0, 1, "_CPPv43padRK5arrayRKNSt4pairIiiEERK5arrayKNSt6stringE14StreamOrDevice", "pad"], [0, 0, 1, "_CPPv43padRK5arrayRKNSt6vectorINSt4pairIiiEEEERK5arrayKNSt6stringE14StreamOrDevice", "pad"], [0, 0, 1, "_CPPv43padRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEERKNSt6vectorIiEERK5arrayKNSt6stringE14StreamOrDevice", "pad"], [0, 0, 1, "_CPPv43padRK5arrayiRK5arrayKNSt6stringE14StreamOrDevice", "pad"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt4pairIiiEERK5arrayKNSt6stringE14StreamOrDevice", "pad::a"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt6vectorINSt4pairIiiEEEERK5arrayKNSt6stringE14StreamOrDevice", "pad::a"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEERKNSt6vectorIiEERK5arrayKNSt6stringE14StreamOrDevice", "pad::a"], [0, 1, 1, "_CPPv43padRK5arrayiRK5arrayKNSt6stringE14StreamOrDevice", "pad::a"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEERKNSt6vectorIiEERK5arrayKNSt6stringE14StreamOrDevice", "pad::axes"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEERKNSt6vectorIiEERK5arrayKNSt6stringE14StreamOrDevice", "pad::high_pad_size"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEERKNSt6vectorIiEERK5arrayKNSt6stringE14StreamOrDevice", "pad::low_pad_size"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt4pairIiiEERK5arrayKNSt6stringE14StreamOrDevice", "pad::mode"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt6vectorINSt4pairIiiEEEERK5arrayKNSt6stringE14StreamOrDevice", "pad::mode"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEERKNSt6vectorIiEERK5arrayKNSt6stringE14StreamOrDevice", "pad::mode"], [0, 1, 1, "_CPPv43padRK5arrayiRK5arrayKNSt6stringE14StreamOrDevice", "pad::mode"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt4pairIiiEERK5arrayKNSt6stringE14StreamOrDevice", "pad::pad_value"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt6vectorINSt4pairIiiEEEERK5arrayKNSt6stringE14StreamOrDevice", "pad::pad_value"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEERKNSt6vectorIiEERK5arrayKNSt6stringE14StreamOrDevice", "pad::pad_value"], [0, 1, 1, "_CPPv43padRK5arrayiRK5arrayKNSt6stringE14StreamOrDevice", "pad::pad_value"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt4pairIiiEERK5arrayKNSt6stringE14StreamOrDevice", "pad::pad_width"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt6vectorINSt4pairIiiEEEERK5arrayKNSt6stringE14StreamOrDevice", "pad::pad_width"], [0, 1, 1, "_CPPv43padRK5arrayiRK5arrayKNSt6stringE14StreamOrDevice", "pad::pad_width"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt4pairIiiEERK5arrayKNSt6stringE14StreamOrDevice", "pad::s"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt6vectorINSt4pairIiiEEEERK5arrayKNSt6stringE14StreamOrDevice", "pad::s"], [0, 1, 1, "_CPPv43padRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEERKNSt6vectorIiEERK5arrayKNSt6stringE14StreamOrDevice", "pad::s"], [0, 1, 1, "_CPPv43padRK5arrayiRK5arrayKNSt6stringE14StreamOrDevice", "pad::s"], [0, 0, 1, "_CPPv49partitionRK5arrayi14StreamOrDevice", "partition"], [0, 0, 1, "_CPPv49partitionRK5arrayii14StreamOrDevice", "partition"], [0, 1, 1, "_CPPv49partitionRK5arrayi14StreamOrDevice", "partition::a"], [0, 1, 1, "_CPPv49partitionRK5arrayii14StreamOrDevice", "partition::a"], [0, 1, 1, "_CPPv49partitionRK5arrayii14StreamOrDevice", "partition::axis"], [0, 1, 1, "_CPPv49partitionRK5arrayi14StreamOrDevice", "partition::kth"], [0, 1, 1, "_CPPv49partitionRK5arrayii14StreamOrDevice", "partition::kth"], [0, 1, 1, "_CPPv49partitionRK5arrayi14StreamOrDevice", "partition::s"], [0, 1, 1, "_CPPv49partitionRK5arrayii14StreamOrDevice", "partition::s"], [0, 0, 1, "_CPPv45powerRK5arrayRK5array14StreamOrDevice", "power"], [0, 1, 1, "_CPPv45powerRK5arrayRK5array14StreamOrDevice", "power::a"], [0, 1, 1, "_CPPv45powerRK5arrayRK5array14StreamOrDevice", "power::b"], [0, 1, 1, "_CPPv45powerRK5arrayRK5array14StreamOrDevice", "power::s"], [0, 0, 1, "_CPPv44prodRK5array14StreamOrDevice", "prod"], [0, 0, 1, "_CPPv44prodRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "prod"], [0, 0, 1, "_CPPv44prodRK5arrayb14StreamOrDevice", "prod"], [0, 0, 1, "_CPPv44prodRK5arrayib14StreamOrDevice", "prod"], [0, 1, 1, "_CPPv44prodRK5array14StreamOrDevice", "prod::a"], [0, 1, 1, "_CPPv44prodRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "prod::a"], [0, 1, 1, "_CPPv44prodRK5arrayb14StreamOrDevice", "prod::a"], [0, 1, 1, "_CPPv44prodRK5arrayib14StreamOrDevice", "prod::a"], [0, 1, 1, "_CPPv44prodRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "prod::axes"], [0, 1, 1, "_CPPv44prodRK5arrayib14StreamOrDevice", "prod::axis"], [0, 1, 1, "_CPPv44prodRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "prod::keepdims"], [0, 1, 1, "_CPPv44prodRK5arrayb14StreamOrDevice", "prod::keepdims"], [0, 1, 1, "_CPPv44prodRK5arrayib14StreamOrDevice", "prod::keepdims"], [0, 1, 1, "_CPPv44prodRK5array14StreamOrDevice", "prod::s"], [0, 1, 1, "_CPPv44prodRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "prod::s"], [0, 1, 1, "_CPPv44prodRK5arrayb14StreamOrDevice", "prod::s"], [0, 1, 1, "_CPPv44prodRK5arrayib14StreamOrDevice", "prod::s"], [0, 0, 1, "_CPPv414put_along_axisRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "put_along_axis"], [0, 1, 1, "_CPPv414put_along_axisRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "put_along_axis::a"], [0, 1, 1, "_CPPv414put_along_axisRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "put_along_axis::axis"], [0, 1, 1, "_CPPv414put_along_axisRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "put_along_axis::indices"], [0, 1, 1, "_CPPv414put_along_axisRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "put_along_axis::s"], [0, 1, 1, "_CPPv414put_along_axisRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "put_along_axis::values"], [0, 0, 1, "_CPPv48quantizeRK5arrayii14StreamOrDevice", "quantize"], [0, 1, 1, "_CPPv48quantizeRK5arrayii14StreamOrDevice", "quantize::bits"], [0, 1, 1, "_CPPv48quantizeRK5arrayii14StreamOrDevice", "quantize::group_size"], [0, 1, 1, "_CPPv48quantizeRK5arrayii14StreamOrDevice", "quantize::s"], [0, 1, 1, "_CPPv48quantizeRK5arrayii14StreamOrDevice", "quantize::w"], [0, 0, 1, "_CPPv416quantized_matmul5array5array5array5arraybii14StreamOrDevice", "quantized_matmul"], [0, 1, 1, "_CPPv416quantized_matmul5array5array5array5arraybii14StreamOrDevice", "quantized_matmul::biases"], [0, 1, 1, "_CPPv416quantized_matmul5array5array5array5arraybii14StreamOrDevice", "quantized_matmul::bits"], [0, 1, 1, "_CPPv416quantized_matmul5array5array5array5arraybii14StreamOrDevice", "quantized_matmul::group_size"], [0, 1, 1, "_CPPv416quantized_matmul5array5array5array5arraybii14StreamOrDevice", "quantized_matmul::s"], [0, 1, 1, "_CPPv416quantized_matmul5array5array5array5arraybii14StreamOrDevice", "quantized_matmul::scales"], [0, 1, 1, "_CPPv416quantized_matmul5array5array5array5arraybii14StreamOrDevice", "quantized_matmul::transpose"], [0, 1, 1, "_CPPv416quantized_matmul5array5array5array5arraybii14StreamOrDevice", "quantized_matmul::w"], [0, 1, 1, "_CPPv416quantized_matmul5array5array5array5arraybii14StreamOrDevice", "quantized_matmul::x"], [0, 0, 1, "_CPPv47radiansRK5array14StreamOrDevice", "radians"], [0, 1, 1, "_CPPv47radiansRK5array14StreamOrDevice", "radians::a"], [0, 1, 1, "_CPPv47radiansRK5array14StreamOrDevice", "radians::s"], [0, 0, 1, "_CPPv44realRK5array14StreamOrDevice", "real"], [0, 1, 1, "_CPPv44realRK5array14StreamOrDevice", "real::a"], [0, 1, 1, "_CPPv44realRK5array14StreamOrDevice", "real::s"], [0, 0, 1, "_CPPv410reciprocalRK5array14StreamOrDevice", "reciprocal"], [0, 1, 1, "_CPPv410reciprocalRK5array14StreamOrDevice", "reciprocal::a"], [0, 1, 1, "_CPPv410reciprocalRK5array14StreamOrDevice", "reciprocal::s"], [0, 0, 1, "_CPPv49remainderRK5arrayRK5array14StreamOrDevice", "remainder"], [0, 1, 1, "_CPPv49remainderRK5arrayRK5array14StreamOrDevice", "remainder::a"], [0, 1, 1, "_CPPv49remainderRK5arrayRK5array14StreamOrDevice", "remainder::b"], [0, 1, 1, "_CPPv49remainderRK5arrayRK5array14StreamOrDevice", "remainder::s"], [0, 0, 1, "_CPPv46repeatRK5arrayi14StreamOrDevice", "repeat"], [0, 0, 1, "_CPPv46repeatRK5arrayii14StreamOrDevice", "repeat"], [0, 1, 1, "_CPPv46repeatRK5arrayi14StreamOrDevice", "repeat::arr"], [0, 1, 1, "_CPPv46repeatRK5arrayii14StreamOrDevice", "repeat::arr"], [0, 1, 1, "_CPPv46repeatRK5arrayii14StreamOrDevice", "repeat::axis"], [0, 1, 1, "_CPPv46repeatRK5arrayi14StreamOrDevice", "repeat::repeats"], [0, 1, 1, "_CPPv46repeatRK5arrayii14StreamOrDevice", "repeat::repeats"], [0, 1, 1, "_CPPv46repeatRK5arrayi14StreamOrDevice", "repeat::s"], [0, 1, 1, "_CPPv46repeatRK5arrayii14StreamOrDevice", "repeat::s"], [0, 0, 1, "_CPPv47reshapeRK5array5Shape14StreamOrDevice", "reshape"], [0, 1, 1, "_CPPv47reshapeRK5array5Shape14StreamOrDevice", "reshape::a"], [0, 1, 1, "_CPPv47reshapeRK5array5Shape14StreamOrDevice", "reshape::s"], [0, 1, 1, "_CPPv47reshapeRK5array5Shape14StreamOrDevice", "reshape::shape"], [0, 0, 1, "_CPPv411right_shiftRK5arrayRK5array14StreamOrDevice", "right_shift"], [0, 1, 1, "_CPPv411right_shiftRK5arrayRK5array14StreamOrDevice", "right_shift::a"], [0, 1, 1, "_CPPv411right_shiftRK5arrayRK5array14StreamOrDevice", "right_shift::b"], [0, 1, 1, "_CPPv411right_shiftRK5arrayRK5array14StreamOrDevice", "right_shift::s"], [0, 0, 1, "_CPPv44rollRK5arrayRK5Shape14StreamOrDevice", "roll"], [0, 0, 1, "_CPPv44rollRK5arrayRK5ShapeRKNSt6vectorIiEE14StreamOrDevice", "roll"], [0, 0, 1, "_CPPv44rollRK5arrayRK5Shapei14StreamOrDevice", "roll"], [0, 0, 1, "_CPPv44rollRK5arrayi14StreamOrDevice", "roll"], [0, 0, 1, "_CPPv44rollRK5arrayiRK5Shape14StreamOrDevice", "roll"], [0, 0, 1, "_CPPv44rollRK5arrayii14StreamOrDevice", "roll"], [0, 1, 1, "_CPPv44rollRK5arrayRK5Shape14StreamOrDevice", "roll::a"], [0, 1, 1, "_CPPv44rollRK5arrayRK5ShapeRKNSt6vectorIiEE14StreamOrDevice", "roll::a"], [0, 1, 1, "_CPPv44rollRK5arrayRK5Shapei14StreamOrDevice", "roll::a"], [0, 1, 1, "_CPPv44rollRK5arrayi14StreamOrDevice", "roll::a"], [0, 1, 1, "_CPPv44rollRK5arrayiRK5Shape14StreamOrDevice", "roll::a"], [0, 1, 1, "_CPPv44rollRK5arrayii14StreamOrDevice", "roll::a"], [0, 1, 1, "_CPPv44rollRK5arrayRK5ShapeRKNSt6vectorIiEE14StreamOrDevice", "roll::axes"], [0, 1, 1, "_CPPv44rollRK5arrayiRK5Shape14StreamOrDevice", "roll::axes"], [0, 1, 1, "_CPPv44rollRK5arrayRK5Shapei14StreamOrDevice", "roll::axis"], [0, 1, 1, "_CPPv44rollRK5arrayii14StreamOrDevice", "roll::axis"], [0, 1, 1, "_CPPv44rollRK5arrayRK5Shape14StreamOrDevice", "roll::s"], [0, 1, 1, "_CPPv44rollRK5arrayRK5ShapeRKNSt6vectorIiEE14StreamOrDevice", "roll::s"], [0, 1, 1, "_CPPv44rollRK5arrayRK5Shapei14StreamOrDevice", "roll::s"], [0, 1, 1, "_CPPv44rollRK5arrayi14StreamOrDevice", "roll::s"], [0, 1, 1, "_CPPv44rollRK5arrayiRK5Shape14StreamOrDevice", "roll::s"], [0, 1, 1, "_CPPv44rollRK5arrayii14StreamOrDevice", "roll::s"], [0, 1, 1, "_CPPv44rollRK5arrayRK5Shape14StreamOrDevice", "roll::shift"], [0, 1, 1, "_CPPv44rollRK5arrayRK5ShapeRKNSt6vectorIiEE14StreamOrDevice", "roll::shift"], [0, 1, 1, "_CPPv44rollRK5arrayRK5Shapei14StreamOrDevice", "roll::shift"], [0, 1, 1, "_CPPv44rollRK5arrayi14StreamOrDevice", "roll::shift"], [0, 1, 1, "_CPPv44rollRK5arrayiRK5Shape14StreamOrDevice", "roll::shift"], [0, 1, 1, "_CPPv44rollRK5arrayii14StreamOrDevice", "roll::shift"], [0, 0, 1, "_CPPv45roundRK5array14StreamOrDevice", "round"], [0, 0, 1, "_CPPv45roundRK5arrayi14StreamOrDevice", "round"], [0, 1, 1, "_CPPv45roundRK5array14StreamOrDevice", "round::a"], [0, 1, 1, "_CPPv45roundRK5arrayi14StreamOrDevice", "round::a"], [0, 1, 1, "_CPPv45roundRK5arrayi14StreamOrDevice", "round::decimals"], [0, 1, 1, "_CPPv45roundRK5array14StreamOrDevice", "round::s"], [0, 1, 1, "_CPPv45roundRK5arrayi14StreamOrDevice", "round::s"], [0, 0, 1, "_CPPv45rsqrtRK5array14StreamOrDevice", "rsqrt"], [0, 1, 1, "_CPPv45rsqrtRK5array14StreamOrDevice", "rsqrt::a"], [0, 1, 1, "_CPPv45rsqrtRK5array14StreamOrDevice", "rsqrt::s"], [0, 0, 1, "_CPPv47scatterRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter"], [0, 0, 1, "_CPPv47scatterRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter"], [0, 1, 1, "_CPPv47scatterRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter::a"], [0, 1, 1, "_CPPv47scatterRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter::a"], [0, 1, 1, "_CPPv47scatterRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter::axes"], [0, 1, 1, "_CPPv47scatterRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter::axis"], [0, 1, 1, "_CPPv47scatterRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter::indices"], [0, 1, 1, "_CPPv47scatterRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter::indices"], [0, 1, 1, "_CPPv47scatterRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter::s"], [0, 1, 1, "_CPPv47scatterRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter::s"], [0, 1, 1, "_CPPv47scatterRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter::updates"], [0, 1, 1, "_CPPv47scatterRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter::updates"], [0, 0, 1, "_CPPv411scatter_addRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_add"], [0, 0, 1, "_CPPv411scatter_addRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_add"], [0, 1, 1, "_CPPv411scatter_addRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_add::a"], [0, 1, 1, "_CPPv411scatter_addRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_add::a"], [0, 1, 1, "_CPPv411scatter_addRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_add::axes"], [0, 1, 1, "_CPPv411scatter_addRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_add::axis"], [0, 1, 1, "_CPPv411scatter_addRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_add::indices"], [0, 1, 1, "_CPPv411scatter_addRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_add::indices"], [0, 1, 1, "_CPPv411scatter_addRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_add::s"], [0, 1, 1, "_CPPv411scatter_addRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_add::s"], [0, 1, 1, "_CPPv411scatter_addRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_add::updates"], [0, 1, 1, "_CPPv411scatter_addRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_add::updates"], [0, 0, 1, "_CPPv411scatter_maxRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_max"], [0, 0, 1, "_CPPv411scatter_maxRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_max"], [0, 1, 1, "_CPPv411scatter_maxRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_max::a"], [0, 1, 1, "_CPPv411scatter_maxRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_max::a"], [0, 1, 1, "_CPPv411scatter_maxRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_max::axes"], [0, 1, 1, "_CPPv411scatter_maxRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_max::axis"], [0, 1, 1, "_CPPv411scatter_maxRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_max::indices"], [0, 1, 1, "_CPPv411scatter_maxRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_max::indices"], [0, 1, 1, "_CPPv411scatter_maxRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_max::s"], [0, 1, 1, "_CPPv411scatter_maxRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_max::s"], [0, 1, 1, "_CPPv411scatter_maxRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_max::updates"], [0, 1, 1, "_CPPv411scatter_maxRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_max::updates"], [0, 0, 1, "_CPPv411scatter_minRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_min"], [0, 0, 1, "_CPPv411scatter_minRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_min"], [0, 1, 1, "_CPPv411scatter_minRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_min::a"], [0, 1, 1, "_CPPv411scatter_minRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_min::a"], [0, 1, 1, "_CPPv411scatter_minRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_min::axes"], [0, 1, 1, "_CPPv411scatter_minRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_min::axis"], [0, 1, 1, "_CPPv411scatter_minRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_min::indices"], [0, 1, 1, "_CPPv411scatter_minRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_min::indices"], [0, 1, 1, "_CPPv411scatter_minRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_min::s"], [0, 1, 1, "_CPPv411scatter_minRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_min::s"], [0, 1, 1, "_CPPv411scatter_minRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_min::updates"], [0, 1, 1, "_CPPv411scatter_minRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_min::updates"], [0, 0, 1, "_CPPv412scatter_prodRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_prod"], [0, 0, 1, "_CPPv412scatter_prodRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_prod"], [0, 1, 1, "_CPPv412scatter_prodRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_prod::a"], [0, 1, 1, "_CPPv412scatter_prodRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_prod::a"], [0, 1, 1, "_CPPv412scatter_prodRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_prod::axes"], [0, 1, 1, "_CPPv412scatter_prodRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_prod::axis"], [0, 1, 1, "_CPPv412scatter_prodRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_prod::indices"], [0, 1, 1, "_CPPv412scatter_prodRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_prod::indices"], [0, 1, 1, "_CPPv412scatter_prodRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_prod::s"], [0, 1, 1, "_CPPv412scatter_prodRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_prod::s"], [0, 1, 1, "_CPPv412scatter_prodRK5arrayRK5arrayRK5arrayi14StreamOrDevice", "scatter_prod::updates"], [0, 1, 1, "_CPPv412scatter_prodRK5arrayRKNSt6vectorI5arrayEERK5arrayRKNSt6vectorIiEE14StreamOrDevice", "scatter_prod::updates"], [0, 0, 1, "_CPPv47sigmoidRK5array14StreamOrDevice", "sigmoid"], [0, 1, 1, "_CPPv47sigmoidRK5array14StreamOrDevice", "sigmoid::a"], [0, 1, 1, "_CPPv47sigmoidRK5array14StreamOrDevice", "sigmoid::s"], [0, 0, 1, "_CPPv44signRK5array14StreamOrDevice", "sign"], [0, 1, 1, "_CPPv44signRK5array14StreamOrDevice", "sign::a"], [0, 1, 1, "_CPPv44signRK5array14StreamOrDevice", "sign::s"], [0, 0, 1, "_CPPv43sinRK5array14StreamOrDevice", "sin"], [0, 1, 1, "_CPPv43sinRK5array14StreamOrDevice", "sin::a"], [0, 1, 1, "_CPPv43sinRK5array14StreamOrDevice", "sin::s"], [0, 0, 1, "_CPPv44sinhRK5array14StreamOrDevice", "sinh"], [0, 1, 1, "_CPPv44sinhRK5array14StreamOrDevice", "sinh::a"], [0, 1, 1, "_CPPv44sinhRK5array14StreamOrDevice", "sinh::s"], [0, 0, 1, "_CPPv45sliceRK5array5Shape5Shape14StreamOrDevice", "slice"], [0, 0, 1, "_CPPv45sliceRK5array5Shape5Shape5Shape14StreamOrDevice", "slice"], [0, 1, 1, "_CPPv45sliceRK5array5Shape5Shape14StreamOrDevice", "slice::a"], [0, 1, 1, "_CPPv45sliceRK5array5Shape5Shape5Shape14StreamOrDevice", "slice::a"], [0, 1, 1, "_CPPv45sliceRK5array5Shape5Shape14StreamOrDevice", "slice::s"], [0, 1, 1, "_CPPv45sliceRK5array5Shape5Shape5Shape14StreamOrDevice", "slice::s"], [0, 1, 1, "_CPPv45sliceRK5array5Shape5Shape14StreamOrDevice", "slice::start"], [0, 1, 1, "_CPPv45sliceRK5array5Shape5Shape5Shape14StreamOrDevice", "slice::start"], [0, 1, 1, "_CPPv45sliceRK5array5Shape5Shape14StreamOrDevice", "slice::stop"], [0, 1, 1, "_CPPv45sliceRK5array5Shape5Shape5Shape14StreamOrDevice", "slice::stop"], [0, 1, 1, "_CPPv45sliceRK5array5Shape5Shape5Shape14StreamOrDevice", "slice::strides"], [0, 0, 1, "_CPPv412slice_updateRK5arrayRK5array5Shape5Shape14StreamOrDevice", "slice_update"], [0, 0, 1, "_CPPv412slice_updateRK5arrayRK5array5Shape5Shape5Shape14StreamOrDevice", "slice_update"], [0, 1, 1, "_CPPv412slice_updateRK5arrayRK5array5Shape5Shape14StreamOrDevice", "slice_update::s"], [0, 1, 1, "_CPPv412slice_updateRK5arrayRK5array5Shape5Shape5Shape14StreamOrDevice", "slice_update::s"], [0, 1, 1, "_CPPv412slice_updateRK5arrayRK5array5Shape5Shape14StreamOrDevice", "slice_update::src"], [0, 1, 1, "_CPPv412slice_updateRK5arrayRK5array5Shape5Shape5Shape14StreamOrDevice", "slice_update::src"], [0, 1, 1, "_CPPv412slice_updateRK5arrayRK5array5Shape5Shape14StreamOrDevice", "slice_update::start"], [0, 1, 1, "_CPPv412slice_updateRK5arrayRK5array5Shape5Shape5Shape14StreamOrDevice", "slice_update::start"], [0, 1, 1, "_CPPv412slice_updateRK5arrayRK5array5Shape5Shape14StreamOrDevice", "slice_update::stop"], [0, 1, 1, "_CPPv412slice_updateRK5arrayRK5array5Shape5Shape5Shape14StreamOrDevice", "slice_update::stop"], [0, 1, 1, "_CPPv412slice_updateRK5arrayRK5array5Shape5Shape5Shape14StreamOrDevice", "slice_update::strides"], [0, 1, 1, "_CPPv412slice_updateRK5arrayRK5array5Shape5Shape14StreamOrDevice", "slice_update::update"], [0, 1, 1, "_CPPv412slice_updateRK5arrayRK5array5Shape5Shape5Shape14StreamOrDevice", "slice_update::update"], [0, 0, 1, "_CPPv47softmaxRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "softmax"], [0, 0, 1, "_CPPv47softmaxRK5arrayb14StreamOrDevice", "softmax"], [0, 0, 1, "_CPPv47softmaxRK5arrayib14StreamOrDevice", "softmax"], [0, 1, 1, "_CPPv47softmaxRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "softmax::a"], [0, 1, 1, "_CPPv47softmaxRK5arrayb14StreamOrDevice", "softmax::a"], [0, 1, 1, "_CPPv47softmaxRK5arrayib14StreamOrDevice", "softmax::a"], [0, 1, 1, "_CPPv47softmaxRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "softmax::axes"], [0, 1, 1, "_CPPv47softmaxRK5arrayib14StreamOrDevice", "softmax::axis"], [0, 1, 1, "_CPPv47softmaxRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "softmax::precise"], [0, 1, 1, "_CPPv47softmaxRK5arrayb14StreamOrDevice", "softmax::precise"], [0, 1, 1, "_CPPv47softmaxRK5arrayib14StreamOrDevice", "softmax::precise"], [0, 1, 1, "_CPPv47softmaxRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "softmax::s"], [0, 1, 1, "_CPPv47softmaxRK5arrayb14StreamOrDevice", "softmax::s"], [0, 1, 1, "_CPPv47softmaxRK5arrayib14StreamOrDevice", "softmax::s"], [0, 0, 1, "_CPPv44sortRK5array14StreamOrDevice", "sort"], [0, 0, 1, "_CPPv44sortRK5arrayi14StreamOrDevice", "sort"], [0, 1, 1, "_CPPv44sortRK5array14StreamOrDevice", "sort::a"], [0, 1, 1, "_CPPv44sortRK5arrayi14StreamOrDevice", "sort::a"], [0, 1, 1, "_CPPv44sortRK5arrayi14StreamOrDevice", "sort::axis"], [0, 1, 1, "_CPPv44sortRK5array14StreamOrDevice", "sort::s"], [0, 1, 1, "_CPPv44sortRK5arrayi14StreamOrDevice", "sort::s"], [0, 0, 1, "_CPPv45splitRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "split"], [0, 0, 1, "_CPPv45splitRK5arrayRKNSt6vectorIiEEi14StreamOrDevice", "split"], [0, 0, 1, "_CPPv45splitRK5arrayi14StreamOrDevice", "split"], [0, 0, 1, "_CPPv45splitRK5arrayii14StreamOrDevice", "split"], [0, 1, 1, "_CPPv45splitRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "split::a"], [0, 1, 1, "_CPPv45splitRK5arrayRKNSt6vectorIiEEi14StreamOrDevice", "split::a"], [0, 1, 1, "_CPPv45splitRK5arrayi14StreamOrDevice", "split::a"], [0, 1, 1, "_CPPv45splitRK5arrayii14StreamOrDevice", "split::a"], [0, 1, 1, "_CPPv45splitRK5arrayRKNSt6vectorIiEEi14StreamOrDevice", "split::axis"], [0, 1, 1, "_CPPv45splitRK5arrayii14StreamOrDevice", "split::axis"], [0, 1, 1, "_CPPv45splitRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "split::indices"], [0, 1, 1, "_CPPv45splitRK5arrayRKNSt6vectorIiEEi14StreamOrDevice", "split::indices"], [0, 1, 1, "_CPPv45splitRK5arrayi14StreamOrDevice", "split::num_splits"], [0, 1, 1, "_CPPv45splitRK5arrayii14StreamOrDevice", "split::num_splits"], [0, 1, 1, "_CPPv45splitRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "split::s"], [0, 1, 1, "_CPPv45splitRK5arrayRKNSt6vectorIiEEi14StreamOrDevice", "split::s"], [0, 1, 1, "_CPPv45splitRK5arrayi14StreamOrDevice", "split::s"], [0, 1, 1, "_CPPv45splitRK5arrayii14StreamOrDevice", "split::s"], [0, 0, 1, "_CPPv44sqrtRK5array14StreamOrDevice", "sqrt"], [0, 1, 1, "_CPPv44sqrtRK5array14StreamOrDevice", "sqrt::a"], [0, 1, 1, "_CPPv44sqrtRK5array14StreamOrDevice", "sqrt::s"], [0, 0, 1, "_CPPv46squareRK5array14StreamOrDevice", "square"], [0, 1, 1, "_CPPv46squareRK5array14StreamOrDevice", "square::a"], [0, 1, 1, "_CPPv46squareRK5array14StreamOrDevice", "square::s"], [0, 0, 1, "_CPPv47squeezeRK5array14StreamOrDevice", "squeeze"], [0, 0, 1, "_CPPv47squeezeRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "squeeze"], [0, 0, 1, "_CPPv47squeezeRK5arrayi14StreamOrDevice", "squeeze"], [0, 1, 1, "_CPPv47squeezeRK5array14StreamOrDevice", "squeeze::a"], [0, 1, 1, "_CPPv47squeezeRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "squeeze::a"], [0, 1, 1, "_CPPv47squeezeRK5arrayi14StreamOrDevice", "squeeze::a"], [0, 1, 1, "_CPPv47squeezeRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "squeeze::axes"], [0, 1, 1, "_CPPv47squeezeRK5arrayi14StreamOrDevice", "squeeze::axis"], [0, 1, 1, "_CPPv47squeezeRK5array14StreamOrDevice", "squeeze::s"], [0, 1, 1, "_CPPv47squeezeRK5arrayRKNSt6vectorIiEE14StreamOrDevice", "squeeze::s"], [0, 1, 1, "_CPPv47squeezeRK5arrayi14StreamOrDevice", "squeeze::s"], [0, 0, 1, "_CPPv45stackRKNSt6vectorI5arrayEE14StreamOrDevice", "stack"], [0, 0, 1, "_CPPv45stackRKNSt6vectorI5arrayEEi14StreamOrDevice", "stack"], [0, 1, 1, "_CPPv45stackRKNSt6vectorI5arrayEE14StreamOrDevice", "stack::arrays"], [0, 1, 1, "_CPPv45stackRKNSt6vectorI5arrayEEi14StreamOrDevice", "stack::arrays"], [0, 1, 1, "_CPPv45stackRKNSt6vectorI5arrayEEi14StreamOrDevice", "stack::axis"], [0, 1, 1, "_CPPv45stackRKNSt6vectorI5arrayEE14StreamOrDevice", "stack::s"], [0, 1, 1, "_CPPv45stackRKNSt6vectorI5arrayEEi14StreamOrDevice", "stack::s"], [0, 0, 1, "_CPPv4StRK5array14StreamOrDevice", "std"], [0, 0, 1, "_CPPv4StRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", "std"], [0, 0, 1, "_CPPv4StRK5arraybi14StreamOrDevice", "std"], [0, 0, 1, "_CPPv4StRK5arrayibi14StreamOrDevice", "std"], [0, 1, 1, "_CPPv4StRK5array14StreamOrDevice", "std::a"], [0, 1, 1, "_CPPv4StRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", "std::a"], [0, 1, 1, "_CPPv4StRK5arraybi14StreamOrDevice", "std::a"], [0, 1, 1, "_CPPv4StRK5arrayibi14StreamOrDevice", "std::a"], [0, 1, 1, "_CPPv4StRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", "std::axes"], [0, 1, 1, "_CPPv4StRK5arrayibi14StreamOrDevice", "std::axis"], [0, 1, 1, "_CPPv4StRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", "std::ddof"], [0, 1, 1, "_CPPv4StRK5arraybi14StreamOrDevice", "std::ddof"], [0, 1, 1, "_CPPv4StRK5arrayibi14StreamOrDevice", "std::ddof"], [0, 1, 1, "_CPPv4StRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", "std::keepdims"], [0, 1, 1, "_CPPv4StRK5arraybi14StreamOrDevice", "std::keepdims"], [0, 1, 1, "_CPPv4StRK5arrayibi14StreamOrDevice", "std::keepdims"], [0, 1, 1, "_CPPv4StRK5array14StreamOrDevice", "std::s"], [0, 1, 1, "_CPPv4StRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", "std::s"], [0, 1, 1, "_CPPv4StRK5arraybi14StreamOrDevice", "std::s"], [0, 1, 1, "_CPPv4StRK5arrayibi14StreamOrDevice", "std::s"], [0, 0, 1, "_CPPv413stop_gradientRK5array14StreamOrDevice", "stop_gradient"], [0, 1, 1, "_CPPv413stop_gradientRK5array14StreamOrDevice", "stop_gradient::a"], [0, 1, 1, "_CPPv413stop_gradientRK5array14StreamOrDevice", "stop_gradient::s"], [0, 0, 1, "_CPPv48subtractRK5arrayRK5array14StreamOrDevice", "subtract"], [0, 1, 1, "_CPPv48subtractRK5arrayRK5array14StreamOrDevice", "subtract::a"], [0, 1, 1, "_CPPv48subtractRK5arrayRK5array14StreamOrDevice", "subtract::b"], [0, 1, 1, "_CPPv48subtractRK5arrayRK5array14StreamOrDevice", "subtract::s"], [0, 0, 1, "_CPPv43sumRK5array14StreamOrDevice", "sum"], [0, 0, 1, "_CPPv43sumRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "sum"], [0, 0, 1, "_CPPv43sumRK5arrayb14StreamOrDevice", "sum"], [0, 0, 1, "_CPPv43sumRK5arrayib14StreamOrDevice", "sum"], [0, 1, 1, "_CPPv43sumRK5array14StreamOrDevice", "sum::a"], [0, 1, 1, "_CPPv43sumRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "sum::a"], [0, 1, 1, "_CPPv43sumRK5arrayb14StreamOrDevice", "sum::a"], [0, 1, 1, "_CPPv43sumRK5arrayib14StreamOrDevice", "sum::a"], [0, 1, 1, "_CPPv43sumRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "sum::axes"], [0, 1, 1, "_CPPv43sumRK5arrayib14StreamOrDevice", "sum::axis"], [0, 1, 1, "_CPPv43sumRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "sum::keepdims"], [0, 1, 1, "_CPPv43sumRK5arrayb14StreamOrDevice", "sum::keepdims"], [0, 1, 1, "_CPPv43sumRK5arrayib14StreamOrDevice", "sum::keepdims"], [0, 1, 1, "_CPPv43sumRK5array14StreamOrDevice", "sum::s"], [0, 1, 1, "_CPPv43sumRK5arrayRKNSt6vectorIiEEb14StreamOrDevice", "sum::s"], [0, 1, 1, "_CPPv43sumRK5arrayb14StreamOrDevice", "sum::s"], [0, 1, 1, "_CPPv43sumRK5arrayib14StreamOrDevice", "sum::s"], [0, 0, 1, "_CPPv48swapaxesRK5arrayii14StreamOrDevice", "swapaxes"], [0, 1, 1, "_CPPv48swapaxesRK5arrayii14StreamOrDevice", "swapaxes::a"], [0, 1, 1, "_CPPv48swapaxesRK5arrayii14StreamOrDevice", "swapaxes::axis1"], [0, 1, 1, "_CPPv48swapaxesRK5arrayii14StreamOrDevice", "swapaxes::axis2"], [0, 1, 1, "_CPPv48swapaxesRK5arrayii14StreamOrDevice", "swapaxes::s"], [0, 0, 1, "_CPPv44takeRK5arrayRK5array14StreamOrDevice", "take"], [0, 0, 1, "_CPPv44takeRK5arrayRK5arrayi14StreamOrDevice", "take"], [0, 0, 1, "_CPPv44takeRK5arrayi14StreamOrDevice", "take"], [0, 0, 1, "_CPPv44takeRK5arrayii14StreamOrDevice", "take"], [0, 1, 1, "_CPPv44takeRK5arrayRK5array14StreamOrDevice", "take::a"], [0, 1, 1, "_CPPv44takeRK5arrayRK5arrayi14StreamOrDevice", "take::a"], [0, 1, 1, "_CPPv44takeRK5arrayi14StreamOrDevice", "take::a"], [0, 1, 1, "_CPPv44takeRK5arrayii14StreamOrDevice", "take::a"], [0, 1, 1, "_CPPv44takeRK5arrayRK5arrayi14StreamOrDevice", "take::axis"], [0, 1, 1, "_CPPv44takeRK5arrayii14StreamOrDevice", "take::axis"], [0, 1, 1, "_CPPv44takeRK5arrayi14StreamOrDevice", "take::index"], [0, 1, 1, "_CPPv44takeRK5arrayii14StreamOrDevice", "take::index"], [0, 1, 1, "_CPPv44takeRK5arrayRK5array14StreamOrDevice", "take::indices"], [0, 1, 1, "_CPPv44takeRK5arrayRK5arrayi14StreamOrDevice", "take::indices"], [0, 1, 1, "_CPPv44takeRK5arrayRK5array14StreamOrDevice", "take::s"], [0, 1, 1, "_CPPv44takeRK5arrayRK5arrayi14StreamOrDevice", "take::s"], [0, 1, 1, "_CPPv44takeRK5arrayi14StreamOrDevice", "take::s"], [0, 1, 1, "_CPPv44takeRK5arrayii14StreamOrDevice", "take::s"], [0, 0, 1, "_CPPv415take_along_axisRK5arrayRK5arrayi14StreamOrDevice", "take_along_axis"], [0, 1, 1, "_CPPv415take_along_axisRK5arrayRK5arrayi14StreamOrDevice", "take_along_axis::a"], [0, 1, 1, "_CPPv415take_along_axisRK5arrayRK5arrayi14StreamOrDevice", "take_along_axis::axis"], [0, 1, 1, "_CPPv415take_along_axisRK5arrayRK5arrayi14StreamOrDevice", "take_along_axis::indices"], [0, 1, 1, "_CPPv415take_along_axisRK5arrayRK5arrayi14StreamOrDevice", "take_along_axis::s"], [0, 0, 1, "_CPPv43tanRK5array14StreamOrDevice", "tan"], [0, 1, 1, "_CPPv43tanRK5array14StreamOrDevice", "tan::a"], [0, 1, 1, "_CPPv43tanRK5array14StreamOrDevice", "tan::s"], [0, 0, 1, "_CPPv44tanhRK5array14StreamOrDevice", "tanh"], [0, 1, 1, "_CPPv44tanhRK5array14StreamOrDevice", "tanh::a"], [0, 1, 1, "_CPPv44tanhRK5array14StreamOrDevice", "tanh::s"], [0, 0, 1, "_CPPv49tensordotRK5arrayRK5arrayKi14StreamOrDevice", "tensordot"], [0, 0, 1, "_CPPv49tensordotRK5arrayRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice", "tensordot"], [0, 1, 1, "_CPPv49tensordotRK5arrayRK5arrayKi14StreamOrDevice", "tensordot::a"], [0, 1, 1, "_CPPv49tensordotRK5arrayRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice", "tensordot::a"], [0, 1, 1, "_CPPv49tensordotRK5arrayRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice", "tensordot::axes_a"], [0, 1, 1, "_CPPv49tensordotRK5arrayRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice", "tensordot::axes_b"], [0, 1, 1, "_CPPv49tensordotRK5arrayRK5arrayKi14StreamOrDevice", "tensordot::axis"], [0, 1, 1, "_CPPv49tensordotRK5arrayRK5arrayKi14StreamOrDevice", "tensordot::b"], [0, 1, 1, "_CPPv49tensordotRK5arrayRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice", "tensordot::b"], [0, 1, 1, "_CPPv49tensordotRK5arrayRK5arrayKi14StreamOrDevice", "tensordot::s"], [0, 1, 1, "_CPPv49tensordotRK5arrayRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice", "tensordot::s"], [0, 0, 1, "_CPPv44tileRK5arrayNSt6vectorIiEE14StreamOrDevice", "tile"], [0, 1, 1, "_CPPv44tileRK5arrayNSt6vectorIiEE14StreamOrDevice", "tile::arr"], [0, 1, 1, "_CPPv44tileRK5arrayNSt6vectorIiEE14StreamOrDevice", "tile::reps"], [0, 1, 1, "_CPPv44tileRK5arrayNSt6vectorIiEE14StreamOrDevice", "tile::s"], [0, 0, 1, "_CPPv44topkRK5arrayi14StreamOrDevice", "topk"], [0, 0, 1, "_CPPv44topkRK5arrayii14StreamOrDevice", "topk"], [0, 1, 1, "_CPPv44topkRK5arrayi14StreamOrDevice", "topk::a"], [0, 1, 1, "_CPPv44topkRK5arrayii14StreamOrDevice", "topk::a"], [0, 1, 1, "_CPPv44topkRK5arrayii14StreamOrDevice", "topk::axis"], [0, 1, 1, "_CPPv44topkRK5arrayi14StreamOrDevice", "topk::k"], [0, 1, 1, "_CPPv44topkRK5arrayii14StreamOrDevice", "topk::k"], [0, 1, 1, "_CPPv44topkRK5arrayi14StreamOrDevice", "topk::s"], [0, 1, 1, "_CPPv44topkRK5arrayii14StreamOrDevice", "topk::s"], [0, 0, 1, "_CPPv45traceRK5array14StreamOrDevice", "trace"], [0, 0, 1, "_CPPv45traceRK5arrayiii14StreamOrDevice", "trace"], [0, 0, 1, "_CPPv45traceRK5arrayiii5Dtype14StreamOrDevice", "trace"], [0, 1, 1, "_CPPv45traceRK5array14StreamOrDevice", "trace::a"], [0, 1, 1, "_CPPv45traceRK5arrayiii14StreamOrDevice", "trace::a"], [0, 1, 1, "_CPPv45traceRK5arrayiii5Dtype14StreamOrDevice", "trace::a"], [0, 1, 1, "_CPPv45traceRK5arrayiii14StreamOrDevice", "trace::axis1"], [0, 1, 1, "_CPPv45traceRK5arrayiii5Dtype14StreamOrDevice", "trace::axis1"], [0, 1, 1, "_CPPv45traceRK5arrayiii14StreamOrDevice", "trace::axis2"], [0, 1, 1, "_CPPv45traceRK5arrayiii5Dtype14StreamOrDevice", "trace::axis2"], [0, 1, 1, "_CPPv45traceRK5arrayiii5Dtype14StreamOrDevice", "trace::dtype"], [0, 1, 1, "_CPPv45traceRK5arrayiii14StreamOrDevice", "trace::offset"], [0, 1, 1, "_CPPv45traceRK5arrayiii5Dtype14StreamOrDevice", "trace::offset"], [0, 1, 1, "_CPPv45traceRK5array14StreamOrDevice", "trace::s"], [0, 1, 1, "_CPPv45traceRK5arrayiii14StreamOrDevice", "trace::s"], [0, 1, 1, "_CPPv45traceRK5arrayiii5Dtype14StreamOrDevice", "trace::s"], [0, 0, 1, "_CPPv49transposeRK5array14StreamOrDevice", "transpose"], [0, 0, 1, "_CPPv49transposeRK5arrayNSt16initializer_listIiEE14StreamOrDevice", "transpose"], [0, 0, 1, "_CPPv49transposeRK5arrayNSt6vectorIiEE14StreamOrDevice", "transpose"], [0, 1, 1, "_CPPv49transposeRK5array14StreamOrDevice", "transpose::a"], [0, 1, 1, "_CPPv49transposeRK5arrayNSt16initializer_listIiEE14StreamOrDevice", "transpose::a"], [0, 1, 1, "_CPPv49transposeRK5arrayNSt6vectorIiEE14StreamOrDevice", "transpose::a"], [0, 1, 1, "_CPPv49transposeRK5arrayNSt16initializer_listIiEE14StreamOrDevice", "transpose::axes"], [0, 1, 1, "_CPPv49transposeRK5arrayNSt6vectorIiEE14StreamOrDevice", "transpose::axes"], [0, 1, 1, "_CPPv49transposeRK5array14StreamOrDevice", "transpose::s"], [0, 1, 1, "_CPPv49transposeRK5arrayNSt16initializer_listIiEE14StreamOrDevice", "transpose::s"], [0, 1, 1, "_CPPv49transposeRK5arrayNSt6vectorIiEE14StreamOrDevice", "transpose::s"], [0, 0, 1, "_CPPv43trii5Dtype14StreamOrDevice", "tri"], [0, 0, 1, "_CPPv43triiii5Dtype14StreamOrDevice", "tri"], [0, 1, 1, "_CPPv43triiii5Dtype14StreamOrDevice", "tri::k"], [0, 1, 1, "_CPPv43triiii5Dtype14StreamOrDevice", "tri::m"], [0, 1, 1, "_CPPv43trii5Dtype14StreamOrDevice", "tri::n"], [0, 1, 1, "_CPPv43triiii5Dtype14StreamOrDevice", "tri::n"], [0, 1, 1, "_CPPv43trii5Dtype14StreamOrDevice", "tri::s"], [0, 1, 1, "_CPPv43triiii5Dtype14StreamOrDevice", "tri::s"], [0, 1, 1, "_CPPv43trii5Dtype14StreamOrDevice", "tri::type"], [0, 1, 1, "_CPPv43triiii5Dtype14StreamOrDevice", "tri::type"], [0, 0, 1, "_CPPv44tril5arrayi14StreamOrDevice", "tril"], [0, 1, 1, "_CPPv44tril5arrayi14StreamOrDevice", "tril::k"], [0, 1, 1, "_CPPv44tril5arrayi14StreamOrDevice", "tril::s"], [0, 1, 1, "_CPPv44tril5arrayi14StreamOrDevice", "tril::x"], [0, 0, 1, "_CPPv44triu5arrayi14StreamOrDevice", "triu"], [0, 1, 1, "_CPPv44triu5arrayi14StreamOrDevice", "triu::k"], [0, 1, 1, "_CPPv44triu5arrayi14StreamOrDevice", "triu::s"], [0, 1, 1, "_CPPv44triu5arrayi14StreamOrDevice", "triu::x"], [0, 0, 1, "_CPPv43varRK5array14StreamOrDevice", "var"], [0, 0, 1, "_CPPv43varRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", "var"], [0, 0, 1, "_CPPv43varRK5arraybi14StreamOrDevice", "var"], [0, 0, 1, "_CPPv43varRK5arrayibi14StreamOrDevice", "var"], [0, 1, 1, "_CPPv43varRK5array14StreamOrDevice", "var::a"], [0, 1, 1, "_CPPv43varRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", "var::a"], [0, 1, 1, "_CPPv43varRK5arraybi14StreamOrDevice", "var::a"], [0, 1, 1, "_CPPv43varRK5arrayibi14StreamOrDevice", "var::a"], [0, 1, 1, "_CPPv43varRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", "var::axes"], [0, 1, 1, "_CPPv43varRK5arrayibi14StreamOrDevice", "var::axis"], [0, 1, 1, "_CPPv43varRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", "var::ddof"], [0, 1, 1, "_CPPv43varRK5arraybi14StreamOrDevice", "var::ddof"], [0, 1, 1, "_CPPv43varRK5arrayibi14StreamOrDevice", "var::ddof"], [0, 1, 1, "_CPPv43varRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", "var::keepdims"], [0, 1, 1, "_CPPv43varRK5arraybi14StreamOrDevice", "var::keepdims"], [0, 1, 1, "_CPPv43varRK5arrayibi14StreamOrDevice", "var::keepdims"], [0, 1, 1, "_CPPv43varRK5array14StreamOrDevice", "var::s"], [0, 1, 1, "_CPPv43varRK5arrayRKNSt6vectorIiEEbi14StreamOrDevice", "var::s"], [0, 1, 1, "_CPPv43varRK5arraybi14StreamOrDevice", "var::s"], [0, 1, 1, "_CPPv43varRK5arrayibi14StreamOrDevice", "var::s"], [0, 0, 1, "_CPPv44viewRK5arrayRK5Dtype14StreamOrDevice", "view"], [0, 1, 1, "_CPPv44viewRK5arrayRK5Dtype14StreamOrDevice", "view::a"], [0, 1, 1, "_CPPv44viewRK5arrayRK5Dtype14StreamOrDevice", "view::dtype"], [0, 1, 1, "_CPPv44viewRK5arrayRK5Dtype14StreamOrDevice", "view::s"], [0, 0, 1, "_CPPv45whereRK5arrayRK5arrayRK5array14StreamOrDevice", "where"], [0, 1, 1, "_CPPv45whereRK5arrayRK5arrayRK5array14StreamOrDevice", "where::condition"], [0, 1, 1, "_CPPv45whereRK5arrayRK5arrayRK5array14StreamOrDevice", "where::s"], [0, 1, 1, "_CPPv45whereRK5arrayRK5arrayRK5array14StreamOrDevice", "where::x"], [0, 1, 1, "_CPPv45whereRK5arrayRK5arrayRK5array14StreamOrDevice", "where::y"], [0, 0, 1, "_CPPv45zerosRK5Shape14StreamOrDevice", "zeros"], [0, 0, 1, "_CPPv45zerosRK5Shape5Dtype14StreamOrDevice", "zeros"], [0, 1, 1, "_CPPv45zerosRK5Shape5Dtype14StreamOrDevice", "zeros::dtype"], [0, 1, 1, "_CPPv45zerosRK5Shape14StreamOrDevice", "zeros::s"], [0, 1, 1, "_CPPv45zerosRK5Shape5Dtype14StreamOrDevice", "zeros::s"], [0, 1, 1, "_CPPv45zerosRK5Shape14StreamOrDevice", "zeros::shape"], [0, 1, 1, "_CPPv45zerosRK5Shape5Dtype14StreamOrDevice", "zeros::shape"], [0, 0, 1, "_CPPv410zeros_likeRK5array14StreamOrDevice", "zeros_like"], [0, 1, 1, "_CPPv410zeros_likeRK5array14StreamOrDevice", "zeros_like::a"], [0, 1, 1, "_CPPv410zeros_likeRK5array14StreamOrDevice", "zeros_like::s"]], "mlx.core": [[9, 3, 1, "", "Device"], [10, 3, 1, "", "Dtype"], [11, 3, 1, "", "DtypeCategory"], [314, 3, 1, "", "Stream"], [12, 5, 1, "", "abs"], [13, 5, 1, "", "add"], [14, 5, 1, "", "addmm"], [15, 5, 1, "", "all"], [16, 5, 1, "", "allclose"], [17, 5, 1, "", "any"], [18, 5, 1, "", "arange"], [19, 5, 1, "", "arccos"], [20, 5, 1, "", "arccosh"], [21, 5, 1, "", "arcsin"], [22, 5, 1, "", "arcsinh"], [23, 5, 1, "", "arctan"], [24, 5, 1, "", "arctan2"], [25, 5, 1, "", "arctanh"], [26, 5, 1, "", "argmax"], [27, 5, 1, "", "argmin"], [28, 5, 1, "", "argpartition"], [29, 5, 1, "", "argsort"], [30, 3, 1, "", "array"], [82, 5, 1, "", "array_equal"], [83, 5, 1, "", "as_strided"], [84, 5, 1, "", "atleast_1d"], [85, 5, 1, "", "atleast_2d"], [86, 5, 1, "", "atleast_3d"], [87, 5, 1, "", "bitwise_and"], [88, 5, 1, "", "bitwise_or"], [89, 5, 1, "", "bitwise_xor"], [90, 5, 1, "", "block_masked_mm"], [91, 5, 1, "", "broadcast_to"], [92, 5, 1, "", "ceil"], [93, 5, 1, "", "clip"], [94, 5, 1, "", "compile"], [95, 5, 1, "", "concatenate"], [96, 5, 1, "", "conj"], [97, 5, 1, "", "conjugate"], [98, 5, 1, "", "conv1d"], [99, 5, 1, "", "conv2d"], [100, 5, 1, "", "conv3d"], [101, 5, 1, "", "conv_general"], [102, 5, 1, "", "conv_transpose1d"], [103, 5, 1, "", "conv_transpose2d"], [104, 5, 1, "", "conv_transpose3d"], [105, 5, 1, "", "convolve"], [106, 5, 1, "", "cos"], [107, 5, 1, "", "cosh"], [108, 5, 1, "", "cummax"], [109, 5, 1, "", "cummin"], [110, 5, 1, "", "cumprod"], [111, 5, 1, "", "cumsum"], [112, 3, 1, "", "custom_function"], [113, 5, 1, "", "default_device"], [114, 5, 1, "", "default_stream"], [115, 5, 1, "", "degrees"], [116, 5, 1, "", "dequantize"], [117, 5, 1, "", "diag"], [118, 5, 1, "", "diagonal"], [119, 5, 1, "", "disable_compile"], [128, 5, 1, "", "divide"], [129, 5, 1, "", "divmod"], [130, 5, 1, "", "einsum"], [131, 5, 1, "", "einsum_path"], [132, 5, 1, "", "enable_compile"], [133, 5, 1, "", "equal"], [134, 5, 1, "", "erf"], [135, 5, 1, "", "erfinv"], [136, 5, 1, "", "eval"], [137, 5, 1, "", "exp"], [138, 5, 1, "", "expand_dims"], [139, 5, 1, "", "expm1"], [140, 5, 1, "", "eye"], [158, 5, 1, "", "flatten"], [159, 5, 1, "", "floor"], [160, 5, 1, "", "floor_divide"], [161, 5, 1, "", "full"], [162, 5, 1, "", "gather_mm"], [163, 5, 1, "", "gather_qmm"], [164, 5, 1, "", "grad"], [165, 5, 1, "", "greater"], [166, 5, 1, "", "greater_equal"], [167, 5, 1, "", "hadamard_transform"], [168, 5, 1, "", "identity"], [169, 5, 1, "", "imag"], [170, 5, 1, "", "inner"], [171, 5, 1, "", "isclose"], [172, 5, 1, "", "isfinite"], [173, 5, 1, "", "isinf"], [174, 5, 1, "", "isnan"], [175, 5, 1, "", "isneginf"], [176, 5, 1, "", "isposinf"], [177, 5, 1, "", "issubdtype"], [178, 5, 1, "", "jvp"], [179, 5, 1, "", "left_shift"], [180, 5, 1, "", "less"], [181, 5, 1, "", "less_equal"], [192, 5, 1, "", "linspace"], [193, 5, 1, "", "load"], [194, 5, 1, "", "log"], [195, 5, 1, "", "log10"], [196, 5, 1, "", "log1p"], [197, 5, 1, "", "log2"], [198, 5, 1, "", "logaddexp"], [199, 5, 1, "", "logical_and"], [200, 5, 1, "", "logical_not"], [201, 5, 1, "", "logical_or"], [202, 5, 1, "", "logsumexp"], [203, 5, 1, "", "matmul"], [204, 5, 1, "", "max"], [205, 5, 1, "", "maximum"], [206, 5, 1, "", "mean"], [207, 5, 1, "", "meshgrid"], [220, 5, 1, "", "min"], [221, 5, 1, "", "minimum"], [222, 5, 1, "", "moveaxis"], [223, 5, 1, "", "multiply"], [224, 5, 1, "", "nan_to_num"], [225, 5, 1, "", "negative"], [226, 5, 1, "", "new_stream"], [227, 5, 1, "", "not_equal"], [228, 5, 1, "", "ones"], [229, 5, 1, "", "ones_like"], [230, 5, 1, "", "outer"], [231, 5, 1, "", "pad"], [232, 5, 1, "", "partition"], [233, 5, 1, "", "power"], [234, 5, 1, "", "prod"], [235, 5, 1, "", "put_along_axis"], [236, 5, 1, "", "quantize"], [237, 5, 1, "", "quantized_matmul"], [238, 5, 1, "", "radians"], [252, 5, 1, "", "real"], [253, 5, 1, "", "reciprocal"], [254, 5, 1, "", "remainder"], [255, 5, 1, "", "repeat"], [256, 5, 1, "", "reshape"], [257, 5, 1, "", "right_shift"], [258, 5, 1, "", "roll"], [259, 5, 1, "", "round"], [260, 5, 1, "", "rsqrt"], [261, 5, 1, "", "save"], [262, 5, 1, "", "save_gguf"], [263, 5, 1, "", "save_safetensors"], [264, 5, 1, "", "savez"], [265, 5, 1, "", "savez_compressed"], [266, 5, 1, "", "set_default_device"], [267, 5, 1, "", "set_default_stream"], [268, 5, 1, "", "sigmoid"], [269, 5, 1, "", "sign"], [270, 5, 1, "", "sin"], [271, 5, 1, "", "sinh"], [272, 5, 1, "", "softmax"], [273, 5, 1, "", "sort"], [274, 5, 1, "", "split"], [275, 5, 1, "", "sqrt"], [276, 5, 1, "", "square"], [277, 5, 1, "", "squeeze"], [278, 5, 1, "", "stack"], [279, 5, 1, "", "std"], [280, 5, 1, "", "stop_gradient"], [281, 5, 1, "", "stream"], [282, 5, 1, "", "subtract"], [283, 5, 1, "", "sum"], [284, 5, 1, "", "swapaxes"], [285, 5, 1, "", "synchronize"], [286, 5, 1, "", "take"], [287, 5, 1, "", "take_along_axis"], [288, 5, 1, "", "tan"], [289, 5, 1, "", "tanh"], [290, 5, 1, "", "tensordot"], [291, 5, 1, "", "tile"], [292, 5, 1, "", "topk"], [293, 5, 1, "", "trace"], [294, 5, 1, "", "transpose"], [295, 5, 1, "", "tri"], [296, 5, 1, "", "tril"], [297, 5, 1, "", "triu"], [298, 5, 1, "", "value_and_grad"], [299, 5, 1, "", "var"], [300, 5, 1, "", "view"], [301, 5, 1, "", "vjp"], [302, 5, 1, "", "vmap"], [303, 5, 1, "", "where"], [304, 5, 1, "", "zeros"], [305, 5, 1, "", "zeros_like"]], "mlx.core.Device": [[9, 4, 1, "", "__init__"]], "mlx.core.Dtype": [[10, 4, 1, "", "__init__"]], "mlx.core.DtypeCategory": [[11, 4, 1, "", "__init__"]], "mlx.core.Stream": [[314, 4, 1, "", "__init__"]], "mlx.core.array": [[31, 6, 1, "", "T"], [30, 4, 1, "", "__init__"], [32, 4, 1, "", "abs"], [33, 4, 1, "", "all"], [34, 4, 1, "", "any"], [35, 4, 1, "", "argmax"], [36, 4, 1, "", "argmin"], [37, 4, 1, "", "astype"], [38, 6, 1, "", "at"], [39, 4, 1, "", "conj"], [40, 4, 1, "", "cos"], [41, 4, 1, "", "cummax"], [42, 4, 1, "", "cummin"], [43, 4, 1, "", "cumprod"], [44, 4, 1, "", "cumsum"], [45, 4, 1, "", "diag"], [46, 4, 1, "", "diagonal"], [47, 6, 1, "", "dtype"], [48, 4, 1, "", "exp"], [49, 4, 1, "", "flatten"], [50, 4, 1, "", "item"], [51, 6, 1, "", "itemsize"], [52, 4, 1, "", "log"], [53, 4, 1, "", "log10"], [54, 4, 1, "", "log1p"], [55, 4, 1, "", "log2"], [56, 4, 1, "", "logsumexp"], [57, 4, 1, "", "max"], [58, 4, 1, "", "mean"], [59, 4, 1, "", "min"], [60, 4, 1, "", "moveaxis"], [61, 6, 1, "", "nbytes"], [62, 6, 1, "", "ndim"], [63, 4, 1, "", "prod"], [64, 4, 1, "", "reciprocal"], [65, 4, 1, "", "reshape"], [66, 4, 1, "", "round"], [67, 4, 1, "", "rsqrt"], [68, 6, 1, "", "shape"], [69, 4, 1, "", "sin"], [70, 6, 1, "", "size"], [71, 4, 1, "", "split"], [72, 4, 1, "", "sqrt"], [73, 4, 1, "", "square"], [74, 4, 1, "", "squeeze"], [75, 4, 1, "", "std"], [76, 4, 1, "", "sum"], [77, 4, 1, "", "swapaxes"], [78, 4, 1, "", "tolist"], [79, 4, 1, "", "transpose"], [80, 4, 1, "", "var"], [81, 4, 1, "", "view"]], "mlx.core.custom_function": [[112, 4, 1, "", "__init__"]], "mlx.core.distributed": [[120, 3, 1, "", "Group"], [121, 5, 1, "", "all_gather"], [122, 5, 1, "", "all_sum"], [123, 5, 1, "", "init"], [124, 5, 1, "", "is_available"], [125, 5, 1, "", "recv"], [126, 5, 1, "", "recv_like"], [127, 5, 1, "", "send"]], "mlx.core.distributed.Group": [[120, 4, 1, "", "__init__"]], "mlx.core.fast": [[141, 5, 1, "", "layer_norm"], [142, 5, 1, "", "metal_kernel"], [143, 5, 1, "", "rms_norm"], [144, 5, 1, "", "rope"], [145, 5, 1, "", "scaled_dot_product_attention"]], "mlx.core.fft": [[146, 5, 1, "", "fft"], [147, 5, 1, "", "fft2"], [148, 5, 1, "", "fftn"], [149, 5, 1, "", "ifft"], [150, 5, 1, "", "ifft2"], [151, 5, 1, "", "ifftn"], [152, 5, 1, "", "irfft"], [153, 5, 1, "", "irfft2"], [154, 5, 1, "", "irfftn"], [155, 5, 1, "", "rfft"], [156, 5, 1, "", "rfft2"], [157, 5, 1, "", "rfftn"]], "mlx.core.linalg": [[182, 5, 1, "", "cholesky"], [183, 5, 1, "", "cholesky_inv"], [184, 5, 1, "", "cross"], [185, 5, 1, "", "eigh"], [186, 5, 1, "", "eigvalsh"], [187, 5, 1, "", "inv"], [188, 5, 1, "", "norm"], [189, 5, 1, "", "qr"], [190, 5, 1, "", "svd"], [191, 5, 1, "", "tri_inv"]], "mlx.core.metal": [[208, 5, 1, "", "clear_cache"], [209, 5, 1, "", "device_info"], [210, 5, 1, "", "get_active_memory"], [211, 5, 1, "", "get_cache_memory"], [212, 5, 1, "", "get_peak_memory"], [213, 5, 1, "", "is_available"], [214, 5, 1, "", "reset_peak_memory"], [215, 5, 1, "", "set_cache_limit"], [216, 5, 1, "", "set_memory_limit"], [217, 5, 1, "", "set_wired_limit"], [218, 5, 1, "", "start_capture"], [219, 5, 1, "", "stop_capture"]], "mlx.core.random": [[239, 5, 1, "", "bernoulli"], [240, 5, 1, "", "categorical"], [241, 5, 1, "", "gumbel"], [242, 5, 1, "", "key"], [243, 5, 1, "", "laplace"], [244, 5, 1, "", "multivariate_normal"], [245, 5, 1, "", "normal"], [246, 5, 1, "", "permutation"], [247, 5, 1, "", "randint"], [248, 5, 1, "", "seed"], [249, 5, 1, "", "split"], [250, 5, 1, "", "truncated_normal"], [251, 5, 1, "", "uniform"]], "mlx.nn": [[324, 3, 1, "", "ALiBi"], [325, 3, 1, "", "AvgPool1d"], [326, 3, 1, "", "AvgPool2d"], [327, 3, 1, "", "AvgPool3d"], [328, 3, 1, "", "BatchNorm"], [329, 3, 1, "", "CELU"], [330, 3, 1, "", "Conv1d"], [331, 3, 1, "", "Conv2d"], [332, 3, 1, "", "Conv3d"], [333, 3, 1, "", "ConvTranspose1d"], [334, 3, 1, "", "ConvTranspose2d"], [335, 3, 1, "", "ConvTranspose3d"], [336, 3, 1, "", "Dropout"], [337, 3, 1, "", "Dropout2d"], [338, 3, 1, "", "Dropout3d"], [339, 3, 1, "", "ELU"], [340, 3, 1, "", "Embedding"], [341, 3, 1, "", "GELU"], [342, 3, 1, "", "GLU"], [343, 3, 1, "", "GRU"], [344, 3, 1, "", "GroupNorm"], [345, 3, 1, "", "HardShrink"], [346, 3, 1, "", "HardTanh"], [347, 3, 1, "", "Hardswish"], [348, 3, 1, "", "InstanceNorm"], [349, 3, 1, "", "LSTM"], [350, 3, 1, "", "LayerNorm"], [351, 3, 1, "", "LeakyReLU"], [352, 3, 1, "", "Linear"], [353, 3, 1, "", "LogSigmoid"], [354, 3, 1, "", "LogSoftmax"], [355, 3, 1, "", "MaxPool1d"], [356, 3, 1, "", "MaxPool2d"], [357, 3, 1, "", "MaxPool3d"], [358, 3, 1, "", "Mish"], [453, 3, 1, "", "Module"], [379, 3, 1, "", "MultiHeadAttention"], [380, 3, 1, "", "PReLU"], [381, 3, 1, "", "QuantizedEmbedding"], [382, 3, 1, "", "QuantizedLinear"], [383, 3, 1, "", "RMSNorm"], [384, 3, 1, "", "RNN"], [385, 3, 1, "", "ReLU"], [386, 3, 1, "", "ReLU6"], [387, 3, 1, "", "RoPE"], [388, 3, 1, "", "SELU"], [389, 3, 1, "", "Sequential"], [390, 3, 1, "", "SiLU"], [391, 3, 1, "", "Sigmoid"], [392, 3, 1, "", "SinusoidalPositionalEncoding"], [393, 3, 1, "", "Softmax"], [394, 3, 1, "", "Softmin"], [395, 3, 1, "", "Softplus"], [396, 3, 1, "", "Softshrink"], [397, 3, 1, "", "Softsign"], [398, 3, 1, "", "Step"], [399, 3, 1, "", "Tanh"], [400, 3, 1, "", "Transformer"], [401, 3, 1, "", "Upsample"], [410, 3, 1, "", "celu"], [411, 3, 1, "", "elu"], [412, 3, 1, "", "gelu"], [413, 3, 1, "", "gelu_approx"], [414, 3, 1, "", "gelu_fast_approx"], [415, 3, 1, "", "glu"], [416, 3, 1, "", "hard_shrink"], [417, 3, 1, "", "hard_tanh"], [418, 3, 1, "", "hardswish"], [419, 3, 1, "", "leaky_relu"], [420, 3, 1, "", "log_sigmoid"], [421, 3, 1, "", "log_softmax"], [436, 3, 1, "", "mish"], [437, 3, 1, "", "prelu"], [306, 5, 1, "", "quantize"], [438, 3, 1, "", "relu"], [439, 3, 1, "", "relu6"], [440, 3, 1, "", "selu"], [441, 3, 1, "", "sigmoid"], [442, 3, 1, "", "silu"], [443, 3, 1, "", "softmax"], [444, 3, 1, "", "softmin"], [445, 3, 1, "", "softplus"], [446, 3, 1, "", "softshrink"], [447, 3, 1, "", "step"], [448, 3, 1, "", "tanh"], [307, 5, 1, "", "value_and_grad"]], "mlx.nn.Module": [[359, 4, 1, "", "apply"], [360, 4, 1, "", "apply_to_modules"], [361, 4, 1, "", "children"], [362, 4, 1, "", "eval"], [363, 4, 1, "", "filter_and_map"], [364, 4, 1, "", "freeze"], [365, 4, 1, "", "leaf_modules"], [366, 4, 1, "", "load_weights"], [367, 4, 1, "", "modules"], [368, 4, 1, "", "named_modules"], [369, 4, 1, "", "parameters"], [370, 4, 1, "", "save_weights"], [371, 4, 1, "", "set_dtype"], [372, 6, 1, "", "state"], [373, 4, 1, "", "train"], [374, 4, 1, "", "trainable_parameters"], [375, 6, 1, "", "training"], [376, 4, 1, "", "unfreeze"], [377, 4, 1, "", "update"], [378, 4, 1, "", "update_modules"]], "mlx.nn.init": [[402, 5, 1, "", "constant"], [403, 5, 1, "", "glorot_normal"], [404, 5, 1, "", "glorot_uniform"], [405, 5, 1, "", "he_normal"], [406, 5, 1, "", "he_uniform"], [407, 5, 1, "", "identity"], [408, 5, 1, "", "normal"], [409, 5, 1, "", "uniform"]], "mlx.nn.losses": [[422, 3, 1, "", "binary_cross_entropy"], [423, 3, 1, "", "cosine_similarity_loss"], [424, 3, 1, "", "cross_entropy"], [425, 3, 1, "", "gaussian_nll_loss"], [426, 3, 1, "", "hinge_loss"], [427, 3, 1, "", "huber_loss"], [428, 3, 1, "", "kl_div_loss"], [429, 3, 1, "", "l1_loss"], [430, 3, 1, "", "log_cosh_loss"], [431, 3, 1, "", "margin_ranking_loss"], [432, 3, 1, "", "mse_loss"], [433, 3, 1, "", "nll_loss"], [434, 3, 1, "", "smooth_l1_loss"], [435, 3, 1, "", "triplet_loss"]], "mlx.optimizers": [[456, 3, 1, "", "AdaDelta"], [457, 3, 1, "", "Adafactor"], [458, 3, 1, "", "Adagrad"], [459, 3, 1, "", "Adam"], [460, 3, 1, "", "AdamW"], [461, 3, 1, "", "Adamax"], [462, 3, 1, "", "Lion"], [475, 3, 1, "", "Optimizer"], [467, 3, 1, "", "RMSprop"], [468, 3, 1, "", "SGD"], [308, 5, 1, "", "clip_grad_norm"], [469, 5, 1, "", "cosine_decay"], [470, 5, 1, "", "exponential_decay"], [471, 5, 1, "", "join_schedules"], [472, 5, 1, "", "linear_schedule"], [473, 5, 1, "", "step_decay"]], "mlx.optimizers.Optimizer": [[463, 4, 1, "", "apply_gradients"], [464, 4, 1, "", "init"], [465, 6, 1, "", "state"], [466, 4, 1, "", "update"]], "mlx.utils": [[309, 5, 1, "", "tree_flatten"], [310, 5, 1, "", "tree_map"], [311, 5, 1, "", "tree_map_with_path"], [312, 5, 1, "", "tree_reduce"], [313, 5, 1, "", "tree_unflatten"]]}, "objnames": {"0": ["cpp", "function", "C++ function"], "1": ["cpp", "functionParam", "C++ function parameter"], "2": ["cpp", "templateParam", "C++ template parameter"], "3": ["py", "class", "Python class"], "4": ["py", "method", "Python method"], "5": ["py", "function", "Python function"], "6": ["py", "property", "Python property"]}, "objtypes": {"0": "cpp:function", "1": "cpp:functionParam", "2": "cpp:templateParam", "3": "py:class", "4": "py:method", "5": "py:function", "6": "py:property"}, "terms": {"": [0, 1, 2, 4, 5, 6, 47, 51, 62, 94, 114, 116, 147, 148, 150, 151, 153, 154, 156, 157, 164, 183, 188, 190, 193, 206, 230, 236, 240, 259, 262, 263, 279, 281, 298, 299, 300, 302, 307, 323, 326, 327, 343, 349, 356, 357, 363, 364, 366, 370, 371, 372, 376, 384, 455, 464, 465, 477, 480, 482, 485, 486, 487, 488], "0": [0, 1, 2, 4, 5, 6, 8, 9, 14, 18, 38, 45, 46, 49, 66, 71, 75, 80, 83, 95, 98, 99, 100, 101, 102, 103, 104, 117, 118, 140, 142, 145, 158, 162, 164, 185, 187, 188, 189, 191, 208, 215, 217, 224, 231, 239, 243, 245, 246, 251, 255, 259, 274, 278, 279, 293, 295, 296, 297, 298, 299, 302, 308, 309, 311, 312, 323, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 341, 344, 345, 348, 350, 351, 355, 356, 357, 380, 385, 387, 392, 396, 398, 400, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 413, 414, 416, 417, 418, 419, 422, 424, 426, 427, 431, 434, 435, 437, 438, 439, 440, 446, 447, 450, 453, 456, 457, 459, 460, 461, 462, 464, 467, 468, 469, 470, 471, 472, 473, 477, 480, 481, 482, 483, 484, 485, 486, 487], "00005": 4, "0001": 392, "0005": 413, "001": 457, "00364": 4, "01": [4, 351, 419, 460], "0137595": 405, "015": 414, "0184009": 406, "02264": 404, "024": 482, "02765": 405, "0300242": 406, "044715": [341, 413], "0485873": 424, "05": [16, 171, 328, 344, 348, 350, 383], "0507": 440, "05202": 5, "06": [425, 435, 456], "0638": 431, "06450": 350, "0645099": 408, "06561": 470, "06675": 462, "07467": 383, "08": [16, 171, 423, 458, 459, 460, 461, 467], "08022": 348, "081": 473, "08415": 414, "08494": 344, "08619": 406, "08681": [358, 436], "09864": 5, "0999938": 471, "0999961": 469, "0f": 0, "1": [0, 1, 2, 3, 5, 6, 14, 18, 28, 29, 38, 46, 49, 98, 99, 100, 101, 102, 103, 104, 117, 118, 139, 142, 145, 146, 147, 149, 150, 152, 153, 154, 155, 156, 157, 158, 167, 170, 177, 183, 184, 185, 186, 188, 189, 203, 207, 216, 230, 232, 236, 240, 243, 244, 245, 251, 268, 273, 286, 292, 293, 298, 308, 311, 312, 316, 323, 325, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 341, 342, 343, 344, 348, 349, 350, 352, 355, 380, 383, 384, 387, 391, 392, 398, 401, 403, 404, 405, 406, 407, 408, 409, 410, 411, 413, 414, 415, 417, 420, 421, 422, 423, 424, 425, 426, 427, 428, 430, 431, 433, 434, 435, 440, 441, 443, 444, 445, 447, 450, 453, 455, 456, 457, 458, 459, 460, 461, 462, 464, 467, 468, 469, 470, 471, 472, 473, 480, 481, 482, 483, 485, 486, 487, 488], "10": [0, 3, 5, 6, 195, 259, 264, 310, 323, 366, 450, 471, 473, 480, 481, 483], "100": [2, 4, 5, 422, 472, 480, 482, 484, 488], "1000": [469, 480], "10000": 387, "101": 472, "1024": [1, 5], "105361": 422, "109": 2, "10_000": 4, "10x": 462, "11": 188, "114": 2, "12": [5, 167, 471], "1212": 456, "12451": 404, "128": [264, 323], "13": 8, "14": 8, "15": [1, 8, 188, 217, 312, 480], "150594": 403, "15268": 405, "16": [1, 142, 316, 325, 327, 348, 355, 357, 359, 453], "1606": 414, "1607": [348, 350], "16384": 167, "16506": 406, "17": 8, "177208": 405, "1803": 344, "1908": [358, 436], "1910": 383, "191107": 403, "1985": 188, "1_000": 4, "1d": [0, 98, 102, 105, 262, 287], "1e": [0, 4, 6, 16, 171, 328, 344, 348, 350, 351, 383, 423, 425, 435, 455, 456, 457, 458, 459, 460, 461, 464, 467, 469, 470, 471, 472, 473], "1e3": 480, "1st": 236, "2": [0, 1, 2, 4, 5, 6, 38, 99, 103, 117, 118, 134, 147, 150, 152, 153, 154, 155, 156, 157, 158, 167, 177, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 197, 203, 236, 244, 249, 290, 293, 295, 296, 297, 308, 312, 316, 323, 325, 326, 327, 331, 334, 341, 351, 355, 356, 357, 383, 392, 401, 402, 403, 404, 405, 406, 407, 408, 409, 413, 424, 425, 427, 434, 435, 450, 453, 455, 456, 458, 459, 460, 464, 467, 480, 481, 482, 483, 484, 485, 486, 487, 488], "20": [167, 188], "200": [5, 471, 482], "2002": 5, "2011": 458, "2012": [456, 467], "2015": [337, 459, 461], "2019": [5, 460], "2020": 5, "2021": 5, "20397": 422, "20_000": 5, "21": [5, 473], "2104": 5, "223144": 422, "223404": 404, "225": 188, "225763": 431, "2302": 462, "23607": [188, 189], "24": 8, "24264": 188, "247": 5, "25": [380, 401], "25211": 405, "256": [1, 2, 6, 142], "256995": 431, "28": 167, "2d": [0, 99, 103, 118, 236, 328, 337], "2nd": 236, "2x": 485, "3": [0, 1, 2, 5, 8, 100, 104, 158, 177, 184, 185, 186, 188, 189, 308, 312, 327, 332, 335, 341, 357, 401, 404, 406, 413, 418, 457, 462, 477, 480, 483, 485, 486], "30": 457, "3118": 485, "32": [1, 5, 6, 90, 236, 237, 316, 326, 327, 356, 357, 383, 480], "330": 5, "33333": 401, "348587": 424, "363207": 403, "36788": 480, "379159": 404, "380709": 408, "39": 5, "3d": [0, 2, 100, 104, 328, 338, 401], "3f": [2, 6, 480], "3x": 2, "4": [0, 1, 2, 5, 116, 142, 145, 158, 163, 188, 236, 237, 264, 306, 312, 316, 325, 326, 327, 328, 348, 355, 356, 357, 381, 382, 400, 401, 403, 404, 405, 422, 480, 481, 483, 486, 488], "4096": [480, 482, 488], "40x": 1, "41421": 188, "417497": 409, "42": 313, "437": 5, "44": 5, "447214": 189, "458835": 405, "475": 5, "48095": 403, "4d": [1, 401], "4m": 1, "5": [0, 1, 2, 4, 5, 8, 188, 216, 239, 312, 325, 328, 336, 337, 338, 341, 345, 348, 355, 396, 401, 402, 405, 406, 413, 416, 434, 446, 450, 455, 467, 469, 470, 480, 482, 483], "50": [0, 192], "500": [5, 488], "5000": 2, "510826": 422, "512": [2, 3, 5, 400, 488], "534422": 408, "539245": 422, "53947": 403, "55": 1, "5701": 456, "573409": 431, "57771": 189, "579": 5, "5f": 4, "6": [1, 2, 5, 188, 264, 386, 400, 404, 413, 414, 418, 425, 435, 439, 467, 480, 483, 486], "61278": 403, "617261": 409, "628": 5, "633": 5, "639": 482, "64": [0, 1, 90, 116, 163, 236, 237, 306, 316, 381, 382], "64331": 406, "666329": 406, "66667": 401, "67326": 440, "676": 1, "690": 5, "6967": 405, "7": [2, 5, 188, 236, 483], "702": [341, 414], "707107": 185, "71828": 480, "74166": 188, "74597": 188, "75": 401, "75596": 431, "75787": 405, "765166": 431, "773433": 431, "776856": 404, "793615": 406, "79854": 406, "7b": 5, "7m": 1, "8": [0, 1, 2, 5, 8, 188, 236, 316, 326, 327, 348, 356, 357, 400, 423, 456, 457, 458, 459, 460, 461, 467, 480, 483, 486, 488], "8192": [5, 167], "84804": 188, "863726": 409, "883935": 409, "890597": 404, "894427": 189, "89613": 403, "8gb": 5, "8x": 1, "9": [8, 188, 424, 456, 459, 460, 461, 462, 464, 470, 473, 485], "90041": 404, "912766": 404, "916291": 422, "95": 6, "982273": 408, "99": [462, 467], "995016": 403, "999": [459, 460, 461], "A": [0, 2, 5, 7, 8, 9, 68, 82, 94, 141, 142, 143, 145, 164, 177, 178, 183, 185, 186, 188, 189, 190, 193, 202, 203, 204, 209, 220, 236, 239, 240, 241, 243, 244, 245, 246, 247, 250, 251, 274, 278, 281, 298, 301, 302, 306, 307, 308, 309, 310, 311, 312, 313, 314, 323, 328, 337, 343, 344, 348, 350, 363, 367, 368, 371, 377, 378, 383, 389, 392, 400, 403, 404, 406, 414, 435, 436, 453, 455, 459, 461, 463, 464, 466, 471, 480, 481, 482, 484, 485], "AS": 162, "And": [5, 401], "As": [6, 38, 286, 323], "At": 93, "But": 488, "By": [5, 306, 371, 422, 482, 485], "For": [0, 1, 2, 5, 8, 38, 145, 162, 177, 188, 236, 313, 323, 328, 337, 341, 359, 364, 373, 376, 382, 387, 392, 401, 403, 404, 405, 406, 422, 450, 455, 477, 480, 481, 482, 483, 484, 485, 486, 487, 488], "If": [0, 1, 2, 5, 8, 15, 16, 17, 18, 26, 27, 28, 29, 78, 82, 83, 93, 95, 105, 108, 109, 110, 111, 117, 118, 121, 122, 123, 125, 126, 127, 136, 141, 144, 155, 156, 157, 160, 161, 164, 171, 182, 183, 184, 188, 193, 202, 203, 204, 206, 207, 215, 216, 220, 224, 228, 231, 232, 234, 235, 240, 244, 246, 255, 258, 272, 273, 274, 279, 283, 285, 286, 287, 290, 292, 293, 298, 299, 302, 304, 306, 310, 312, 328, 330, 331, 332, 333, 334, 335, 344, 350, 352, 364, 366, 376, 382, 384, 387, 389, 392, 401, 422, 424, 435, 457, 459, 460, 480, 481, 482, 484, 487, 488, 489], "In": [0, 1, 2, 5, 6, 38, 145, 203, 236, 310, 323, 337, 344, 453, 456, 458, 459, 461, 462, 463, 479, 480, 481, 482, 484, 487, 488], "It": [2, 5, 8, 126, 164, 267, 298, 308, 312, 323, 378, 382, 463, 475, 485, 487], "Its": 323, "No": [2, 5, 185, 186], "Not": [94, 227, 480], "ON": [3, 8], "Of": 482, "On": [1, 480, 482, 484], "One": [146, 149, 155, 231, 260, 480, 482], "THE": 8, "That": 5, "The": [0, 1, 2, 3, 5, 6, 7, 8, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 37, 47, 51, 61, 62, 68, 78, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 115, 116, 117, 118, 121, 122, 123, 125, 126, 127, 128, 129, 130, 131, 133, 134, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 178, 179, 180, 181, 184, 185, 186, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 211, 212, 215, 216, 217, 218, 220, 221, 222, 223, 225, 227, 228, 229, 230, 231, 232, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 262, 263, 268, 269, 270, 271, 272, 273, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 316, 318, 325, 326, 327, 328, 330, 331, 332, 333, 334, 335, 336, 337, 338, 340, 342, 343, 344, 348, 349, 350, 352, 355, 356, 357, 359, 360, 364, 366, 370, 371, 372, 373, 376, 377, 378, 379, 381, 382, 383, 384, 387, 389, 392, 398, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 415, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 447, 450, 453, 455, 456, 457, 458, 459, 460, 461, 462, 465, 467, 468, 469, 472, 475, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489], "Then": [4, 8], "There": [1, 2, 323, 401, 480], "These": [1, 2, 94, 235, 287, 424, 488], "To": [0, 2, 3, 4, 5, 6, 8, 215, 323, 450, 455, 480, 481, 482, 486], "With": 2, "_": [1, 3, 4, 5, 311, 323, 469, 470, 471, 472, 473, 477, 480, 484, 488], "__call__": [1, 5, 6, 323, 453], "__init__": [2, 5, 6, 9, 10, 11, 30, 112, 120, 314, 323, 453], "__main__": [2, 5], "__name__": [2, 5], "_a": 2, "_ext": 2, "_f": 188, "_in": [403, 404], "_out": [403, 404], "_p": 435, "_val": 417, "a1": 162, "a2": 162, "a_": 188, "a_max": [0, 93], "a_min": [0, 93], "a_ndim": 1, "a_shap": 1, "a_strid": 1, "a_view": 485, "ab": [0, 16, 171, 188, 298, 344, 348, 350, 358, 383, 414, 436, 480], "abil": 481, "abl": [2, 236], "about": [1, 2, 5, 6, 131, 209, 484, 488], "abov": [1, 2, 5, 236, 296, 323, 401, 481, 482, 483, 484, 488], "absolut": [0, 12, 16, 171, 413, 414, 434], "acc": 312, "acceler": [2, 328], "access": [0, 5, 50, 323, 453, 464, 481, 484, 488], "accord": [0, 241, 303, 306, 379, 403, 404, 405, 406], "accordingli": 2, "accumul": [312, 383], "accuraci": 6, "accustom": 5, "achiev": [323, 481], "across": [1, 2, 8, 344, 481], "act": [2, 430], "action": 323, "activ": [2, 8, 210, 337, 398, 400, 416, 436, 446, 447, 449, 480], "actual": [5, 18, 366, 453, 484], "ad": [0, 1, 2, 4, 8, 141, 348, 453, 456, 457, 458, 459, 460, 461, 467, 481, 484, 487], "adadelta": 455, "adafactor": 455, "adagrad": 455, "adam": [455, 461, 462, 471, 472], "adamax": 455, "adamw": [455, 462], "adapt": [456, 457, 458, 481], "add": [0, 1, 2, 3, 5, 14, 38, 138, 198, 231, 236, 330, 331, 332, 333, 334, 335, 482, 488], "add_argu": 5, "add_depend": 2, "add_librari": 2, "addit": [0, 2, 5, 8, 13, 14, 141, 143, 145, 193, 328, 344, 350, 379, 383, 453, 482], "addmm": 0, "address": 2, "adjac": 337, "advanc": [5, 480], "advantag": 488, "advis": 485, "affin": [328, 344, 348, 350, 352, 382], "after": [2, 5, 6, 28, 158, 160, 163, 208, 232, 236, 328, 344, 350, 359, 360, 364, 366, 373, 376, 377, 378, 379, 400, 434, 480, 488], "after_1": 231, "after_2": 231, "after_i": 231, "after_n": 231, "afternoon": 5, "again": [5, 8, 323, 480], "against": 0, "aggreg": 379, "ago": 5, "ai": 112, "ainv": [187, 191], "albeit": 488, "algebra": 7, "algorithm": [401, 462], "alia": [96, 97, 341], "alibi": 323, "align": [183, 236, 343, 349], "align_corn": 401, "all": [0, 1, 2, 3, 6, 8, 16, 28, 38, 84, 85, 86, 94, 99, 100, 101, 103, 104, 112, 121, 122, 123, 140, 148, 151, 154, 157, 162, 163, 190, 203, 231, 232, 258, 277, 306, 323, 359, 360, 364, 367, 368, 369, 374, 376, 379, 392, 400, 401, 450, 453, 475, 477, 480, 483, 484, 486, 489], "all_avg": 481, "all_reduce_grad": 481, "all_sum": 481, "allclos": [0, 1, 142], "alloc": [2, 211, 215, 216, 453], "allow": [0, 1, 2, 177, 308, 323, 378, 453, 475, 481, 483, 486], "allow_col_major": 0, "almost": 5, "alon": [2, 485], "along": [0, 2, 26, 27, 94, 95, 108, 109, 110, 111, 121, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 162, 163, 167, 184, 188, 235, 246, 255, 258, 272, 274, 278, 286, 287, 290, 291, 292, 293, 300, 323, 342, 384, 415], "alpha": [0, 2, 14, 236, 329, 339, 410, 411, 435, 437, 440, 460, 467], "alpha_": 2, "alreadi": [2, 3, 5, 481], "also": [0, 1, 2, 5, 6, 7, 8, 11, 13, 87, 88, 89, 119, 128, 129, 133, 148, 151, 154, 157, 165, 166, 179, 180, 181, 198, 205, 221, 223, 227, 233, 236, 254, 257, 282, 306, 307, 318, 323, 363, 377, 379, 381, 382, 390, 412, 440, 442, 449, 455, 480, 481, 482, 483, 484, 485, 486, 489], "altern": 477, "alwai": [1, 83, 210, 309, 482], "am": 5, "among": 2, "amount": [5, 212, 325, 355], "amus": 5, "an": [0, 1, 2, 3, 5, 6, 8, 10, 15, 17, 30, 84, 85, 86, 91, 98, 99, 100, 101, 102, 103, 104, 120, 125, 126, 127, 136, 140, 141, 145, 158, 161, 168, 172, 182, 188, 193, 216, 217, 222, 228, 229, 231, 234, 235, 236, 237, 246, 255, 256, 258, 259, 274, 277, 284, 286, 287, 290, 291, 295, 302, 304, 305, 309, 310, 311, 312, 323, 336, 341, 344, 349, 350, 352, 359, 379, 380, 382, 384, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 413, 437, 450, 455, 456, 466, 470, 475, 477, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489], "anaconda": 481, "anchor": 435, "angl": [115, 238, 351], "angular": [144, 387], "ani": [0, 1, 2, 5, 7, 18, 94, 309, 310, 311, 312, 313, 323, 341, 359, 360, 363, 372, 382, 400, 401, 450, 472, 479, 480, 482, 484, 486, 487, 488], "anonym": 480, "anoth": [0, 93, 177, 203, 282, 303, 316, 323, 359, 480, 482, 483, 488], "anwywher": 8, "anyhow": 5, "anymor": 5, "anyth": [5, 298, 484], "anytim": 484, "api": [1, 2, 341, 481, 482], "app": 8, "append": [5, 203, 480, 484], "appl": [2, 5, 7, 8, 488], "appli": [0, 38, 144, 145, 162, 190, 310, 311, 312, 323, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 337, 338, 339, 341, 342, 344, 345, 346, 347, 348, 350, 351, 352, 353, 354, 355, 356, 357, 358, 360, 373, 380, 382, 383, 384, 385, 386, 388, 390, 391, 393, 394, 395, 396, 397, 398, 399, 401, 410, 411, 412, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 450, 459, 460, 463, 466, 472, 475, 480, 481], "applic": [3, 8], "apply_fn": 360, "apply_gradi": 455, "apply_to_modul": [323, 364], "approach": [430, 482], "appropri": [2, 480], "approx": 341, "approxim": [16, 341, 412, 413, 414], "ar": [0, 1, 2, 4, 5, 6, 7, 8, 16, 18, 82, 90, 91, 93, 94, 101, 105, 112, 118, 125, 126, 136, 140, 142, 145, 147, 148, 150, 151, 153, 154, 156, 157, 158, 163, 164, 171, 172, 173, 174, 175, 176, 177, 178, 185, 186, 188, 189, 193, 203, 216, 230, 231, 232, 236, 237, 239, 240, 241, 246, 247, 250, 251, 258, 264, 265, 277, 278, 286, 298, 301, 302, 306, 309, 310, 316, 328, 330, 331, 332, 333, 334, 335, 336, 337, 338, 344, 348, 350, 352, 366, 379, 382, 401, 422, 424, 425, 449, 453, 455, 462, 464, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488], "arang": [0, 1, 188, 246, 316, 401, 483, 485], "arbitrari": [309, 453], "arbitrarili": [1, 94, 323, 479, 482, 486], "arc": 0, "arcco": 0, "arccosh": 0, "architectur": [5, 8, 209, 323, 378, 488], "archiv": 487, "arcsin": 0, "arcsinh": 0, "arctan": 0, "arctan2": 0, "arctanh": 0, "arg": [2, 5, 10, 18, 120, 136, 264, 265, 314], "arg1": 177, "arg2": 177, "argmax": [0, 6], "argmin": 0, "argnam": [164, 298], "argnum": [2, 164, 298, 482], "argpars": 5, "argpartit": 0, "argsort": 0, "argument": [1, 31, 65, 79, 94, 136, 164, 298, 310, 311, 312, 323, 401, 477, 481, 482, 487, 488, 489], "argumentpars": 5, "ari": [84, 85, 86], "aris": 485, "arm": 8, "arm64": 8, "around": 5, "arr": [0, 261, 483], "arr_0": 487, "arrai": [0, 1, 2, 5, 6, 7, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 115, 116, 117, 118, 121, 122, 125, 126, 127, 128, 129, 130, 131, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 220, 221, 222, 223, 224, 225, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 282, 283, 284, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 308, 323, 328, 349, 359, 366, 369, 374, 380, 401, 402, 403, 404, 405, 406, 407, 408, 409, 415, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 447, 450, 453, 456, 457, 458, 459, 460, 461, 462, 467, 468, 469, 470, 471, 472, 473, 480, 481, 482, 484, 485, 486, 488], "array_equ": [0, 16, 171], "arrayfir": 7, "arxiv": [5, 344, 348, 350, 358, 383, 414, 436, 456, 462], "as_strid": 0, "ascend": [185, 186], "ask": [5, 481], "assert": [1, 2, 142], "assign": [0, 2, 38, 453], "associ": [2, 264, 265, 484], "assum": [0, 2, 5, 90, 184, 185, 186, 189, 310, 323, 344], "astyp": [0, 1, 2, 5, 142, 359, 485], "atleast": 0, "atleast_1d": 0, "atleast_2d": 0, "atleast_3d": 0, "atol": [0, 16, 171], "atom": [1, 142], "atomic_fetch_add_explicit": 1, "atomic_output": [1, 142], "attach": 2, "attempt": 94, "attend": 379, "attent": [145, 364, 379, 392, 400], "attention_norm": 5, "attribut": [1, 9, 10, 11, 30, 314, 372, 453, 475], "audio": 401, "auto": [0, 2, 8], "autom": 482, "automat": [1, 2, 7, 142, 193, 481, 486, 487, 488], "autoregress": 5, "avail": [2, 4, 5, 6, 8, 10, 124, 213, 318, 488], "averag": [325, 326, 327, 456, 457, 459, 460, 461, 481], "avgpool1d": 323, "avgpool2d": 323, "avgpool3d": 323, "avoid": [1, 2, 371, 480], "awai": [2, 5], "awar": [480, 484], "ax": [0, 2, 15, 17, 26, 27, 79, 112, 138, 147, 148, 150, 151, 153, 154, 156, 157, 158, 170, 188, 202, 204, 206, 220, 231, 234, 258, 272, 277, 279, 283, 284, 290, 294, 299, 482], "axes_a": 0, "axes_b": 0, "axi": [0, 2, 5, 6, 15, 17, 26, 27, 28, 29, 33, 34, 35, 36, 41, 42, 43, 44, 56, 57, 58, 59, 63, 71, 74, 75, 76, 80, 95, 108, 109, 110, 111, 118, 121, 138, 141, 143, 146, 149, 152, 153, 154, 155, 156, 157, 158, 167, 184, 188, 202, 204, 206, 220, 222, 231, 232, 234, 235, 240, 246, 255, 258, 272, 273, 274, 277, 278, 279, 283, 284, 286, 287, 291, 292, 293, 294, 299, 300, 302, 325, 326, 327, 342, 355, 356, 357, 384, 415, 421, 423, 424, 428, 433, 435, 443, 444, 483], "axis1": [0, 46, 77, 118, 284, 293], "axis2": [0, 46, 77, 118, 284, 293], "axpbi": 2, "axpby_": 2, "axpby_gener": 2, "axpby_general_": 2, "axpby_impl": 2, "axpby_impl_acceler": 2, "b": [0, 1, 2, 3, 5, 13, 14, 16, 24, 82, 87, 88, 89, 90, 128, 129, 133, 142, 145, 160, 162, 165, 166, 170, 171, 179, 180, 181, 184, 188, 198, 199, 201, 203, 205, 221, 223, 227, 230, 233, 236, 243, 254, 257, 282, 290, 298, 311, 312, 342, 352, 384, 401, 415, 482, 483, 484, 485, 486, 487, 488], "b1": 162, "b2": 162, "b_": [343, 349], "b_stride": 1, "ba": [459, 461], "back": [5, 112, 213, 485], "backend": [1, 8, 123, 124], "backward": [1, 480, 482], "bad": 484, "balanc": 430, "baltimor": 188, "bandwidth": [480, 481], "bar": 481, "base": [0, 2, 144, 188, 195, 197, 233, 387, 400, 453, 455, 461, 475, 477, 480, 483], "base_idx": 1, "basi": 475, "basic": [4, 259, 482], "batch": [5, 14, 90, 145, 162, 163, 203, 244, 328, 330, 331, 332, 333, 334, 335, 337, 338, 343, 349, 379, 384, 401, 484], "batch_idx": 1, "batch_iter": [6, 455], "batch_siz": [6, 455], "batchnorm": 323, "becaus": [5, 210, 323, 484], "been": [0, 2, 5, 211, 484], "befor": [1, 2, 5, 8, 28, 142, 232, 363, 400, 464, 481, 483, 484], "before_1": 231, "before_2": 231, "before_i": 231, "before_n": 231, "beforehand": 230, "beggin": 258, "begin": [83, 183, 212, 236, 343, 349, 398, 416, 427, 434, 440, 446, 447], "behav": 112, "behavior": [244, 430, 483, 484], "behaviour": [112, 182, 183], "behind": 482, "being": [280, 323], "bell": 2, "below": [2, 8, 188, 295, 297, 316, 401, 484], "bench": 2, "benchmark": [2, 480], "benefici": [337, 338, 484], "best": 481, "beta": [0, 2, 14, 116, 236, 328, 344, 348, 350, 434, 455, 459, 460, 461, 462], "beta_": 2, "beta_1": [457, 459, 460, 461, 462], "beta_2": [459, 460, 461, 462], "better": [482, 488], "between": [0, 2, 7, 93, 158, 400, 423, 426, 427, 430, 471, 481, 484, 485, 488], "beyond": [258, 469, 472], "bfloat16": [2, 11, 167, 316, 485], "bfloat16_t": 2, "bia": [5, 116, 141, 163, 236, 237, 310, 323, 330, 331, 332, 333, 334, 335, 343, 349, 350, 352, 364, 366, 376, 379, 382, 384, 459, 460, 461, 464, 482], "bias": [0, 116, 163, 236, 237, 343, 349, 364, 376, 379], "bias_correct": [459, 460], "bicub": 401, "big": [1, 480], "bigger": [5, 457], "bilinear": [1, 401], "binari": [193, 261, 262, 263, 264, 265, 300, 398, 422, 447, 480], "binary_cross_entropi": [323, 480], "bit": [0, 116, 163, 179, 236, 237, 257, 306, 316, 359, 381, 382, 383], "bitwis": [0, 87, 88, 89, 179, 257], "bitwise_and": 0, "bitwise_or": 0, "bitwise_xor": 0, "block": [0, 2, 5, 90, 400], "block_masked_mm": 0, "block_siz": [0, 90], "bn": 328, "bodi": [1, 142], "bool": [0, 1, 2, 15, 16, 17, 26, 27, 33, 34, 35, 36, 41, 42, 43, 44, 56, 57, 58, 59, 63, 75, 76, 78, 80, 82, 94, 101, 108, 109, 110, 111, 123, 124, 142, 144, 163, 171, 177, 182, 183, 188, 191, 193, 202, 204, 206, 207, 213, 216, 220, 234, 237, 279, 283, 299, 306, 328, 330, 331, 332, 333, 334, 335, 343, 344, 348, 349, 350, 352, 359, 363, 364, 366, 371, 373, 376, 379, 382, 384, 387, 392, 400, 401, 422, 425, 457, 459, 460, 468], "bool_": [11, 316], "boolean": [0, 16, 82, 171, 172, 173, 174, 175, 176, 177, 199, 200, 201, 316, 375, 483], "both": [1, 2, 13, 87, 88, 89, 128, 129, 133, 165, 166, 177, 179, 180, 181, 188, 198, 205, 221, 223, 227, 233, 240, 254, 257, 282, 306, 325, 326, 327, 348, 349, 355, 356, 357, 455, 480, 481, 482, 486, 488], "bottom": 401, "bound": [0, 247, 250, 251, 341, 409, 480, 483, 488], "boundari": 471, "bracket": 5, "brain": 316, "break": 485, "bregler": 337, "broadcast": [0, 2, 13, 16, 87, 88, 89, 91, 93, 128, 129, 133, 145, 161, 165, 166, 171, 179, 180, 181, 198, 203, 205, 221, 223, 227, 233, 235, 239, 240, 244, 250, 251, 254, 257, 282, 287, 303, 379], "broadcast_arrai": [0, 2], "broadcast_to": 0, "broadcasted_input": 2, "brought": 7, "btl_tcp_link": 481, "buffer": [1, 2, 210, 485], "bui": 5, "build": [3, 5, 7, 405, 453, 480], "build_ext": [2, 8], "build_shared_lib": [2, 8], "built": [1, 2, 8, 484], "bundl": 5, "byte": [51, 61, 210, 211, 212, 215, 216, 217, 316], "c": [0, 1, 2, 5, 14, 188, 328, 330, 331, 332, 333, 334, 335, 337, 338, 348, 349, 485, 486, 488], "c_": [349, 462], "c_in": [98, 99, 100, 101, 102, 103, 104], "c_out": [98, 99, 100, 101, 102, 103, 104], "c_pad": 1, "c_t": [349, 462], "cach": [5, 8, 208, 210, 211, 215, 480], "calcul": [188, 422, 425, 431, 457], "call": [2, 3, 5, 6, 31, 126, 160, 208, 212, 323, 340, 364, 376, 381, 389, 453, 455, 464, 480, 481, 482, 484], "callabl": [94, 112, 142, 164, 178, 298, 301, 302, 306, 307, 309, 310, 311, 312, 359, 360, 363, 371, 384, 389, 400, 402, 403, 404, 405, 406, 407, 408, 409, 456, 457, 458, 459, 460, 461, 462, 467, 468, 469, 470, 471, 472, 473], "can": [1, 2, 3, 5, 7, 8, 13, 18, 65, 79, 83, 87, 88, 89, 94, 118, 119, 120, 128, 129, 133, 136, 145, 165, 166, 179, 180, 181, 188, 198, 205, 217, 221, 223, 227, 233, 239, 240, 247, 250, 251, 254, 257, 262, 282, 293, 298, 312, 323, 326, 327, 340, 341, 356, 357, 363, 376, 381, 389, 401, 424, 450, 453, 455, 463, 464, 477, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489], "cannot": [5, 93, 483, 485], "captur": [2, 3, 94, 218, 219, 323, 480], "care": [5, 484], "carri": 2, "cartesian": 207, "case": [2, 5, 121, 122, 123, 125, 126, 127, 148, 151, 152, 154, 155, 156, 157, 158, 182, 183, 184, 185, 186, 187, 189, 190, 191, 203, 256, 277, 326, 327, 337, 356, 357, 398, 416, 434, 440, 446, 447, 463, 464, 480, 482, 486, 487, 488, 489], "cast": [2, 37, 155, 156, 157, 193, 359, 371, 485], "caster": 2, "categor": 5, "categori": [11, 177, 316], "catlas_saxpbi": 2, "caus": [323, 480, 484], "causal": 5, "caution": 83, "cd": [3, 8], "cdf": [241, 341, 412], "cdot": [414, 423, 426, 442], "ceil": 0, "ceildiv": 1, "cell": 349, "celu": 323, "certain": [2, 373, 480], "chang": [83, 94, 267, 300, 377, 382, 401, 427, 434, 480, 485], "channel": [1, 98, 99, 100, 101, 102, 103, 104, 328, 330, 331, 332, 333, 334, 335, 337, 338], "channel_idx": 1, "charact": 309, "check": [0, 2, 8, 82, 124, 177, 185, 186, 213, 366, 482, 483], "checklist": 481, "checkout": [3, 480], "checkpoint": [400, 455], "chen": 462, "child": 378, "children": 323, "chip": 8, "choleski": 183, "choos": [5, 144, 387], "chosen": 131, "clamp": 158, "clang": 8, "clariti": 482, "class": [2, 5, 6, 9, 10, 11, 30, 112, 120, 314, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 453, 456, 457, 458, 459, 460, 461, 462, 467, 468, 475], "class_pred": 306, "classif": [405, 406], "classifi": 6, "classmethod": [381, 382], "clear": 208, "click": 8, "clip": [0, 308, 422, 457], "clip_threshold": 457, "clipped_grad": 308, "clone": 8, "close": [4, 7, 8, 16, 171], "closer": 310, "cmake": [3, 8], "cmake_arg": 3, "cmake_build_parallel_level": 8, "cmake_build_typ": 8, "cmake_current_list_dir": 2, "cmake_host_system_processor": 8, "cmake_library_output_directori": 2, "cmakebuild": 2, "cmakeextens": 2, "cmakelist": 2, "cmdclass": 2, "co": [0, 2, 112, 392, 482], "code": [1, 142, 480, 481, 484], "coeffici": [2, 456, 457, 459, 460, 461, 462], "col": 295, "col_contigu": 2, "cold": 8, "collect": [2, 310, 311, 479], "column": [2, 140, 168, 185, 236], "com": [8, 481], "combin": [5, 190, 312], "come": [2, 5, 481, 482], "command": [2, 3, 8, 481], "command_buff": 2, "common": [2, 455, 480, 484], "commonli": [6, 377, 450, 480], "commun": [7, 120, 123, 124], "compar": [2, 82, 480], "comparison": [16, 133, 165, 166, 180, 181, 227], "compat": [5, 145, 240, 244, 341, 487], "compil": [0, 3, 7, 8, 119, 132, 142, 481, 482, 484], "compiled_fun": 480, "compiled_grad_fn": 480, "complet": [4, 5, 8, 216, 377, 378, 482, 488], "complex": [2, 96, 97, 153, 154, 155, 156, 157, 169, 185, 186, 252, 309, 316, 323, 378, 480, 482], "complex64": [2, 11, 316], "complex64_t": 2, "complexflo": 11, "compon": [2, 5], "compos": [7, 323, 480, 482, 486], "composit": 486, "compress": 265, "compromis": 5, "comput": [0, 1, 2, 4, 5, 6, 7, 8, 108, 109, 110, 111, 112, 116, 131, 139, 144, 164, 178, 182, 183, 184, 185, 186, 187, 188, 191, 198, 206, 230, 236, 254, 272, 279, 280, 290, 298, 299, 301, 307, 323, 328, 343, 344, 348, 349, 350, 364, 377, 382, 383, 387, 400, 403, 404, 405, 406, 413, 414, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 455, 456, 457, 459, 460, 461, 462, 466, 480, 481, 482, 486, 488], "computation": 484, "compute_encod": 2, "concaten": [0, 5, 121], "concept": 453, "concis": 5, "concret": [2, 343, 349, 352, 384, 484, 488], "conda": [8, 481], "condit": [0, 2, 303, 488], "config": [2, 481], "configu": 455, "configur": [116, 481], "confirm": 481, "confus": 6, "conj": 97, "conjug": [0, 96], "connect": 481, "consecut": [144, 236, 387], "consequ": 5, "consid": [5, 16, 82, 171, 309, 310, 311, 344, 479], "consider": 480, "const": [0, 1, 2, 425], "constant": [0, 2, 5, 8, 141, 143, 231, 323, 328, 344, 350, 383, 425, 435, 467, 469, 480, 485], "constant_valu": 231, "constitut": 310, "construct": [0, 2, 6, 45, 117, 161, 228, 291, 304], "consum": 484, "contain": [2, 5, 8, 28, 29, 68, 94, 118, 131, 152, 153, 154, 162, 163, 185, 188, 199, 200, 201, 236, 274, 303, 308, 323, 363, 365, 366, 372, 400, 431, 450, 453, 480, 481, 482], "content": [8, 363, 480], "context": 281, "contigu": [0, 1, 2, 83, 142], "continu": [329, 410, 482], "contract": [0, 131], "contribut": 2, "contriv": [482, 488], "control": [0, 351, 477, 484], "conv": 105, "conv1d": [0, 323], "conv2d": [0, 323], "conv3d": [0, 323], "conv_gener": 0, "conv_transpose1d": 0, "conv_transpose2d": 0, "conv_transpose3d": 0, "conveni": [1, 2, 6, 177], "convent": [18, 105, 130, 131, 401], "convers": 7, "convert": [0, 1, 2, 78, 84, 85, 86, 115, 158, 238, 381, 382, 484, 485, 486], "convolut": [0, 98, 99, 100, 101, 102, 103, 104, 105, 330, 331, 332, 333, 334, 335, 337, 338], "convolv": [98, 99, 100, 101, 102, 103, 104], "convtranspose1d": 323, "convtranspose2d": 323, "convtranspose3d": 323, "coordin": [0, 207], "copi": [0, 1, 2, 5, 7, 232, 273, 485], "copy_inplac": 2, "copytyp": 2, "core": [1, 2, 3, 4, 5, 6, 306, 323, 325, 326, 327, 328, 348, 355, 356, 357, 366, 369, 371, 374, 401, 402, 403, 404, 405, 406, 407, 408, 409, 422, 424, 431, 450, 453, 455, 480, 481, 485, 486], "corner": 401, "correct": [2, 8, 459, 460, 461, 483, 484], "correctli": 38, "correl": [101, 337], "correspond": [0, 1, 2, 15, 17, 78, 93, 116, 118, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 185, 202, 204, 220, 234, 283, 290, 302, 310, 482], "cos_first": 392, "cosh": [0, 430], "cosin": [0, 19, 20, 106, 107, 423, 469, 471, 482], "cosine_decai": [455, 471], "cosine_similarity_loss": 323, "cost": [8, 457, 481, 484], "costli": 484, "cot": 1, "cot_index": 1, "cotan": [2, 112], "cotang": [1, 2, 112, 301], "could": [5, 323], "count": [323, 471], "counter": 477, "cours": 482, "coursera": 467, "cov": 244, "covari": [244, 328], "cover": 2, "cpp": 2, "cpu": [7, 8, 185, 186, 189, 488], "cpython": 2, "crash": [83, 480], "creat": [0, 2, 5, 8, 83, 123, 140, 168, 281, 323, 453, 455, 471, 480, 483, 485], "create_additive_causal_mask": 5, "criteria": 2, "cross": [6, 101, 422, 424], "cross_entropi": [6, 323], "crowd": 5, "cry": 5, "cubic": 401, "cummax": 0, "cummin": 0, "cumprod": 0, "cumsum": 0, "cumul": [0, 83, 108, 109, 110, 111], "current": [5, 7, 8, 83, 90, 100, 103, 104, 127, 209, 211, 236, 312, 323, 457, 481, 484], "custom": [7, 112, 142, 400], "custom_decod": 400, "custom_encod": 400, "custom_funct": 1, "custom_kernel_myexp_float": 1, "custom_tim": 2, "cvpr": 337, "cycl": 479, "d": [0, 1, 2, 5, 100, 104, 117, 118, 145, 170, 188, 203, 207, 230, 286, 293, 295, 296, 297, 313, 332, 335, 338, 343, 349, 384, 456, 459, 461, 488], "d1": 488, "d2": 488, "d2fdx2": 482, "d_i": 352, "dampen": 468, "darwin": 2, "data": [0, 2, 6, 7, 10, 18, 125, 140, 155, 156, 161, 168, 192, 224, 228, 241, 250, 293, 295, 300, 304, 338, 402, 403, 404, 405, 406, 407, 408, 409, 480, 481, 483, 485], "dataset": [4, 481, 484], "datatyp": 51, "dbuild_shared_lib": 8, "dcmake_build_typ": 8, "ddof": [0, 75, 80, 279, 299], "deal": 480, "debug": [1, 3, 481], "debugg": 7, "decai": [457, 460, 462, 468, 469, 470, 473], "decay_r": [457, 470, 473], "decay_step": 469, "decent": 6, "decid": [310, 363], "decim": [0, 66, 259], "declar": 2, "decltyp": 1, "decod": 400, "decomposit": [182, 183, 190], "decor": [1, 112], "decoupl": 460, "deep": [328, 403, 404, 405, 406], "def": [1, 2, 4, 5, 6, 112, 142, 298, 323, 453, 480, 481, 482, 483, 484, 485, 488], "default": [1, 2, 8, 14, 15, 16, 17, 18, 26, 27, 28, 29, 82, 83, 90, 94, 95, 98, 99, 100, 101, 102, 103, 104, 112, 113, 114, 116, 117, 118, 121, 122, 123, 125, 126, 127, 140, 142, 144, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 162, 163, 164, 167, 168, 171, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 202, 204, 206, 207, 215, 216, 217, 220, 224, 228, 231, 232, 234, 236, 237, 239, 240, 241, 243, 244, 245, 246, 247, 249, 250, 251, 255, 256, 259, 266, 267, 273, 274, 277, 278, 279, 281, 283, 285, 290, 292, 293, 294, 295, 296, 297, 298, 299, 302, 304, 306, 316, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 339, 342, 343, 345, 348, 349, 351, 352, 355, 356, 357, 359, 364, 366, 371, 373, 376, 379, 380, 381, 382, 384, 387, 392, 396, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 415, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 453, 456, 457, 458, 459, 460, 461, 462, 467, 468, 469, 477, 479, 480, 482, 485, 487, 489], "default_devic": 489, "default_stream": 489, "defin": [1, 2, 4, 5, 6, 8, 112, 126, 142, 163, 184, 188, 237, 306, 309, 485], "definit": [112, 182, 183, 244], "degre": [0, 238, 435], "delta": [427, 456], "delv": [405, 406], "demonstr": 485, "denomin": [348, 423, 456, 458, 459, 460, 461, 467], "dens": [207, 488], "depend": [0, 2, 3, 4, 8, 78, 188, 343, 349, 384, 481, 483, 487, 488], "depth": [309, 327, 332, 335, 338, 357, 482], "dequant": [0, 236], "deriv": [2, 482, 484], "descend": 361, "descent": [468, 480, 484], "describ": [2, 484], "descript": [2, 5, 316], "design": [1, 4, 7, 477, 488], "destin": [0, 2, 60, 127, 222, 235], "destroi": 480, "detach": 482, "detail": [1, 2, 10, 215, 323, 337, 387, 392, 401, 403, 404, 405, 406, 456, 458, 459, 461, 462, 483, 486], "determin": [0, 2, 118, 244, 312, 316, 370, 487], "dev": [2, 8], "develop": [2, 8], "developer_dir": 8, "deviat": [0, 245, 279, 403, 405, 408], "deviatoin": 0, "devic": [1, 2, 7, 8, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 52, 53, 54, 55, 56, 57, 58, 59, 60, 63, 64, 65, 66, 67, 69, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 113, 114, 115, 116, 117, 118, 121, 122, 125, 126, 127, 128, 129, 130, 133, 134, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 209, 216, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 243, 244, 245, 246, 247, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 303, 304, 305, 314, 488, 489], "device_info": 217, "devicetyp": 9, "df": 485, "dfdx": [482, 483], "dft": [146, 147, 148, 149, 150, 151, 155, 156, 157], "dhwc": 338, "diag": [0, 190], "diagon": [0, 45, 117, 140, 293, 295, 296, 297], "dict": [94, 136, 193, 209, 262, 263, 264, 306, 308, 369, 374, 377, 378, 453, 455, 463, 464, 466, 479, 482, 487], "dict_kei": [310, 464], "dictionari": [5, 94, 193, 209, 262, 263, 308, 309, 312, 323, 363, 372, 377, 378, 465, 479, 487], "did": 5, "diff": 2, "differ": [7, 177, 282, 300, 434, 482], "differenti": [1, 2, 7, 329, 410], "difficult": 482, "difficulti": [403, 404], "dilat": [0, 98, 99, 100, 101, 102, 103, 104, 330, 331, 333, 334], "dim": [1, 5, 144, 145, 340, 344, 348, 350, 379, 381, 383, 387, 392, 400], "dimens": [0, 1, 2, 5, 15, 17, 26, 27, 62, 68, 78, 84, 85, 86, 94, 99, 100, 101, 103, 104, 118, 138, 144, 145, 153, 154, 156, 157, 158, 162, 163, 170, 182, 183, 185, 186, 187, 188, 189, 190, 191, 202, 203, 204, 206, 220, 234, 235, 236, 240, 249, 279, 283, 287, 290, 294, 299, 328, 330, 331, 332, 333, 334, 335, 337, 338, 342, 343, 344, 348, 349, 350, 379, 383, 384, 387, 400, 401, 415, 424, 480, 482], "dimension": [30, 141, 143, 146, 147, 148, 149, 150, 151, 155, 156, 157, 325, 326, 327, 328, 330, 331, 332, 333, 334, 335, 340, 352, 355, 356, 357, 381, 382, 392, 483, 485], "direct": [2, 5, 361, 462, 488], "directli": [2, 5, 83], "directori": [2, 5, 8], "disabl": [119, 215, 480], "disable_compil": 480, "disappoint": 5, "discard": [5, 309], "discov": 8, "discoveri": 462, "discret": [105, 146, 147, 148, 149, 150, 151, 155, 156, 157, 340, 381], "discuss": 2, "disk": 5, "dispatch": 2, "dispatch_thread": 2, "dispatchthread": 1, "displai": 323, "distanc": [5, 435], "distribut": [7, 8, 239, 240, 241, 243, 244, 245, 250, 251, 352, 403, 404, 405, 406, 408, 409, 425, 428, 433, 435, 450], "diverg": 428, "divid": [0, 2, 38, 160, 236, 254, 481], "divis": [0, 128, 160, 236, 254], "divisor": [279, 299], "divmod": 0, "dloss_dw": 482, "dloss_dx": 482, "dlpack": 485, "dlvalu": 298, "dmlx_build_cpu": 8, "dmlx_build_gguf": 8, "dmlx_build_safetensor": 8, "dmlx_metal_debug": 3, "dmlx_metal_jit": 8, "do": [0, 2, 5, 8, 300, 323, 365, 376, 450, 453, 480, 481, 482, 484], "doc": [2, 6, 481], "document": [2, 3, 65, 79, 142, 262, 263, 316, 480, 482, 483], "doe": [0, 2, 3, 5, 8, 210, 300, 308, 323, 480, 483, 484, 485], "doesn": [2, 323], "domain": [250, 481], "don": [1, 8, 480, 488], "done": [323, 336, 383, 480, 481, 484, 485], "dot": [182, 187, 191, 290, 309, 368, 379], "doubl": [0, 5], "doubt": 5, "down": [5, 308], "downsampl": [325, 326, 327, 355, 356, 357], "dparam": 298, "draw": 240, "drop": 363, "dropout": [323, 337, 338, 373, 400, 480], "dropout2d": 323, "dropout3d": 323, "dst": 127, "dt": 134, "dtype": [0, 1, 2, 5, 11, 18, 30, 37, 38, 78, 81, 125, 126, 140, 142, 158, 161, 168, 177, 185, 186, 188, 189, 192, 228, 241, 243, 244, 245, 247, 250, 251, 293, 295, 300, 304, 316, 371, 401, 402, 403, 404, 405, 406, 407, 408, 409, 422, 424, 431, 469, 470, 471, 472, 473, 480, 481, 482, 483, 485, 486, 487], "dtypecategori": [177, 316], "dual": 430, "duchi": 458, "dure": [3, 94, 336, 337, 338, 401, 485], "dx": 112, "dy": 112, "dyld": 481, "dyld_library_path": 481, "dylib": 2, "dynam": 484, "e": [2, 6, 8, 112, 134, 142, 162, 163, 178, 268, 328, 330, 331, 332, 333, 334, 335, 337, 338, 344, 348, 350, 364, 383, 420, 421, 443, 444, 449, 455, 458, 480, 484, 489], "e5": 316, "e8": 316, "each": [0, 1, 2, 68, 116, 136, 144, 163, 177, 182, 183, 185, 186, 187, 190, 191, 203, 207, 231, 236, 237, 240, 255, 264, 265, 274, 291, 294, 300, 302, 303, 337, 338, 340, 343, 344, 349, 384, 387, 400, 422, 424, 477, 480, 481, 484], "eager": 484, "earli": 337, "earlier": 2, "eas": 5, "easi": [2, 323, 481], "easier": [1, 484], "edg": [93, 231, 401, 480], "edit": [8, 378], "effect": [337, 480, 484], "effici": [5, 7, 162, 337, 387, 484, 486], "eigenvalu": [185, 186], "eigenvector": 185, "einstein": [130, 131], "einsum": 131, "either": [8, 13, 65, 78, 79, 87, 88, 89, 93, 128, 129, 133, 160, 165, 166, 179, 180, 181, 188, 198, 203, 205, 221, 223, 227, 233, 254, 257, 282, 298, 326, 327, 356, 357, 389, 401, 405, 406, 485], "elem": [1, 142], "elem_to_loc": [1, 2], "element": [0, 1, 2, 12, 13, 19, 20, 21, 22, 23, 24, 25, 28, 70, 83, 87, 88, 89, 92, 106, 107, 108, 109, 110, 111, 116, 128, 129, 133, 134, 135, 137, 139, 140, 159, 160, 163, 165, 166, 171, 172, 173, 174, 175, 176, 179, 180, 181, 194, 195, 196, 197, 198, 199, 200, 201, 205, 207, 221, 223, 225, 227, 232, 233, 236, 237, 253, 254, 255, 257, 258, 260, 268, 269, 270, 271, 275, 276, 282, 286, 288, 289, 292, 298, 300, 303, 329, 336, 337, 338, 343, 347, 349, 358, 380, 384, 387, 391, 410, 417, 418, 420, 421, 436, 437, 439, 442, 443, 444, 445, 480, 482], "elementwis": [1, 96, 97], "elif": 5, "ellipsi": 483, "elman": 384, "els": [0, 2, 5, 323, 364, 481, 484], "elsewher": [295, 483], "elu": [323, 440], "emb": [5, 340, 381, 392], "embed": [5, 306, 323, 381, 387, 392, 423], "empti": [127, 244], "enabl": [3, 5, 8, 94, 132, 468], "encod": [2, 144, 387, 392, 400, 424], "encount": [2, 482], "end": [118, 183, 213, 236, 258, 343, 349, 398, 416, 427, 434, 440, 446, 447, 469, 472], "end_axi": [0, 49, 158], "end_encod": 2, "endif": 2, "endswith": 364, "enhanc": [5, 387, 484], "enjoi": 2, "enough": [2, 484], "ensur": [0, 1, 2, 8, 142, 308, 430, 481], "ensure_row_contigu": [1, 142], "enter": 5, "entir": [15, 17, 26, 27, 202, 204, 206, 220, 234, 279, 283, 299, 337, 338], "entri": [0, 246, 337, 338], "entropi": [6, 422, 424], "enumer": 323, "environ": [8, 119, 132, 481], "ep": [4, 141, 143, 328, 344, 348, 350, 383, 423, 425, 435, 455, 456, 457, 458, 459, 460, 461, 467], "epoch": 6, "epsilon": [328, 344, 348, 350, 383, 423, 425, 456, 458, 459, 460, 461, 467], "epsilon_1": 457, "epsilon_2": 457, "equal": [0, 1, 16, 28, 82, 140, 166, 171, 181, 227, 232, 247, 274, 348, 352], "equal_nan": [0, 16, 82, 171], "equat": [130, 131], "equival": [0, 2, 31, 65, 79, 126, 129, 160, 163, 167, 286, 329, 339, 341, 345, 346, 347, 353, 354, 378, 380, 382, 385, 386, 388, 390, 393, 394, 395, 396, 397, 399], "erf": [0, 135, 480], "erfinv": 0, "error": [0, 2, 8, 123, 134, 135, 216, 217, 274, 341, 412, 413, 414, 430, 432, 482, 485], "error_norm": 4, "estim": 461, "eta": 462, "etc": [2, 236, 323, 401, 481], "eval": [2, 3, 4, 5, 6, 323, 453, 455, 480, 481, 482, 484, 486], "eval_cpu": 2, "eval_fn": 6, "eval_gpu": 2, "evalu": [2, 5, 6, 7, 127, 136, 178, 301, 323, 362, 373, 453, 455, 480, 486], "even": [1, 2, 5, 94, 480, 484, 485], "evenli": [0, 192], "everi": [236, 310, 455, 473, 482], "everyth": [5, 481], "everywher": 0, "exact": [413, 414], "exactli": [2, 5, 144, 366, 482], "exampl": [0, 3, 4, 5, 6, 8, 18, 38, 112, 142, 145, 158, 177, 185, 186, 188, 189, 281, 286, 308, 311, 312, 323, 325, 326, 327, 328, 348, 355, 356, 357, 364, 366, 373, 376, 401, 402, 403, 404, 405, 406, 407, 408, 409, 422, 424, 431, 450, 455, 464, 469, 470, 471, 472, 473, 477, 482, 483, 484, 485, 486, 487], "exce": 308, "exceed": 216, "except": [7, 140, 152, 153, 155, 156, 157, 344, 366, 483, 485], "exclud": [235, 287], "exclus": [0, 83, 89], "execut": [2, 8, 84, 85, 86, 212, 485, 488], "exist": [2, 3, 5, 364, 376], "exp": [0, 1, 139, 142, 198, 202, 241, 272, 329, 339, 391, 410, 411, 428, 440, 441, 445, 480, 488], "exp_elementwis": [1, 142], "expand_dim": 0, "expect": [2, 5, 330, 331, 332, 333, 334, 335, 336, 337, 338, 392, 400, 425, 480, 483], "expens": 400, "expensive_fun": 484, "experiment": 485, "explain": 2, "explicit": [2, 464, 477, 485], "explicitli": [162, 323, 477], "explor": 8, "expm1": 0, "exponenti": [0, 137, 139, 329, 339, 388, 410, 411, 440, 470], "exponential_decai": 455, "export": 8, "ext_modul": 2, "extend": [2, 231], "extens": [7, 193, 218, 370, 487], "extern": 485, "extra": [1, 310, 311], "extract": [0, 5, 45, 117, 118, 323, 363, 453, 481], "extras_requir": 2, "extrem": [483, 484], "ey": [0, 5, 187, 191], "f": [0, 2, 4, 6, 112, 188, 323, 349, 460, 480, 485], "f_jvp": 112, "f_t": 349, "f_vjp": 112, "f_vmap": 112, "face": 5, "factor": [2, 14, 167, 182, 183, 189, 401, 424, 470, 473], "fall": [2, 112], "fallback": 2, "fals": [0, 1, 2, 5, 15, 16, 17, 26, 27, 33, 34, 35, 36, 41, 42, 43, 44, 56, 57, 58, 59, 63, 75, 76, 80, 82, 94, 101, 108, 109, 110, 111, 123, 142, 171, 177, 182, 183, 188, 191, 193, 202, 204, 206, 207, 216, 220, 234, 279, 283, 299, 303, 306, 309, 310, 311, 312, 316, 344, 348, 350, 352, 364, 366, 376, 379, 382, 387, 392, 400, 401, 422, 425, 457, 459, 460, 468, 485], "famili": 5, "fan": [403, 404, 405, 406], "fan_in": [403, 404, 405, 406], "fan_out": [403, 404, 405, 406], "far": 455, "fast": [1, 7, 341, 414, 481, 488], "faster": [1, 2, 8, 129, 412, 422, 480, 482], "featur": [1, 7, 98, 99, 100, 101, 102, 103, 104, 144, 328, 343, 344, 348, 349, 350, 352, 382, 383, 384, 387, 400, 401, 480, 484], "feed": 5, "feed_forward": 5, "feedforward": [403, 404], "feel": 5, "fetch": 1, "few": [1, 2, 5, 6, 7, 8, 481, 484, 486], "ffn": 5, "ffn_norm": 5, "fft": 7, "figur": 481, "file": [5, 8, 193, 261, 262, 263, 264, 265, 366, 370, 481, 482, 487], "file_or_weight": 366, "fill": [0, 2, 161, 229, 295, 305, 402, 403, 404, 405, 406, 408, 409], "filter": [0, 105, 330, 331, 332, 333, 334, 335, 359, 363], "filter_and_map": 323, "filter_fn": [359, 363], "final": [2, 4, 5, 6, 167, 469, 472], "find": [2, 4, 8, 481], "find_packag": 2, "finder": 8, "fine": [477, 484], "finetun": 323, "finish": 2, "finit": [0, 172, 224], "first": [0, 1, 2, 3, 4, 5, 6, 8, 118, 121, 158, 164, 177, 179, 190, 199, 201, 203, 232, 249, 257, 284, 290, 293, 298, 309, 311, 312, 323, 326, 327, 344, 356, 357, 401, 423, 431, 457, 461, 464, 480, 482, 485, 488], "first_lay": 484, "fit": [2, 236, 488], "five": 480, "fix": [2, 5, 8, 484], "flag": [2, 8, 480, 485], "flat": [162, 163, 309, 313], "flat_param": 264, "flatten": [0, 28, 29, 108, 109, 110, 111, 188, 230, 232, 235, 255, 258, 273, 286, 287, 292, 309], "flexibl": 7, "flexibli": 378, "flip": [0, 101, 105], "float": [0, 1, 2, 11, 14, 16, 18, 78, 141, 142, 143, 144, 145, 160, 161, 167, 171, 177, 188, 224, 237, 239, 243, 245, 308, 316, 328, 336, 337, 338, 344, 348, 350, 359, 371, 383, 387, 392, 398, 400, 401, 402, 403, 404, 405, 406, 408, 409, 423, 424, 425, 427, 431, 434, 435, 446, 447, 456, 457, 458, 459, 460, 461, 462, 467, 468, 469, 470, 472, 473], "float16": [1, 2, 11, 142, 167, 193, 316, 359, 484, 485], "float16_t": [1, 2], "float32": [0, 1, 2, 11, 18, 140, 142, 145, 167, 168, 177, 185, 186, 188, 189, 192, 228, 241, 243, 244, 245, 250, 251, 295, 304, 316, 401, 402, 403, 404, 405, 406, 407, 408, 409, 422, 424, 431, 469, 470, 471, 472, 473, 480, 481, 482, 483, 484, 485, 486, 487], "float64": 177, "floor": [0, 1, 160], "floor_divid": 0, "flow": [0, 280, 484], "flush": 2, "fn": [307, 310, 311, 312, 486], "follow": [1, 2, 5, 6, 7, 8, 18, 105, 116, 145, 162, 188, 231, 236, 311, 323, 413, 414, 428, 456, 457, 458, 461, 462, 468, 477, 480, 481, 482, 488], "foo": 481, "food": 5, "forc": [5, 6, 323, 481, 486], "forg": 8, "formal": [116, 236], "format": [5, 193, 261, 262, 263, 264, 265, 485], "formul": [329, 339], "formula": 434, "forth": 401, "forward": [1, 2, 298, 480, 484], "found": 363, "four": 328, "fourier": [146, 147, 148, 149, 150, 151, 155, 156, 157], "frac": [134, 236, 268, 328, 336, 337, 338, 344, 348, 350, 352, 383, 391, 403, 404, 405, 406, 423, 425, 427, 430, 441, 443, 444, 456, 458, 459, 460, 461, 467], "fraction": 18, "framework": [2, 7], "free": 215, "freez": [323, 376, 453], "freq": 144, "frequenc": [144, 387, 392], "frequent": [480, 484], "friend": 5, "fro": 188, "frobeniu": 188, "from": [0, 1, 2, 5, 6, 7, 83, 115, 116, 118, 121, 122, 125, 126, 127, 142, 153, 154, 156, 157, 161, 162, 167, 188, 193, 203, 207, 212, 215, 229, 236, 238, 239, 240, 241, 242, 243, 247, 250, 264, 277, 280, 282, 286, 287, 292, 293, 303, 305, 309, 310, 311, 312, 313, 323, 352, 364, 366, 379, 403, 404, 405, 406, 408, 409, 425, 434, 450, 455, 479, 480, 481, 482, 484, 485, 486, 487, 488], "from_embed": 381, "from_linear": 382, "front": 2, "frozen": [323, 364, 374, 376, 382, 453], "fuction": 129, "full": [0, 1, 2, 6, 65, 79, 105, 142, 272, 377, 378, 425, 480, 481, 484], "full_turn": 392, "fulli": [2, 7, 481, 485, 488], "fun": [94, 164, 178, 298, 301, 302, 480, 483, 484, 488], "fun1": 484, "func": 384, "function": [0, 1, 2, 3, 4, 5, 6, 7, 16, 18, 83, 94, 112, 129, 134, 135, 142, 164, 171, 178, 182, 183, 185, 186, 187, 188, 189, 190, 191, 203, 217, 268, 298, 301, 302, 307, 308, 310, 311, 312, 323, 329, 339, 341, 342, 345, 346, 347, 353, 354, 358, 360, 364, 371, 376, 380, 384, 385, 386, 388, 389, 390, 391, 393, 394, 395, 396, 397, 398, 399, 400, 412, 413, 414, 415, 416, 417, 418, 420, 421, 422, 436, 441, 443, 444, 445, 446, 447, 448, 450, 455, 464, 477, 479, 481, 483, 484, 485, 487], "functool": 480, "further": [2, 8, 482], "fuse": [1, 480], "fusibl": 480, "futur": [5, 382, 483, 484], "g": [3, 8, 112, 142, 188, 236, 349, 449, 467, 468, 484, 489], "g_t": [349, 456, 458, 459, 460, 461, 462, 467, 468], "gain": [403, 404, 405, 406], "gamma": [328, 344, 348, 350, 383, 403, 404, 405, 406], "gap": 1, "gate": [342, 343, 415], "gather": [0, 121, 162, 163], "gather_mm": [0, 163], "gather_qmm": 0, "gaurante": 300, "gaussian": [4, 341, 412, 413, 414, 425], "gaussian_nll_loss": 323, "gelu": [323, 413, 414, 480], "gelu_approx": [323, 341, 412], "gelu_fast_approx": [323, 341, 412], "geluapprox": 341, "gelufast": 341, "gener": [0, 1, 2, 3, 4, 11, 18, 101, 140, 142, 153, 154, 192, 207, 239, 244, 245, 246, 247, 250, 251, 400, 477, 480, 483, 484, 489], "general_": 2, "generate_stub": 8, "geq": [398, 447], "get": [2, 4, 6, 8, 99, 100, 101, 103, 104, 113, 114, 209, 210, 211, 212, 242, 323, 480, 482, 484, 488], "get_cache_memori": 208, "get_command_encod": 2, "get_kernel": 2, "gguf": [8, 193, 262, 487], "gh": 1, "gii": 1, "git": 8, "github": [4, 6, 8, 480], "give": [2, 5, 6, 28, 480], "given": [0, 2, 8, 15, 17, 28, 38, 83, 91, 93, 95, 108, 109, 110, 111, 116, 118, 131, 136, 138, 145, 146, 147, 148, 149, 150, 151, 155, 156, 157, 161, 162, 188, 202, 204, 206, 215, 220, 224, 226, 234, 244, 246, 247, 258, 259, 267, 272, 274, 279, 283, 285, 291, 292, 293, 295, 296, 297, 299, 314, 336, 363, 379, 423, 425, 431], "gix": 1, "gix_mult": 1, "giy_mult": 1, "global": [119, 121, 122, 123, 125, 126, 127, 132, 248, 308, 477, 480], "glorot": [403, 404], "glorot_norm": 323, "glorot_uniform": 323, "glu": [5, 323], "gm": 1, "gn": 1, "go": [2, 5, 482], "golub": 188, "good": [2, 8, 455, 480, 481, 488], "goroshin": 337, "gower": 5, "gpu": [1, 3, 7, 8, 209, 483, 488], "gputrac": [3, 218], "grad": [2, 4, 6, 298, 308, 455, 463, 480, 481, 482, 483, 484, 486], "grad_fn": [4, 480, 482], "gradient": [0, 4, 6, 112, 164, 280, 298, 307, 308, 323, 364, 377, 382, 400, 430, 453, 455, 456, 457, 459, 460, 461, 462, 463, 466, 468, 480, 481, 482, 483, 484, 485, 486], "grain": 477, "graph": [2, 5, 6, 7, 482], "great": 3, "greater": [0, 5, 28, 139, 166, 232, 308, 398, 447], "greater_equ": 0, "grep": 8, "grid": [2, 142, 207], "grid_dim": 2, "grid_grad": 1, "grid_idx": 1, "grid_sampl": 1, "grid_sample_grad": 1, "grid_sample_ref": 1, "grid_sample_vjp": 1, "grid_shap": 1, "grid_siz": 1, "ground": [4, 5, 424, 434], "group": [0, 1, 98, 99, 100, 101, 102, 103, 104, 116, 121, 122, 123, 125, 126, 127, 145, 163, 236, 237, 300, 306, 330, 331, 344, 381, 382, 481], "group_dim": 2, "group_siz": [0, 116, 163, 236, 237, 306, 381, 382], "groupnorm": 323, "grow": 484, "gru": 323, "guid": [2, 7], "gw": 1, "h": [1, 2, 98, 99, 100, 102, 103, 104, 188, 328, 331, 332, 334, 335, 337, 338, 343, 349, 384, 482, 484], "h_": [343, 349, 384], "h_in": 1, "h_stride": 1, "h_t": [343, 349, 384], "ha": [2, 3, 5, 6, 7, 8, 78, 94, 118, 127, 152, 153, 155, 156, 157, 164, 182, 183, 185, 186, 187, 190, 191, 207, 211, 240, 328, 343, 349, 352, 384, 453, 455, 480, 483, 484, 486, 488], "had": 5, "hadamard": [0, 167], "hadamard_transform": 0, "half": [2, 18, 247, 251, 387, 484], "halv": [342, 415], "hand": [5, 482, 484], "handi": 482, "handl": [2, 323, 480], "happen": [2, 5, 141, 400, 455, 480, 484], "happi": 5, "hard": 5, "hard_shrink": [323, 345], "hard_tanh": [323, 346], "hardshrink": [323, 416], "hardswish": 323, "hardtanh": [323, 417], "hat": [116, 236], "have": [0, 1, 2, 5, 8, 16, 82, 84, 85, 86, 90, 121, 145, 153, 154, 156, 157, 163, 171, 203, 218, 240, 300, 309, 349, 379, 389, 462, 464, 479, 480, 481, 483, 484, 488], "haven": 5, "hazan": 458, "he": [5, 405, 406], "he_norm": 323, "he_uniform": 323, "head": [145, 379, 400], "header": [2, 142], "heart": 5, "heavi": 5, "height": [326, 327, 328, 331, 332, 334, 335, 337, 338, 356, 357], "hello": [309, 313], "help": [2, 5, 480, 488], "helper": [5, 142, 480], "henc": [0, 2, 236, 480], "hendryck": 414, "here": [2, 5, 455, 480, 482, 484, 487, 488], "hermitian": [185, 186], "hf": 349, "hg": 349, "hh": 384, "hi": [5, 349], "hidden": [343, 349, 384, 400], "hidden_dim": [6, 453, 455], "hidden_s": [343, 349, 384], "hierarchi": 316, "high": [247, 251, 323, 340, 409, 450], "high_pad_s": 0, "higher": [2, 170, 217, 431, 482], "highli": 8, "him": 5, "hing": 426, "hinge_loss": 323, "hinton": 467, "hit": 2, "hn": 343, "ho": 349, "hold": [2, 5, 10, 11, 188, 480], "homebrew": 481, "hopkin": 188, "host": 2, "host1": 481, "host2": 481, "host_nam": [1, 2], "hostfil": 481, "hostnam": 481, "hot": 424, "hour": 5, "how": [2, 5, 6, 323, 325, 326, 327, 330, 331, 332, 333, 334, 335, 340, 355, 356, 357, 381, 401, 463, 480, 483, 488], "howev": [2, 112, 323, 341, 344, 464, 477, 480, 481, 484, 485], "hr": 343, "http": [344, 348, 350, 358, 383, 414, 436], "huber": 427, "huber_loss": 323, "human": [405, 406], "hundr": 8, "hurri": 5, "hutter": 460, "hyperbol": [0, 20, 22, 25, 107, 271, 289, 399, 448], "hz": 343, "i": [0, 1, 2, 3, 5, 6, 7, 8, 16, 18, 28, 37, 78, 83, 93, 99, 100, 101, 103, 104, 105, 108, 109, 110, 111, 112, 117, 118, 121, 122, 124, 125, 126, 127, 129, 136, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 160, 161, 162, 163, 167, 171, 172, 177, 178, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 193, 198, 202, 203, 207, 213, 216, 217, 231, 232, 235, 236, 237, 244, 245, 246, 256, 258, 261, 262, 263, 268, 272, 274, 279, 280, 285, 286, 287, 290, 293, 294, 298, 299, 300, 301, 302, 303, 306, 308, 309, 310, 311, 312, 316, 318, 323, 325, 326, 327, 328, 330, 331, 332, 333, 334, 335, 336, 337, 338, 341, 343, 344, 348, 349, 350, 352, 355, 356, 357, 363, 364, 370, 372, 373, 375, 376, 378, 379, 380, 382, 383, 384, 387, 392, 398, 400, 401, 405, 406, 412, 414, 422, 423, 425, 430, 431, 434, 435, 437, 442, 447, 453, 455, 457, 459, 460, 462, 463, 464, 469, 471, 472, 477, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489], "i386": 8, "i_n": 1, "i_nw": 1, "i_s": 1, "i_sw": 1, "i_t": 349, "iclr": [459, 460, 461], "id": [6, 8], "idea": [482, 484], "idempot": [364, 376], "ident": [0, 112, 140, 280, 323, 373], "identifi": [2, 309, 479], "idim": 6, "idiom": [6, 480], "idx": [38, 483], "ie": [376, 481], "ieee": 316, "ignor": [5, 38, 93, 94, 136, 457], "ih": 384, "ii": 1, "ij": 207, "imag": [0, 331, 332, 334, 335, 337, 338, 401], "imagenet": [405, 406], "imaginari": 169, "immedi": [5, 359], "implement": [0, 1, 4, 6, 144, 145, 188, 340, 363, 379, 387, 389, 392, 398, 400, 401, 447, 456, 457, 458, 461, 462, 463, 475, 480, 482], "impli": 300, "implicit": [477, 480, 482], "implicitli": 484, "import": [2, 3, 4, 5, 6, 8, 112, 167, 188, 264, 298, 309, 310, 311, 312, 313, 323, 325, 326, 327, 328, 348, 355, 356, 357, 366, 401, 422, 424, 431, 450, 453, 455, 480, 481, 482, 483, 484, 485, 486], "improv": [1, 2, 3, 5, 422, 456, 457, 458, 459, 460, 461, 467, 480, 481], "in_ax": [302, 482], "in_channel": [330, 331, 332, 333, 334, 335], "in_dim": [323, 453], "in_proj": 453, "inci": 2, "includ": [1, 2, 108, 109, 110, 111, 142, 210, 211, 216, 350, 360, 372, 382, 425, 455, 480, 482, 483, 486, 487, 489], "include_dir": 2, "inclus": [0, 41, 42, 43, 44, 108, 109, 110, 111, 158], "incom": 2, "inconveni": 480, "incorpor": 485, "incorrect": 485, "increas": 217, "increment": 18, "incur": [5, 8], "incx": 2, "independ": [120, 337, 338], "index": [0, 1, 2, 7, 9, 28, 38, 138, 140, 164, 207, 232, 286, 287, 298], "indic": [0, 2, 16, 26, 27, 28, 29, 38, 162, 163, 164, 171, 172, 173, 174, 175, 176, 177, 190, 235, 274, 286, 287, 298, 373, 375, 424, 431, 471, 483], "indices_or_sect": [71, 274], "indirectli": 485, "individu": [323, 337, 338], "ineffici": [483, 484], "inexact": [11, 177], "inf": [188, 224, 379], "infer": [7, 161, 193, 293, 481], "infin": [0, 173, 175, 176, 224, 355, 356, 357, 461], "infinit": [16, 171, 172], "info": [5, 8], "inform": [3, 5, 6, 8, 131, 209, 262, 263, 316, 323, 328, 341, 379, 482, 488], "inherit": [6, 479], "inifn": 173, "init": [323, 380, 450, 455, 469, 470, 472, 473, 481], "init_fn": [402, 403, 404, 405, 406, 407, 408, 409, 450], "init_valu": 1, "initi": [1, 3, 4, 5, 123, 312, 323, 328, 344, 348, 350, 352, 380, 383, 402, 403, 404, 405, 406, 407, 408, 409, 453, 464, 469, 470, 472, 473, 480, 481, 484], "initializer_list": 0, "inject": 0, "inlin": 0, "inner": [0, 480], "inorm": 348, "inp": [1, 142], "inp_ndim": 1, "inp_shap": 1, "inp_strid": 1, "inplac": [2, 8], "input": [0, 1, 2, 4, 5, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 115, 117, 118, 121, 122, 127, 128, 129, 130, 131, 133, 134, 135, 137, 138, 139, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 162, 163, 164, 165, 166, 167, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 220, 221, 222, 223, 224, 225, 227, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 246, 249, 252, 253, 254, 255, 256, 257, 258, 259, 260, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 282, 283, 284, 286, 287, 288, 289, 290, 291, 292, 293, 294, 296, 297, 298, 299, 300, 302, 303, 305, 325, 326, 327, 328, 330, 331, 332, 333, 334, 335, 337, 338, 340, 342, 343, 344, 348, 349, 350, 352, 355, 356, 357, 379, 382, 383, 384, 387, 398, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 415, 422, 423, 425, 426, 427, 428, 430, 431, 433, 435, 447, 450, 480, 482, 483, 486, 487], "input_dil": [0, 101], "input_dim": [6, 323, 352, 382], "input_nam": [1, 142], "input_s": [343, 349, 384], "inputs1": 431, "inputs2": 431, "insert": [118, 138, 488], "insid": 480, "inspect": [3, 480, 486], "inspir": 7, "instabl": 435, "instal": 2, "instanc": [5, 38, 112, 236, 313, 323, 348, 359, 360, 361, 364, 366, 367, 368, 373, 376, 377, 378, 389, 453, 485], "instancenorm": 323, "instanti": [1, 2, 6, 484], "instantiate_axpbi": 2, "instead": [2, 8, 112, 323, 378, 392, 481, 482, 484], "int": [0, 1, 2, 5, 6, 9, 15, 17, 18, 26, 27, 28, 29, 33, 34, 35, 36, 41, 42, 43, 44, 45, 46, 49, 56, 57, 58, 59, 60, 63, 66, 68, 71, 74, 75, 76, 77, 78, 80, 83, 90, 91, 95, 98, 99, 100, 101, 102, 103, 104, 108, 109, 110, 111, 116, 117, 118, 125, 126, 127, 131, 138, 140, 144, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 161, 163, 164, 168, 177, 184, 188, 192, 202, 204, 206, 209, 210, 211, 212, 215, 216, 217, 220, 222, 228, 231, 232, 234, 235, 236, 237, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 255, 256, 258, 259, 272, 273, 274, 277, 278, 279, 283, 284, 286, 287, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 302, 304, 306, 323, 325, 326, 327, 328, 330, 331, 332, 333, 334, 335, 340, 342, 343, 344, 348, 349, 350, 352, 355, 356, 357, 379, 381, 382, 383, 384, 387, 392, 400, 415, 423, 424, 428, 433, 435, 453, 469, 471, 472, 473], "int16": 316, "int32": [0, 1, 11, 18, 38, 158, 177, 188, 247, 316, 401, 483, 486], "int64": [11, 316], "int8": [11, 316], "int_0": 134, "integ": [0, 11, 160, 162, 163, 177, 188, 209, 231, 236, 237, 239, 246, 247, 274, 286, 290, 302, 316, 340, 371, 471, 483], "integr": [18, 286, 484], "intend": [0, 480], "interact": 400, "interest": 488, "interfac": 2, "intermedi": 485, "intern": 328, "interpol": 401, "interv": [18, 192, 247, 251], "introduc": [0, 258], "intuit": 323, "invalid": [0, 83], "invers": [0, 19, 20, 21, 22, 23, 24, 25, 135, 149, 150, 151, 152, 153, 154, 183, 187, 191], "invert": 0, "involv": [455, 480], "iogpu": 217, "ip": 481, "is_avail": 123, "is_equival": 2, "is_floating_point": 2, "is_leaf": [309, 310, 311, 312], "is_leaf_fn": 363, "isclos": 0, "isfinit": 0, "ish": 5, "ishmael": 5, "isinf": 0, "isnan": 0, "isneginf": 0, "isposinf": 0, "issu": [481, 482, 485], "issubdtyp": [11, 316], "item": [0, 2, 4, 5, 6, 310, 455, 484, 485, 486], "iter": [4, 6, 190, 310, 311, 477, 480, 484], "iterm": 8, "itertool": [5, 310], "its": [0, 1, 2, 8, 183, 203, 232, 249, 295, 307, 313, 323, 382, 455, 459, 460, 461, 481, 484, 485, 488], "itself": [2, 306, 464], "ix": 1, "ix_n": 1, "ix_nw": 1, "ix_s": 1, "ix_sw": 1, "iy_n": 1, "iy_nw": 1, "iy_s": 1, "iy_sw": 1, "j": [5, 8, 188, 337, 458, 459, 461], "j8": 2, "jacobian": [2, 178, 301, 486], "jain": 337, "jax": [7, 477], "jit": 142, "jmlr": 458, "jnp": 485, "john": 188, "join": 471, "join_schedul": 455, "jointli": 244, "just": [2, 6, 350, 480, 483], "jvp": [2, 112, 486], "k": [0, 5, 45, 90, 117, 140, 145, 162, 167, 292, 295, 296, 297, 352, 364], "kaim": 406, "keep": [2, 15, 17, 26, 27, 202, 204, 206, 220, 234, 279, 283, 299, 323, 363, 482, 484], "keepdim": [0, 15, 17, 26, 27, 33, 34, 35, 36, 56, 57, 58, 59, 63, 75, 76, 80, 188, 202, 204, 206, 220, 234, 272, 279, 283, 299], "kei": [1, 3, 5, 145, 209, 239, 240, 241, 243, 244, 245, 246, 247, 249, 250, 251, 309, 310, 363, 364, 376, 379, 464, 477, 479, 482], "kept": 217, "kernel": [2, 7, 8, 98, 99, 100, 101, 102, 103, 104, 142, 325, 355, 480, 483], "kernel_dil": [0, 101], "kernel_s": [325, 326, 327, 330, 331, 332, 333, 334, 335, 355, 356, 357], "key_cach": 5, "key_input_dim": 379, "key_proj": 5, "keyword": [164, 264, 265, 298, 310, 323, 477, 487, 489], "kind": 5, "kingma": [459, 461], "kl_div_loss": 323, "kname": 2, "know": [2, 5], "known": [390, 442], "kth": [0, 28, 232], "kullback": 428, "kw_onli": 2, "kwarg": [10, 120, 264, 265, 314, 489], "l": [5, 6, 182, 183, 185, 186, 323, 328, 330, 333, 343, 349, 384, 434], "l1": [298, 427, 429, 430, 434], "l1_loss": 323, "l2": [427, 430, 468], "l2_loss": 323, "l_": 427, "la": 188, "label": [3, 4, 424, 431], "label_smooth": 424, "lack": 483, "lambd": [345, 396, 416, 446], "lambda": [310, 311, 312, 323, 345, 359, 364, 371, 396, 416, 440, 446, 456, 457, 458, 459, 460, 461, 462, 467, 468, 480, 481, 482], "languag": [1, 2], "larg": [5, 323, 379, 430, 480, 481, 484], "larger": [1, 144, 217, 387, 462], "largest": [188, 224, 292], "lasso": 298, "last": [0, 1, 5, 29, 78, 141, 143, 148, 151, 153, 154, 156, 157, 158, 162, 163, 170, 182, 183, 185, 186, 187, 189, 190, 191, 203, 212, 240, 273, 290, 300, 330, 331, 332, 333, 334, 335, 337, 338, 344, 401, 485], "latenc": 481, "later": [3, 8, 455], "launch": [1, 2, 123, 481, 483], "layer": [7, 141, 306, 323, 325, 326, 327, 337, 338, 343, 344, 349, 350, 352, 355, 356, 357, 373, 378, 381, 382, 384, 389, 400, 449, 453], "layer_s": 6, "layernorm": 323, "layout": 1, "lazi": [7, 453, 486], "lazili": [5, 323], "lceil": 90, "ld": [343, 349, 384], "lead": [0, 18, 83, 480], "leaf": [94, 306, 309, 310, 311, 312, 363], "leaf_modul": 323, "leaki": [351, 419], "leaky_relu": 323, "leakyrelu": 323, "learn": [4, 6, 7, 328, 344, 348, 350, 380, 383, 455, 456, 457, 458, 459, 460, 461, 462, 467, 468], "learnabl": [330, 331, 332, 333, 334, 335, 389], "learning_r": [6, 455, 456, 457, 458, 459, 460, 461, 462, 464, 467, 468, 469, 470, 471, 472, 473, 480], "least": [5, 84, 85, 86, 93, 182, 183, 185, 186, 187, 189, 190, 191, 236], "leav": [2, 136, 310, 311, 312], "lectur": 467, "lecun": 337, "left": [0, 5, 144, 179, 188, 236, 258, 341, 387, 401, 413, 414, 425, 427, 435], "left_shift": 0, "leibler": 428, "len": [5, 148, 151, 154, 157, 167, 471], "length": [5, 277, 328, 330, 333, 343, 349, 384, 471], "leq": [427, 440], "less": [0, 1, 5, 28, 181, 217, 232, 387, 434], "less_equ": 0, "let": [1, 2, 4, 5, 183, 480, 482, 484, 485], "level": [0, 162, 163, 405, 406], "lh": [343, 349, 384], "lhs_indic": [0, 162, 163], "lhs_mask": 90, "lib": 481, "libmlx": 8, "libmlx_ext": 2, "libmpi": 481, "librari": [2, 8, 318, 323], "like": [2, 5, 7, 126, 177, 229, 305, 338, 430, 464, 466, 480, 481, 482, 484, 485, 486, 488], "likelihood": [425, 433], "limit": [0, 2, 93, 215, 216, 217, 483], "linalg": 167, "line": [5, 481, 484, 485], "linear": [0, 2, 5, 6, 7, 306, 310, 323, 329, 339, 341, 342, 351, 366, 382, 384, 385, 386, 388, 390, 401, 410, 411, 412, 413, 414, 415, 419, 438, 439, 440, 442, 450, 453, 464, 472, 480], "linear1": 5, "linear2": 5, "linear3": 5, "linear_schedul": [455, 471], "linearli": 379, "link": [2, 8], "linspac": 0, "lion": 455, "list": [1, 5, 10, 15, 17, 30, 71, 78, 83, 84, 85, 86, 91, 94, 95, 101, 131, 136, 142, 147, 148, 150, 151, 153, 154, 156, 157, 161, 164, 178, 188, 202, 204, 206, 207, 220, 228, 231, 234, 239, 240, 241, 243, 244, 245, 247, 250, 251, 262, 272, 274, 278, 279, 283, 290, 291, 294, 298, 299, 301, 304, 309, 312, 313, 323, 364, 366, 367, 368, 369, 374, 376, 377, 378, 453, 455, 459, 460, 461, 462, 471, 479, 480, 481, 482, 484], "liter": [2, 231, 401, 405, 406, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435], "littl": 5, "liu": 5, "live": [7, 142, 488], "ll": [1, 4, 6, 427, 480, 482], "llama": 5, "llamaattent": 5, "llamaencoderlay": 5, "llm": 7, "load": [6, 7, 318, 366, 481], "load_weight": [323, 484], "loader": 6, "loader_path": 2, "loan": 188, "loc": [1, 243, 245], "local": [323, 337, 481], "locat": [0, 2, 83, 377, 378, 481, 488], "log": [0, 196, 198, 202, 353, 354, 420, 421, 422, 425, 428, 430, 433, 445], "log10": 0, "log1p": 0, "log2": 0, "log_cosh_loss": 323, "log_sigmoid": [323, 353], "log_softmax": [323, 354], "logaddexp": 0, "logarithm": [0, 194, 195, 196, 197], "logcosh": 430, "logic": [0, 2, 199, 200, 201], "logical_and": 0, "logical_not": 0, "logical_or": 0, "logist": [0, 4, 268, 414, 442], "logit": [5, 240, 422, 424, 480], "logsigmoid": 323, "logsoftmax": 323, "logsumexp": 0, "long": 5, "longer": [5, 105, 482], "look": [2, 5, 481], "lookup": 340, "loop": [5, 6, 480, 481, 482, 484], "loshchilov": 460, "loss": [4, 6, 298, 323, 455, 480, 481, 482, 484], "loss_and_grad": 323, "loss_and_grad_fn": [6, 455, 480, 482], "loss_fn": [4, 6, 455, 480, 482], "loss_grad_fn": 481, "lot": [481, 482], "low": [247, 251, 409, 450], "low_pad_s": 0, "lower": [182, 183, 185, 186, 191, 236, 247, 250, 251, 295, 409], "lr": [4, 462], "lr_schedul": [469, 470, 471, 473], "lstm": 323, "lto": 2, "lu": 5, "luckili": 484, "lvalu": 298, "m": [0, 2, 5, 8, 90, 140, 162, 167, 188, 295, 456, 480], "m1": [1, 5, 480, 482, 488], "m10": 316, "m7": 316, "m_": [459, 460, 461, 462], "m_t": [459, 460, 461, 462], "mac": 481, "machin": [5, 7, 8, 467, 481], "maco": [8, 217], "macosx": 8, "made": [5, 318], "mai": [2, 188, 306, 337, 481, 482, 483], "main": [7, 118, 140, 142, 293, 310, 311, 323, 481], "maintain": [337, 338, 462], "major": [0, 2], "make": [1, 2, 3, 5, 6, 8, 203, 226, 267, 323, 469, 470, 472, 473, 480, 484, 486, 488], "make_shar": 2, "malloc_or_wait": 2, "man": 5, "manag": [281, 477, 481, 488], "mani": [2, 83, 274, 330, 331, 332, 333, 334, 335, 340, 381, 480, 481, 484], "manual": 323, "map": [2, 6, 38, 193, 310, 340, 359], "map_fn": [359, 363], "map_torch_to_mlx": 5, "margin": [431, 435], "margin_ranking_loss": 323, "mask": [0, 5, 90, 145, 373, 379, 483], "mask_lh": [0, 90], "mask_n": 1, "mask_nw": 1, "mask_out": [0, 90], "mask_rh": [0, 90], "mask_s": 1, "mask_sw": 1, "matadata": 193, "match": [8, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 210, 366, 401, 424, 481, 483, 485], "materi": [5, 7], "math": [5, 435, 480], "mathbf": 183, "mathcal": 352, "mathemat": 188, "mathrm": [134, 268, 348], "matmul": [0, 162, 488], "matric": [188, 189, 190], "matrix": [0, 4, 14, 45, 90, 116, 117, 140, 162, 163, 167, 168, 182, 183, 185, 186, 187, 188, 189, 190, 191, 203, 207, 236, 237, 244, 381, 382, 407, 450], "matter": [5, 323], "max": [0, 1, 2, 188, 205, 329, 355, 356, 357, 380, 410, 417, 418, 423, 425, 426, 431, 435, 437, 439, 457, 461, 480, 482, 488], "max_buffer_s": 209, "max_freq": 392, "max_i": 236, "max_norm": 308, "max_recommended_working_set_s": [209, 217], "max_val": 417, "maximum": [0, 6, 26, 38, 93, 108, 212, 216, 308, 323, 351, 355, 356, 357, 385, 392, 413, 414, 419, 438, 453, 484], "maxpool1d": 323, "maxpool2d": 323, "maxpool3d": 323, "maxtotalthreadsperthreadgroup": 2, "mca": 481, "md": 188, "me": 5, "mean": [0, 1, 4, 5, 6, 143, 243, 244, 245, 298, 323, 328, 344, 364, 383, 408, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 480, 482, 485], "meant": 112, "measur": 488, "mechan": 400, "medic": 338, "meet": 8, "member": [2, 323, 369, 374], "memori": [0, 1, 2, 7, 83, 208, 210, 211, 212, 214, 215, 216, 217, 400, 453, 457, 480, 484, 485], "memory_order_relax": 1, "memory_s": [209, 217], "memoryview": [484, 485], "merg": 480, "meshgrid": 0, "metadata": [4, 193, 262, 263], "metal": [2, 7, 142], "metal_captur": 3, "metal_kernel": 1, "metal_path": 8, "metallib": [2, 8], "method": [2, 5, 9, 10, 30, 112, 120, 306, 314, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 370, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 453, 456, 457, 458, 459, 460, 461, 462, 464, 467, 468, 475], "millisecond": [8, 480, 488], "min": [0, 2, 188, 221, 329, 380, 410, 417, 418, 437, 439], "min_freq": 392, "min_i": 236, "min_val": 417, "mind": [2, 5], "mine": 5, "minibatch": 6, "minim": 481, "minimum": [0, 27, 38, 93, 109, 392, 422, 423], "minsizerel": 8, "minu": 139, "minut": 5, "mish": 323, "miss": [366, 487], "mix": 483, "mkdir": [3, 8], "ml": 8, "mlp": [6, 323, 400, 455], "mlp_dim": [5, 400], "mlx": [1, 3, 4, 5, 6, 8, 318, 323, 450, 453, 455, 477, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488], "mlx_build_benchmark": 8, "mlx_build_cpu": 8, "mlx_build_exampl": 8, "mlx_build_gguf": 8, "mlx_build_met": [2, 8], "mlx_build_metallib": 2, "mlx_build_python_bind": 8, "mlx_build_safetensor": 8, "mlx_build_test": 8, "mlx_disable_compil": [119, 132, 480], "mlx_ext": 2, "mlx_ext_metallib": 2, "mlx_include_dir": 2, "mlx_metal_debug": [3, 8], "mlx_metal_jit": 8, "mlx_sample_extens": 2, "mlx_trace": 3, "mnist": 6, "mode": [0, 1, 2, 105, 231, 362, 373, 375, 401, 405, 406, 481], "model": [4, 6, 7, 264, 306, 307, 310, 311, 323, 359, 362, 364, 366, 370, 373, 375, 376, 377, 379, 400, 450, 453, 455, 463, 464, 466, 480, 481, 484], "modest": 2, "modif": 485, "modifi": 485, "modul": [2, 5, 6, 306, 307, 389, 400, 450, 466, 479, 480, 484], "moment": [5, 457, 461], "momentum": [328, 462, 464, 468, 480], "monei": 5, "monoton": 436, "more": [1, 2, 3, 6, 10, 78, 118, 162, 182, 183, 185, 186, 187, 190, 191, 203, 215, 216, 262, 263, 316, 323, 328, 337, 387, 392, 400, 401, 403, 404, 405, 406, 422, 477, 480, 481, 482, 483, 486, 488], "most": [2, 145, 240, 323, 466, 480, 481, 482, 483, 484], "move": [0, 2, 222, 488], "moveaxi": 0, "mpi": 318, "mpiexec": 481, "mpirun": 481, "mse": 298, "mse_loss": 323, "mtl": 2, "mtl_capture_en": 3, "mtlcommandbuff": 2, "mu": 468, "much": [1, 2, 5, 325, 326, 327, 355, 356, 357, 480, 484], "multi": [7, 145, 330, 331, 332, 333, 334, 335, 483, 485], "multidimension": 207, "multiheadattent": [5, 323], "multipl": [0, 1, 8, 14, 90, 141, 143, 162, 163, 203, 223, 236, 237, 379, 392, 470, 471, 473, 480, 484, 487], "multipli": [0, 2, 38, 163, 236, 237, 336, 392, 401], "murtadha": 5, "must": [0, 1, 2, 3, 8, 90, 93, 144, 145, 161, 163, 185, 186, 188, 239, 240, 244, 247, 250, 251, 303, 401, 485], "mx": [1, 2, 3, 4, 5, 6, 38, 96, 97, 112, 123, 126, 142, 158, 177, 185, 186, 188, 189, 193, 246, 264, 298, 308, 323, 325, 326, 327, 328, 339, 348, 351, 355, 356, 357, 359, 366, 370, 385, 401, 402, 403, 404, 405, 406, 407, 408, 409, 411, 419, 422, 423, 424, 428, 431, 438, 448, 450, 453, 455, 477, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489], "my": [5, 8], "my_devic": 489, "my_path": 264, "myexp": [1, 142], "myexp_strid": 1, "mymlp": 453, "n": [0, 1, 2, 5, 30, 90, 98, 99, 100, 101, 102, 103, 104, 140, 145, 146, 148, 149, 151, 152, 155, 157, 167, 168, 244, 279, 295, 299, 328, 330, 331, 332, 333, 334, 335, 337, 338, 343, 349, 384, 401, 430, 435, 481], "n_kv": 145, "n_q": 145, "n_t": 343, "naiv": [2, 482], "naive_add": 482, "name": [1, 2, 142, 163, 193, 236, 237, 262, 263, 264, 265, 323, 344, 363, 366, 368, 481, 483, 487], "named_modul": 323, "nan": [0, 16, 82, 171, 172, 174, 224], "nan_to_num": 0, "nanobind": [2, 400], "nanobind_add_modul": 2, "nativ": 8, "natur": [0, 194, 196, 484], "nb": 2, "nb_domain": 2, "nb_func": 400, "nb_modul": 2, "nb_static": 2, "nbyte": 2, "nc": 328, "ndarrai": [30, 483, 484, 486], "ndhwc": [332, 335, 338], "ndim": [0, 1, 2, 158, 188, 190, 401], "ne": 1, "nearest": [1, 401], "necessari": 323, "necessarili": 292, "need": [1, 2, 5, 6, 7, 8, 82, 236, 323, 377, 378, 392, 400, 477, 481, 482, 484, 485, 486, 488], "neg": [0, 118, 158, 175, 224, 258, 293, 351, 355, 356, 357, 379, 425, 433, 435, 483], "negat": [0, 225], "negative_slop": [351, 419], "neginf": [0, 224], "neighbor": 401, "neither": [164, 298], "nelem": 2, "nervou": 5, "nest": [78, 94, 312, 323, 453, 479, 482], "nesterov": 468, "network": [5, 7, 328, 337, 340, 403, 404, 450, 453, 467, 481], "neural": [5, 7, 340, 403, 404, 436, 450, 453, 467], "never": [5, 484], "new": [0, 2, 6, 91, 118, 222, 226, 256, 278, 294, 300, 310, 311, 371, 379, 453, 455, 466, 471, 480, 483, 484, 485], "new_tre": 311, "next": [2, 5, 6, 215], "nh": [343, 349, 384], "nhwc": [328, 331, 334], "nice": [482, 484], "nlc": [328, 330, 333], "nld": [343, 349, 384], "nlh": [343, 349, 384], "nll": [425, 433], "nll_loss": 323, "nn": [2, 5, 6, 264, 310, 323, 450, 453, 455, 464, 466, 480, 484], "nobodi": 5, "node": [94, 136, 302, 311, 312], "nois": 4, "noisi": 4, "nomins": 2, "non": [0, 1, 2, 8, 207, 374, 384, 436, 453], "none": [1, 2, 5, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 52, 53, 54, 55, 56, 57, 58, 59, 60, 63, 64, 65, 66, 67, 69, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 115, 116, 117, 118, 119, 121, 122, 125, 126, 127, 128, 129, 130, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 214, 218, 219, 220, 221, 222, 223, 224, 225, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 263, 264, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 302, 303, 304, 305, 306, 309, 310, 311, 312, 325, 326, 327, 341, 355, 356, 357, 359, 363, 364, 371, 376, 379, 384, 392, 400, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 457, 475, 483], "nonlinear": [384, 480], "nonzero": 483, "noop": 376, "nor": [2, 164, 298], "norm": [5, 143, 308, 344, 435, 461, 462], "norm1": 5, "norm2": 5, "norm_first": 400, "normal": [1, 2, 4, 5, 141, 142, 143, 185, 244, 250, 323, 325, 326, 327, 328, 344, 348, 350, 355, 356, 357, 383, 400, 403, 405, 485, 488], "not_equ": 0, "notabl": [5, 7], "notat": [116, 309, 368], "note": [0, 1, 2, 5, 8, 16, 18, 83, 90, 94, 100, 103, 104, 112, 145, 153, 154, 163, 171, 188, 210, 236, 240, 300, 306, 323, 383, 401, 455, 485, 487], "noth": [5, 323, 484], "notic": [5, 482, 487], "now": [1, 2, 5, 8, 382, 480, 481, 485], "np": [1, 5, 6, 481, 485, 486], "npy": [193, 261, 487], "npz": [5, 193, 264, 265, 366, 370, 487], "nuclear": 188, "nullopt": 0, "num": [0, 5, 192, 249], "num_class": [6, 455], "num_decoder_lay": 400, "num_embed": [340, 381], "num_encoder_lay": 400, "num_epoch": [6, 455], "num_exampl": 4, "num_featur": [4, 328], "num_group": 344, "num_head": [5, 379, 400], "num_it": 4, "num_lay": [5, 6, 455], "num_param": 323, "num_paramet": 380, "num_sampl": 240, "num_split": 0, "number": [0, 2, 11, 18, 61, 70, 94, 99, 100, 101, 103, 104, 116, 140, 145, 163, 164, 168, 178, 192, 224, 231, 236, 237, 240, 243, 245, 249, 251, 255, 258, 259, 290, 291, 295, 298, 301, 302, 306, 323, 328, 330, 331, 332, 333, 334, 335, 337, 338, 344, 348, 379, 380, 400, 401, 403, 404, 405, 406, 469, 471, 472, 477, 480, 482, 489], "number_of_el": 0, "numer": [5, 141, 143, 188, 198, 202, 272, 328, 344, 348, 350, 383, 422, 423, 425, 435, 456, 457, 458, 459, 460, 461, 467, 480, 484], "numpi": [2, 5, 6, 7, 13, 16, 18, 87, 88, 89, 91, 128, 129, 133, 165, 166, 171, 179, 180, 181, 198, 203, 205, 221, 223, 227, 233, 254, 257, 282, 484, 486, 487], "nw": 1, "nwhc": 337, "o": [2, 8, 145, 349], "o_t": 349, "obj": 262, "object": [3, 10, 30, 50, 78, 94, 142, 177, 264, 302, 309, 310, 311, 312, 316, 337, 400, 479], "observ": 5, "occupi": [116, 163, 236, 237], "occur": 485, "odim": 6, "odot": [343, 349], "off": [5, 8, 484], "offer": 430, "offset": [0, 1, 2, 5, 46, 83, 118, 141, 144, 293], "often": 338, "ok": [366, 482], "okai": [480, 484], "old": 5, "omit": [461, 481], "onc": [2, 8, 480], "one": [0, 2, 5, 8, 38, 78, 84, 93, 99, 100, 101, 103, 104, 138, 140, 141, 143, 144, 188, 196, 203, 237, 240, 277, 282, 316, 376, 401, 424, 481, 488], "ones": [0, 2, 5, 229, 264, 295, 377, 378, 455, 481, 483], "ones_lik": 0, "onli": [1, 2, 5, 7, 8, 82, 90, 99, 100, 101, 103, 104, 185, 186, 188, 217, 236, 244, 300, 323, 363, 364, 366, 371, 373, 376, 377, 378, 453, 480, 481, 482, 487, 488], "onlin": 458, "op": [1, 2, 230, 300, 364, 484], "open": [3, 8, 18, 247, 251], "openmpi": 481, "oper": [3, 5, 7, 9, 37, 84, 85, 86, 101, 145, 162, 163, 233, 235, 272, 280, 287, 314, 323, 400, 462, 480, 481, 482, 483, 484, 485, 486, 488, 489], "operand": [130, 131, 162], "opportun": 480, "opt": [463, 481], "optim": [1, 3, 4, 6, 7, 377, 480, 481, 482, 484], "option": [0, 3, 5, 14, 15, 17, 18, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 52, 53, 54, 55, 56, 57, 58, 59, 60, 63, 64, 65, 66, 67, 69, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 83, 84, 85, 86, 90, 94, 95, 98, 99, 100, 101, 102, 103, 104, 105, 108, 109, 110, 111, 112, 116, 117, 118, 121, 122, 123, 125, 126, 127, 140, 141, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 161, 162, 163, 164, 168, 175, 176, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 202, 204, 206, 207, 216, 220, 224, 228, 231, 232, 234, 236, 237, 239, 240, 241, 243, 244, 245, 246, 247, 249, 250, 251, 255, 256, 258, 272, 273, 274, 277, 278, 279, 283, 285, 286, 290, 292, 293, 294, 295, 296, 297, 298, 299, 302, 304, 306, 309, 310, 311, 312, 325, 326, 327, 328, 330, 331, 332, 333, 334, 335, 343, 349, 352, 355, 356, 357, 359, 363, 364, 366, 371, 376, 379, 381, 382, 384, 387, 392, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 456, 457, 458, 459, 460, 461, 462, 464, 467, 468, 469, 477, 480, 487, 489], "ord": 188, "order": [0, 1, 28, 83, 101, 131, 185, 186, 188, 232, 236, 292, 323, 344, 377, 389, 464, 480, 482], "ordinari": 170, "org": [344, 348, 350, 358, 383, 414, 436], "origin": [5, 118, 308, 328, 372, 403, 404, 405, 406, 456, 457, 458, 461, 462, 485], "orthonorm": 167, "ostream": 2, "ostringstream": 2, "other": [0, 2, 5, 7, 177, 188, 323, 365, 453, 462, 480, 481, 483, 484, 486], "other_input": 323, "otherwis": [18, 101, 123, 216, 246, 306, 309, 310, 311, 312, 364, 366, 376, 398, 400, 401, 416, 422, 427, 434, 446, 447, 484, 485], "our": [1, 2, 5, 6, 389, 456, 457, 458, 461, 462, 481], "out": [0, 1, 2, 8, 90, 142, 337, 338, 373, 480, 481, 482, 483], "out_ax": [302, 482], "out_channel": [330, 331, 332, 333, 334, 335], "out_dim": [323, 453], "out_dtyp": 2, "out_idx": 2, "out_mask": 90, "out_proj": [5, 453], "out_ptr": 2, "out_shap": [1, 2], "outer": [0, 480, 484], "outlier": 430, "output": [0, 1, 2, 5, 8, 15, 16, 17, 18, 28, 83, 90, 91, 94, 96, 97, 108, 109, 110, 111, 112, 130, 140, 141, 142, 143, 144, 145, 152, 155, 156, 157, 161, 162, 164, 167, 168, 171, 188, 192, 202, 204, 206, 207, 220, 224, 228, 229, 232, 234, 235, 239, 240, 241, 243, 244, 245, 247, 250, 251, 264, 265, 272, 277, 279, 283, 287, 293, 295, 298, 299, 300, 301, 302, 303, 304, 305, 328, 330, 331, 332, 333, 334, 335, 348, 352, 379, 382, 398, 400, 401, 403, 404, 405, 406, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 447, 450, 480, 481, 482, 483, 484, 485, 486, 487, 488], "output_dim": [6, 323, 352, 382], "output_directori": 2, "output_dtyp": [1, 142], "output_fil": 5, "output_nam": [1, 142], "output_shap": [1, 142], "outsid": [142, 158], "over": [0, 2, 5, 6, 15, 17, 26, 27, 28, 29, 98, 99, 100, 101, 102, 103, 104, 108, 109, 110, 111, 148, 151, 154, 157, 170, 188, 190, 192, 202, 204, 206, 220, 232, 234, 260, 272, 273, 279, 283, 290, 292, 299, 328, 330, 331, 332, 333, 334, 335, 344, 350, 383, 424, 469, 472, 481, 482], "overal": 2, "overhead": [480, 484, 488], "overlap": 1, "overload": 18, "overrid": [2, 132], "overview": 3, "overwrit": 5, "own": [8, 485], "owndata": 485, "p": [8, 239, 323, 336, 337, 338, 435, 459, 461], "pack": [163, 236, 237], "packag": [2, 4, 6, 8, 318, 450, 481], "package_data": 2, "pad": [0, 1, 98, 99, 100, 101, 102, 103, 104, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 325, 326, 327, 330, 331, 332, 333, 334, 335, 355, 356, 357], "pad_valu": 0, "pad_width": [0, 231], "padding_hi": 0, "padding_lo": 0, "page": 486, "pain": 5, "pair": [0, 2, 231, 366, 387], "pairwis": 435, "pan": 5, "paper": [328, 392, 456, 457, 458, 461, 462], "parallel": [481, 488], "param": [298, 306, 323, 450, 482], "paramet": [0, 1, 2, 4, 5, 6, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 37, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 115, 116, 117, 118, 121, 122, 123, 125, 126, 127, 128, 129, 130, 131, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 215, 216, 217, 218, 220, 221, 222, 223, 224, 225, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 348, 349, 350, 351, 352, 355, 356, 357, 359, 360, 363, 364, 366, 371, 372, 373, 376, 377, 378, 379, 380, 381, 382, 383, 384, 387, 389, 392, 396, 398, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 415, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 447, 449, 450, 453, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 466, 467, 468, 469, 470, 471, 472, 473, 475, 480, 481, 482, 484], "parameter_scal": 457, "parametr": [380, 437], "pars": 5, "parse_arg": 5, "parser": 5, "part": [1, 2, 169, 252, 482, 483], "partial": [377, 378, 480, 484], "particip": [121, 122, 125, 126, 127], "particular": [236, 344], "particularli": 480, "partit": [0, 28], "pass": [1, 2, 5, 6, 65, 79, 230, 231, 298, 307, 309, 310, 311, 323, 364, 376, 377, 378, 389, 480, 481, 484], "password": 481, "path": [3, 8, 131, 218, 264, 265, 306, 311, 366, 481], "pattern": [323, 484], "peak": [212, 214], "penalti": 468, "pep": 485, "per": [5, 6, 116, 145, 163, 236, 237, 306, 328, 344, 348, 350, 383, 475, 480, 481, 484], "perceptron": 7, "perf_count": 480, "perfectli": 484, "perform": [0, 1, 2, 3, 5, 7, 14, 90, 101, 108, 109, 110, 111, 127, 130, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 162, 163, 167, 185, 186, 203, 237, 259, 272, 286, 323, 344, 400, 405, 406, 455, 480, 481, 483, 484, 488], "perhap": [2, 5], "perm": 6, "permtuat": 246, "permut": [0, 6], "persist": 8, "pg": 188, "phi": [341, 412], "physic": 481, "pi": [134, 341, 392, 413, 482], "pick": 2, "pip": [2, 8], "pipelin": 2, "pixel": 337, "place": [2, 5, 38, 258, 259, 306, 481, 484, 485], "placehold": 480, "plai": [2, 5], "plain": 389, "plan": [2, 480], "platform": 8, "plu": [0, 196], "point": [0, 2, 4, 5, 8, 83, 160, 237, 316], "pointer": 2, "pool": [325, 326, 327, 355, 356, 357, 488], "popul": 2, "portion": 336, "posinf": [0, 224], "posit": [0, 5, 28, 118, 144, 158, 164, 176, 182, 183, 222, 224, 232, 244, 258, 293, 298, 310, 323, 330, 331, 332, 333, 334, 335, 379, 387, 392, 425, 435], "possibl": [274, 340, 381, 480, 481, 483, 488], "possibli": [5, 14, 90, 162, 203, 308], "postur": 5, "potenti": 216, "power": [0, 482, 485], "practic": [2, 480], "pre": [8, 145, 422], "preced": 344, "precis": [0, 2, 5, 139, 145, 323, 341, 383, 422, 463, 480], "preclud": 323, "pred": [426, 430], "predic": [306, 371], "predict": [422, 425, 426, 427, 428, 429, 430, 432, 433, 434], "prefix": [302, 309], "prelu": 323, "prepar": [2, 5], "prepend": [3, 203], "preprint": [5, 456, 462], "preprocessor": 8, "present": 1, "preserv": [256, 482], "press": [5, 188], "pressur": 2, "pretti": [480, 484], "prevent": [280, 435, 485], "previou": [215, 216, 217], "primal": [1, 2, 112, 178, 301], "primit": 482, "print": [1, 2, 4, 5, 6, 8, 308, 309, 310, 311, 313, 323, 477, 480, 481, 482, 483, 484, 485, 486], "prior": [235, 286, 287], "priorit": 482, "privat": 2, "prng": [239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 477], "prob": 422, "probabl": [8, 247, 336, 337, 338, 382, 422, 424, 428, 488], "problem": [4, 6, 323], "process": [5, 101, 105, 120, 121, 122, 123, 125, 126, 127, 310, 311, 338, 340, 400, 479, 481], "processor": 8, "prod": [0, 1], "produc": [0, 2, 8, 94, 379, 450], "product": [0, 2, 14, 83, 110, 170, 178, 184, 203, 230, 234, 290, 301, 379, 486], "profil": 3, "program": [212, 481], "programmat": 378, "project": [3, 5, 379], "project_source_dir": 2, "promot": 2, "promote_typ": 2, "promoted_dtyp": 2, "prompt": 5, "propag": [482, 483], "properti": [31, 38, 47, 51, 61, 62, 68, 70, 372, 375, 465, 482], "proportion": 308, "protocol": 485, "provid": [0, 2, 5, 83, 116, 164, 246, 258, 290, 298, 310, 312, 318, 323, 359, 364, 366, 376, 377, 378, 381, 382, 400, 401, 449, 453, 481, 487, 489], "pseudo": 477, "pth": 5, "public": [2, 323], "pun": 0, "pure": [1, 323, 455], "purpos": [1, 188], "purs": 5, "push": 2, "push_back": 2, "put": [0, 1, 6, 235, 480, 481], "put_along_axi": 0, "py": [2, 5, 8, 481], "pypi": 8, "python": [1, 3, 5, 50, 68, 78, 136, 309, 310, 311, 312, 313, 453, 463, 464, 466, 479, 481, 482, 485], "python_requir": 2, "pytorch": [5, 7, 341, 344, 482], "pytorch_compat": 344, "q": [145, 189], "qualifi": 481, "quantiz": [0, 116, 163, 193, 237, 381, 382], "quantized_matmul": 0, "quantizedembed": 323, "quantizedlinear": 323, "quarter": 5, "queri": [5, 145, 217, 379], "query_input_dim": 379, "query_proj": 5, "question": [5, 484], "queue": 3, "quick": [2, 7], "quit": [482, 485], "quotient": [0, 128, 129, 160], "r": [2, 5, 189, 298, 337, 343], "r_t": 343, "race": 488, "radian": [0, 115], "rag": 5, "rain": 5, "rais": [0, 5, 188, 216, 233, 274, 366], "ram": 5, "random": [1, 2, 3, 4, 5, 6, 7, 142, 325, 326, 327, 328, 348, 355, 356, 357, 366, 373, 480, 482, 488, 489], "randomli": [4, 5, 246, 336, 337, 338], "rang": [0, 2, 3, 4, 5, 6, 8, 18, 158, 162, 192, 404, 406, 413, 414, 455, 469, 470, 471, 472, 473, 477, 480, 482, 484, 488], "rank": [0, 125, 126, 127, 431, 481], "rate": [4, 455, 456, 457, 458, 459, 460, 461, 462, 467, 468], "rather": [2, 482, 488], "ratio": [0, 24], "rceil": 90, "re": [6, 8, 450], "readabl": 3, "readi": 2, "real": [0, 152, 153, 154, 155, 156, 157, 182, 183, 185, 186], "realli": 350, "reason": [1, 5, 483], "reboot": 8, "receiv": [125, 126, 306, 471, 485], "reciproc": [0, 260], "reclaim": 215, "recommend": [8, 216, 462], "recompil": [94, 480], "record": [3, 212, 484], "recreat": [313, 455], "rectifi": [351, 385, 386, 405, 406, 419, 438, 439], "recurr": [343, 349, 384], "recurs": [323, 363, 364, 369, 374, 376, 453], "recv": 126, "redirect": 2, "reduc": [0, 1, 8, 15, 17, 26, 27, 122, 202, 204, 206, 220, 234, 279, 283, 299, 312, 328, 400, 430], "reduct": [15, 17, 122, 202, 204, 220, 234, 312, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 481], "redund": 482, "refer": [188, 348, 358, 372, 403, 404, 405, 406, 414, 436, 483], "reflect": [372, 480, 483, 485], "regard": 341, "regardless": [83, 145], "regist": [2, 6], "register_librari": 2, "regress": [7, 430], "regular": [38, 337, 436, 460, 480, 483], "regularli": 2, "reimplement": 2, "rel": [16, 171, 457, 480], "relative_step": 457, "relax": 216, "relev": 2, "reli": [1, 2], "relu": [323, 380, 400, 437, 450], "relu6": 323, "remain": [0, 5, 217, 298, 311, 336, 337, 338, 481], "remaind": [0, 129], "remov": [0, 118, 203, 240, 277, 424], "rep": [0, 291], "repeat": [0, 291], "repeatedli": 4, "repetit": 255, "replac": [0, 5, 224, 377, 378, 400, 434], "replai": 3, "repli": 5, "repo": [4, 6, 8, 480], "report": [210, 216], "repres": [2, 5, 120, 123, 163, 431, 435, 485], "represent": [5, 236, 300, 309, 313], "request": 2, "requir": [1, 2, 5, 323, 481, 484, 485], "requires_grad": 482, "rerun": [480, 484], "rescal": 308, "research": 7, "reset": 214, "reset_peak_memori": 212, "reshap": [0, 5, 188, 401, 483], "resid": 217, "resolv": 2, "resourc": 2, "respect": [2, 4, 6, 141, 143, 162, 163, 164, 236, 298, 310, 323, 328, 341, 344, 348, 350, 453, 482, 486], "respons": 2, "rest": [5, 144, 310, 311, 387], "restart": 8, "restor": 258, "result": [0, 5, 14, 18, 38, 78, 83, 94, 141, 143, 163, 188, 203, 237, 244, 255, 278, 310, 311, 312, 392, 422, 480, 482, 485], "resum": 5, "return": [0, 1, 2, 4, 5, 6, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 37, 50, 68, 78, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 115, 116, 117, 118, 121, 122, 123, 125, 126, 127, 128, 129, 130, 131, 133, 134, 135, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 211, 215, 216, 217, 220, 221, 222, 223, 224, 225, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 249, 250, 251, 252, 253, 254, 255, 256, 257, 259, 260, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 323, 343, 349, 359, 360, 361, 363, 364, 365, 366, 367, 368, 369, 373, 374, 376, 377, 378, 384, 402, 403, 404, 405, 406, 407, 408, 409, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 450, 453, 463, 479, 480, 481, 482, 483, 484, 485, 487, 488], "return_metadata": 193, "revers": [0, 2, 41, 42, 43, 44, 83, 108, 109, 110, 111, 294, 392], "rf": 8, "rfft": 152, "rfft2": 153, "rfftn": 154, "rho": 456, "rhs_indic": [0, 162, 163], "rhs_mask": 90, "right": [0, 1, 2, 8, 236, 257, 258, 341, 401, 413, 414, 425, 427, 435], "right_shift": 0, "rm": [5, 8, 143, 457], "rmsnorm": [5, 323], "rmsprop": 455, "rnn": [323, 343], "roadcast": 247, "robust": 430, "roform": [5, 387], "roll": 0, "root": [0, 5, 143, 260, 275, 383], "rope": [5, 323], "rosetta": 8, "rotari": [5, 144, 387], "rotat": [144, 387], "round": [0, 236], "routin": 2, "row": [0, 1, 2, 83, 140, 142, 168, 236, 295], "row_contigu": 2, "rpath": 2, "rsqrt": 0, "rtol": [0, 16, 171], "rule": [2, 455], "run": [1, 2, 3, 5, 6, 7, 8, 9, 142, 230, 314, 328, 359, 456, 457, 459, 460, 461, 480, 481, 484, 488, 489], "runtim": [5, 123, 318, 480, 481], "runtime_error": 2, "safetensor": [8, 193, 263, 366, 370, 455, 484, 487], "sai": [2, 5, 450, 484], "said": 5, "sake": 482, "same": [0, 2, 5, 8, 16, 38, 82, 91, 94, 99, 100, 101, 103, 104, 105, 121, 141, 143, 152, 155, 156, 157, 163, 164, 171, 178, 231, 240, 258, 259, 300, 301, 303, 311, 323, 326, 327, 328, 336, 344, 348, 356, 357, 381, 402, 403, 404, 405, 406, 407, 408, 409, 424, 435, 453, 463, 477, 480, 481, 483, 488], "sampl": [2, 4, 5, 192, 239, 240, 241, 243, 244, 247, 250, 251, 403, 404, 405, 406, 408, 409, 425, 431, 435, 477, 480], "sat": 5, "save": [3, 5, 7, 193, 218, 236, 262, 263, 264, 265, 370, 484], "save_gguf": 487, "save_safetensor": [370, 455, 487], "save_weight": 323, "savez": [5, 370, 487], "savez_compress": 487, "saw": [5, 482], "scalar": [0, 2, 13, 14, 16, 30, 50, 78, 82, 87, 88, 89, 90, 91, 93, 128, 129, 133, 160, 161, 164, 165, 166, 167, 171, 179, 180, 181, 192, 198, 199, 200, 201, 203, 205, 221, 223, 224, 227, 231, 233, 239, 247, 250, 251, 254, 257, 262, 282, 298, 300, 303, 307, 435, 482, 484, 486], "scale": [0, 2, 5, 14, 116, 141, 143, 144, 145, 163, 167, 236, 237, 243, 245, 308, 337, 338, 350, 379, 387, 388, 392, 401, 440, 457], "scale_arr": 2, "scale_factor": 401, "scale_paramet": 457, "scatter": 0, "scatter_add": 0, "scatter_max": 0, "scatter_min": 0, "scatter_prod": 0, "schedul": [2, 216, 455, 469, 470, 471, 472, 473, 475, 488], "schema": 3, "scipi": 167, "scope": 323, "score": [5, 145, 431], "sdk": 8, "se": 1, "second": [5, 8, 118, 177, 179, 199, 201, 203, 257, 284, 293, 298, 326, 327, 356, 357, 423, 431, 457, 461, 482, 488], "second_layer_a": 484, "second_layer_b": 484, "secret": 5, "section": [1, 5, 8, 274, 435, 480, 481, 482], "see": [1, 2, 5, 6, 8, 10, 11, 32, 33, 34, 35, 36, 39, 40, 41, 42, 43, 44, 46, 48, 49, 52, 53, 54, 55, 56, 57, 58, 59, 60, 63, 64, 65, 66, 67, 69, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 188, 215, 262, 263, 306, 316, 323, 328, 329, 337, 339, 341, 345, 346, 347, 353, 354, 362, 380, 381, 382, 385, 386, 387, 388, 390, 392, 393, 394, 395, 396, 397, 399, 401, 403, 404, 405, 406, 412, 413, 414, 440, 480, 481, 482, 483, 486, 488], "seed": 242, "seen": 485, "select": [0, 3, 8, 185, 186, 292, 303, 359, 363, 371], "self": [5, 6, 9, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 63, 64, 65, 66, 67, 69, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 112, 323, 436, 453], "selu": 323, "semant": [13, 87, 88, 89, 91, 128, 129, 133, 165, 166, 179, 180, 181, 198, 203, 205, 221, 223, 227, 233, 254, 257, 282, 488], "semi": [182, 183, 244], "send": 481, "sennrich": 5, "sensit": 430, "sentencepiec": 5, "separ": [5, 65, 79, 344, 431], "sequenc": [5, 15, 17, 33, 34, 56, 57, 58, 59, 63, 71, 74, 75, 76, 80, 83, 91, 101, 125, 138, 142, 147, 148, 150, 151, 153, 154, 156, 157, 161, 202, 204, 206, 220, 228, 234, 239, 240, 241, 243, 244, 245, 247, 250, 251, 256, 272, 274, 277, 279, 283, 290, 291, 294, 299, 304, 328, 330, 333, 343, 349, 384, 400, 477, 488], "sequenti": [323, 450], "seri": 8, "serial": 455, "set": [2, 5, 6, 8, 94, 112, 119, 121, 122, 123, 125, 126, 127, 132, 141, 144, 209, 215, 216, 217, 266, 267, 281, 341, 350, 352, 362, 364, 371, 372, 373, 376, 377, 382, 387, 398, 423, 435, 447, 453, 455, 457, 459, 460, 464, 477, 482, 484], "set_byt": 2, "set_compute_pipeline_st": 2, "set_data": 2, "set_default_devic": 2, "set_dtyp": 323, "set_input_arrai": 2, "set_memory_limit": 215, "set_output_arrai": 2, "set_vector_byt": 2, "setup": [2, 4, 6, 8, 480], "sever": [5, 8, 98, 99, 100, 101, 102, 103, 104, 264, 265, 480, 487], "sgd": [4, 6, 455, 462, 464, 469, 470, 473, 480], "shade": [1, 2], "shall": 5, "shape": [0, 2, 3, 5, 6, 65, 82, 83, 90, 91, 94, 98, 99, 100, 101, 102, 103, 104, 118, 121, 125, 126, 142, 145, 146, 149, 152, 155, 156, 157, 161, 162, 167, 178, 187, 191, 203, 228, 229, 239, 240, 241, 243, 244, 245, 247, 250, 251, 256, 258, 300, 301, 303, 304, 305, 323, 325, 326, 327, 328, 330, 331, 332, 333, 334, 335, 337, 338, 343, 348, 349, 352, 355, 356, 357, 366, 384, 402, 403, 404, 405, 406, 407, 408, 409, 424, 435, 455, 480, 482, 483, 486, 488], "shapeless": [0, 94], "share": [7, 116, 163, 236, 237, 300, 481], "shazeer": 5, "shift": [0, 179, 257, 258, 328], "shop": 5, "should": [1, 2, 4, 5, 6, 8, 83, 118, 121, 141, 142, 143, 145, 178, 208, 217, 218, 235, 236, 287, 293, 298, 301, 306, 309, 323, 330, 331, 332, 333, 334, 335, 337, 338, 373, 379, 389, 424, 426, 431, 453, 479, 480, 481, 482, 484, 485, 489], "show": [8, 316, 480], "shown": 2, "shuffl": 6, "side": [0, 231, 325, 326, 327, 355, 356, 357, 480], "sigma": [341, 342, 343, 349, 391, 403, 404, 405, 406, 414, 415, 420, 441, 442], "sigmoid": [0, 5, 323, 353, 390, 414, 420, 422, 442], "sign": [0, 16, 171, 316, 462], "signal": [105, 401], "signatur": [1, 142], "signedinteg": [11, 177], "signific": 236, "silent": [155, 156, 157], "silicon": [2, 5, 7, 8, 488], "silu": 323, "simd": 1, "simd_sum": 1, "simdgroup": 1, "simdgroup_s": 1, "similar": [5, 163, 177, 310, 377, 378, 379, 423, 485, 487], "similarli": [2, 8, 203, 482, 484], "simpl": [2, 5, 6, 323, 340, 449, 455, 480, 481, 482, 484], "simple_axpbi": 2, "simple_tim": 2, "simplest": [2, 323, 481], "simpli": [2, 5, 8, 339, 351, 385, 411, 419, 438, 448, 453, 480, 481, 482], "simplic": 0, "simultan": 1, "sin": [0, 112, 392, 482, 486], "sinc": [1, 2, 5, 6, 163, 212, 453, 462, 471, 485, 488], "sine": [0, 21, 22, 270, 271, 482], "sing": 188, "singer": 458, "singl": [2, 6, 136, 178, 193, 207, 231, 301, 326, 327, 356, 357, 480, 483, 487], "singleton": [0, 15, 17, 26, 27, 123, 202, 203, 204, 206, 220, 234, 279, 283, 299], "singular": [188, 190], "sinh": 0, "sinusoid": 392, "sinusoidalpositionalencod": 323, "size": [0, 1, 2, 5, 6, 51, 68, 90, 99, 100, 103, 104, 116, 138, 141, 142, 143, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 161, 163, 167, 168, 177, 184, 188, 211, 216, 217, 236, 237, 240, 256, 274, 277, 300, 306, 323, 325, 326, 327, 330, 331, 332, 333, 334, 335, 340, 348, 355, 356, 357, 381, 382, 401, 457, 481, 484, 485], "size_in_megabyt": 217, "size_t": [0, 2], "skip": [3, 83], "slice": [0, 483], "slice_s": 0, "slice_upd": 0, "slide": [325, 326, 327, 355, 356, 357], "slight": [5, 484], "slightli": [387, 488], "slope": 351, "slot": 481, "slow": 480, "slowli": 5, "small": [5, 139, 141, 143, 328, 344, 350, 383, 425, 430, 435, 480, 481, 488], "smaller": [0, 8, 232, 462, 480], "smallest": 188, "smile": 5, "smooth": [424, 434, 467], "smooth_l1_loss": 323, "sned": 127, "snippet": 481, "so": [1, 2, 5, 8, 164, 167, 298, 336, 401, 455, 480, 481, 484, 488], "softmax": [0, 5, 145, 323, 354, 421, 424], "softmin": 323, "softplu": [323, 358, 436], "softshrink": 323, "softsign": 323, "solv": 323, "some": [0, 2, 4, 5, 6, 364, 376, 455, 464, 480, 482, 484], "someon": 5, "someth": [4, 5, 483], "sonoma": 8, "soon": 5, "sort": [0, 28, 29, 232, 292], "sourc": [0, 1, 2, 3, 60, 125, 126, 142, 222, 294, 481], "space": [0, 2, 192, 422, 433], "spars": [0, 207], "spatial": [99, 100, 101, 103, 104, 325, 326, 327, 344, 355, 356, 357, 401], "speak": [5, 188], "special": 2, "specif": [1, 2, 8, 481, 482], "specifi": [0, 2, 18, 37, 99, 100, 101, 103, 104, 118, 153, 154, 161, 164, 184, 188, 192, 222, 228, 235, 240, 255, 284, 286, 287, 290, 293, 294, 298, 302, 304, 328, 398, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 447, 481, 482, 488], "speed": [1, 2], "spent": 5, "split": [0, 342, 344, 415], "splittabl": 477, "sqrt": [0, 5, 134, 145, 167, 328, 341, 344, 348, 350, 352, 383, 392, 403, 404, 405, 406, 413, 456, 458, 459, 460, 467, 480], "squar": [0, 4, 5, 143, 168, 187, 191, 260, 275, 298, 310, 323, 383, 432, 434, 456, 457, 459, 460, 461, 482, 485], "squeez": [0, 401, 480], "src": [0, 125, 126], "ssh": 481, "stabil": [141, 143, 328, 344, 348, 350, 383, 422, 423, 425, 456, 457, 458, 459, 460, 461, 467], "stabl": [198, 202, 272, 430], "stable_abi": 2, "stack": [0, 480], "standard": [0, 1, 6, 50, 78, 203, 241, 245, 279, 400, 403, 405, 408, 481, 486], "starmap": [5, 310], "start": [0, 1, 2, 4, 5, 7, 8, 18, 144, 192, 218, 274, 312, 480, 483, 488], "start_axi": [0, 49, 158], "start_captur": 3, "state": [5, 6, 323, 343, 349, 384, 455, 464, 477, 480], "static": 8, "static_cast": 2, "std": [0, 2, 408], "step": [0, 3, 5, 6, 18, 323, 343, 349, 384, 457, 464, 469, 471, 472, 473, 480, 481], "step_decai": 455, "step_siz": 473, "still": [5, 8, 188, 480, 484], "stochast": [458, 459, 461, 468, 484], "stood": 5, "stop": [0, 2, 5, 18, 192, 219, 280, 482, 483], "stop_captur": 3, "stop_gradi": [0, 482], "storag": 83, "store": 5, "str": [2, 105, 130, 131, 142, 164, 185, 186, 188, 193, 207, 209, 218, 261, 262, 263, 264, 265, 298, 306, 309, 313, 359, 360, 363, 364, 366, 368, 370, 376, 401, 405, 406, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435], "straight": 5, "strang": 5, "stream": [2, 7, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 52, 53, 54, 55, 56, 57, 58, 59, 60, 63, 64, 65, 66, 67, 69, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 114, 115, 116, 117, 118, 121, 122, 125, 126, 127, 128, 129, 130, 133, 134, 135, 137, 138, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 243, 244, 245, 246, 247, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 303, 304, 305, 481, 488], "streamcontext": 281, "streamordevic": [0, 2], "street": 5, "strength": [462, 468], "strict": [123, 165, 180, 364, 366, 376], "strictli": [188, 217], "stride": [0, 2, 83, 98, 99, 100, 101, 102, 103, 104, 325, 326, 327, 330, 331, 332, 333, 334, 335, 355, 356, 357, 387, 483], "string": [0, 2, 131, 142, 209, 231, 485, 487], "structur": [2, 463, 482], "stub": 8, "style": [2, 13, 16, 87, 88, 89, 128, 129, 133, 165, 166, 171, 179, 180, 181, 198, 203, 205, 221, 223, 227, 233, 254, 257, 282], "su": 5, "sub": [0, 6, 118, 249, 293, 306], "subarrai": [118, 274], "subclass": 453, "subdivid": 1, "subdtyp": 177, "subgradi": 458, "sublinear": 457, "submodul": [5, 6, 323, 360, 364, 365, 376, 378], "subscript": [130, 131], "subsect": 5, "subsequ": 455, "subset": [323, 363], "substanti": 8, "subtract": [0, 38], "subtyp": [177, 316], "sudo": [8, 217], "sum": [0, 2, 4, 13, 111, 122, 170, 188, 202, 272, 290, 293, 323, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 481, 483, 485], "sum_": [188, 430], "sum_i": 421, "sum_j": [443, 444], "summat": [130, 131], "super": [5, 6, 323, 453], "superset": [310, 463], "support": [1, 2, 5, 7, 8, 16, 90, 100, 103, 104, 145, 158, 167, 171, 182, 183, 185, 186, 187, 189, 190, 191, 193, 203, 236, 244, 481, 482, 483, 485, 487], "suppos": [482, 488], "sure": [2, 3, 5, 8, 323, 480], "surpass": [405, 406], "surpris": 5, "sw": 1, "swap": [0, 105, 216, 284, 378], "swapax": [0, 112], "swiglu": 5, "swish": [390, 442], "switch": 8, "symbol": 462, "symmetr": [99, 100, 103, 104, 182, 183, 185, 186], "symmetri": [185, 186], "synchron": [2, 480], "syntax": [38, 483], "synthet": 4, "sysctl": 217, "system": [5, 8, 209, 210, 211, 217], "t": [0, 1, 2, 5, 8, 134, 142, 145, 163, 182, 183, 237, 298, 323, 343, 349, 384, 456, 457, 458, 459, 460, 461, 462, 467, 468, 480, 482, 488], "t_kv": 145, "t_q": 145, "tabl": [1, 188, 316, 340], "take": [0, 2, 5, 6, 87, 88, 89, 94, 162, 164, 178, 205, 221, 229, 237, 287, 298, 301, 302, 305, 311, 312, 325, 326, 327, 355, 356, 357, 379, 422, 477, 481, 482, 483, 487, 488, 489], "take_along_axi": [0, 483], "taken": [118, 286, 293], "talk": 481, "tan": 0, "tangent": [0, 2, 23, 24, 25, 112, 178, 288, 289, 399, 448], "tangent_i": 2, "tangent_x": 2, "tanh": [0, 323, 341, 343, 349, 358, 384, 413, 436], "target": [2, 298, 422, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 480], "target_include_directori": 2, "target_link_librari": 2, "target_link_opt": 2, "target_sourc": 2, "task": [216, 430], "tau": 468, "tcp": 481, "tell": [5, 480, 485], "temp": 5, "templat": [0, 1, 2, 142], "ten": 484, "tend": 462, "tensor": [193, 290, 435, 485], "tensordot": 0, "term": [2, 425, 456, 457, 458, 459, 460, 461, 467], "termin": 8, "test": [6, 8, 481], "test_imag": 6, "test_label": 6, "text": [5, 341, 343, 349, 358, 384, 391, 398, 403, 404, 405, 406, 413, 416, 417, 418, 425, 426, 427, 430, 431, 434, 436, 437, 440, 441, 446, 447, 457, 462], "textrm": [236, 341, 342, 412, 415], "tf": 485, "tgp_size": 2, "th": [108, 109, 110, 111, 117, 140, 185, 471], "than": [1, 2, 5, 78, 105, 118, 129, 144, 162, 165, 166, 180, 181, 182, 183, 185, 186, 187, 190, 191, 203, 215, 217, 308, 310, 387, 398, 401, 431, 434, 447, 457, 462, 480, 482, 488], "thank": 484, "thei": [1, 2, 4, 5, 8, 16, 105, 163, 171, 389, 426, 453, 462, 479, 480, 481, 484, 486, 487, 488], "them": [0, 2, 5, 121, 323, 364, 376, 481, 488], "themselv": [2, 480], "thi": [0, 1, 2, 5, 6, 8, 15, 16, 17, 18, 26, 27, 28, 29, 83, 112, 132, 142, 162, 163, 167, 171, 178, 182, 183, 185, 186, 187, 188, 189, 190, 191, 198, 202, 203, 204, 206, 208, 210, 217, 220, 232, 234, 240, 267, 272, 273, 274, 279, 283, 286, 292, 299, 308, 311, 312, 323, 336, 337, 338, 342, 343, 349, 360, 361, 363, 364, 367, 368, 369, 374, 376, 377, 378, 379, 382, 384, 398, 403, 404, 405, 406, 413, 414, 415, 422, 430, 447, 453, 464, 479, 480, 481, 482, 484, 485, 487], "thing": [2, 5, 481], "third": [184, 327, 357], "thompson": 337, "those": [2, 5, 323], "though": [2, 5, 480, 484, 485], "thousand": 484, "thread": [1, 2], "thread_index_in_simdgroup": 1, "thread_position_in_grid": [1, 2, 142], "threadgroup": [1, 2, 142], "threads_per_simdgroup": 1, "three": [5, 86, 327, 357, 401], "threefri": 477, "threshold": [398, 427, 434, 447], "through": [1, 2, 280, 400, 462, 480, 482, 485], "throw": [2, 94, 123], "thu": [5, 323], "thumb": 455, "tic": 480, "tieleman": 467, "tile": [0, 145], "time": [2, 5, 8, 216, 291, 323, 343, 349, 384, 480, 482, 484, 488], "timeit": [480, 482], "titl": 2, "tmp": [1, 142], "to_quant": 306, "to_stream": 2, "toc": 480, "togeth": [0, 1, 2, 6, 236, 310, 311, 481], "tok_embed": 5, "token": [5, 340, 381], "told": 5, "toler": [0, 16, 171], "too": [177, 480, 484], "took": 5, "tool": 8, "top": [2, 292, 352, 401], "topk": 0, "torch": [5, 485], "torch_weight": 5, "total": [217, 482], "total_norm": 308, "tpi": 480, "trace": [0, 3, 480], "trace_fil": 3, "tracer": 377, "track": [2, 323, 328], "track_running_stat": 328, "trade": 484, "tradit": [5, 144, 337, 338, 387], "train": [5, 6, 323, 328, 336, 337, 338, 362, 364, 376, 403, 404], "train_imag": [6, 455], "train_label": [6, 455], "trainabl": [6, 307, 323, 453], "trainable_paramet": [323, 363, 464], "transform": [1, 5, 7, 112, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 167, 307, 323, 328, 344, 350, 352, 363, 364, 376, 382, 387, 483], "transformerencod": 264, "transit": 471, "translat": [141, 350], "transpos": [0, 5, 31, 102, 103, 104, 163, 237, 333, 334, 335], "treat": [0, 2, 153, 154, 156, 157, 286, 401, 480], "tree": [7, 94, 136, 164, 298, 302, 309, 310, 311, 312, 313, 463, 464, 466, 475, 482], "tree_flatten": [264, 310, 313, 323, 455], "tree_map": [311, 323, 481], "tree_unflatten": [5, 455], "trembl": 5, "tri": 0, "triangl": [185, 186, 295], "triangular": [182, 183, 191], "tril": 0, "trilinear": 401, "triplet": 435, "triplet_loss": 323, "triu": 0, "true": [0, 1, 2, 4, 5, 16, 41, 42, 43, 44, 82, 94, 108, 109, 110, 111, 142, 144, 163, 171, 177, 182, 183, 188, 193, 207, 216, 237, 272, 303, 306, 309, 310, 311, 312, 316, 323, 328, 330, 331, 332, 333, 334, 335, 343, 344, 348, 349, 350, 352, 363, 364, 366, 373, 376, 382, 384, 387, 392, 400, 401, 422, 430, 457, 459, 460], "truncat": [146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 250], "truth": [4, 424, 434], "try": [2, 8], "tupl": [0, 30, 65, 68, 79, 95, 99, 100, 101, 103, 104, 125, 129, 131, 136, 138, 178, 185, 188, 189, 190, 231, 236, 256, 258, 277, 298, 301, 309, 310, 311, 312, 313, 325, 326, 327, 331, 332, 334, 335, 355, 356, 357, 366, 368, 389, 401, 457, 459, 460, 461, 462, 479, 482], "tutori": 2, "twice": 488, "two": [0, 2, 13, 14, 16, 24, 82, 85, 87, 88, 89, 90, 118, 128, 133, 147, 150, 156, 162, 163, 165, 166, 171, 180, 181, 182, 183, 184, 185, 186, 187, 189, 190, 191, 198, 203, 205, 221, 223, 227, 230, 284, 312, 326, 342, 349, 356, 415, 423, 480, 481, 482, 483, 488], "txt": 2, "type": [0, 1, 2, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 37, 68, 78, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 115, 116, 117, 118, 121, 122, 123, 125, 126, 127, 128, 129, 130, 131, 133, 134, 135, 137, 138, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 209, 215, 216, 217, 220, 221, 222, 223, 224, 225, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 249, 250, 251, 252, 253, 254, 255, 256, 257, 259, 260, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 282, 283, 284, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 308, 309, 312, 323, 371, 400, 402, 403, 404, 405, 406, 407, 408, 409, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 480, 483], "type_nam": 2, "type_to_nam": 2, "typenam": [0, 1, 2], "typic": [0, 145, 340, 455, 480, 484], "u": [1, 2, 182, 185, 186, 190, 352, 378, 475, 484], "u_": 456, "u_t": 456, "uint": [1, 2, 142], "uint16": [11, 316], "uint3": 1, "uint32": [11, 26, 27, 28, 29, 240, 316], "uint64": [11, 316], "uint8": [11, 316], "ultra": 5, "unabl": 8, "unam": 8, "unari": 480, "unchang": [144, 280, 387], "uncheck": 8, "uncompress": 264, "undefin": [0, 28, 112, 182, 183, 232, 244, 483], "under": [2, 188], "underli": [2, 300], "understand": [5, 403, 404], "unexpect": [2, 18], "unfreez": [323, 364], "unfrozen": 376, "unifi": 7, "uniform": [3, 323, 352, 366, 404, 406, 450, 477, 480, 482, 488], "uniformli": 251, "unintend": 0, "union": [18, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 52, 53, 54, 55, 56, 57, 58, 59, 60, 63, 64, 65, 66, 67, 69, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 84, 85, 86, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 175, 176, 177, 185, 186, 209, 262, 281], "uniqu": [2, 477], "unique_ptr": 2, "unit": [329, 339, 341, 342, 343, 351, 385, 386, 388, 390, 403, 404, 405, 406, 410, 411, 412, 413, 414, 415, 419, 438, 439, 440, 442], "unittest": 8, "univers": 188, "unless": [5, 16, 171, 188, 453], "unlik": [5, 16, 171, 337, 338, 372], "unnecessari": [2, 5], "unnorm": [240, 422, 424], "unscal": 457, "unsign": [163, 236, 237, 316], "unsignedinteg": 11, "unspecifi": [15, 17, 18, 26, 27, 28, 29, 95, 108, 109, 110, 111, 161, 202, 204, 206, 220, 228, 232, 234, 255, 272, 273, 279, 283, 286, 292, 293, 299, 304, 489], "unsqueez": 5, "unsupport": 193, "until": [2, 484, 486], "unus": 2, "up": [1, 2, 5, 112, 480], "upcast": 2, "updat": [0, 1, 2, 4, 5, 6, 38, 94, 306, 310, 312, 328, 359, 360, 366, 371, 372, 373, 378, 455, 457, 460, 462, 463, 464, 468, 469, 470, 471, 472, 473, 480, 481, 484], "update_modul": 323, "uplo": [185, 186], "upon": [5, 310, 311], "upper": [182, 183, 185, 186, 191, 236, 247, 250, 251, 409], "upsampl": 323, "us": [0, 3, 4, 5, 6, 7, 8, 18, 38, 83, 112, 116, 119, 121, 122, 125, 126, 127, 129, 142, 144, 158, 163, 179, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 203, 210, 211, 212, 215, 217, 236, 237, 255, 256, 257, 258, 285, 309, 312, 316, 318, 323, 326, 327, 337, 340, 341, 343, 349, 352, 356, 357, 359, 363, 370, 377, 379, 381, 382, 384, 387, 392, 400, 401, 405, 406, 413, 414, 423, 450, 453, 455, 456, 457, 459, 460, 461, 462, 463, 464, 477, 479, 480, 481, 482, 483, 486, 488], "usag": [112, 400, 480], "user": [2, 5, 323], "usual": [340, 381, 479, 484], "util": [1, 2, 5, 7, 8, 264, 323, 455, 481], "v": [5, 105, 145, 185, 323, 364, 485], "v_": [456, 458, 459, 460, 461, 467, 468], "v_t": [456, 458, 459, 460, 461, 467, 468], "val": [0, 30, 161], "valid": [6, 105, 158, 302, 309, 364, 376, 479], "valid_parameter_filt": 359, "valu": [0, 1, 4, 5, 11, 12, 16, 18, 26, 27, 50, 78, 82, 93, 140, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 161, 171, 184, 188, 190, 192, 209, 217, 224, 231, 235, 239, 240, 241, 243, 244, 245, 247, 250, 251, 258, 262, 286, 287, 298, 302, 307, 309, 310, 311, 312, 316, 326, 327, 329, 336, 337, 338, 339, 345, 348, 352, 356, 357, 363, 379, 380, 396, 398, 400, 402, 422, 423, 424, 425, 426, 427, 429, 430, 431, 432, 433, 434, 447, 453, 457, 460, 469, 470, 472, 473, 482], "value_and_grad": [6, 112, 323, 377, 453, 455, 466, 480, 482, 485, 486], "value_and_grad_fn": 484, "value_cach": 5, "value_dim": 379, "value_input_dim": 379, "value_output_dim": 379, "value_proj": 5, "valueerror": [188, 366, 482], "values_hat": 5, "van": 188, "var": [0, 328, 344, 348, 350, 425], "variabl": [8, 94, 119, 132, 164, 178, 298, 301, 302, 481], "varianc": [0, 279, 299, 328, 344, 425], "variant": [5, 434, 461], "variou": 188, "vector": [0, 2, 4, 7, 170, 178, 188, 286, 301, 302, 340, 424, 486], "verbos": [1, 142], "veri": [5, 379, 481, 484, 488], "verifi": [4, 8], "versa": 258, "version": [2, 8, 116, 198, 202, 236, 272, 302, 477, 482, 483], "versu": 480, "via": [8, 112, 463, 466, 481, 484, 485], "vice": 258, "video": 338, "view": [0, 3, 83, 485], "virtual": 2, "vjp": [2, 112, 486], "vmap": [2, 112, 482, 484, 486], "vmap_add": 482, "vocab_s": 5, "vocabulari": [340, 381], "void": [1, 2], "vt": 190, "w": [0, 1, 4, 99, 100, 103, 104, 116, 163, 185, 236, 237, 298, 311, 328, 331, 332, 334, 335, 337, 338, 352, 455, 468, 482], "w1": [5, 308], "w2": [5, 308], "w3": 5, "w_": [343, 349, 384, 456, 457, 458, 459, 460, 461, 462, 467, 468], "w_1": 236, "w_g": 236, "w_i": [116, 236], "w_in": 1, "w_q": 236, "w_star": 4, "w_stride": 1, "w_t": [456, 458, 459, 460, 461, 462, 467, 468], "wa": [5, 83, 125, 126, 481, 484], "wai": [2, 5, 8, 323, 401, 480, 481, 482, 483], "wait": [2, 5, 216], "walk": 5, "walkthrough": 2, "walsh": 167, "want": [1, 5, 481, 482, 488], "warm": [2, 480], "warmup": [471, 472], "warmup_init": 457, "watch": [5, 480], "wd": 462, "we": [0, 1, 2, 4, 5, 6, 116, 125, 126, 163, 236, 237, 323, 340, 381, 389, 460, 462, 477, 479, 480, 481, 482, 484, 488], "weight": [0, 4, 98, 99, 100, 101, 102, 103, 104, 141, 143, 310, 323, 366, 370, 381, 382, 422, 424, 453, 457, 460, 462, 464, 468, 482, 484], "weight_decai": [457, 460, 462, 468], "weight_fil": 5, "weights_fp16": 484, "well": [5, 323, 364, 376, 379, 484], "wen": 5, "went": 5, "were": [5, 488], "wet": 5, "what": [2, 5, 310], "whatsoev": 5, "whc": 337, "when": [0, 1, 2, 5, 7, 8, 94, 101, 112, 127, 182, 183, 185, 186, 187, 188, 190, 191, 193, 330, 331, 332, 333, 334, 335, 401, 405, 406, 422, 428, 434, 453, 455, 471, 477, 480, 481, 488], "where": [0, 6, 140, 171, 183, 236, 298, 302, 328, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 341, 343, 344, 348, 349, 350, 352, 363, 380, 383, 384, 398, 405, 406, 411, 412, 414, 425, 431, 437, 440, 442, 447, 464, 481, 482, 483], "wherea": 482, "whether": [142, 163, 185, 186, 191, 237, 343, 349, 363, 379, 384, 422, 425, 431], "which": [0, 1, 2, 5, 6, 7, 8, 18, 37, 83, 94, 101, 118, 121, 122, 125, 126, 127, 136, 144, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 164, 172, 173, 174, 175, 176, 178, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 193, 207, 218, 236, 240, 241, 255, 256, 258, 261, 262, 263, 264, 265, 277, 278, 286, 293, 298, 301, 302, 306, 326, 327, 337, 338, 341, 356, 357, 359, 363, 387, 422, 424, 427, 431, 434, 450, 463, 464, 477, 480, 481, 482, 483, 484, 488, 489], "while": [2, 3, 5, 8, 256, 387, 484, 485], "whistl": 2, "who": 5, "whose": [140, 306, 307], "why": 5, "wide": 484, "width": [326, 327, 328, 331, 332, 334, 335, 337, 338, 356, 357, 381, 382], "window": [8, 325, 326, 327, 355, 356, 357], "wipe": 8, "wire": 217, "wired_limit_mb": 217, "wise": [0, 2, 12, 13, 19, 20, 21, 22, 23, 24, 25, 87, 88, 89, 92, 106, 107, 128, 129, 133, 134, 135, 137, 139, 159, 160, 165, 166, 171, 179, 180, 181, 194, 195, 196, 197, 198, 199, 200, 201, 205, 221, 223, 225, 227, 233, 253, 254, 257, 260, 268, 269, 270, 271, 275, 276, 282, 288, 289, 329, 337, 338, 347, 358, 380, 391, 410, 417, 418, 420, 421, 436, 437, 439, 442, 443, 444, 445, 480], "wish": 8, "with_logit": 422, "within": [0, 3, 28, 171], "without": [1, 5, 7, 280, 379, 449, 479, 480, 481, 484, 485, 488], "wk": 5, "wl": 2, "wo": 5, "word": 0, "work": [2, 3, 5, 216, 480, 481, 482, 483, 484], "workhors": 323, "world": [313, 481], "worri": [1, 484], "would": [2, 5, 401, 481, 483, 484, 485, 488], "wq": 5, "wrap": [112, 323], "write": [0, 1, 2, 5, 323, 485], "written": 2, "wrt": 307, "wv": 5, "x": [0, 1, 2, 4, 5, 6, 38, 90, 112, 121, 122, 126, 127, 134, 139, 141, 142, 143, 163, 167, 168, 188, 237, 241, 246, 259, 264, 268, 296, 297, 303, 310, 312, 323, 325, 326, 327, 328, 329, 339, 341, 342, 344, 348, 350, 351, 352, 355, 356, 357, 358, 359, 380, 383, 385, 391, 392, 398, 401, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 434, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 453, 455, 462, 480, 481, 482, 483, 484, 485, 486, 488], "x1": 423, "x2": 423, "x86_64": 8, "x_1": [423, 431], "x_2": [423, 431], "x_cast": 2, "x_grad": 1, "x_i": [421, 443, 444], "x_j": [443, 444], "x_offset": 2, "x_ptr": 2, "x_shape": 1, "x_stride": 2, "x_t": [343, 349, 384], "x_view": 485, "xcode": 8, "xcodeproj": 3, "xcrun": 8, "xf": 349, "xg": 349, "xi": 349, "xn": 343, "xo": 349, "xor": 89, "xr": 343, "xy": [0, 207], "xz": 343, "x\u00b2": 485, "y": [0, 2, 4, 5, 6, 38, 112, 167, 303, 323, 328, 337, 344, 348, 350, 352, 383, 426, 431, 434, 455, 458, 480, 481, 482, 484, 485], "y_": [426, 430], "y_cast": 2, "y_hat": 323, "y_offset": 2, "y_ptr": 2, "y_stride": 2, "ye": 5, "year": 5, "yet": [5, 188, 323, 453, 464, 482, 483, 484, 486], "yield": [5, 6, 477], "you": [2, 3, 5, 6, 7, 8, 217, 323, 392, 400, 450, 477, 480, 481, 482, 483, 485, 487, 488], "your": [2, 5, 8, 453, 482, 484], "z": [2, 343, 480, 484], "z_t": 343, "zeiler": 456, "zero": [0, 140, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 184, 207, 214, 295, 296, 297, 305, 323, 325, 326, 327, 336, 337, 338, 366, 402, 403, 404, 405, 406, 407, 408, 409, 450, 455, 457, 483], "zero_grad": 482, "zeros_lik": 0, "zhang": 5, "zip": [5, 6], "zip_saf": 2}, "titles": ["Operations", "Custom Metal Kernels", "Custom Extensions in MLX", "Metal Debugger", "Linear Regression", "LLM inference", "Multi-Layer Perceptron", "MLX", "Build and Install", "mlx.core.Device", "mlx.core.Dtype", "mlx.core.DtypeCategory", "mlx.core.abs", "mlx.core.add", "mlx.core.addmm", "mlx.core.all", "mlx.core.allclose", "mlx.core.any", "mlx.core.arange", "mlx.core.arccos", "mlx.core.arccosh", "mlx.core.arcsin", "mlx.core.arcsinh", "mlx.core.arctan", "mlx.core.arctan2", "mlx.core.arctanh", "mlx.core.argmax", "mlx.core.argmin", "mlx.core.argpartition", "mlx.core.argsort", "mlx.core.array", "mlx.core.array.T", "mlx.core.array.abs", "mlx.core.array.all", "mlx.core.array.any", "mlx.core.array.argmax", "mlx.core.array.argmin", "mlx.core.array.astype", "mlx.core.array.at", "mlx.core.array.conj", "mlx.core.array.cos", "mlx.core.array.cummax", "mlx.core.array.cummin", "mlx.core.array.cumprod", "mlx.core.array.cumsum", "mlx.core.array.diag", "mlx.core.array.diagonal", "mlx.core.array.dtype", "mlx.core.array.exp", "mlx.core.array.flatten", "mlx.core.array.item", "mlx.core.array.itemsize", "mlx.core.array.log", "mlx.core.array.log10", "mlx.core.array.log1p", "mlx.core.array.log2", "mlx.core.array.logsumexp", "mlx.core.array.max", "mlx.core.array.mean", "mlx.core.array.min", "mlx.core.array.moveaxis", "mlx.core.array.nbytes", "mlx.core.array.ndim", "mlx.core.array.prod", "mlx.core.array.reciprocal", "mlx.core.array.reshape", "mlx.core.array.round", "mlx.core.array.rsqrt", "mlx.core.array.shape", "mlx.core.array.sin", "mlx.core.array.size", "mlx.core.array.split", "mlx.core.array.sqrt", "mlx.core.array.square", "mlx.core.array.squeeze", "mlx.core.array.std", "mlx.core.array.sum", "mlx.core.array.swapaxes", "mlx.core.array.tolist", "mlx.core.array.transpose", "mlx.core.array.var", "mlx.core.array.view", "mlx.core.array_equal", "mlx.core.as_strided", "mlx.core.atleast_1d", "mlx.core.atleast_2d", "mlx.core.atleast_3d", "mlx.core.bitwise_and", "mlx.core.bitwise_or", "mlx.core.bitwise_xor", "mlx.core.block_masked_mm", "mlx.core.broadcast_to", "mlx.core.ceil", "mlx.core.clip", "mlx.core.compile", "mlx.core.concatenate", "mlx.core.conj", "mlx.core.conjugate", "mlx.core.conv1d", "mlx.core.conv2d", "mlx.core.conv3d", "mlx.core.conv_general", "mlx.core.conv_transpose1d", "mlx.core.conv_transpose2d", "mlx.core.conv_transpose3d", "mlx.core.convolve", "mlx.core.cos", "mlx.core.cosh", "mlx.core.cummax", "mlx.core.cummin", "mlx.core.cumprod", "mlx.core.cumsum", "mlx.core.custom_function", "mlx.core.default_device", "mlx.core.default_stream", "mlx.core.degrees", "mlx.core.dequantize", "mlx.core.diag", "mlx.core.diagonal", "mlx.core.disable_compile", "mlx.core.distributed.Group", "mlx.core.distributed.all_gather", "mlx.core.distributed.all_sum", "mlx.core.distributed.init", "mlx.core.distributed.is_available", "mlx.core.distributed.recv", "mlx.core.distributed.recv_like", "mlx.core.distributed.send", "mlx.core.divide", "mlx.core.divmod", "mlx.core.einsum", "mlx.core.einsum_path", "mlx.core.enable_compile", "mlx.core.equal", "mlx.core.erf", "mlx.core.erfinv", "mlx.core.eval", "mlx.core.exp", "mlx.core.expand_dims", "mlx.core.expm1", "mlx.core.eye", "mlx.core.fast.layer_norm", "mlx.core.fast.metal_kernel", "mlx.core.fast.rms_norm", "mlx.core.fast.rope", "mlx.core.fast.scaled_dot_product_attention", "mlx.core.fft.fft", "mlx.core.fft.fft2", "mlx.core.fft.fftn", "mlx.core.fft.ifft", "mlx.core.fft.ifft2", "mlx.core.fft.ifftn", "mlx.core.fft.irfft", "mlx.core.fft.irfft2", "mlx.core.fft.irfftn", "mlx.core.fft.rfft", "mlx.core.fft.rfft2", "mlx.core.fft.rfftn", "mlx.core.flatten", "mlx.core.floor", "mlx.core.floor_divide", "mlx.core.full", "mlx.core.gather_mm", "mlx.core.gather_qmm", "mlx.core.grad", "mlx.core.greater", "mlx.core.greater_equal", "mlx.core.hadamard_transform", "mlx.core.identity", "mlx.core.imag", "mlx.core.inner", "mlx.core.isclose", "mlx.core.isfinite", "mlx.core.isinf", "mlx.core.isnan", "mlx.core.isneginf", "mlx.core.isposinf", "mlx.core.issubdtype", "mlx.core.jvp", "mlx.core.left_shift", "mlx.core.less", "mlx.core.less_equal", "mlx.core.linalg.cholesky", "mlx.core.linalg.cholesky_inv", "mlx.core.linalg.cross", "mlx.core.linalg.eigh", "mlx.core.linalg.eigvalsh", "mlx.core.linalg.inv", "mlx.core.linalg.norm", "mlx.core.linalg.qr", "mlx.core.linalg.svd", "mlx.core.linalg.tri_inv", "mlx.core.linspace", "mlx.core.load", "mlx.core.log", "mlx.core.log10", "mlx.core.log1p", "mlx.core.log2", "mlx.core.logaddexp", "mlx.core.logical_and", "mlx.core.logical_not", "mlx.core.logical_or", "mlx.core.logsumexp", "mlx.core.matmul", "mlx.core.max", "mlx.core.maximum", "mlx.core.mean", "mlx.core.meshgrid", "mlx.core.metal.clear_cache", "mlx.core.metal.device_info", "mlx.core.metal.get_active_memory", "mlx.core.metal.get_cache_memory", "mlx.core.metal.get_peak_memory", "mlx.core.metal.is_available", "mlx.core.metal.reset_peak_memory", "mlx.core.metal.set_cache_limit", "mlx.core.metal.set_memory_limit", "mlx.core.metal.set_wired_limit", "mlx.core.metal.start_capture", "mlx.core.metal.stop_capture", "mlx.core.min", "mlx.core.minimum", "mlx.core.moveaxis", "mlx.core.multiply", "mlx.core.nan_to_num", "mlx.core.negative", "mlx.core.new_stream", "mlx.core.not_equal", "mlx.core.ones", "mlx.core.ones_like", "mlx.core.outer", "mlx.core.pad", "mlx.core.partition", "mlx.core.power", "mlx.core.prod", "mlx.core.put_along_axis", "mlx.core.quantize", "mlx.core.quantized_matmul", "mlx.core.radians", "mlx.core.random.bernoulli", "mlx.core.random.categorical", "mlx.core.random.gumbel", "mlx.core.random.key", "mlx.core.random.laplace", "mlx.core.random.multivariate_normal", "mlx.core.random.normal", "mlx.core.random.permutation", "mlx.core.random.randint", "mlx.core.random.seed", "mlx.core.random.split", "mlx.core.random.truncated_normal", "mlx.core.random.uniform", "mlx.core.real", "mlx.core.reciprocal", "mlx.core.remainder", "mlx.core.repeat", "mlx.core.reshape", "mlx.core.right_shift", "mlx.core.roll", "mlx.core.round", "mlx.core.rsqrt", "mlx.core.save", "mlx.core.save_gguf", "mlx.core.save_safetensors", "mlx.core.savez", "mlx.core.savez_compressed", "mlx.core.set_default_device", "mlx.core.set_default_stream", "mlx.core.sigmoid", "mlx.core.sign", "mlx.core.sin", "mlx.core.sinh", "mlx.core.softmax", "mlx.core.sort", "mlx.core.split", "mlx.core.sqrt", "mlx.core.square", "mlx.core.squeeze", "mlx.core.stack", "mlx.core.std", "mlx.core.stop_gradient", "mlx.core.stream", "mlx.core.subtract", "mlx.core.sum", "mlx.core.swapaxes", "mlx.core.synchronize", "mlx.core.take", "mlx.core.take_along_axis", "mlx.core.tan", "mlx.core.tanh", "mlx.core.tensordot", "mlx.core.tile", "mlx.core.topk", "mlx.core.trace", "mlx.core.transpose", "mlx.core.tri", "mlx.core.tril", "mlx.core.triu", "mlx.core.value_and_grad", "mlx.core.var", "mlx.core.view", "mlx.core.vjp", "mlx.core.vmap", "mlx.core.where", "mlx.core.zeros", "mlx.core.zeros_like", "mlx.nn.quantize", "mlx.nn.value_and_grad", "mlx.optimizers.clip_grad_norm", "mlx.utils.tree_flatten", "mlx.utils.tree_map", "mlx.utils.tree_map_with_path", "mlx.utils.tree_reduce", "mlx.utils.tree_unflatten", "mlx.core.Stream", "Array", "Data Types", "Devices and Streams", "Distributed Communication", "Fast", "FFT", "Linear Algebra", "Metal", "Neural Networks", "mlx.nn.ALiBi", "mlx.nn.AvgPool1d", "mlx.nn.AvgPool2d", "mlx.nn.AvgPool3d", "mlx.nn.BatchNorm", "mlx.nn.CELU", "mlx.nn.Conv1d", "mlx.nn.Conv2d", "mlx.nn.Conv3d", "mlx.nn.ConvTranspose1d", "mlx.nn.ConvTranspose2d", "mlx.nn.ConvTranspose3d", "mlx.nn.Dropout", "mlx.nn.Dropout2d", "mlx.nn.Dropout3d", "mlx.nn.ELU", "mlx.nn.Embedding", "mlx.nn.GELU", "mlx.nn.GLU", "mlx.nn.GRU", "mlx.nn.GroupNorm", "mlx.nn.HardShrink", "mlx.nn.HardTanh", "mlx.nn.Hardswish", "mlx.nn.InstanceNorm", "mlx.nn.LSTM", "mlx.nn.LayerNorm", "mlx.nn.LeakyReLU", "mlx.nn.Linear", "mlx.nn.LogSigmoid", "mlx.nn.LogSoftmax", "mlx.nn.MaxPool1d", "mlx.nn.MaxPool2d", "mlx.nn.MaxPool3d", "mlx.nn.Mish", "mlx.nn.Module.apply", "mlx.nn.Module.apply_to_modules", "mlx.nn.Module.children", "mlx.nn.Module.eval", "mlx.nn.Module.filter_and_map", "mlx.nn.Module.freeze", "mlx.nn.Module.leaf_modules", "mlx.nn.Module.load_weights", "mlx.nn.Module.modules", "mlx.nn.Module.named_modules", "mlx.nn.Module.parameters", "mlx.nn.Module.save_weights", "mlx.nn.Module.set_dtype", "mlx.nn.Module.state", "mlx.nn.Module.train", "mlx.nn.Module.trainable_parameters", "mlx.nn.Module.training", "mlx.nn.Module.unfreeze", "mlx.nn.Module.update", "mlx.nn.Module.update_modules", "mlx.nn.MultiHeadAttention", "mlx.nn.PReLU", "mlx.nn.QuantizedEmbedding", "mlx.nn.QuantizedLinear", "mlx.nn.RMSNorm", "mlx.nn.RNN", "mlx.nn.ReLU", "mlx.nn.ReLU6", "mlx.nn.RoPE", "mlx.nn.SELU", "mlx.nn.Sequential", "mlx.nn.SiLU", "mlx.nn.Sigmoid", "mlx.nn.SinusoidalPositionalEncoding", "mlx.nn.Softmax", "mlx.nn.Softmin", "mlx.nn.Softplus", "mlx.nn.Softshrink", "mlx.nn.Softsign", "mlx.nn.Step", "mlx.nn.Tanh", "mlx.nn.Transformer", "mlx.nn.Upsample", "mlx.nn.init.constant", "mlx.nn.init.glorot_normal", "mlx.nn.init.glorot_uniform", "mlx.nn.init.he_normal", "mlx.nn.init.he_uniform", "mlx.nn.init.identity", "mlx.nn.init.normal", "mlx.nn.init.uniform", "mlx.nn.celu", "mlx.nn.elu", "mlx.nn.gelu", "mlx.nn.gelu_approx", "mlx.nn.gelu_fast_approx", "mlx.nn.glu", "mlx.nn.hard_shrink", "mlx.nn.hard_tanh", "mlx.nn.hardswish", "mlx.nn.leaky_relu", "mlx.nn.log_sigmoid", "mlx.nn.log_softmax", "mlx.nn.losses.binary_cross_entropy", "mlx.nn.losses.cosine_similarity_loss", "mlx.nn.losses.cross_entropy", "mlx.nn.losses.gaussian_nll_loss", "mlx.nn.losses.hinge_loss", "mlx.nn.losses.huber_loss", "mlx.nn.losses.kl_div_loss", "mlx.nn.losses.l1_loss", "mlx.nn.losses.log_cosh_loss", "mlx.nn.losses.margin_ranking_loss", "mlx.nn.losses.mse_loss", "mlx.nn.losses.nll_loss", "mlx.nn.losses.smooth_l1_loss", "mlx.nn.losses.triplet_loss", "mlx.nn.mish", "mlx.nn.prelu", "mlx.nn.relu", "mlx.nn.relu6", "mlx.nn.selu", "mlx.nn.sigmoid", "mlx.nn.silu", "mlx.nn.softmax", "mlx.nn.softmin", "mlx.nn.softplus", "mlx.nn.softshrink", "mlx.nn.step", "mlx.nn.tanh", "Functions", "Initializers", "Layers", "Loss Functions", "Module", "Operations", "Optimizers", "mlx.optimizers.AdaDelta", "mlx.optimizers.Adafactor", "mlx.optimizers.Adagrad", "mlx.optimizers.Adam", "mlx.optimizers.AdamW", "mlx.optimizers.Adamax", "mlx.optimizers.Lion", "mlx.optimizers.Optimizer.apply_gradients", "mlx.optimizers.Optimizer.init", "mlx.optimizers.Optimizer.state", "mlx.optimizers.Optimizer.update", "mlx.optimizers.RMSprop", "mlx.optimizers.SGD", "mlx.optimizers.cosine_decay", "mlx.optimizers.exponential_decay", "mlx.optimizers.join_schedules", "mlx.optimizers.linear_schedule", "mlx.optimizers.step_decay", "Common Optimizers", "Optimizer", "Schedulers", "Random", "Transforms", "Tree Utils", "Compilation", "Distributed Communication", "Function Transforms", "Indexing Arrays", "Lazy Evaluation", "Conversion to NumPy and Other Frameworks", "Quick Start Guide", "Saving and Loading Arrays", "Unified Memory", "Using Streams"], "titleterms": {"A": 488, "In": 483, "The": 323, "ab": [12, 32], "adadelta": 456, "adafactor": 457, "adagrad": 458, "adam": 459, "adamax": 461, "adamw": 460, "add": 13, "addmm": 14, "algebra": 321, "alibi": 324, "all": [5, 15, 33, 481], "all_gath": 121, "all_sum": 122, "allclos": 16, "ani": [17, 34], "api": [7, 8], "appli": 359, "apply_gradi": 463, "apply_to_modul": 360, "arang": 18, "arcco": 19, "arccosh": 20, "arcsin": 21, "arcsinh": 22, "arctan": 23, "arctan2": 24, "arctanh": 25, "argmax": [26, 35], "argmin": [27, 36], "argpartit": 28, "argsort": 29, "arrai": [30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 315, 483, 487], "array_equ": 82, "as_strid": 83, "astyp": 37, "atleast_1d": 84, "atleast_2d": 85, "atleast_3d": 86, "attent": 5, "automat": 482, "avgpool1d": 325, "avgpool2d": 326, "avgpool3d": 327, "back": 2, "basic": [480, 486], "batchnorm": 328, "benchmark": 5, "bernoulli": 239, "binari": 8, "binary_cross_entropi": 422, "bind": 2, "bitwise_and": 87, "bitwise_or": 88, "bitwise_xor": 89, "block_masked_mm": 90, "broadcast_to": 91, "build": [2, 8], "c": [7, 8], "categor": 240, "ceil": 92, "celu": [329, 410], "children": 361, "choleski": 182, "cholesky_inv": 183, "class": 323, "clear_cach": 208, "clip": 93, "clip_grad_norm": 308, "cmake": 2, "co": [40, 106], "code": [2, 5], "common": 474, "commun": [318, 481], "compil": [94, 480], "complex": 1, "comput": 484, "concaten": 95, "conj": [39, 96], "conjug": 97, "constant": 402, "conv1d": [98, 330], "conv2d": [99, 331], "conv3d": [100, 332], "conv_gener": 101, "conv_transpose1d": 102, "conv_transpose2d": 103, "conv_transpose3d": 104, "convers": 485, "convert": 5, "convolv": 105, "convtranspose1d": 333, "convtranspose2d": 334, "convtranspose3d": 335, "core": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 314], "cosh": 107, "cosine_decai": 469, "cosine_similarity_loss": 423, "cpu": 2, "cross": 184, "cross_entropi": 424, "cummax": [41, 108], "cummin": [42, 109], "cumprod": [43, 110], "cumsum": [44, 111], "custom": [1, 2], "custom_funct": 112, "data": 316, "debug": 480, "debugg": 3, "default_devic": 113, "default_stream": 114, "degre": 115, "dequant": 116, "devic": [9, 317], "device_info": 209, "diag": [45, 117], "diagon": [46, 118], "differ": 483, "differenti": 482, "disable_compil": 119, "distribut": [120, 121, 122, 123, 124, 125, 126, 127, 318, 481], "divid": 128, "divmod": 129, "download": [2, 5], "dropout": 336, "dropout2d": 337, "dropout3d": 338, "dtype": [10, 47], "dtypecategori": 11, "eigh": 185, "eigvalsh": 186, "einsum": 130, "einsum_path": 131, "elu": [339, 411], "embed": 340, "enable_compil": 132, "encod": 5, "end": 2, "equal": 133, "erf": 134, "erfinv": 135, "eval": [136, 362], "evalu": 484, "exampl": [1, 2, 7, 480, 481, 488], "exp": [48, 137], "expand_dim": 138, "expm1": 139, "exponential_decai": 470, "extens": 2, "ey": 140, "fast": [141, 142, 143, 144, 145, 319], "fft": [146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 320], "fft2": 147, "fftn": 148, "filter_and_map": 363, "flatten": [49, 158], "floor": 159, "floor_divid": 160, "format": 487, "found": 8, "framework": 485, "freez": 364, "from": [8, 483], "full": [5, 161], "function": [449, 452, 480, 482, 486], "further": 7, "gather_mm": 162, "gather_qmm": 163, "gaussian_nll_loss": 425, "gelu": [341, 412], "gelu_approx": 413, "gelu_fast_approx": 414, "gener": 5, "get": 481, "get_active_memori": 210, "get_cache_memori": 211, "get_peak_memori": 212, "glorot_norm": 403, "glorot_uniform": 404, "glu": [342, 415], "gpu": 2, "grad": [164, 323], "graph": [480, 484, 486], "greater": 165, "greater_equ": 166, "grid": 1, "group": 120, "groupnorm": 344, "gru": 343, "guid": 486, "gumbel": 241, "hadamard_transform": 167, "hard_shrink": 416, "hard_tanh": 417, "hardshrink": 345, "hardswish": [347, 418], "hardtanh": 346, "he_norm": 405, "he_uniform": 406, "hinge_loss": 426, "host": 481, "huber_loss": 427, "ident": [168, 407], "ifft": 149, "ifft2": 150, "ifftn": 151, "imag": 169, "implement": [2, 5], "index": 483, "infer": 5, "init": [123, 402, 403, 404, 405, 406, 407, 408, 409, 464], "initi": 450, "inner": 170, "inspect": 323, "instal": [7, 8, 481], "instancenorm": 348, "introduc": 2, "inv": 187, "irfft": 152, "irfft2": 153, "irfftn": 154, "is_avail": [124, 213], "isclos": 171, "isfinit": 172, "isinf": 173, "isnan": 174, "isneginf": 175, "isposinf": 176, "issubdtyp": 177, "item": 50, "items": 51, "jax": 485, "join_schedul": 471, "jvp": 178, "kei": 242, "kernel": 1, "kl_div_loss": 428, "l1_loss": 429, "laplac": 243, "layer": [5, 6, 451], "layer_norm": 141, "layernorm": 350, "lazi": 484, "leaf_modul": 365, "leaky_relu": 419, "leakyrelu": 351, "left_shift": 179, "less": 180, "less_equ": 181, "linalg": [182, 183, 184, 185, 186, 187, 188, 189, 190, 191], "linear": [4, 321, 352], "linear_schedul": 472, "linspac": 192, "lion": 462, "llm": 5, "load": [5, 193, 455, 487], "load_weight": 366, "log": [52, 194], "log10": [53, 195], "log1p": [54, 196], "log2": [55, 197], "log_cosh_loss": 430, "log_sigmoid": 420, "log_softmax": 421, "logaddexp": 198, "logical_and": 199, "logical_not": 200, "logical_or": 201, "logsigmoid": 353, "logsoftmax": 354, "logsumexp": [56, 202], "loss": [422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 452], "lstm": 349, "margin_ranking_loss": 431, "matmul": 203, "max": [57, 204], "maximum": 205, "maxpool1d": 355, "maxpool2d": 356, "maxpool3d": 357, "mean": [58, 206], "memori": 488, "meshgrid": 207, "metal": [1, 3, 8, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 322], "metal_kernel": 142, "min": [59, 220], "minim": 8, "minimum": 221, "mish": [358, 436], "mlx": [2, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473], "model": 5, "modul": [323, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 453], "moveaxi": [60, 222], "mpi": 481, "mse_loss": 432, "multi": 6, "multiheadattent": 379, "multipli": 223, "multivariate_norm": 244, "named_modul": 368, "nan_to_num": 224, "nbyte": 61, "ndim": 62, "neg": 225, "network": 323, "neural": 323, "new_stream": 226, "nll_loss": 433, "nn": [306, 307, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448], "norm": 188, "normal": [245, 408], "not_equ": 227, "numpi": [483, 485], "ones": 228, "ones_lik": 229, "onli": 484, "oper": [0, 2, 454], "optim": [308, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475], "option": 8, "other": 485, "outer": 230, "pad": 231, "paramet": [323, 369], "partit": 232, "perceptron": 6, "permut": 246, "place": 483, "power": 233, "prelu": [380, 437], "primit": 2, "prod": [63, 234], "pure": 480, "put": 5, "put_along_axi": 235, "python": [2, 7, 8], "pytorch": 485, "qr": 189, "quantiz": [236, 306], "quantized_matmul": 237, "quantizedembed": 381, "quantizedlinear": 382, "quick": [323, 486], "radian": 238, "randint": 247, "random": [239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 477], "read": 7, "real": 252, "reciproc": [64, 253], "recv": 125, "recv_lik": 126, "reduc": 481, "refer": 7, "regress": 4, "relu": [385, 438], "relu6": [386, 439], "remaind": 254, "remot": 481, "repeat": 255, "requir": 8, "reset_peak_memori": 214, "reshap": [65, 256], "result": 2, "rfft": 155, "rfft2": 156, "rfftn": 157, "right_shift": 257, "rms_norm": 143, "rmsnorm": 383, "rmsprop": 467, "rnn": 384, "roll": 258, "rope": [144, 387], "round": [66, 259], "rsqrt": [67, 260], "sampl": 1, "save": [261, 455, 487], "save_gguf": 262, "save_safetensor": 263, "save_weight": 370, "savez": 264, "savez_compress": 265, "scaled_dot_product_attent": 145, "schedul": 476, "script": [2, 5], "seed": 248, "selu": [388, 440], "send": 127, "sequenti": 389, "serial": 487, "set": 481, "set_cache_limit": 215, "set_default_devic": 266, "set_default_stream": 267, "set_dtyp": 371, "set_memory_limit": 216, "set_wired_limit": 217, "setuptool": 2, "sgd": 468, "shape": [1, 68], "shell": 8, "sigmoid": [268, 391, 441], "sign": 269, "silu": [390, 442], "simpl": [1, 488], "sin": [69, 270], "sinh": 271, "sinusoidalpositionalencod": 392, "size": [8, 70], "smooth_l1_loss": 434, "softmax": [272, 393, 443], "softmin": [394, 444], "softplu": [395, 445], "softshrink": [396, 446], "softsign": 397, "sort": 273, "sourc": 8, "specifi": 489, "speedup": 480, "split": [71, 249, 274], "sqrt": [72, 275], "squar": [73, 276], "squeez": [74, 277], "stack": 278, "start": [323, 481, 486], "start_captur": 218, "state": [372, 465], "std": [75, 279], "step": [398, 447], "step_decai": 473, "stop_captur": 219, "stop_gradi": 280, "stream": [281, 314, 317, 489], "stride": 1, "subtract": 282, "sum": [76, 283], "support": 316, "svd": 190, "swapax": [77, 284], "synchron": 285, "t": 31, "take": 286, "take_along_axi": 287, "tan": 288, "tanh": [289, 399, 448], "tensordot": 290, "tensorflow": 485, "tile": 291, "togeth": 5, "tolist": 78, "topk": 292, "trace": 293, "train": [373, 375, 480, 481], "trainable_paramet": 374, "transform": [2, 400, 478, 480, 482, 484, 486], "transpos": [79, 294], "tree": 479, "tree_flatten": 309, "tree_map": 310, "tree_map_with_path": 311, "tree_reduc": 312, "tree_unflatten": 313, "tri": 295, "tri_inv": 191, "tril": 296, "triplet_loss": 435, "triu": 297, "troubleshoot": 8, "truncated_norm": 250, "tune": 481, "type": 316, "unfreez": 376, "unifi": 488, "uniform": [251, 409], "up": 481, "updat": [323, 377, 466, 483], "update_modul": 378, "upsampl": 401, "us": [1, 2, 484, 489], "usag": [2, 7], "util": [309, 310, 311, 312, 313, 479], "valu": 323, "value_and_grad": [298, 307], "var": [80, 299], "vector": 482, "view": [81, 300], "vjp": [1, 301], "vmap": 302, "weight": 5, "what": 484, "when": 484, "where": 303, "why": 484, "workflow": 3, "x86": 8, "xcode": 3, "you": 484, "zero": 304, "zeros_lik": 305}}) \ No newline at end of file diff --git a/docs/build/html/struct_conditional_type-members.html b/docs/build/html/struct_conditional_type-members.html new file mode 100644 index 000000000..c7c642ece --- /dev/null +++ b/docs/build/html/struct_conditional_type-members.html @@ -0,0 +1,101 @@ + + + + + + + +MLX: Member List + + + + + + + + + + + + + +
    +
    +

    __init__(learning_rate[, betas, eps])

    __init__(learning_rate[, betas, eps, ...])

    apply_single(gradient, parameter, state)

    AdaDelta(learning_rate[, rho, eps])

    The AdaDelta optimizer with a learning rate [1].

    Adam(learning_rate[, betas, eps])

    Adam(learning_rate[, betas, eps, ...])

    The Adam optimizer [1].

    AdamW(learning_rate[, betas, eps, weight_decay])

    AdamW(learning_rate[, betas, eps, ...])

    The AdamW optimizer [1].

    Adamax(learning_rate[, betas, eps])

    + + + + + +
    +
    MLX +
    +
    +
    + + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    ConditionalType< condition, T, U > Member List
    +
    +
    + +

    This is the complete list of members for ConditionalType< condition, T, U >, including all inherited members.

    + + +
    type typedefConditionalType< condition, T, U >
    + + +
    + + diff --git a/docs/build/html/struct_conditional_type.html b/docs/build/html/struct_conditional_type.html new file mode 100644 index 000000000..6ac6a9f18 --- /dev/null +++ b/docs/build/html/struct_conditional_type.html @@ -0,0 +1,128 @@ + + + + + + + +MLX: ConditionalType< condition, T, U > Struct Template Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    MLX +
    +
    +
    + + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    + +
    ConditionalType< condition, T, U > Struct Template Reference
    +
    +
    + +

    #include <utils.h>

    + + + + +

    +Public Types

    using type = U
     
    +

    Member Typedef Documentation

    + +

    ◆ type

    + +
    +
    +
    +template<bool condition, typename T , typename U >
    + + + + +
    using ConditionalType< condition, T, U >::type = U
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file:
      +
    • mlx/backend/metal/kernels/utils.h
    • +
    +
    + + +
    + + diff --git a/docs/build/html/struct_conditional_type_3_01true_00_01_t_00_01_u_01_4-members.html b/docs/build/html/struct_conditional_type_3_01true_00_01_t_00_01_u_01_4-members.html new file mode 100644 index 000000000..d4a70c823 --- /dev/null +++ b/docs/build/html/struct_conditional_type_3_01true_00_01_t_00_01_u_01_4-members.html @@ -0,0 +1,101 @@ + + + + + + + +MLX: Member List + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    MLX +
    +
    +
    + + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    +
    ConditionalType< true, T, U > Member List
    +
    +
    + +

    This is the complete list of members for ConditionalType< true, T, U >, including all inherited members.

    + + +
    type typedefConditionalType< true, T, U >
    + + +
    + + diff --git a/docs/build/html/struct_conditional_type_3_01true_00_01_t_00_01_u_01_4.html b/docs/build/html/struct_conditional_type_3_01true_00_01_t_00_01_u_01_4.html new file mode 100644 index 000000000..95c862187 --- /dev/null +++ b/docs/build/html/struct_conditional_type_3_01true_00_01_t_00_01_u_01_4.html @@ -0,0 +1,128 @@ + + + + + + + +MLX: ConditionalType< true, T, U > Struct Template Reference + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    MLX +
    +
    +
    + + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    + +
    ConditionalType< true, T, U > Struct Template Reference
    +
    +
    + +

    #include <utils.h>

    + + + + +

    +Public Types

    using type = T
     
    +

    Member Typedef Documentation

    + +

    ◆ type

    + +
    +
    +
    +template<typename T , typename U >
    + + + + +
    using ConditionalType< true, T, U >::type = T
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file:
      +
    • mlx/backend/metal/kernels/utils.h
    • +
    +
    + + +
    + + diff --git a/docs/build/html/structmlx_1_1core_1_1array_1_1_data-members.html b/docs/build/html/structmlx_1_1core_1_1array_1_1_data-members.html index fcce3234e..9e90686d6 100644 --- a/docs/build/html/structmlx_1_1core_1_1array_1_1_data-members.html +++ b/docs/build/html/structmlx_1_1core_1_1array_1_1_data-members.html @@ -95,8 +95,8 @@ $(function(){ initResizable(false); });

    This is the complete list of members for mlx::core::array::Data, including all inherited members.

    - - + + diff --git a/docs/build/html/structmlx_1_1core_1_1array_1_1_data.html b/docs/build/html/structmlx_1_1core_1_1array_1_1_data.html index 6e11df01a..cd74917d1 100644 --- a/docs/build/html/structmlx_1_1core_1_1array_1_1_data.html +++ b/docs/build/html/structmlx_1_1core_1_1array_1_1_data.html @@ -100,11 +100,11 @@ $(function(){ initResizable(false); });
    buffermlx::core::array::Data
    dmlx::core::array::Data
    Data(allocator::Buffer buffer, deleter_t d=allocator::free)mlx::core::array::Datainline
    dmlx::core::array::Data
    Data(allocator::Buffer buffer, Deleter d=allocator::free)mlx::core::array::Datainline
    Data(const Data &d)=deletemlx::core::array::Data
    operator=(const Data &d)=deletemlx::core::array::Data
    ~Data()mlx::core::array::Datainline
    - - - + + + - + @@ -113,12 +113,12 @@ Public Member Functions Public Attributes - - + +

    Public Member Functions

     Data (allocator::Buffer buffer, deleter_t d=allocator::free)
     
     Data (const Data &d)=delete
     Data (allocator::Buffer buffer, Deleter d=allocator::free)
     
     Data (const Data &d)=delete
     
    Dataoperator= (const Data &d)=delete
    Dataoperator= (const Data &d)=delete
     
     ~Data ()
     
    allocator::Buffer buffer
     
    deleter_t d
     
    Deleter d
     

    Constructor & Destructor Documentation

    - -

    ◆ Data() [1/2]

    + +

    ◆ Data() [1/2]

    @@ -134,7 +134,7 @@ Public Attributes
    deleter_t d = allocator::free )Deleter d = allocator::free )
    - +
    deleter_t mlx::core::array::Data::dDeleter mlx::core::array::Data::d
    diff --git a/docs/build/html/transforms_8h_source.html b/docs/build/html/transforms_8h_source.html index 8d6e0898d..562d52061 100644 --- a/docs/build/html/transforms_8h_source.html +++ b/docs/build/html/transforms_8h_source.html @@ -249,7 +249,7 @@ $(function(){ initResizable(false); });
    223
    224} // namespace mlx::core
    -
    Definition array.h:20
    +
    Definition array.h:23
    Definition allocator.h:7
    void async_eval(std::vector< array > outputs)
    std::pair< std::vector< array >, std::vector< array > > jvp(const std::function< std::vector< array >(const std::vector< array > &)> &fun, const std::vector< array > &primals, const std::vector< array > &tangents)
    Computes the output and Jacobian-vector product (JVP) of a function.
    @@ -263,7 +263,7 @@ $(function(){ initResizable(false); });
    std::function< std::pair< std::vector< array >, std::vector< array > >( const std::vector< array > &)> ValueAndGradFn
    Definition transforms.h:63
    ValueAndGradFn value_and_grad(const std::function< std::vector< array >(const std::vector< array > &)> &fun, const std::vector< int > &argnums)
    Returns a function which computes the value and gradient of the input function with respect to a vect...
    std::function< array(const array &)> vmap(const std::function< array(const array &)> &fun, int in_axis=0, int out_axis=0)
    Automatically vectorize a unary function over the requested axes.
    -
    typename std::enable_if_t< is_arrays_v< T... > > enable_for_arrays_t
    Definition array.h:611
    +
    typename std::enable_if_t< is_arrays_v< T... > > enable_for_arrays_t
    Definition array.h:614
     
    Dtype mlx::core::result_type (const std::vector< array > &arrays)
     
    std::vector< int > mlx::core::broadcast_shapes (const std::vector< int > &s1, const std::vector< int > &s2)
     
    Shape mlx::core::broadcast_shapes (const Shape &s1, const Shape &s2)
     
    bool mlx::core::is_same_shape (const std::vector< array > &arrays)
     
    template<typename T >
     
    std::ostream & mlx::core::operator<< (std::ostream &os, array a)
     
    std::ostream & mlx::core::operator<< (std::ostream &os, const std::vector< int > &v)
     
    std::ostream & mlx::core::operator<< (std::ostream &os, const std::vector< size_t > &v)
     
    std::ostream & mlx::core::operator<< (std::ostream &os, const Shape &v)
     
    std::ostream & mlx::core::operator<< (std::ostream &os, const Strides &v)
     
    std::ostream & mlx::core::operator<< (std::ostream &os, const std::vector< int64_t > &v)
     
    std::ostream & mlx::core::operator<< (std::ostream &os, const complex64_t &v)