From 3dee931c0a5bd9cd0c19ac4a14048d7577d0b00d Mon Sep 17 00:00:00 2001 From: CircleCI Docs Date: Fri, 18 Oct 2024 19:13:44 +0000 Subject: [PATCH] rebase --- docs/build/html/.buildinfo | 2 +- docs/build/html/_sources/install.rst | 2 +- .../python/_autosummary/mlx.core.imag.rst | 6 + .../python/_autosummary/mlx.core.real.rst | 6 + docs/build/html/_sources/python/ops.rst | 2 + .../html/_static/documentation_options.js | 2 +- docs/build/html/annotated.html | 328 +-- docs/build/html/backend_2common_2ops_8h.html | 4 + .../html/backend_2common_2ops_8h_source.html | 770 +++--- ...ackend_2metal_2kernels_2fft_8h_source.html | 3 +- docs/build/html/backend_2metal_2utils_8h.html | 4 +- .../html/backend_2metal_2utils_8h_source.html | 6 +- docs/build/html/classes.html | 4 +- .../html/classmlx_1_1core_1_1_f_f_t.html | 2 +- .../classmlx_1_1core_1_1_imag-members.html | 129 + .../build/html/classmlx_1_1core_1_1_imag.html | 477 ++++ docs/build/html/classmlx_1_1core_1_1_imag.png | Bin 0 -> 882 bytes .../html/classmlx_1_1core_1_1_primitive.html | 12 +- .../classmlx_1_1core_1_1_real-members.html | 129 + .../build/html/classmlx_1_1core_1_1_real.html | 477 ++++ docs/build/html/classmlx_1_1core_1_1_real.png | Bin 0 -> 866 bytes .../classmlx_1_1core_1_1_unary_primitive.html | 98 +- .../classmlx_1_1core_1_1_unary_primitive.png | Bin 33073 -> 33747 bytes docs/build/html/common_2unary_8h_source.html | 10 +- docs/build/html/compiled_8h_source.html | 2 +- docs/build/html/cpp/ops.html | 24 +- docs/build/html/dev/custom_metal_kernels.html | 10 +- docs/build/html/dev/extensions.html | 10 +- docs/build/html/dev/metal_debugger.html | 10 +- .../dir_70a37effa88bcbd6b791977fa1e64356.html | 2 + docs/build/html/doxygen_crawl.html | 62 +- .../html/examples/linear_regression.html | 10 +- docs/build/html/examples/llama-inference.html | 10 +- docs/build/html/examples/mlp.html | 10 +- docs/build/html/files.html | 15 +- docs/build/html/functions_e.html | 4 +- docs/build/html/functions_func_e.html | 4 +- docs/build/html/functions_func_i.html | 3 +- docs/build/html/functions_func_j.html | 2 +- docs/build/html/functions_func_o.html | 4 +- docs/build/html/functions_func_p.html | 2 +- docs/build/html/functions_func_r.html | 1 + docs/build/html/functions_func_v.html | 4 +- docs/build/html/functions_i.html | 3 +- docs/build/html/functions_j.html | 2 +- docs/build/html/functions_o.html | 4 +- docs/build/html/functions_p.html | 2 +- docs/build/html/functions_r.html | 1 + docs/build/html/functions_v.html | 4 +- docs/build/html/genindex.html | 26 +- docs/build/html/globals_func_s.html | 1 + docs/build/html/globals_func_u.html | 6 +- docs/build/html/globals_s.html | 1 + docs/build/html/globals_u.html | 6 +- docs/build/html/group__ops.html | 46 + docs/build/html/hierarchy.html | 508 ++-- docs/build/html/index.html | 10 +- docs/build/html/install.html | 12 +- docs/build/html/kernels_8h.html | 4 +- docs/build/html/kernels_8h_source.html | 409 +-- docs/build/html/metal_2kernels_2unary_8h.html | 42 +- .../html/metal_2kernels_2unary_8h_source.html | 24 +- docs/build/html/namespacemembers_func_g.html | 4 +- docs/build/html/namespacemembers_func_i.html | 1 + docs/build/html/namespacemembers_func_r.html | 1 + docs/build/html/namespacemembers_g.html | 4 +- docs/build/html/namespacemembers_i.html | 1 + docs/build/html/namespacemembers_r.html | 1 + docs/build/html/namespacemlx_1_1core.html | 36 +- .../html/namespacemlx_1_1core_1_1detail.html | 4 + docs/build/html/objects.inv | Bin 26454 -> 26561 bytes docs/build/html/ops_8h.html | 4 + docs/build/html/ops_8h_source.html | 10 +- docs/build/html/primitives_8h.html | 4 + docs/build/html/primitives_8h_source.html | 2423 +++++++++-------- .../python/_autosummary/mlx.core.Device.html | 10 +- .../python/_autosummary/mlx.core.Dtype.html | 10 +- .../_autosummary/mlx.core.DtypeCategory.html | 10 +- .../python/_autosummary/mlx.core.abs.html | 10 +- .../python/_autosummary/mlx.core.add.html | 10 +- .../python/_autosummary/mlx.core.addmm.html | 10 +- .../python/_autosummary/mlx.core.all.html | 10 +- .../_autosummary/mlx.core.allclose.html | 10 +- .../python/_autosummary/mlx.core.any.html | 10 +- .../python/_autosummary/mlx.core.arange.html | 10 +- .../python/_autosummary/mlx.core.arccos.html | 10 +- .../python/_autosummary/mlx.core.arccosh.html | 10 +- .../python/_autosummary/mlx.core.arcsin.html | 10 +- .../python/_autosummary/mlx.core.arcsinh.html | 10 +- .../python/_autosummary/mlx.core.arctan.html | 10 +- .../python/_autosummary/mlx.core.arctan2.html | 10 +- .../python/_autosummary/mlx.core.arctanh.html | 10 +- .../python/_autosummary/mlx.core.argmax.html | 10 +- .../python/_autosummary/mlx.core.argmin.html | 10 +- .../_autosummary/mlx.core.argpartition.html | 10 +- .../python/_autosummary/mlx.core.argsort.html | 10 +- .../python/_autosummary/mlx.core.array.T.html | 10 +- .../_autosummary/mlx.core.array.abs.html | 10 +- .../_autosummary/mlx.core.array.all.html | 10 +- .../_autosummary/mlx.core.array.any.html | 10 +- .../_autosummary/mlx.core.array.argmax.html | 10 +- .../_autosummary/mlx.core.array.argmin.html | 10 +- .../_autosummary/mlx.core.array.astype.html | 10 +- .../_autosummary/mlx.core.array.at.html | 10 +- .../_autosummary/mlx.core.array.conj.html | 10 +- .../_autosummary/mlx.core.array.cos.html | 10 +- .../_autosummary/mlx.core.array.cummax.html | 10 +- .../_autosummary/mlx.core.array.cummin.html | 10 +- .../_autosummary/mlx.core.array.cumprod.html | 10 +- .../_autosummary/mlx.core.array.cumsum.html | 10 +- .../_autosummary/mlx.core.array.diag.html | 10 +- .../_autosummary/mlx.core.array.diagonal.html | 10 +- .../_autosummary/mlx.core.array.dtype.html | 10 +- .../_autosummary/mlx.core.array.exp.html | 10 +- .../_autosummary/mlx.core.array.flatten.html | 10 +- .../python/_autosummary/mlx.core.array.html | 10 +- .../_autosummary/mlx.core.array.item.html | 10 +- .../_autosummary/mlx.core.array.itemsize.html | 10 +- .../_autosummary/mlx.core.array.log.html | 10 +- .../_autosummary/mlx.core.array.log10.html | 10 +- .../_autosummary/mlx.core.array.log1p.html | 10 +- .../_autosummary/mlx.core.array.log2.html | 10 +- .../mlx.core.array.logsumexp.html | 10 +- .../_autosummary/mlx.core.array.max.html | 10 +- .../_autosummary/mlx.core.array.mean.html | 10 +- .../_autosummary/mlx.core.array.min.html | 10 +- .../_autosummary/mlx.core.array.moveaxis.html | 10 +- .../_autosummary/mlx.core.array.nbytes.html | 10 +- .../_autosummary/mlx.core.array.ndim.html | 10 +- .../_autosummary/mlx.core.array.prod.html | 10 +- .../mlx.core.array.reciprocal.html | 10 +- .../_autosummary/mlx.core.array.reshape.html | 10 +- .../_autosummary/mlx.core.array.round.html | 10 +- .../_autosummary/mlx.core.array.rsqrt.html | 10 +- .../_autosummary/mlx.core.array.shape.html | 10 +- .../_autosummary/mlx.core.array.sin.html | 10 +- .../_autosummary/mlx.core.array.size.html | 10 +- .../_autosummary/mlx.core.array.split.html | 10 +- .../_autosummary/mlx.core.array.sqrt.html | 10 +- .../_autosummary/mlx.core.array.square.html | 10 +- .../_autosummary/mlx.core.array.squeeze.html | 10 +- .../_autosummary/mlx.core.array.std.html | 10 +- .../_autosummary/mlx.core.array.sum.html | 10 +- .../_autosummary/mlx.core.array.swapaxes.html | 10 +- .../_autosummary/mlx.core.array.tolist.html | 10 +- .../mlx.core.array.transpose.html | 10 +- .../_autosummary/mlx.core.array.var.html | 10 +- .../_autosummary/mlx.core.array.view.html | 10 +- .../_autosummary/mlx.core.array_equal.html | 10 +- .../_autosummary/mlx.core.as_strided.html | 10 +- .../_autosummary/mlx.core.atleast_1d.html | 10 +- .../_autosummary/mlx.core.atleast_2d.html | 10 +- .../_autosummary/mlx.core.atleast_3d.html | 10 +- .../_autosummary/mlx.core.bitwise_and.html | 10 +- .../_autosummary/mlx.core.bitwise_or.html | 10 +- .../_autosummary/mlx.core.bitwise_xor.html | 10 +- .../mlx.core.block_masked_mm.html | 10 +- .../_autosummary/mlx.core.broadcast_to.html | 10 +- .../python/_autosummary/mlx.core.ceil.html | 10 +- .../python/_autosummary/mlx.core.clip.html | 10 +- .../python/_autosummary/mlx.core.compile.html | 10 +- .../_autosummary/mlx.core.concatenate.html | 10 +- .../python/_autosummary/mlx.core.conj.html | 10 +- .../_autosummary/mlx.core.conjugate.html | 10 +- .../python/_autosummary/mlx.core.conv1d.html | 10 +- .../python/_autosummary/mlx.core.conv2d.html | 10 +- .../python/_autosummary/mlx.core.conv3d.html | 10 +- .../_autosummary/mlx.core.conv_general.html | 10 +- .../mlx.core.conv_transpose1d.html | 10 +- .../mlx.core.conv_transpose2d.html | 10 +- .../mlx.core.conv_transpose3d.html | 10 +- .../_autosummary/mlx.core.convolve.html | 10 +- .../python/_autosummary/mlx.core.cos.html | 10 +- .../python/_autosummary/mlx.core.cosh.html | 10 +- .../python/_autosummary/mlx.core.cummax.html | 10 +- .../python/_autosummary/mlx.core.cummin.html | 10 +- .../python/_autosummary/mlx.core.cumprod.html | 10 +- .../python/_autosummary/mlx.core.cumsum.html | 10 +- .../mlx.core.custom_function.html | 10 +- .../_autosummary/mlx.core.default_device.html | 10 +- .../_autosummary/mlx.core.default_stream.html | 10 +- .../python/_autosummary/mlx.core.degrees.html | 10 +- .../_autosummary/mlx.core.dequantize.html | 10 +- .../python/_autosummary/mlx.core.diag.html | 10 +- .../_autosummary/mlx.core.diagonal.html | 10 +- .../mlx.core.disable_compile.html | 10 +- .../mlx.core.distributed.Group.html | 10 +- .../mlx.core.distributed.all_gather.html | 10 +- .../mlx.core.distributed.all_sum.html | 10 +- .../mlx.core.distributed.init.html | 10 +- .../mlx.core.distributed.is_available.html | 10 +- .../mlx.core.distributed.recv.html | 10 +- .../mlx.core.distributed.recv_like.html | 10 +- .../mlx.core.distributed.send.html | 10 +- .../python/_autosummary/mlx.core.divide.html | 10 +- .../python/_autosummary/mlx.core.divmod.html | 10 +- .../python/_autosummary/mlx.core.einsum.html | 10 +- .../_autosummary/mlx.core.einsum_path.html | 10 +- .../_autosummary/mlx.core.enable_compile.html | 10 +- .../python/_autosummary/mlx.core.equal.html | 10 +- .../python/_autosummary/mlx.core.erf.html | 10 +- .../python/_autosummary/mlx.core.erfinv.html | 10 +- .../python/_autosummary/mlx.core.eval.html | 10 +- .../python/_autosummary/mlx.core.exp.html | 10 +- .../_autosummary/mlx.core.expand_dims.html | 10 +- .../python/_autosummary/mlx.core.expm1.html | 10 +- .../python/_autosummary/mlx.core.eye.html | 10 +- .../mlx.core.fast.affine_quantize.html | 10 +- .../mlx.core.fast.layer_norm.html | 10 +- .../mlx.core.fast.metal_kernel.html | 10 +- .../_autosummary/mlx.core.fast.rms_norm.html | 10 +- .../_autosummary/mlx.core.fast.rope.html | 10 +- ...ore.fast.scaled_dot_product_attention.html | 10 +- .../python/_autosummary/mlx.core.fft.fft.html | 10 +- .../_autosummary/mlx.core.fft.fft2.html | 10 +- .../_autosummary/mlx.core.fft.fftn.html | 10 +- .../_autosummary/mlx.core.fft.ifft.html | 10 +- .../_autosummary/mlx.core.fft.ifft2.html | 10 +- .../_autosummary/mlx.core.fft.ifftn.html | 10 +- .../_autosummary/mlx.core.fft.irfft.html | 10 +- .../_autosummary/mlx.core.fft.irfft2.html | 10 +- .../_autosummary/mlx.core.fft.irfftn.html | 10 +- .../_autosummary/mlx.core.fft.rfft.html | 10 +- .../_autosummary/mlx.core.fft.rfft2.html | 10 +- .../_autosummary/mlx.core.fft.rfftn.html | 10 +- .../python/_autosummary/mlx.core.flatten.html | 10 +- .../python/_autosummary/mlx.core.floor.html | 10 +- .../_autosummary/mlx.core.floor_divide.html | 10 +- .../python/_autosummary/mlx.core.full.html | 10 +- .../_autosummary/mlx.core.gather_mm.html | 10 +- .../_autosummary/mlx.core.gather_qmm.html | 10 +- .../python/_autosummary/mlx.core.grad.html | 10 +- .../python/_autosummary/mlx.core.greater.html | 10 +- .../_autosummary/mlx.core.greater_equal.html | 10 +- .../mlx.core.hadamard_transform.html | 10 +- .../_autosummary/mlx.core.identity.html | 16 +- .../python/_autosummary/mlx.core.imag.html | 1000 +++++++ .../python/_autosummary/mlx.core.inner.html | 16 +- .../python/_autosummary/mlx.core.isclose.html | 10 +- .../_autosummary/mlx.core.isfinite.html | 10 +- .../python/_autosummary/mlx.core.isinf.html | 10 +- .../python/_autosummary/mlx.core.isnan.html | 10 +- .../_autosummary/mlx.core.isneginf.html | 10 +- .../_autosummary/mlx.core.isposinf.html | 10 +- .../_autosummary/mlx.core.issubdtype.html | 10 +- .../python/_autosummary/mlx.core.jvp.html | 10 +- .../_autosummary/mlx.core.left_shift.html | 10 +- .../python/_autosummary/mlx.core.less.html | 10 +- .../_autosummary/mlx.core.less_equal.html | 10 +- .../mlx.core.linalg.cholesky.html | 10 +- .../mlx.core.linalg.cholesky_inv.html | 10 +- .../_autosummary/mlx.core.linalg.cross.html | 10 +- .../_autosummary/mlx.core.linalg.inv.html | 10 +- .../_autosummary/mlx.core.linalg.norm.html | 10 +- .../_autosummary/mlx.core.linalg.qr.html | 12 +- .../_autosummary/mlx.core.linalg.svd.html | 12 +- .../_autosummary/mlx.core.linalg.tri_inv.html | 10 +- .../_autosummary/mlx.core.linspace.html | 10 +- .../python/_autosummary/mlx.core.load.html | 10 +- .../python/_autosummary/mlx.core.log.html | 10 +- .../python/_autosummary/mlx.core.log10.html | 10 +- .../python/_autosummary/mlx.core.log1p.html | 10 +- .../python/_autosummary/mlx.core.log2.html | 10 +- .../_autosummary/mlx.core.logaddexp.html | 10 +- .../_autosummary/mlx.core.logical_and.html | 10 +- .../_autosummary/mlx.core.logical_not.html | 10 +- .../_autosummary/mlx.core.logical_or.html | 10 +- .../_autosummary/mlx.core.logsumexp.html | 10 +- .../python/_autosummary/mlx.core.matmul.html | 10 +- .../python/_autosummary/mlx.core.max.html | 10 +- .../python/_autosummary/mlx.core.maximum.html | 10 +- .../python/_autosummary/mlx.core.mean.html | 10 +- .../_autosummary/mlx.core.meshgrid.html | 10 +- .../mlx.core.metal.clear_cache.html | 10 +- .../mlx.core.metal.device_info.html | 10 +- .../mlx.core.metal.get_active_memory.html | 10 +- .../mlx.core.metal.get_cache_memory.html | 10 +- .../mlx.core.metal.get_peak_memory.html | 10 +- .../mlx.core.metal.is_available.html | 10 +- .../mlx.core.metal.reset_peak_memory.html | 10 +- .../mlx.core.metal.set_cache_limit.html | 10 +- .../mlx.core.metal.set_memory_limit.html | 10 +- .../mlx.core.metal.start_capture.html | 10 +- .../mlx.core.metal.stop_capture.html | 10 +- .../python/_autosummary/mlx.core.min.html | 10 +- .../python/_autosummary/mlx.core.minimum.html | 10 +- .../_autosummary/mlx.core.moveaxis.html | 10 +- .../_autosummary/mlx.core.multiply.html | 10 +- .../_autosummary/mlx.core.nan_to_num.html | 10 +- .../_autosummary/mlx.core.negative.html | 10 +- .../_autosummary/mlx.core.new_stream.html | 10 +- .../_autosummary/mlx.core.not_equal.html | 10 +- .../python/_autosummary/mlx.core.ones.html | 10 +- .../_autosummary/mlx.core.ones_like.html | 10 +- .../python/_autosummary/mlx.core.outer.html | 10 +- .../python/_autosummary/mlx.core.pad.html | 10 +- .../_autosummary/mlx.core.partition.html | 10 +- .../python/_autosummary/mlx.core.power.html | 10 +- .../python/_autosummary/mlx.core.prod.html | 10 +- .../_autosummary/mlx.core.put_along_axis.html | 10 +- .../_autosummary/mlx.core.quantize.html | 10 +- .../mlx.core.quantized_matmul.html | 10 +- .../python/_autosummary/mlx.core.radians.html | 16 +- .../mlx.core.random.bernoulli.html | 10 +- .../mlx.core.random.categorical.html | 10 +- .../_autosummary/mlx.core.random.gumbel.html | 21 +- .../_autosummary/mlx.core.random.key.html | 10 +- .../_autosummary/mlx.core.random.laplace.html | 10 +- .../mlx.core.random.multivariate_normal.html | 10 +- .../_autosummary/mlx.core.random.normal.html | 10 +- .../mlx.core.random.permutation.html | 10 +- .../_autosummary/mlx.core.random.randint.html | 10 +- .../_autosummary/mlx.core.random.seed.html | 10 +- .../_autosummary/mlx.core.random.split.html | 10 +- .../mlx.core.random.truncated_normal.html | 10 +- .../_autosummary/mlx.core.random.uniform.html | 10 +- .../python/_autosummary/mlx.core.real.html | 1000 +++++++ .../_autosummary/mlx.core.reciprocal.html | 16 +- .../_autosummary/mlx.core.remainder.html | 10 +- .../python/_autosummary/mlx.core.repeat.html | 10 +- .../python/_autosummary/mlx.core.reshape.html | 10 +- .../_autosummary/mlx.core.right_shift.html | 10 +- .../python/_autosummary/mlx.core.roll.html | 10 +- .../python/_autosummary/mlx.core.round.html | 10 +- .../python/_autosummary/mlx.core.rsqrt.html | 10 +- .../python/_autosummary/mlx.core.save.html | 10 +- .../_autosummary/mlx.core.save_gguf.html | 10 +- .../mlx.core.save_safetensors.html | 10 +- .../python/_autosummary/mlx.core.savez.html | 10 +- .../mlx.core.savez_compressed.html | 10 +- .../mlx.core.set_default_device.html | 10 +- .../mlx.core.set_default_stream.html | 10 +- .../python/_autosummary/mlx.core.sigmoid.html | 10 +- .../python/_autosummary/mlx.core.sign.html | 10 +- .../python/_autosummary/mlx.core.sin.html | 10 +- .../python/_autosummary/mlx.core.sinh.html | 10 +- .../python/_autosummary/mlx.core.softmax.html | 10 +- .../python/_autosummary/mlx.core.sort.html | 10 +- .../python/_autosummary/mlx.core.split.html | 10 +- .../python/_autosummary/mlx.core.sqrt.html | 10 +- .../python/_autosummary/mlx.core.square.html | 10 +- .../python/_autosummary/mlx.core.squeeze.html | 10 +- .../python/_autosummary/mlx.core.stack.html | 10 +- .../python/_autosummary/mlx.core.std.html | 10 +- .../_autosummary/mlx.core.stop_gradient.html | 10 +- .../python/_autosummary/mlx.core.stream.html | 10 +- .../_autosummary/mlx.core.subtract.html | 10 +- .../python/_autosummary/mlx.core.sum.html | 10 +- .../_autosummary/mlx.core.swapaxes.html | 10 +- .../_autosummary/mlx.core.synchronize.html | 10 +- .../python/_autosummary/mlx.core.take.html | 10 +- .../mlx.core.take_along_axis.html | 10 +- .../python/_autosummary/mlx.core.tan.html | 10 +- .../python/_autosummary/mlx.core.tanh.html | 10 +- .../_autosummary/mlx.core.tensordot.html | 10 +- .../python/_autosummary/mlx.core.tile.html | 10 +- .../python/_autosummary/mlx.core.topk.html | 10 +- .../python/_autosummary/mlx.core.trace.html | 10 +- .../_autosummary/mlx.core.transpose.html | 10 +- .../python/_autosummary/mlx.core.tri.html | 10 +- .../python/_autosummary/mlx.core.tril.html | 10 +- .../python/_autosummary/mlx.core.triu.html | 10 +- .../_autosummary/mlx.core.value_and_grad.html | 10 +- .../python/_autosummary/mlx.core.var.html | 10 +- .../python/_autosummary/mlx.core.view.html | 10 +- .../python/_autosummary/mlx.core.vjp.html | 10 +- .../python/_autosummary/mlx.core.vmap.html | 10 +- .../python/_autosummary/mlx.core.where.html | 10 +- .../python/_autosummary/mlx.core.zeros.html | 10 +- .../_autosummary/mlx.core.zeros_like.html | 10 +- .../python/_autosummary/mlx.nn.quantize.html | 10 +- .../_autosummary/mlx.nn.value_and_grad.html | 10 +- .../mlx.optimizers.clip_grad_norm.html | 10 +- .../_autosummary/mlx.utils.tree_flatten.html | 10 +- .../_autosummary/mlx.utils.tree_map.html | 10 +- .../mlx.utils.tree_map_with_path.html | 10 +- .../_autosummary/mlx.utils.tree_reduce.html | 10 +- .../mlx.utils.tree_unflatten.html | 10 +- .../python/_autosummary/stream_class.html | 10 +- docs/build/html/python/array.html | 10 +- docs/build/html/python/data_types.html | 10 +- .../html/python/devices_and_streams.html | 10 +- docs/build/html/python/distributed.html | 10 +- docs/build/html/python/fast.html | 10 +- docs/build/html/python/fft.html | 10 +- docs/build/html/python/linalg.html | 10 +- docs/build/html/python/metal.html | 10 +- docs/build/html/python/nn.html | 10 +- .../python/nn/_autosummary/mlx.nn.ALiBi.html | 10 +- .../nn/_autosummary/mlx.nn.AvgPool1d.html | 10 +- .../nn/_autosummary/mlx.nn.AvgPool2d.html | 10 +- .../nn/_autosummary/mlx.nn.BatchNorm.html | 10 +- .../python/nn/_autosummary/mlx.nn.CELU.html | 10 +- .../python/nn/_autosummary/mlx.nn.Conv1d.html | 10 +- .../python/nn/_autosummary/mlx.nn.Conv2d.html | 10 +- .../python/nn/_autosummary/mlx.nn.Conv3d.html | 10 +- .../_autosummary/mlx.nn.ConvTranspose1d.html | 10 +- .../_autosummary/mlx.nn.ConvTranspose2d.html | 10 +- .../_autosummary/mlx.nn.ConvTranspose3d.html | 10 +- .../nn/_autosummary/mlx.nn.Dropout.html | 10 +- .../nn/_autosummary/mlx.nn.Dropout2d.html | 10 +- .../nn/_autosummary/mlx.nn.Dropout3d.html | 10 +- .../python/nn/_autosummary/mlx.nn.ELU.html | 10 +- .../nn/_autosummary/mlx.nn.Embedding.html | 10 +- .../python/nn/_autosummary/mlx.nn.GELU.html | 10 +- .../python/nn/_autosummary/mlx.nn.GLU.html | 10 +- .../python/nn/_autosummary/mlx.nn.GRU.html | 10 +- .../nn/_autosummary/mlx.nn.GroupNorm.html | 10 +- .../nn/_autosummary/mlx.nn.HardShrink.html | 10 +- .../nn/_autosummary/mlx.nn.HardTanh.html | 10 +- .../nn/_autosummary/mlx.nn.Hardswish.html | 10 +- .../nn/_autosummary/mlx.nn.InstanceNorm.html | 10 +- .../python/nn/_autosummary/mlx.nn.LSTM.html | 10 +- .../nn/_autosummary/mlx.nn.LayerNorm.html | 10 +- .../nn/_autosummary/mlx.nn.LeakyReLU.html | 10 +- .../python/nn/_autosummary/mlx.nn.Linear.html | 10 +- .../nn/_autosummary/mlx.nn.LogSigmoid.html | 10 +- .../nn/_autosummary/mlx.nn.LogSoftmax.html | 10 +- .../nn/_autosummary/mlx.nn.MaxPool1d.html | 10 +- .../nn/_autosummary/mlx.nn.MaxPool2d.html | 10 +- .../python/nn/_autosummary/mlx.nn.Mish.html | 10 +- .../nn/_autosummary/mlx.nn.Module.apply.html | 10 +- .../mlx.nn.Module.apply_to_modules.html | 10 +- .../_autosummary/mlx.nn.Module.children.html | 10 +- .../nn/_autosummary/mlx.nn.Module.eval.html | 10 +- .../mlx.nn.Module.filter_and_map.html | 10 +- .../nn/_autosummary/mlx.nn.Module.freeze.html | 10 +- .../mlx.nn.Module.leaf_modules.html | 10 +- .../mlx.nn.Module.load_weights.html | 10 +- .../_autosummary/mlx.nn.Module.modules.html | 10 +- .../mlx.nn.Module.named_modules.html | 10 +- .../mlx.nn.Module.parameters.html | 10 +- .../mlx.nn.Module.save_weights.html | 10 +- .../_autosummary/mlx.nn.Module.set_dtype.html | 10 +- .../nn/_autosummary/mlx.nn.Module.state.html | 10 +- .../nn/_autosummary/mlx.nn.Module.train.html | 10 +- .../mlx.nn.Module.trainable_parameters.html | 10 +- .../_autosummary/mlx.nn.Module.training.html | 10 +- .../_autosummary/mlx.nn.Module.unfreeze.html | 10 +- .../nn/_autosummary/mlx.nn.Module.update.html | 10 +- .../mlx.nn.Module.update_modules.html | 10 +- .../mlx.nn.MultiHeadAttention.html | 10 +- .../python/nn/_autosummary/mlx.nn.PReLU.html | 10 +- .../mlx.nn.QuantizedEmbedding.html | 10 +- .../_autosummary/mlx.nn.QuantizedLinear.html | 10 +- .../nn/_autosummary/mlx.nn.RMSNorm.html | 10 +- .../python/nn/_autosummary/mlx.nn.RNN.html | 10 +- .../python/nn/_autosummary/mlx.nn.ReLU.html | 10 +- .../python/nn/_autosummary/mlx.nn.ReLU6.html | 10 +- .../python/nn/_autosummary/mlx.nn.RoPE.html | 10 +- .../python/nn/_autosummary/mlx.nn.SELU.html | 10 +- .../nn/_autosummary/mlx.nn.Sequential.html | 10 +- .../python/nn/_autosummary/mlx.nn.SiLU.html | 10 +- .../nn/_autosummary/mlx.nn.Sigmoid.html | 10 +- .../mlx.nn.SinusoidalPositionalEncoding.html | 10 +- .../nn/_autosummary/mlx.nn.Softmax.html | 10 +- .../nn/_autosummary/mlx.nn.Softmin.html | 10 +- .../nn/_autosummary/mlx.nn.Softplus.html | 10 +- .../nn/_autosummary/mlx.nn.Softshrink.html | 10 +- .../nn/_autosummary/mlx.nn.Softsign.html | 10 +- .../python/nn/_autosummary/mlx.nn.Step.html | 10 +- .../python/nn/_autosummary/mlx.nn.Tanh.html | 10 +- .../nn/_autosummary/mlx.nn.Transformer.html | 10 +- .../nn/_autosummary/mlx.nn.Upsample.html | 10 +- .../nn/_autosummary/mlx.nn.init.constant.html | 10 +- .../mlx.nn.init.glorot_normal.html | 10 +- .../mlx.nn.init.glorot_uniform.html | 10 +- .../_autosummary/mlx.nn.init.he_normal.html | 10 +- .../_autosummary/mlx.nn.init.he_uniform.html | 10 +- .../nn/_autosummary/mlx.nn.init.identity.html | 10 +- .../nn/_autosummary/mlx.nn.init.normal.html | 10 +- .../nn/_autosummary/mlx.nn.init.uniform.html | 10 +- .../_autosummary_functions/mlx.nn.celu.html | 10 +- .../nn/_autosummary_functions/mlx.nn.elu.html | 10 +- .../_autosummary_functions/mlx.nn.gelu.html | 10 +- .../mlx.nn.gelu_approx.html | 10 +- .../mlx.nn.gelu_fast_approx.html | 10 +- .../nn/_autosummary_functions/mlx.nn.glu.html | 10 +- .../mlx.nn.hard_shrink.html | 10 +- .../mlx.nn.hard_tanh.html | 10 +- .../mlx.nn.hardswish.html | 10 +- .../mlx.nn.leaky_relu.html | 10 +- .../mlx.nn.log_sigmoid.html | 10 +- .../mlx.nn.log_softmax.html | 10 +- .../mlx.nn.losses.binary_cross_entropy.html | 10 +- .../mlx.nn.losses.cosine_similarity_loss.html | 10 +- .../mlx.nn.losses.cross_entropy.html | 10 +- .../mlx.nn.losses.gaussian_nll_loss.html | 10 +- .../mlx.nn.losses.hinge_loss.html | 10 +- .../mlx.nn.losses.huber_loss.html | 10 +- .../mlx.nn.losses.kl_div_loss.html | 10 +- .../mlx.nn.losses.l1_loss.html | 10 +- .../mlx.nn.losses.log_cosh_loss.html | 10 +- .../mlx.nn.losses.margin_ranking_loss.html | 10 +- .../mlx.nn.losses.mse_loss.html | 10 +- .../mlx.nn.losses.nll_loss.html | 10 +- .../mlx.nn.losses.smooth_l1_loss.html | 10 +- .../mlx.nn.losses.triplet_loss.html | 10 +- .../_autosummary_functions/mlx.nn.mish.html | 10 +- .../_autosummary_functions/mlx.nn.prelu.html | 10 +- .../_autosummary_functions/mlx.nn.relu.html | 10 +- .../_autosummary_functions/mlx.nn.relu6.html | 10 +- .../_autosummary_functions/mlx.nn.selu.html | 10 +- .../mlx.nn.sigmoid.html | 10 +- .../_autosummary_functions/mlx.nn.silu.html | 10 +- .../mlx.nn.softmax.html | 10 +- .../mlx.nn.softmin.html | 10 +- .../mlx.nn.softplus.html | 10 +- .../mlx.nn.softshrink.html | 10 +- .../_autosummary_functions/mlx.nn.step.html | 10 +- .../_autosummary_functions/mlx.nn.tanh.html | 10 +- docs/build/html/python/nn/functions.html | 10 +- docs/build/html/python/nn/init.html | 10 +- docs/build/html/python/nn/layers.html | 10 +- docs/build/html/python/nn/losses.html | 10 +- docs/build/html/python/nn/module.html | 10 +- docs/build/html/python/ops.html | 106 +- docs/build/html/python/optimizers.html | 10 +- .../_autosummary/mlx.optimizers.AdaDelta.html | 10 +- .../mlx.optimizers.Adafactor.html | 10 +- .../_autosummary/mlx.optimizers.Adagrad.html | 10 +- .../_autosummary/mlx.optimizers.Adam.html | 10 +- .../_autosummary/mlx.optimizers.AdamW.html | 10 +- .../_autosummary/mlx.optimizers.Adamax.html | 10 +- .../_autosummary/mlx.optimizers.Lion.html | 10 +- ....optimizers.Optimizer.apply_gradients.html | 10 +- .../mlx.optimizers.Optimizer.init.html | 10 +- .../mlx.optimizers.Optimizer.state.html | 10 +- .../mlx.optimizers.Optimizer.update.html | 10 +- .../_autosummary/mlx.optimizers.RMSprop.html | 10 +- .../_autosummary/mlx.optimizers.SGD.html | 10 +- .../mlx.optimizers.cosine_decay.html | 10 +- .../mlx.optimizers.exponential_decay.html | 10 +- .../mlx.optimizers.join_schedules.html | 10 +- .../mlx.optimizers.linear_schedule.html | 10 +- .../mlx.optimizers.step_decay.html | 10 +- .../python/optimizers/common_optimizers.html | 10 +- .../html/python/optimizers/optimizer.html | 10 +- .../html/python/optimizers/schedulers.html | 10 +- docs/build/html/python/random.html | 12 +- docs/build/html/python/transforms.html | 10 +- docs/build/html/python/tree_utils.html | 10 +- docs/build/html/sdpa__vector_8h.html | 182 ++ docs/build/html/sdpa__vector_8h_source.html | 224 ++ docs/build/html/search.html | 10 +- docs/build/html/search/all_10.js | 2 +- docs/build/html/search/all_12.js | 133 +- docs/build/html/search/all_13.js | 328 +-- docs/build/html/search/all_15.js | 6 +- docs/build/html/search/all_16.js | 4 +- docs/build/html/search/all_5.js | 4 +- docs/build/html/search/all_7.js | 4 +- docs/build/html/search/all_9.js | 141 +- docs/build/html/search/all_a.js | 2 +- docs/build/html/search/all_f.js | 4 +- docs/build/html/search/classes_11.js | 29 +- docs/build/html/search/classes_9.js | 11 +- docs/build/html/search/files_10.js | 21 +- docs/build/html/search/functions_10.js | 2 +- docs/build/html/search/functions_12.js | 98 +- docs/build/html/search/functions_13.js | 233 +- docs/build/html/search/functions_15.js | 6 +- docs/build/html/search/functions_16.js | 4 +- docs/build/html/search/functions_5.js | 4 +- docs/build/html/search/functions_7.js | 4 +- docs/build/html/search/functions_9.js | 74 +- docs/build/html/search/functions_a.js | 2 +- docs/build/html/search/functions_f.js | 4 +- docs/build/html/searchindex.js | 2 +- docs/build/html/struct_imag-members.html | 101 + docs/build/html/struct_imag.html | 140 + docs/build/html/struct_real-members.html | 101 + docs/build/html/struct_real.html | 140 + ...lx_1_1core_1_1detail_1_1_imag-members.html | 105 + .../structmlx_1_1core_1_1detail_1_1_imag.html | 144 + ...lx_1_1core_1_1detail_1_1_real-members.html | 105 + .../structmlx_1_1core_1_1detail_1_1_real.html | 144 + docs/build/html/types_2complex_8h_source.html | 20 +- docs/build/html/unary__ops_8h.html | 4 + docs/build/html/unary__ops_8h_source.html | 362 +-- docs/build/html/usage/compile.html | 10 +- docs/build/html/usage/distributed.html | 10 +- .../build/html/usage/function_transforms.html | 10 +- docs/build/html/usage/indexing.html | 10 +- docs/build/html/usage/lazy_evaluation.html | 10 +- docs/build/html/usage/numpy.html | 10 +- docs/build/html/usage/quick_start.html | 10 +- docs/build/html/usage/saving_and_loading.html | 10 +- docs/build/html/usage/unified_memory.html | 10 +- docs/build/html/usage/using_streams.html | 10 +- 590 files changed, 10972 insertions(+), 5085 deletions(-) create mode 100644 docs/build/html/_sources/python/_autosummary/mlx.core.imag.rst create mode 100644 docs/build/html/_sources/python/_autosummary/mlx.core.real.rst create mode 100644 docs/build/html/classmlx_1_1core_1_1_imag-members.html create mode 100644 docs/build/html/classmlx_1_1core_1_1_imag.html create mode 100644 docs/build/html/classmlx_1_1core_1_1_imag.png create mode 100644 docs/build/html/classmlx_1_1core_1_1_real-members.html create mode 100644 docs/build/html/classmlx_1_1core_1_1_real.html create mode 100644 docs/build/html/classmlx_1_1core_1_1_real.png create mode 100644 docs/build/html/python/_autosummary/mlx.core.imag.html create mode 100644 docs/build/html/python/_autosummary/mlx.core.real.html create mode 100644 docs/build/html/sdpa__vector_8h.html create mode 100644 docs/build/html/sdpa__vector_8h_source.html create mode 100644 docs/build/html/struct_imag-members.html create mode 100644 docs/build/html/struct_imag.html create mode 100644 docs/build/html/struct_real-members.html create mode 100644 docs/build/html/struct_real.html create mode 100644 docs/build/html/structmlx_1_1core_1_1detail_1_1_imag-members.html create mode 100644 docs/build/html/structmlx_1_1core_1_1detail_1_1_imag.html create mode 100644 docs/build/html/structmlx_1_1core_1_1detail_1_1_real-members.html create mode 100644 docs/build/html/structmlx_1_1core_1_1detail_1_1_real.html diff --git a/docs/build/html/.buildinfo b/docs/build/html/.buildinfo index 630b714d0..5968ca412 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: 5d79ff0eb4fd2457710e4f29cb9324ed +config: 19a532605596267974106a744b1b96b3 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/build/html/_sources/install.rst b/docs/build/html/_sources/install.rst index edc3d6143..225ecfd62 100644 --- a/docs/build/html/_sources/install.rst +++ b/docs/build/html/_sources/install.rst @@ -14,7 +14,7 @@ silicon computer is To install from PyPI you must meet the following requirements: - Using an M series chip (Apple silicon) -- Using a native Python >= 3.8 +- Using a native Python >= 3.9 - macOS >= 13.5 .. note:: diff --git a/docs/build/html/_sources/python/_autosummary/mlx.core.imag.rst b/docs/build/html/_sources/python/_autosummary/mlx.core.imag.rst new file mode 100644 index 000000000..a443358be --- /dev/null +++ b/docs/build/html/_sources/python/_autosummary/mlx.core.imag.rst @@ -0,0 +1,6 @@ +mlx.core.imag +============= + +.. currentmodule:: mlx.core + +.. autofunction:: imag \ No newline at end of file diff --git a/docs/build/html/_sources/python/_autosummary/mlx.core.real.rst b/docs/build/html/_sources/python/_autosummary/mlx.core.real.rst new file mode 100644 index 000000000..9128bb410 --- /dev/null +++ b/docs/build/html/_sources/python/_autosummary/mlx.core.real.rst @@ -0,0 +1,6 @@ +mlx.core.real +============= + +.. currentmodule:: mlx.core + +.. autofunction:: real \ No newline at end of file diff --git a/docs/build/html/_sources/python/ops.rst b/docs/build/html/_sources/python/ops.rst index e3c50e2ff..572b02a98 100644 --- a/docs/build/html/_sources/python/ops.rst +++ b/docs/build/html/_sources/python/ops.rst @@ -80,6 +80,7 @@ Operations greater_equal hadamard_transform identity + imag inner isfinite isclose @@ -125,6 +126,7 @@ Operations quantize quantized_matmul radians + real reciprocal remainder repeat diff --git a/docs/build/html/_static/documentation_options.js b/docs/build/html/_static/documentation_options.js index 6fe754faf..e8b958b36 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.18.1', + VERSION: '0.19.0', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/build/html/annotated.html b/docs/build/html/annotated.html index 2945f0a6e..6b4b5129b 100644 --- a/docs/build/html/annotated.html +++ b/docs/build/html/annotated.html @@ -123,41 +123,43 @@ $(function(){ initResizable(false); });  CFloor  CGreater  CGreaterEqual - CIntOrFloat - CInTracing - CLeftShift - CLess - CLessEqual - CLog - CLog10 - CLog1p - CLog2 - CLogAddExp - CLogicalAnd - CLogicalNot - CLogicalOr - CMaximum - CMinimum - CMultiply - CNaNEqual - CNegative - CNotEqual - CPower - CRemainder - CRetainGraph - CRightShift - CRound - CRsqrt - CSelect - CSigmoid - CSign - CSin - CSinh - CSqrt - CSquare - CSubtract - CTan - CTanh + CImag + CIntOrFloat + CInTracing + CLeftShift + CLess + CLessEqual + CLog + CLog10 + CLog1p + CLog2 + CLogAddExp + CLogicalAnd + CLogicalNot + CLogicalOr + CMaximum + CMinimum + CMultiply + CNaNEqual + CNegative + CNotEqual + CPower + CReal + CRemainder + CRetainGraph + CRightShift + CRound + CRsqrt + CSelect + CSigmoid + CSign + CSin + CSinh + CSqrt + CSquare + CSubtract + CTan + CTanh  Ndistributed  CAllGather  CAllReduce @@ -251,63 +253,65 @@ $(function(){ initResizable(false); });  CGreater  CGreaterEqual  CHadamard - CInverse - CLess - CLessEqual - CLoad - CLog - CLog1p - CLogAddExp - CLogicalAnd - CLogicalNot - CLogicalOr - CMatmul - CMaximum - CMinimum - CMultiply - CNegative - CNodeNamer - CNotEqual - CNumberOfElements - CPad - CPartition - CPower - CPrimitive - CPrintFormatter - CQRF - CQuantizedMatmul - CRandomBits - CReduce - CReductionPlan - CRemainder - CReshape - CRound - CScan - CScatter - CSelect - CSigmoid - CSign - CSin - CSinh - CSlice - CSliceUpdate - CSoftmax - CSort - CSplit - CSqrt - CSquare - CStopGradient - CStream - CStreamContext - CSubtract - CSVD - CTan - CTanh - CTranspose - CTypeToDtype - CUnaryPrimitive - CUniform - CView + CImag + CInverse + CLess + CLessEqual + CLoad + CLog + CLog1p + CLogAddExp + CLogicalAnd + CLogicalNot + CLogicalOr + CMatmul + CMaximum + CMinimum + CMultiply + CNegative + CNodeNamer + CNotEqual + CNumberOfElements + CPad + CPartition + CPower + CPrimitive + CPrintFormatter + CQRF + CQuantizedMatmul + CRandomBits + CReal + CReduce + CReductionPlan + CRemainder + CReshape + CRound + CScan + CScatter + CSelect + CSigmoid + CSign + CSin + CSinh + CSlice + CSliceUpdate + CSoftmax + CSort + CSplit + CSqrt + CSquare + CStopGradient + CStream + CStreamContext + CSubtract + CSVD + CTan + CTanh + CTranspose + CTypeToDtype + CUnaryPrimitive + CUniform + CView  Nsteel  CAccumHelper  CBlockLoader @@ -412,75 +416,77 @@ $(function(){ initResizable(false); });  CGEMVTKernelVector matrix multiplication  CGreater  CGreaterEqual - 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 - Clooped_elem_to_loc - Clooped_elem_to_loc< 0, offset_t > - Clooped_elem_to_loc< 1, offset_t > - CMax - CMaximum - CMin - CMinimum - Cmlx_atomic - Cmlx_atomic< T, enable_if_t< is_metal_atomic< T > > > - CMLXConvParams - CMLXFastAttentionParams - CMLXScaledDotProductAttentionParams - CMultiply - CNaNEqual - CNegative - CNone - CNotEqual - COr - CPower - CProd - CQuantizedBlockLoader - CReadWriter - CRemainder - CRightShift - CRound - CRsqrt - CScaleOp - CSelect - CSigmoid - CSign - CSin - CSinh - CSqrt - CSquare - CSubtract - CSum - CTan - CTanh - CThreadPool - CThreadSort + 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 + Clooped_elem_to_loc + Clooped_elem_to_loc< 0, offset_t > + Clooped_elem_to_loc< 1, offset_t > + CMax + CMaximum + CMin + CMinimum + Cmlx_atomic + Cmlx_atomic< T, enable_if_t< is_metal_atomic< T > > > + CMLXConvParams + CMLXFastAttentionParams + CMLXScaledDotProductAttentionParams + CMultiply + CNaNEqual + CNegative + CNone + CNotEqual + COr + CPower + CProd + CQuantizedBlockLoader + CReadWriter + CReal + CRemainder + CRightShift + CRound + CRsqrt + CScaleOp + CSelect + CSigmoid + CSign + CSin + CSinh + CSqrt + CSquare + CSubtract + CSum + CTan + CTanh + CThreadPool + CThreadSort diff --git a/docs/build/html/backend_2common_2ops_8h.html b/docs/build/html/backend_2common_2ops_8h.html index c9928625b..fdaf270c9 100644 --- a/docs/build/html/backend_2common_2ops_8h.html +++ b/docs/build/html/backend_2common_2ops_8h.html @@ -139,6 +139,8 @@ Classes   struct  mlx::core::detail::Floor   +struct  mlx::core::detail::Imag +  struct  mlx::core::detail::Log   struct  mlx::core::detail::Log2 @@ -151,6 +153,8 @@ Classes   struct  mlx::core::detail::Negative   +struct  mlx::core::detail::Real +  struct  mlx::core::detail::Round   struct  mlx::core::detail::Sigmoid diff --git a/docs/build/html/backend_2common_2ops_8h_source.html b/docs/build/html/backend_2common_2ops_8h_source.html index 2dbcfca51..9eeec1ffc 100644 --- a/docs/build/html/backend_2common_2ops_8h_source.html +++ b/docs/build/html/backend_2common_2ops_8h_source.html @@ -514,553 +514,575 @@ $(function(){ initResizable(false); });
297
-
298struct Log {
+
298struct Imag {
299 template <typename T>
-
300 T operator()(T x) {
-
301 return std::log(x);
+
300 T operator()(T x) {
+
301 return std::imag(x);
302 }
303};
304
-
305struct Log2 {
+
305struct Log {
306 template <typename T>
-
307 T operator()(T x) {
-
308 return std::log2(x);
+
307 T operator()(T x) {
+
308 return std::log(x);
309 }
310};
311
-
312struct Log10 {
+
312struct Log2 {
313 template <typename T>
-
314 T operator()(T x) {
-
315 return std::log10(x);
+
314 T operator()(T x) {
+
315 return std::log2(x);
316 }
317};
318
-
319struct Log1p {
+
319struct Log10 {
320 template <typename T>
-
321 T operator()(T x) {
-
322 return log1p(x);
+
321 T operator()(T x) {
+
322 return std::log10(x);
323 }
324};
325
- +
326struct Log1p {
327 template <typename T>
-
328 T operator()(T x) {
-
329 return !x;
+
328 T operator()(T x) {
+
329 return log1p(x);
330 }
331};
332
-
333struct Negative {
+
334 template <typename T>
-
335 T operator()(T x) {
-
336 return -x;
+
335 T operator()(T x) {
+
336 return !x;
337 }
338};
339
-
340struct Round {
+
340struct Negative {
341 template <typename T>
-
342 T operator()(T x) {
-
343 return std::rint(x);
+
342 T operator()(T x) {
+
343 return -x;
344 }
-
345
-
- -
347 return {std::rint(x.real()), std::rint(x.imag())};
-
348 }
+
345};
-
349};
+
346
+
+
347struct Real {
+
348 template <typename T>
+
+
349 T operator()(T x) {
+
350 return std::real(x);
+
351 }
-
350
-
-
351struct Sigmoid {
-
352 template <typename T>
-
-
353 T operator()(T x) {
-
354 auto one = static_cast<decltype(x)>(1.0);
-
355 return one / (one + fast_exp(-x));
-
356 }
+
352};
-
357};
+
353
+
+
354struct Round {
+
355 template <typename T>
+
+
356 T operator()(T x) {
+
357 return std::rint(x);
+
358 }
-
358
-
-
359struct Sign {
-
360 template <typename T>
-
-
361 T operator()(T x) {
-
362 return (x > T(0)) - (x < T(0));
-
363 }
+
359
+
+ +
361 return {std::rint(x.real()), std::rint(x.imag())};
+
362 }
-
-
364 uint8_t operator()(uint8_t x) {
-
365 return x != 0;
-
366 }
+
363};
+
364
+
+
365struct Sigmoid {
+
366 template <typename T>
-
367 uint16_t operator()(uint16_t x) {
-
368 return x != 0;
-
369 }
+
367 T operator()(T x) {
+
368 auto one = static_cast<decltype(x)>(1.0);
+
369 return one / (one + fast_exp(-x));
+
370 }
-
-
370 uint32_t operator()(uint32_t x) {
-
371 return x != 0;
-
372 }
+
371};
-
-
373 uint64_t operator()(uint64_t x) {
-
374 return x != 0;
-
375 }
+
372
+
+
373struct Sign {
+
374 template <typename T>
+
+
375 T operator()(T x) {
+
376 return (x > T(0)) - (x < T(0));
+
377 }
-
376
-
- -
378 return x == complex64_t(0) ? x : x / std::abs(x);
-
379 }
+
+
378 uint8_t operator()(uint8_t x) {
+
379 return x != 0;
+
380 }
-
380};
+
+
381 uint16_t operator()(uint16_t x) {
+
382 return x != 0;
+
383 }
-
381
-
-
382struct Sin {
-
383 template <typename T>
-
384 T operator()(T x) {
-
385 return std::sin(x);
+
384 uint32_t operator()(uint32_t x) {
+
385 return x != 0;
386 }
-
387};
+
+
387 uint64_t operator()(uint64_t x) {
+
388 return x != 0;
+
389 }
-
388
-
-
389struct Sinh {
-
390 template <typename T>
+
390
-
391 T operator()(T x) {
-
392 return std::sinh(x);
+ +
392 return x == complex64_t(0) ? x : x / std::abs(x);
393 }
394};
395
-
396struct Square {
+
396struct Sin {
397 template <typename T>
-
398 T operator()(T x) {
-
399 return x * x;
+
398 T operator()(T x) {
+
399 return std::sin(x);
400 }
401};
402
-
403struct Sqrt {
+
403struct Sinh {
404 template <typename T>
-
405 T operator()(T x) {
-
406 return std::sqrt(x);
+
405 T operator()(T x) {
+
406 return std::sinh(x);
407 }
408};
409
-
410struct Rsqrt {
+
410struct Square {
411 template <typename T>
-
412 T operator()(T x) {
-
413 return static_cast<decltype(x)>(1.0) / std::sqrt(x);
+
412 T operator()(T x) {
+
413 return x * x;
414 }
415};
416
-
417struct Tan {
+
417struct Sqrt {
418 template <typename T>
-
419 T operator()(T x) {
-
420 return std::tan(x);
+
419 T operator()(T x) {
+
420 return std::sqrt(x);
421 }
422};
423
-
424struct Tanh {
+
424struct Rsqrt {
425 template <typename T>
-
426 T operator()(T x) {
-
427 return std::tanh(x);
+
426 T operator()(T x) {
+
427 return static_cast<decltype(x)>(1.0) / std::sqrt(x);
428 }
429};
430
-
431struct Add {
+
431struct Tan {
432 template <typename T>
-
433 T operator()(T x, T y) {
-
434 return x + y;
+
433 T operator()(T x) {
+
434 return std::tan(x);
435 }
436};
437
-
438struct Divide {
+
438struct Tanh {
439 template <typename T>
-
440 T operator()(T x, T y) {
-
441 return x / y;
+
440 T operator()(T x) {
+
441 return std::tanh(x);
442 }
443};
444
-
445struct Remainder {
+
445struct Add {
446 template <typename T>
-
447 std::enable_if_t<std::is_integral_v<T> & !std::is_signed_v<T>, T> operator()(
-
448 T numerator,
-
449 T denominator) {
-
450 return numerator % denominator;
-
451 }
+
447 T operator()(T x, T y) {
+
448 return x + y;
+
449 }
-
452
+
450};
+
+
451
+
+
452struct Divide {
453 template <typename T>
-
454 std::enable_if_t<std::is_integral_v<T> & std::is_signed_v<T>, T> operator()(
-
455 T numerator,
-
456 T denominator) {
-
457 auto r = numerator % denominator;
-
458 if (r != 0 && (r < 0 != denominator < 0))
-
459 r += denominator;
-
460 return r;
-
461 }
+
454 T operator()(T x, T y) {
+
455 return x / y;
+
456 }
-
462
-
463 template <typename T>
-
-
464 std::enable_if_t<!std::is_integral_v<T>, T> operator()(
-
465 T numerator,
-
466 T denominator) {
-
467 auto r = std::fmod(numerator, denominator);
-
468 if (r != 0 && (r < 0 != denominator < 0)) {
-
469 r += denominator;
-
470 }
-
471 return r;
-
472 }
+
457};
-
473
-
- -
475 return numerator % denominator;
-
476 }
+
458
+
+
459struct Remainder {
+
460 template <typename T>
+
+
461 std::enable_if_t<std::is_integral_v<T> & !std::is_signed_v<T>, T> operator()(
+
462 T numerator,
+
463 T denominator) {
+
464 return numerator % denominator;
+
465 }
-
477};
+
466
+
467 template <typename T>
+
+
468 std::enable_if_t<std::is_integral_v<T> & std::is_signed_v<T>, T> operator()(
+
469 T numerator,
+
470 T denominator) {
+
471 auto r = numerator % denominator;
+
472 if (r != 0 && (r < 0 != denominator < 0))
+
473 r += denominator;
+
474 return r;
+
475 }
-
478
-
-
479struct Equal {
-
480 template <typename T>
-
-
481 bool operator()(T x, T y) {
-
482 return x == y;
-
483 }
+
476
+
477 template <typename T>
+
+
478 std::enable_if_t<!std::is_integral_v<T>, T> operator()(
+
479 T numerator,
+
480 T denominator) {
+
481 auto r = std::fmod(numerator, denominator);
+
482 if (r != 0 && (r < 0 != denominator < 0)) {
+
483 r += denominator;
+
484 }
+
485 return r;
+
486 }
-
484};
-
-
485
-
-
486struct NaNEqual {
-
487 template <typename T>
+
487
-
488 bool operator()(T x, T y) {
-
489 return x == y || (std::isnan(x) && std::isnan(y));
+ +
489 return numerator % denominator;
490 }
491};
492
-
493struct Greater {
+
493struct Equal {
494 template <typename T>
-
495 bool operator()(T x, T y) {
-
496 return x > y;
+
495 bool operator()(T x, T y) {
+
496 return x == y;
497 }
498};
499
- +
500struct NaNEqual {
501 template <typename T>
-
502 bool operator()(T x, T y) {
-
503 return x >= y;
+
502 bool operator()(T x, T y) {
+
503 return x == y || (std::isnan(x) && std::isnan(y));
504 }
505};
506
-
507struct Less {
+
507struct Greater {
508 template <typename T>
-
509 bool operator()(T x, T y) {
-
510 return x < y;
+
509 bool operator()(T x, T y) {
+
510 return x > y;
511 }
512};
513
-
514struct LessEqual {
+
515 template <typename T>
-
516 bool operator()(T x, T y) {
-
517 return x <= y;
+
516 bool operator()(T x, T y) {
+
517 return x >= y;
518 }
519};
520
-
521struct Maximum {
+
521struct Less {
522 template <typename T>
-
523 std::enable_if_t<std::is_integral_v<T>, T> operator()(T x, T y) {
-
524 return (x > y) ? x : y;
+
523 bool operator()(T x, T y) {
+
524 return x < y;
525 }
-
526
-
527 template <typename T>
-
-
528 std::enable_if_t<!std::is_integral_v<T>, T> operator()(T x, T y) {
-
529 if (std::isnan(x)) {
-
530 return x;
-
531 }
-
532 return (x > y) ? x : y;
-
533 }
+
526};
-
534};
+
527
+
+
528struct LessEqual {
+
529 template <typename T>
+
+
530 bool operator()(T x, T y) {
+
531 return x <= y;
+
532 }
-
535
-
-
536struct Minimum {
-
537 template <typename T>
-
-
538 std::enable_if_t<std::is_integral_v<T>, T> operator()(T x, T y) {
-
539 return x < y ? x : y;
-
540 }
+
533};
-
541
-
542 template <typename T>
-
-
543 std::enable_if_t<!std::is_integral_v<T>, T> operator()(T x, T y) {
-
544 if (std::isnan(x)) {
-
545 return x;
-
546 }
-
547 return x < y ? x : y;
-
548 }
+
534
+
+
535struct Maximum {
+
536 template <typename T>
+
+
537 std::enable_if_t<std::is_integral_v<T>, T> operator()(T x, T y) {
+
538 return (x > y) ? x : y;
+
539 }
-
549};
+
540
+
541 template <typename T>
+
+
542 std::enable_if_t<!std::is_integral_v<T>, T> operator()(T x, T y) {
+
543 if (std::isnan(x)) {
+
544 return x;
+
545 }
+
546 return (x > y) ? x : y;
+
547 }
-
550
-
-
551struct LogAddExp {
-
552 template <typename T>
-
-
553 T operator()(T x, T y) {
-
554 constexpr float inf = std::numeric_limits<float>::infinity();
-
555 auto maxval = Maximum()(x, y);
-
556 auto minval = Minimum()(x, y);
-
557 return (minval == -inf || maxval == inf)
-
558 ? maxval
-
559 : static_cast<decltype(x)>(
-
560 maxval + std::log1p(fast_exp(minval - maxval)));
-
561 }
+
548};
-
562};
+
549
+
+
550struct Minimum {
+
551 template <typename T>
+
+
552 std::enable_if_t<std::is_integral_v<T>, T> operator()(T x, T y) {
+
553 return x < y ? x : y;
+
554 }
-
563
-
-
564struct Multiply {
-
565 template <typename T>
-
-
566 T operator()(T x, T y) {
-
567 return x * y;
-
568 }
+
555
+
556 template <typename T>
+
+
557 std::enable_if_t<!std::is_integral_v<T>, T> operator()(T x, T y) {
+
558 if (std::isnan(x)) {
+
559 return x;
+
560 }
+
561 return x < y ? x : y;
+
562 }
-
569};
+
563};
-
570
-
-
571struct NotEqual {
-
572 template <typename T>
-
-
573 bool operator()(T x, T y) {
-
574 return x != y;
+
564
+
+
565struct LogAddExp {
+
566 template <typename T>
+
+
567 T operator()(T x, T y) {
+
568 constexpr float inf = std::numeric_limits<float>::infinity();
+
569 auto maxval = Maximum()(x, y);
+
570 auto minval = Minimum()(x, y);
+
571 return (minval == -inf || maxval == inf)
+
572 ? maxval
+
573 : static_cast<decltype(x)>(
+
574 maxval + std::log1p(fast_exp(minval - maxval)));
575 }
576};
577
-
578struct Power {
+
578struct Multiply {
579 template <typename T>
-
580 std::enable_if_t<!std::is_integral_v<T>, T> operator()(T base, T exp) {
-
581 return std::pow(base, exp);
+
580 T operator()(T x, T y) {
+
581 return x * y;
582 }
-
583
-
584 template <typename T>
-
-
585 std::enable_if_t<std::is_integral_v<T>, T> operator()(T base, T exp) {
-
586 T res = 1;
-
587 while (exp) {
-
588 if (exp & 1) {
-
589 res *= base;
-
590 }
-
591 exp >>= 1;
-
592 base *= base;
-
593 }
-
594 return res;
-
595 }
+
583};
-
596};
+
584
+
+
585struct NotEqual {
+
586 template <typename T>
+
+
587 bool operator()(T x, T y) {
+
588 return x != y;
+
589 }
+
+
590};
+
+
591
+
+
592struct Power {
+
593 template <typename T>
+
+
594 std::enable_if_t<!std::is_integral_v<T>, T> operator()(T base, T exp) {
+
595 return std::pow(base, exp);
+
596 }
597
-
-
598struct Subtract {
-
599 template <typename T>
-
-
600 T operator()(T x, T y) {
-
601 return x - y;
-
602 }
-
-
603};
-
-
604
-
- -
606 template <typename T>
-
-
607 T operator()(T x, T y) {
-
608 return x && y;
+
598 template <typename T>
+
+
599 std::enable_if_t<std::is_integral_v<T>, T> operator()(T base, T exp) {
+
600 T res = 1;
+
601 while (exp) {
+
602 if (exp & 1) {
+
603 res *= base;
+
604 }
+
605 exp >>= 1;
+
606 base *= base;
+
607 }
+
608 return res;
609 }
610};
611
-
612struct LogicalOr {
+
612struct Subtract {
613 template <typename T>
-
614 T operator()(T x, T y) {
-
615 return x || y;
+
614 T operator()(T x, T y) {
+
615 return x - y;
616 }
617};
618
-
619struct Select {
+
620 template <typename T>
-
621 T operator()(bool condition, T x, T y) {
-
622 return condition ? x : y;
+
621 T operator()(T x, T y) {
+
622 return x && y;
623 }
624};
625
- +
626struct LogicalOr {
627 template <typename T>
-
628 T operator()(T x, T y) {
-
629 return x & y;
+
628 T operator()(T x, T y) {
+
629 return x || y;
630 }
631};
632
-
633struct BitwiseOr {
+
633struct Select {
634 template <typename T>
-
635 T operator()(T x, T y) {
-
636 return x | y;
+
635 T operator()(bool condition, T x, T y) {
+
636 return condition ? x : y;
637 }
638};
639
- +
641 template <typename T>
-
642 T operator()(T x, T y) {
-
643 return x ^ y;
+
642 T operator()(T x, T y) {
+
643 return x & y;
644 }
645};
646
-
647struct LeftShift {
+
647struct BitwiseOr {
648 template <typename T>
-
649 T operator()(T x, T y) {
-
650 return x << y;
+
649 T operator()(T x, T y) {
+
650 return x | y;
651 }
652};
653
- +
655 template <typename T>
-
656 T operator()(T x, T y) {
-
657 return x >> y;
+
656 T operator()(T x, T y) {
+
657 return x ^ y;
658 }
659};
660
-
661} // namespace mlx::core::detail
+
+
661struct LeftShift {
+
662 template <typename T>
+
+
663 T operator()(T x, T y) {
+
664 return x << y;
+
665 }
+
+
666};
+
+
667
+
+ +
669 template <typename T>
+
+
670 T operator()(T x, T y) {
+
671 return x >> y;
+
672 }
+
+
673};
+
+
674
+
675} // namespace mlx::core::detail
array log1p(const array &a, StreamOrDevice s={})
Natural logarithm of one plus elements in the array: log(1 + a).
array expm1(const array &a, StreamOrDevice s={})
Computes the expm1 function of the elements of an array.
@@ -1077,8 +1099,8 @@ $(function(){ initResizable(false); });
uint16_t operator()(uint16_t x)
Definition ops.h:115
bool operator()(bool x)
Definition ops.h:124
uint32_t operator()(uint32_t x)
Definition ops.h:118
-
Definition ops.h:431
-
T operator()(T x, T y)
Definition ops.h:433
+
Definition ops.h:445
+
T operator()(T x, T y)
Definition ops.h:447
Definition ops.h:129
T operator()(T x)
Definition ops.h:131
Definition ops.h:136
@@ -1093,12 +1115,12 @@ $(function(){ initResizable(false); });
T operator()(T x)
Definition ops.h:159
Definition ops.h:171
T operator()(T x)
Definition ops.h:173
-
Definition ops.h:626
-
T operator()(T x, T y)
Definition ops.h:628
-
Definition ops.h:633
-
T operator()(T x, T y)
Definition ops.h:635
-
Definition ops.h:640
-
T operator()(T x, T y)
Definition ops.h:642
+
Definition ops.h:640
+
T operator()(T x, T y)
Definition ops.h:642
+
Definition ops.h:647
+
T operator()(T x, T y)
Definition ops.h:649
+
Definition ops.h:654
+
T operator()(T x, T y)
Definition ops.h:656
Definition ops.h:178
uint8_t operator()(uint8_t x)
Definition ops.h:195
T operator()(T x)
Definition ops.h:180
@@ -1116,10 +1138,10 @@ $(function(){ initResizable(false); });
T operator()(T x)
Definition ops.h:220
Definition ops.h:225
T operator()(T x)
Definition ops.h:227
-
Definition ops.h:438
-
T operator()(T x, T y)
Definition ops.h:440
-
Definition ops.h:479
-
bool operator()(T x, T y)
Definition ops.h:481
+
Definition ops.h:452
+
T operator()(T x, T y)
Definition ops.h:454
+
Definition ops.h:493
+
bool operator()(T x, T y)
Definition ops.h:495
Definition ops.h:232
T operator()(T x)
Definition ops.h:234
Definition ops.h:239
@@ -1140,86 +1162,90 @@ $(function(){ initResizable(false); });
int8_t operator()(int8_t x)
Definition ops.h:269
uint64_t operator()(uint64_t x)
Definition ops.h:290
int16_t operator()(int16_t x)
Definition ops.h:272
- -
bool operator()(T x, T y)
Definition ops.h:502
-
Definition ops.h:493
-
bool operator()(T x, T y)
Definition ops.h:495
-
Definition ops.h:647
-
T operator()(T x, T y)
Definition ops.h:649
-
Definition ops.h:514
-
bool operator()(T x, T y)
Definition ops.h:516
-
Definition ops.h:507
-
bool operator()(T x, T y)
Definition ops.h:509
-
Definition ops.h:312
-
T operator()(T x)
Definition ops.h:314
-
Definition ops.h:319
-
T operator()(T x)
Definition ops.h:321
-
Definition ops.h:305
-
T operator()(T x)
Definition ops.h:307
-
Definition ops.h:551
-
T operator()(T x, T y)
Definition ops.h:553
-
Definition ops.h:298
-
T operator()(T x)
Definition ops.h:300
-
Definition ops.h:605
-
T operator()(T x, T y)
Definition ops.h:607
-
Definition ops.h:326
-
T operator()(T x)
Definition ops.h:328
-
Definition ops.h:612
-
T operator()(T x, T y)
Definition ops.h:614
-
Definition ops.h:521
-
std::enable_if_t< std::is_integral_v< T >, T > operator()(T x, T y)
Definition ops.h:523
-
std::enable_if_t<!std::is_integral_v< T >, T > operator()(T x, T y)
Definition ops.h:528
-
Definition ops.h:536
-
std::enable_if_t<!std::is_integral_v< T >, T > operator()(T x, T y)
Definition ops.h:543
-
std::enable_if_t< std::is_integral_v< T >, T > operator()(T x, T y)
Definition ops.h:538
-
Definition ops.h:564
-
T operator()(T x, T y)
Definition ops.h:566
-
Definition ops.h:486
-
bool operator()(T x, T y)
Definition ops.h:488
-
Definition ops.h:333
-
T operator()(T x)
Definition ops.h:335
-
Definition ops.h:571
-
bool operator()(T x, T y)
Definition ops.h:573
-
Definition ops.h:578
-
std::enable_if_t<!std::is_integral_v< T >, T > operator()(T base, T exp)
Definition ops.h:580
-
std::enable_if_t< std::is_integral_v< T >, T > operator()(T base, T exp)
Definition ops.h:585
-
Definition ops.h:445
-
std::enable_if_t<!std::is_integral_v< T >, T > operator()(T numerator, T denominator)
Definition ops.h:464
-
std::enable_if_t< std::is_integral_v< T > &!std::is_signed_v< T >, T > operator()(T numerator, T denominator)
Definition ops.h:447
-
std::enable_if_t< std::is_integral_v< T > &std::is_signed_v< T >, T > operator()(T numerator, T denominator)
Definition ops.h:454
-
complex64_t operator()(complex64_t numerator, complex64_t denominator)
Definition ops.h:474
-
Definition ops.h:654
-
T operator()(T x, T y)
Definition ops.h:656
-
Definition ops.h:340
-
T operator()(T x)
Definition ops.h:342
-
complex64_t operator()(complex64_t x)
Definition ops.h:346
-
Definition ops.h:410
-
T operator()(T x)
Definition ops.h:412
-
Definition ops.h:619
-
T operator()(bool condition, T x, T y)
Definition ops.h:621
-
Definition ops.h:351
-
T operator()(T x)
Definition ops.h:353
-
Definition ops.h:359
-
uint64_t operator()(uint64_t x)
Definition ops.h:373
-
T operator()(T x)
Definition ops.h:361
-
uint8_t operator()(uint8_t x)
Definition ops.h:364
-
uint16_t operator()(uint16_t x)
Definition ops.h:367
-
complex64_t operator()(complex64_t x)
Definition ops.h:377
-
uint32_t operator()(uint32_t x)
Definition ops.h:370
-
Definition ops.h:382
-
T operator()(T x)
Definition ops.h:384
-
Definition ops.h:389
-
T operator()(T x)
Definition ops.h:391
-
Definition ops.h:403
-
T operator()(T x)
Definition ops.h:405
-
Definition ops.h:396
-
T operator()(T x)
Definition ops.h:398
-
Definition ops.h:598
-
T operator()(T x, T y)
Definition ops.h:600
-
Definition ops.h:417
-
T operator()(T x)
Definition ops.h:419
-
Definition ops.h:424
-
T operator()(T x)
Definition ops.h:426
+ +
bool operator()(T x, T y)
Definition ops.h:516
+
Definition ops.h:507
+
bool operator()(T x, T y)
Definition ops.h:509
+
Definition ops.h:298
+
T operator()(T x)
Definition ops.h:300
+
Definition ops.h:661
+
T operator()(T x, T y)
Definition ops.h:663
+
Definition ops.h:528
+
bool operator()(T x, T y)
Definition ops.h:530
+
Definition ops.h:521
+
bool operator()(T x, T y)
Definition ops.h:523
+
Definition ops.h:319
+
T operator()(T x)
Definition ops.h:321
+
Definition ops.h:326
+
T operator()(T x)
Definition ops.h:328
+
Definition ops.h:312
+
T operator()(T x)
Definition ops.h:314
+
Definition ops.h:565
+
T operator()(T x, T y)
Definition ops.h:567
+
Definition ops.h:305
+
T operator()(T x)
Definition ops.h:307
+
Definition ops.h:619
+
T operator()(T x, T y)
Definition ops.h:621
+
Definition ops.h:333
+
T operator()(T x)
Definition ops.h:335
+
Definition ops.h:626
+
T operator()(T x, T y)
Definition ops.h:628
+
Definition ops.h:535
+
std::enable_if_t< std::is_integral_v< T >, T > operator()(T x, T y)
Definition ops.h:537
+
std::enable_if_t<!std::is_integral_v< T >, T > operator()(T x, T y)
Definition ops.h:542
+
Definition ops.h:550
+
std::enable_if_t<!std::is_integral_v< T >, T > operator()(T x, T y)
Definition ops.h:557
+
std::enable_if_t< std::is_integral_v< T >, T > operator()(T x, T y)
Definition ops.h:552
+
Definition ops.h:578
+
T operator()(T x, T y)
Definition ops.h:580
+
Definition ops.h:500
+
bool operator()(T x, T y)
Definition ops.h:502
+
Definition ops.h:340
+
T operator()(T x)
Definition ops.h:342
+
Definition ops.h:585
+
bool operator()(T x, T y)
Definition ops.h:587
+
Definition ops.h:592
+
std::enable_if_t<!std::is_integral_v< T >, T > operator()(T base, T exp)
Definition ops.h:594
+
std::enable_if_t< std::is_integral_v< T >, T > operator()(T base, T exp)
Definition ops.h:599
+
Definition ops.h:347
+
T operator()(T x)
Definition ops.h:349
+
Definition ops.h:459
+
std::enable_if_t<!std::is_integral_v< T >, T > operator()(T numerator, T denominator)
Definition ops.h:478
+
std::enable_if_t< std::is_integral_v< T > &!std::is_signed_v< T >, T > operator()(T numerator, T denominator)
Definition ops.h:461
+
std::enable_if_t< std::is_integral_v< T > &std::is_signed_v< T >, T > operator()(T numerator, T denominator)
Definition ops.h:468
+
complex64_t operator()(complex64_t numerator, complex64_t denominator)
Definition ops.h:488
+
Definition ops.h:668
+
T operator()(T x, T y)
Definition ops.h:670
+
Definition ops.h:354
+
T operator()(T x)
Definition ops.h:356
+
complex64_t operator()(complex64_t x)
Definition ops.h:360
+
Definition ops.h:424
+
T operator()(T x)
Definition ops.h:426
+
Definition ops.h:633
+
T operator()(bool condition, T x, T y)
Definition ops.h:635
+
Definition ops.h:365
+
T operator()(T x)
Definition ops.h:367
+
Definition ops.h:373
+
uint64_t operator()(uint64_t x)
Definition ops.h:387
+
T operator()(T x)
Definition ops.h:375
+
uint8_t operator()(uint8_t x)
Definition ops.h:378
+
uint16_t operator()(uint16_t x)
Definition ops.h:381
+
complex64_t operator()(complex64_t x)
Definition ops.h:391
+
uint32_t operator()(uint32_t x)
Definition ops.h:384
+
Definition ops.h:396
+
T operator()(T x)
Definition ops.h:398
+
Definition ops.h:403
+
T operator()(T x)
Definition ops.h:405
+
Definition ops.h:417
+
T operator()(T x)
Definition ops.h:419
+
Definition ops.h:410
+
T operator()(T x)
Definition ops.h:412
+
Definition ops.h:612
+
T operator()(T x, T y)
Definition ops.h:614
+
Definition ops.h:431
+
T operator()(T x)
Definition ops.h:433
+
Definition ops.h:438
+
T operator()(T x)
Definition ops.h:440
uint32_t u
Definition bf16.h:17
float f
Definition ops.h:16
diff --git a/docs/build/html/backend_2metal_2kernels_2fft_8h_source.html b/docs/build/html/backend_2metal_2kernels_2fft_8h_source.html index 0f30f51c8..a64fb6ae8 100644 --- a/docs/build/html/backend_2metal_2kernels_2fft_8h_source.html +++ b/docs/build/html/backend_2metal_2kernels_2fft_8h_source.html @@ -546,7 +546,7 @@ $(function(){ initResizable(false); });
439 typename in_T,
440 typename out_T,
441 int step,
-
442 bool real = false>
+
442 bool real = false>
443[[kernel]] void four_step_fft(
444 const device in_T* in [[buffer(0)]],
@@ -627,6 +627,7 @@ $(function(){ initResizable(false); });
static constant constexpr const int elems_per_thread_
Definition fft.h:25
static constant constexpr const int rader_3_steps_
Definition fft.h:46
static constant constexpr const int rader_5_steps_
Definition fft.h:44
+
array real(const array &a, StreamOrDevice s={})
METAL_FUNC void radix_func(thread float *x)
Definition hadamard.h:11
Definition bf16.h:265
METAL_FUNC bfloat16_t min(bfloat16_t x, bfloat16_t y)
Definition bf16_math.h:234
diff --git a/docs/build/html/backend_2metal_2utils_8h.html b/docs/build/html/backend_2metal_2utils_8h.html index 1f22ee294..d60c91e3d 100644 --- a/docs/build/html/backend_2metal_2utils_8h.html +++ b/docs/build/html/backend_2metal_2utils_8h.html @@ -117,8 +117,8 @@ Functions   std::string mlx::core::type_to_name (const array &a)   -MTL::Size mlx::core::get_block_dims (int dim0, int dim1, int dim2) -  +MTL::Size mlx::core::get_block_dims (int dim0, int dim1, int dim2, int pow2=10) +  MTL::Size mlx::core::get_2d_grid_dims (const std::vector< int > &shape, const std::vector< size_t > &strides)   NS::String * mlx::core::make_string (std::ostringstream &os) diff --git a/docs/build/html/backend_2metal_2utils_8h_source.html b/docs/build/html/backend_2metal_2utils_8h_source.html index 4a0dc3bfd..0c09faa49 100644 --- a/docs/build/html/backend_2metal_2utils_8h_source.html +++ b/docs/build/html/backend_2metal_2utils_8h_source.html @@ -127,8 +127,8 @@ $(function(){ initResizable(false); });
30// Compute the thread block dimensions which fit the given
31// input dimensions.
32// - The thread block dimensions will be powers of two
-
33// - The thread block size will be less than 1024
-
34MTL::Size get_block_dims(int dim0, int dim1, int dim2);
+
33// - The thread block size will be less than 2^pow2
+
34MTL::Size get_block_dims(int dim0, int dim1, int dim2, int pow2 = 10);
35
36// Computes a 2D grid where each element is < UINT_MAX
37// Assumes:
@@ -180,10 +180,10 @@ $(function(){ initResizable(false); });
virtual void print(std::ostream &os)=0
Print the primitive.
Definition array.h:20
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:58
void set_vector_bytes(CommandEncoder &enc, const std::vector< T > &vec, size_t nelems, int idx)
Definition utils.h:14
void debug_set_stream_queue_label(MTL::CommandQueue *queue, int index)
Definition utils.h:50
-
MTL::Size get_block_dims(int dim0, int dim1, int dim2)
MTL::Size get_2d_grid_dims(const std::vector< int > &shape, const std::vector< size_t > &strides)
std::string get_primitive_string(Primitive *primitive)
NS::String * make_string(std::ostringstream &os)
Definition utils.h:45
diff --git a/docs/build/html/classes.html b/docs/build/html/classes.html index c3d12f56d..45cdd6132 100644 --- a/docs/build/html/classes.html +++ b/docs/build/html/classes.html @@ -115,7 +115,7 @@ $(function(){ initResizable(false); });
Hadamard (mlx::core)
I
-
ImplicitGemmConv2DParams (mlx::steel)
Indices
IntOrFloat (mlx::core::detail)
InTracing (mlx::core::detail)
Inverse (mlx::core)
+
Imag
Imag (mlx::core::detail)
Imag (mlx::core)
ImplicitGemmConv2DParams (mlx::steel)
Indices
IntOrFloat (mlx::core::detail)
InTracing (mlx::core::detail)
Inverse (mlx::core)
K
KernelMergeSort
KernelMultiBlockMergeSort
KeySequence (mlx::core::random)
@@ -139,7 +139,7 @@ $(function(){ initResizable(false); });
QRF (mlx::core)
QuantizedBlockLoader
QuantizedMatmul (mlx::core)
R
-
RandomBits (mlx::core)
Reader (mlx::core::io)
BlockLoader::ReadVector (mlx::steel)
ReadWriter
Recv (mlx::core::distributed)
Reduce (mlx::core)
ReductionPlan (mlx::core)
Remainder (mlx::core::detail)
Remainder (mlx::core)
Remainder
Reshape (mlx::core)
RetainGraph (mlx::core::detail)
rev_iter (pocketfft::detail)
rfftp (pocketfft::detail)
RightShift (mlx::core::detail)
RightShift
RMSNorm (mlx::core::fast)
RMSNormVJP (mlx::core::fast)
RoPE (mlx::core::fast)
Round (mlx::core::detail)
Round (mlx::core)
Round
Rsqrt (mlx::core::detail)
Rsqrt
+
RandomBits (mlx::core)
Reader (mlx::core::io)
BlockLoader::ReadVector (mlx::steel)
ReadWriter
Real (mlx::core::detail)
Real (mlx::core)
Real
Recv (mlx::core::distributed)
Reduce (mlx::core)
ReductionPlan (mlx::core)
Remainder (mlx::core::detail)
Remainder (mlx::core)
Remainder
Reshape (mlx::core)
RetainGraph (mlx::core::detail)
rev_iter (pocketfft::detail)
rfftp (pocketfft::detail)
RightShift (mlx::core::detail)
RightShift
RMSNorm (mlx::core::fast)
RMSNormVJP (mlx::core::fast)
RoPE (mlx::core::fast)
Round (mlx::core::detail)
Round (mlx::core)
Round
Rsqrt (mlx::core::detail)
Rsqrt
S
ScaledDotProductAttention (mlx::core::fast)
ScaleOp
Scan (mlx::core)
Scatter (mlx::core)
Scheduler (mlx::core::scheduler)
Select (mlx::core::detail)
Select (mlx::core)
Select
Send (mlx::core::distributed)
Sigmoid (mlx::core::detail)
Sigmoid (mlx::core)
Sigmoid
Sign (mlx::core::detail)
Sign (mlx::core)
Sign
simple_iter (pocketfft::detail)
Sin (mlx::core::detail)
Sin (mlx::core)
Sin
sincos_2pibyn (pocketfft::detail)
Sinh (mlx::core::detail)
Sinh (mlx::core)
Sinh
Slice (mlx::core)
SliceUpdate (mlx::core)
Softmax (mlx::core)
Sort (mlx::core)
Split (mlx::core)
Sqrt (mlx::core::detail)
Sqrt (mlx::core)
Sqrt
Square (mlx::core::detail)
Square (mlx::core)
Square
StopGradient (mlx::core)
Stream (mlx::core)
StreamContext (mlx::core)
StreamThread (mlx::core::scheduler)
Subtract (mlx::core::detail)
Subtract (mlx::core)
Subtract
Sum
SVD (mlx::core)
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 03632f818..15cbb62c2 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 @@ -109,7 +109,7 @@ Inheritance diagram for mlx::core::FFT:
- + 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 new file mode 100644 index 000000000..b03925f76 --- /dev/null +++ b/docs/build/html/classmlx_1_1core_1_1_imag-members.html @@ -0,0 +1,129 @@ + + + + + + + +MLX: Member List + + + + + + + + + + + + + +
+
+

Public Member Functions

 FFT (Stream stream, const std::vector< size_t > &axes, bool inverse, bool real)
 FFT (Stream stream, const std::vector< size_t > &axes, bool inverse, bool real)
 
void eval_cpu (const std::vector< array > &inputs, array &out) override
 
+ + + + + +
+
MLX +
+
+
+ + + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
+
mlx::core::Imag Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
device()mlx::core::Primitiveinline
eval_cpu(const std::vector< array > &inputs, array &out) overridemlx::core::Imagvirtual
mlx::core::UnaryPrimitive::eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) overridemlx::core::UnaryPrimitiveinlinevirtual
eval_gpu(const std::vector< array > &inputs, array &out) overridemlx::core::Imagvirtual
mlx::core::UnaryPrimitive::eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) overridemlx::core::UnaryPrimitiveinlinevirtual
Imag(Stream stream)mlx::core::Imaginlineexplicit
is_equivalent(const Primitive &other) const overridemlx::core::Imaginlinevirtual
jvp(const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums) overridemlx::core::Imagvirtual
operator=(const UnaryPrimitive &other)=deletemlx::core::UnaryPrimitive
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
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::Imaginlinevirtual
stream()mlx::core::Primitiveinline
UnaryPrimitive(Stream stream)mlx::core::UnaryPrimitiveinlineexplicit
UnaryPrimitive(const UnaryPrimitive &other)=deletemlx::core::UnaryPrimitive
UnaryPrimitive(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
vjp(const std::vector< array > &primals, const std::vector< array > &cotangents, const std::vector< int > &argnums, const std::vector< array > &outputs) overridemlx::core::Imagvirtual
vmap(const std::vector< array > &inputs, const std::vector< int > &axes) overridemlx::core::Imagvirtual
~Primitive()=defaultmlx::core::Primitivevirtual
~UnaryPrimitive()=defaultmlx::core::UnaryPrimitivevirtual
+ + +
+ + diff --git a/docs/build/html/classmlx_1_1core_1_1_imag.html b/docs/build/html/classmlx_1_1core_1_1_imag.html new file mode 100644 index 000000000..4b9c3bd78 --- /dev/null +++ b/docs/build/html/classmlx_1_1core_1_1_imag.html @@ -0,0 +1,477 @@ + + + + + + + +MLX: mlx::core::Imag Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
MLX +
+
+
+ + + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
+ +
mlx::core::Imag Class Reference
+
+
+ +

#include <primitives.h>

+
+Inheritance diagram for mlx::core::Imag:
+
+
+ + +mlx::core::UnaryPrimitive +mlx::core::Primitive + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Imag (Stream stream)
 
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) override
 The primitive must know how to vectorize itself across the given axes.
 
std::vector< arrayjvp (const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums) override
 The Jacobian-vector product.
 
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.
 
void print (std::ostream &os) override
 Print the 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.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
 
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 output arrays.
 
void eval_gpu (const std::vector< array > &inputs, std::vector< array > &outputs) override
 
virtual ~UnaryPrimitive ()=default
 
 UnaryPrimitive (const UnaryPrimitive &other)=delete
 
 UnaryPrimitive (UnaryPrimitive &&other)=delete
 
UnaryPrimitiveoperator= (const UnaryPrimitive &other)=delete
 
UnaryPrimitiveoperator= (UnaryPrimitive &&other)=delete
 
- Public Member Functions inherited from mlx::core::Primitive
 Primitive (Stream stream)
 
const Devicedevice ()
 The device the primitive will run on.
 
const Streamstream ()
 The stream the primitive will run on.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
 
 Primitive (Primitive &&other)=delete
 
Primitiveoperator= (const Primitive &other)=delete
 
Primitiveoperator= (Primitive &&other)=delete
 
+

Constructor & Destructor Documentation

+ +

◆ Imag()

+ +
+
+ + + + + +
+ + + + + + + +
mlx::core::Imag::Imag (Stream stream)
+
+inlineexplicit
+
+ +
+
+

Member Function Documentation

+ +

◆ eval_cpu()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void mlx::core::Imag::eval_cpu (const std::vector< array > & inputs,
array & out )
+
+overridevirtual
+
+ +

Implements mlx::core::UnaryPrimitive.

+ +
+
+ +

◆ eval_gpu()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void mlx::core::Imag::eval_gpu (const std::vector< array > & inputs,
array & out )
+
+overridevirtual
+
+ +

Implements mlx::core::UnaryPrimitive.

+ +
+
+ +

◆ is_equivalent()

+ +
+
+ + + + + +
+ + + + + + + +
bool mlx::core::Imag::is_equivalent (const Primitive & other) const
+
+inlineoverridevirtual
+
+ +

Equivalence check defaults to false unless overridden by the primitive.

+ +

Reimplemented from mlx::core::Primitive.

+ +
+
+ +

◆ jvp()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
std::vector< array > mlx::core::Imag::jvp (const std::vector< array > & primals,
const std::vector< array > & tangents,
const std::vector< int > & argnums )
+
+overridevirtual
+
+ +

The Jacobian-vector product.

+ +

Reimplemented from mlx::core::Primitive.

+ +
+
+ +

◆ output_shapes()

+ +
+
+ + + + + +
+ + + + + + + +
std::vector< std::vector< int > > mlx::core::Imag::output_shapes (const std::vector< array > & inputs)
+
+inlineoverridevirtual
+
+ +

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.

+ +
+
+ +

◆ print()

+ +
+
+ + + + + +
+ + + + + + + +
void mlx::core::Imag::print (std::ostream & os)
+
+inlineoverridevirtual
+
+ +

Print the primitive.

+ +

Implements mlx::core::Primitive.

+ +
+
+ +

◆ vjp()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
std::vector< array > mlx::core::Imag::vjp (const std::vector< array > & primals,
const std::vector< array > & cotangents,
const std::vector< int > & argnums,
const std::vector< array > & outputs )
+
+overridevirtual
+
+ +

The vector-Jacobian product.

+ +

Reimplemented from mlx::core::Primitive.

+ +
+
+ +

◆ vmap()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
virtual std::pair< std::vector< array >, std::vector< int > > mlx::core::Imag::vmap (const std::vector< array > & inputs,
const std::vector< int > & axes )
+
+overridevirtual
+
+ +

The primitive must know how to vectorize itself across the given axes.

+

The output is a pair containing the output arrays representing the vectorized computation and the axes which corresponds to the vectorized dimensions of each output.

+ +

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_1_imag.png b/docs/build/html/classmlx_1_1core_1_1_imag.png new file mode 100644 index 0000000000000000000000000000000000000000..47ce126558fc7a0b19d2a307dcb2476476e23dec GIT binary patch literal 882 zcmeAS@N?(olHy`uVBq!ia0vp^(}1{xgBeH~F+Z{fQqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=B+vJzX3_Dj46+eLHEh0*@O% zzwz8V|3&v_{bg{SU3N?Fcb?UpiCG=(3~%F$&h4~6G3ko*LRHT=C+|snEVfKi`RVz1 zxoO#p`?FPSA23IWC*N6lZtEqZ?JI+q%<0}3vuwj!yXX%;QoJ@kl{|D!|Eq>)>h23t zmo-*ie0AsP+SI9C>St|I**tF*hpsg`y-q6V(!{F#x2gNrU%m5mdDQ1^E8IM_X8W(U zaa6x*mG`Bb35l+S0Z<&K(vWb1v6>`AM_d_OLotl??z zmf<;R`h`g<`XHD7x_Zj;`8$RRar1_MFM?l}y}q>Cf9=6l?(6-wK2l-&!KurjzmWBT z>K2AQEn*GRFED)&ieiX!;y&P=!B~ML`G;}soZ@%`J>BKZi^|Ewb%w9j~0+o5$~NZY%k`_mi*lhhIz2?9TM9 zoLrLg^~9&JkC%QrTCdx6y(ZXl+qy8x&8yp{l%#~O-F%}o|LyY6d20{LtrK4qa_hW; z=kaYiKc;P889J|ja+c}0u-xr=N7T2>imuDOIxT+Z!Ac

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::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::Divide, mlx::core::DivMod, 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::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::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::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::Divide, mlx::core::DivMod, 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.

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

The Jacobian-vector product.

-

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::AsStrided, mlx::core::AsType, mlx::core::BitwiseBinary, mlx::core::Broadcast, mlx::core::Ceil, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::distributed::AllGather, mlx::core::distributed::AllReduce, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, mlx::core::fast::Custom, mlx::core::FFT, mlx::core::Floor, mlx::core::Full, mlx::core::Gather, mlx::core::GatherQMM, mlx::core::Greater, mlx::core::GreaterEqual, mlx::core::Hadamard, 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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::QuantizedMatmul, 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::Subtract, mlx::core::Tan, mlx::core::Tanh, and mlx::core::Transpose.

+

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::AsStrided, mlx::core::AsType, mlx::core::BitwiseBinary, mlx::core::Broadcast, mlx::core::Ceil, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::distributed::AllGather, mlx::core::distributed::AllReduce, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, mlx::core::fast::Custom, mlx::core::FFT, mlx::core::Floor, mlx::core::Full, mlx::core::Gather, mlx::core::GatherQMM, 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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::QuantizedMatmul, mlx::core::Real, 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::Subtract, mlx::core::Tan, mlx::core::Tanh, and mlx::core::Transpose.

@@ -497,7 +497,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::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::Divide, mlx::core::DivMod, 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::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::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::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::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::Divide, mlx::core::DivMod, 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.

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

Print the primitive.

-

Implemented 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::Cholesky, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Conjugate, mlx::core::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::Depends, mlx::core::distributed::AllReduce, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, 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::Inverse, mlx::core::Less, mlx::core::LessEqual, mlx::core::Load, 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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::QRF, mlx::core::QuantizedMatmul, mlx::core::RandomBits, 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::SVD, mlx::core::Tan, mlx::core::Tanh, mlx::core::Transpose, mlx::core::Uniform, and mlx::core::View.

+

Implemented 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::Cholesky, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Conjugate, mlx::core::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::Depends, mlx::core::distributed::AllReduce, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, 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::Inverse, mlx::core::Less, mlx::core::LessEqual, mlx::core::Load, 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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::QRF, 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::SVD, mlx::core::Tan, mlx::core::Tanh, mlx::core::Transpose, mlx::core::Uniform, and mlx::core::View.

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

The vector-Jacobian product.

-

Reimplemented in mlx::core::Abs, mlx::core::Add, mlx::core::AddMM, 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::AsStrided, mlx::core::AsType, mlx::core::BitwiseBinary, mlx::core::BlockMaskedMM, mlx::core::Broadcast, mlx::core::Ceil, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::Depends, mlx::core::distributed::AllGather, mlx::core::distributed::AllReduce, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, mlx::core::fast::Custom, mlx::core::fast::LayerNorm, mlx::core::fast::RMSNorm, mlx::core::fast::RoPE, 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::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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::QuantizedMatmul, 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::Subtract, mlx::core::Tan, mlx::core::Tanh, and mlx::core::Transpose.

+

Reimplemented in mlx::core::Abs, mlx::core::Add, mlx::core::AddMM, 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::AsStrided, mlx::core::AsType, mlx::core::BitwiseBinary, mlx::core::BlockMaskedMM, mlx::core::Broadcast, mlx::core::Ceil, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::Depends, mlx::core::distributed::AllGather, mlx::core::distributed::AllReduce, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, mlx::core::fast::Custom, mlx::core::fast::LayerNorm, mlx::core::fast::RMSNorm, mlx::core::fast::RoPE, 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::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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::QuantizedMatmul, 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::Subtract, mlx::core::Tan, mlx::core::Tanh, and mlx::core::Transpose.

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

The primitive must know how to vectorize itself across the given axes.

The output is a pair containing the output arrays representing the vectorized computation and the axes which corresponds to the vectorized dimensions of each output.

-

Reimplemented in mlx::core::Abs, mlx::core::Add, mlx::core::AddMM, 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::Broadcast, mlx::core::Ceil, mlx::core::Cholesky, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Conjugate, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::distributed::AllGather, mlx::core::distributed::AllReduce, mlx::core::distributed::Send, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, mlx::core::fast::Custom, mlx::core::FFT, mlx::core::Floor, mlx::core::Full, mlx::core::Gather, mlx::core::GatherQMM, mlx::core::Greater, mlx::core::GreaterEqual, mlx::core::Hadamard, mlx::core::Inverse, 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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::QuantizedMatmul, mlx::core::RandomBits, 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::SVD, 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::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::Broadcast, mlx::core::Ceil, mlx::core::Cholesky, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Conjugate, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::distributed::AllGather, mlx::core::distributed::AllReduce, mlx::core::distributed::Send, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, mlx::core::fast::Custom, mlx::core::FFT, mlx::core::Floor, mlx::core::Full, mlx::core::Gather, mlx::core::GatherQMM, mlx::core::Greater, mlx::core::GreaterEqual, mlx::core::Hadamard, mlx::core::Imag, mlx::core::Inverse, 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::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::SVD, mlx::core::Tan, mlx::core::Tanh, mlx::core::Transpose, mlx::core::Uniform, and mlx::core::View.

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 new file mode 100644 index 000000000..54ddb3223 --- /dev/null +++ b/docs/build/html/classmlx_1_1core_1_1_real-members.html @@ -0,0 +1,129 @@ + + + + + + + +MLX: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
MLX +
+
+
+ + + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
+
mlx::core::Real Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
device()mlx::core::Primitiveinline
eval_cpu(const std::vector< array > &inputs, array &out) overridemlx::core::Realvirtual
mlx::core::UnaryPrimitive::eval_cpu(const std::vector< array > &inputs, std::vector< array > &outputs) overridemlx::core::UnaryPrimitiveinlinevirtual
eval_gpu(const std::vector< array > &inputs, array &out) overridemlx::core::Realvirtual
mlx::core::UnaryPrimitive::eval_gpu(const std::vector< array > &inputs, std::vector< array > &outputs) overridemlx::core::UnaryPrimitiveinlinevirtual
is_equivalent(const Primitive &other) const overridemlx::core::Realinlinevirtual
jvp(const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums) overridemlx::core::Realvirtual
operator=(const UnaryPrimitive &other)=deletemlx::core::UnaryPrimitive
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
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::Realinlinevirtual
Real(Stream stream)mlx::core::Realinlineexplicit
stream()mlx::core::Primitiveinline
UnaryPrimitive(Stream stream)mlx::core::UnaryPrimitiveinlineexplicit
UnaryPrimitive(const UnaryPrimitive &other)=deletemlx::core::UnaryPrimitive
UnaryPrimitive(UnaryPrimitive &&other)=deletemlx::core::UnaryPrimitive
vjp(const std::vector< array > &primals, const std::vector< array > &cotangents, const std::vector< int > &argnums, const std::vector< array > &outputs) overridemlx::core::Realvirtual
vmap(const std::vector< array > &inputs, const std::vector< int > &axes) overridemlx::core::Realvirtual
~Primitive()=defaultmlx::core::Primitivevirtual
~UnaryPrimitive()=defaultmlx::core::UnaryPrimitivevirtual
+ + +
+ + diff --git a/docs/build/html/classmlx_1_1core_1_1_real.html b/docs/build/html/classmlx_1_1core_1_1_real.html new file mode 100644 index 000000000..f606b5fa0 --- /dev/null +++ b/docs/build/html/classmlx_1_1core_1_1_real.html @@ -0,0 +1,477 @@ + + + + + + + +MLX: mlx::core::Real Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
MLX +
+
+
+ + + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
+ +
mlx::core::Real Class Reference
+
+
+ +

#include <primitives.h>

+
+Inheritance diagram for mlx::core::Real:
+
+
+ + +mlx::core::UnaryPrimitive +mlx::core::Primitive + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Real (Stream stream)
 
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) override
 The primitive must know how to vectorize itself across the given axes.
 
std::vector< arrayjvp (const std::vector< array > &primals, const std::vector< array > &tangents, const std::vector< int > &argnums) override
 The Jacobian-vector product.
 
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.
 
void print (std::ostream &os) override
 Print the 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.
 
- Public Member Functions inherited from mlx::core::UnaryPrimitive
 UnaryPrimitive (Stream stream)
 An abstract base class for a primitive with a single output.
 
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 output arrays.
 
void eval_gpu (const std::vector< array > &inputs, std::vector< array > &outputs) override
 
virtual ~UnaryPrimitive ()=default
 
 UnaryPrimitive (const UnaryPrimitive &other)=delete
 
 UnaryPrimitive (UnaryPrimitive &&other)=delete
 
UnaryPrimitiveoperator= (const UnaryPrimitive &other)=delete
 
UnaryPrimitiveoperator= (UnaryPrimitive &&other)=delete
 
- Public Member Functions inherited from mlx::core::Primitive
 Primitive (Stream stream)
 
const Devicedevice ()
 The device the primitive will run on.
 
const Streamstream ()
 The stream the primitive will run on.
 
virtual ~Primitive ()=default
 
 Primitive (const Primitive &other)=delete
 
 Primitive (Primitive &&other)=delete
 
Primitiveoperator= (const Primitive &other)=delete
 
Primitiveoperator= (Primitive &&other)=delete
 
+

Constructor & Destructor Documentation

+ +

◆ Real()

+ +
+
+ + + + + +
+ + + + + + + +
mlx::core::Real::Real (Stream stream)
+
+inlineexplicit
+
+ +
+
+

Member Function Documentation

+ +

◆ eval_cpu()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void mlx::core::Real::eval_cpu (const std::vector< array > & inputs,
array & out )
+
+overridevirtual
+
+ +

Implements mlx::core::UnaryPrimitive.

+ +
+
+ +

◆ eval_gpu()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void mlx::core::Real::eval_gpu (const std::vector< array > & inputs,
array & out )
+
+overridevirtual
+
+ +

Implements mlx::core::UnaryPrimitive.

+ +
+
+ +

◆ is_equivalent()

+ +
+
+ + + + + +
+ + + + + + + +
bool mlx::core::Real::is_equivalent (const Primitive & other) const
+
+inlineoverridevirtual
+
+ +

Equivalence check defaults to false unless overridden by the primitive.

+ +

Reimplemented from mlx::core::Primitive.

+ +
+
+ +

◆ jvp()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
std::vector< array > mlx::core::Real::jvp (const std::vector< array > & primals,
const std::vector< array > & tangents,
const std::vector< int > & argnums )
+
+overridevirtual
+
+ +

The Jacobian-vector product.

+ +

Reimplemented from mlx::core::Primitive.

+ +
+
+ +

◆ output_shapes()

+ +
+
+ + + + + +
+ + + + + + + +
std::vector< std::vector< int > > mlx::core::Real::output_shapes (const std::vector< array > & inputs)
+
+inlineoverridevirtual
+
+ +

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.

+ +
+
+ +

◆ print()

+ +
+
+ + + + + +
+ + + + + + + +
void mlx::core::Real::print (std::ostream & os)
+
+inlineoverridevirtual
+
+ +

Print the primitive.

+ +

Implements mlx::core::Primitive.

+ +
+
+ +

◆ vjp()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
std::vector< array > mlx::core::Real::vjp (const std::vector< array > & primals,
const std::vector< array > & cotangents,
const std::vector< int > & argnums,
const std::vector< array > & outputs )
+
+overridevirtual
+
+ +

The vector-Jacobian product.

+ +

Reimplemented from mlx::core::Primitive.

+ +
+
+ +

◆ vmap()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
virtual std::pair< std::vector< array >, std::vector< int > > mlx::core::Real::vmap (const std::vector< array > & inputs,
const std::vector< int > & axes )
+
+overridevirtual
+
+ +

The primitive must know how to vectorize itself across the given axes.

+

The output is a pair containing the output arrays representing the vectorized computation and the axes which corresponds to the vectorized dimensions of each output.

+ +

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_1_real.png b/docs/build/html/classmlx_1_1core_1_1_real.png new file mode 100644 index 0000000000000000000000000000000000000000..2167288fde30411e1891bb19a9ba3cf8c3856127 GIT binary patch literal 866 zcmeAS@N?(olHy`uVBq!ia0vp^(}1{xgBeH~F+Z{fQqloFA+G=b{|7Q(y!l$%e`vXd zfo6fk^fNCWJa_;UH$5A+1SrQ@666=m0OW&#In(Sb3=B+fJzX3_Dj46+eciX(fQL;z ze#xo#|Bti>>G3Uz-JZ4EGHSh1Q&TeA@yLHc*=rv=PF-@*L)WuwQq&|7)dis{ntnU~ zeSPNle7mBj{RhUi?8S#xzRRBa_3ks_=|!5ys%9Mi_Up~T>(<3xw&z8*{mn@C{Pei- znrUyB)#9^n_1CU`@~-6b51vUSPXf2rOmj9}vdB0$Up96B`m1k0?T+$}HrcH5Q}FU9 z>lc1o&*lDIJWb`U;*zUd{%qXt*ZpJjwEJR{N}frs&2_vzcgNiFQ&CIOOxFLn3*gT_i$0oAPxi;yJ$HH59*+Q%L`$qjD$=CFxNEQ)^|wtV{Q z`f0nl_uEvq);Pa*JhHcQc39-u=fdWRl~=zSw7<>Y&+2d9SGYZ=de_rg^_N8U{QXc_ zzSc5-;a?mM@_1mOWhFCT-w8a^h}OP z(CITeURg6|x>owVJ{dma`;?iH&MGIT8(v zch0rTp7!r8jXJXa>$KZNbLYM&pPgMPzkP{;akWET&6zWcmQ0%&IpvCxardOCw6s9A ewLxBzef5*v=E~-W6-)u<1_n=8KbLh*2~7Yl2DH-v literal 0 HcmV?d00001 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 154849a47..8335de9db 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 @@ -145,52 +145,54 @@ Inheritance diagram for mlx::core::UnaryPrimitive:
mlx::core::Greater mlx::core::GreaterEqual mlx::core::Hadamard -mlx::core::Inverse -mlx::core::Less -mlx::core::LessEqual -mlx::core::Load -mlx::core::Log -mlx::core::Log1p -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::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::Sqrt -mlx::core::Square -mlx::core::StopGradient -mlx::core::Subtract -mlx::core::Tan -mlx::core::Tanh -mlx::core::Transpose -mlx::core::Uniform -mlx::core::View +mlx::core::Imag +mlx::core::Inverse +mlx::core::Less +mlx::core::LessEqual +mlx::core::Load +mlx::core::Log +mlx::core::Log1p +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::Sqrt +mlx::core::Square +mlx::core::StopGradient +mlx::core::Subtract +mlx::core::Tan +mlx::core::Tanh +mlx::core::Transpose +mlx::core::Uniform +mlx::core::View
@@ -387,7 +389,7 @@ Public Member Functions
-

Implemented 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::Cholesky, mlx::core::Concatenate, mlx::core::Conjugate, mlx::core::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::Divide, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, 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::Inverse, mlx::core::Less, mlx::core::LessEqual, mlx::core::Load, 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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::QuantizedMatmul, mlx::core::RandomBits, 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::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.

+

Implemented 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::Cholesky, mlx::core::Concatenate, mlx::core::Conjugate, mlx::core::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::Divide, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, 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::Inverse, mlx::core::Less, mlx::core::LessEqual, mlx::core::Load, 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::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::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.

@@ -452,7 +454,7 @@ Public Member Functions
-

Implemented 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::Cholesky, mlx::core::Concatenate, mlx::core::Conjugate, mlx::core::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::Divide, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, 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::Inverse, mlx::core::Less, mlx::core::LessEqual, mlx::core::Load, 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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::QuantizedMatmul, mlx::core::RandomBits, 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::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.

+

Implemented 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::Cholesky, mlx::core::Concatenate, mlx::core::Conjugate, mlx::core::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::Divide, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, 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::Inverse, mlx::core::Less, mlx::core::LessEqual, mlx::core::Load, 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::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::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.

diff --git a/docs/build/html/classmlx_1_1core_1_1_unary_primitive.png b/docs/build/html/classmlx_1_1core_1_1_unary_primitive.png index d3aa807409387a22e46014ed20554ee45943b437..fa6e8dc0fe79dab0ef375b0976a7f8f36976f0d5 100644 GIT binary patch delta 9561 zcmaKSdt8!f8unCMZqur}+a#N2PSeadjU~=#X`0yC>7eEb(?mN=m`5}ZB#O*VlTG84 zHOz>HNaXWC52)4tzVG+_S-;ZfexB>T?(4el z_ty7|CFd7kwp;Ph2Y+4i!3Q4{7m|LsvJSQQY|O1=LO<&eTb6ioAXS$0TNIo|-n1P- zB50CdiiH314Xm7oFQwU3CBdgspG)7&RyP(z=JeDm`na=^Vf0$*WOX4O zH%9Fu$QX(%`c$tq69MqKWte2!I2b>fiDsixh8xaos*^+hE54B@$ea`*D!X%%MBT)S z(o0sDWXU;QP6&Jsbs-A&tC6x+@Z=3qn2<3Ia&LDx(-bH766*gkD}!o-{h=*YpVt@A7TB=@(%e+gS>lOcY3z@Pu^nnf zlIOa!lebn6%ERb=D8u9DW9?|CL~%8eMtHB3={jmqpb?Kcbix>!OG=jMENBAm?f|hbMw{%|0vQAN-=f&(SCQggAk+1l6ebsuC@I zzE`<)_jyI51xHSZ%UU@!3fKngWZYuMiE||RdMa2|E3-B?q2aADY%4h&oKCh zvd83wcc9}g4Uk{8lyzl)tsajiZ~U-=#8=r`wpQ$ZBnflb;GhcQs(7=iB;k z;#gwO7YR9DY~l0#_e7Jw zB78(v=2A&tz}NJ-NSg>HIzdJUk9EM>|4z9g!)^VVe95FP#XieB=1}Z;!^&CPa^u%6 zskYuKEN`&5r&>o5HAuk!vD%dES)X-Cu51=GRp_HDjhFOO*$AkuKlO>HjAEbB;9DwF z&3;6avHU#dK=VJCahyBagEAo|AM`O6oM0@o7TuK*;~y5wB=>tWNgmJ+cv`U9I1mc1 zb{GDlazn(a(8`xl?W_7hoa` zw+c&S>58rzM`*wm!-1%_Zf&GZ@S9kar6ii7`ZLw^@0l-7%8IqvmAQF)GbLIYs4K^% z_N;45I`NP;BixT8E1>U!Qz}sx45aPEuP`BE<8lM3+Sby_!gxz7lXRgQ4|ScPN+o#lw>wV^Cc z9soQ^azco>4``j27fk}VqMM(M#FDZ|{*~y9VF|Kt$V)fUNQOM~6OP%aO1IIbhVMW$ zz>HjVeo%RS*E4ZN*_unHk+{q3dv2uyI$m;9GQLye{Zd~#O-zS4$|NRa$V0-Px>@S4 zoPW|Rtw1x%^)Efo>eC{`Q1dAEu?^JXBS#4Dy?&&z3kt?WK=A=h)>9Ys9$DBtMeKH> z*BYCdDm~_GUE}$BJ(YfZ7aw&C6B?$SSYA&Uk80&UK}ByD9ARq@;cHQ$Dx;E)_@4bT zb6s&$x5~9`tQYUg&1=j1++6c6KbbQqo@;3OfDKwQT&QhLVj30X|NN6l3c6-~?y*;0 ze{fbZ(zz~vv%ZyR%$wd<>tT=E(hk#WT_<4Yf423!*txknxxKEfPF$k$r1?0N26oY} zw~Tp)l7gd)EhEvx6UV62+?(y?&kRfJX^^J@dXM7z*vAc#$jWA0E2b<^1&lxjI13M5FSo=(3 z#9f?DyA85TVQ~~J963M2((kTB6CYwXL>TUZ3?+ zrWwnJRbft>7uau%gP_TvWa>I(Oo66B-?8*LuYoY}B!t5Rlj%K@Q8sH|KM=L(`pu2& zw~K|Uld^1cQa(cyqpQQ6@R94oOnbb;Sn$m8UKjneW)5n5 zH2BTej-46#L4+?_fyup6Q;p{k5)*m800L z|B_~MN!Aq7hu%qzA?$+DRba@bso+Lkg~?&QH|cY|iPRq9ZO%fo^W+KRe5ghajV`{u z*8K$-G2W_1DL1_T&C^!HV#Z*5E8hkqz{KJFWll4HO^}&LR zt&~O0mrUsbVb!Dvyvg{ZMDOAYw$AOM6#Fe_X`w;txVDtS(w4jkq7=t4e&2NXZ{8}q z;{~Az;W==hzNg1AaIi2BEl!TBpJ+USpOL3dGu(JN52uHpC5IBjs&Vc)jo)vy`$;k_ zEHO*7T|k?qS=x+{ts*|^PLL(D+b6%g9mD3Xc#zOJ+t75Fd%&;>P7e3tZ@~%wlTCYK zT*g4C@(G4};Y2Btfi@f=r+s{rlutNB6o_7N45Qr$`t@#Z2s_0ga8T?cBPnr=wXV9; z@7EC=qeBla@7gC*tkhLHar!y)aHo`rOnd{xSfw|BDX#lI`jd_}4~sZYr?jV$r| zj?nb?04w)v{S{}xta>iR-St2cE5iUzF(ce>$+uE5hot9-K=HLz&1X)G_MByfEow_a)2^v*iFn{#56vP z>w+wE42QUUZu}ZI*);~TGI#wOLo3e_N$JoJ$JbSpPMDROkF{y6ilalKI8qkgp=#Wg86KHfPB$XR2|0wptm1BJRvG26$27wS75w=}j+ zCK9o1XSP9_4g?v_2`}msi!gsFI-|}u zgS0zTM;OS`4s6vpi17g{3Hyll8T`o!!)q?abYHdI*MPTfQDS)#(hMv;mxX$zFKsu- z9VmrI@@OW~VbnmDjspO!n64r51Nc5By<=;#jcemlcpy?;l3SuI)M9GXPJ4;OW=s(3 znYXQAm+#E2;THv3s>y#|swY>gB`>Iv{HYCVLy-4<4{v|$H#u4+;l?(9w=t$bRkK7y zANcw+D}FM&LBHh;{G&7Cvg#o5NJ!9C_ZrbJH;YeGxzNP@c)OEL7wMZ;vYlP+Xz_=R zE?V@Y!My?UA-fS)y%WQ2PJ}ne)|rq;^9CG->UBef^&qZaVLvr)JiqcF6C_ z)67%x%8PrxFLJ4)mrh_A-LXZ3k2Mz{TjJB2GDRJ>)+R+!Bde$HhNt%%9O2o3CO6ZH zd7_U^u!t~R-@n=C_QKPsEDMGm8wmB^CEW-5m-x^kH!Tzczwr}>iznISgpawTAI+TD zKNYN2$R{;b`Vhb^a*y0h@rcGR&G=WS|LYZuv#X`qf5v1w*a)n>)&}r;rU&sd z`pgH=@)Hk70X~m%Ln)h&`y5R-Nko4*cS6lw36G&?ja^Z`yeVZ+rM@XdOcgFi43oCP z{i$9rsZgPH%hR>pP?!6WjLp~Tqu@Mu>Kv=sT@Eqjn6U`lrt*?pV$!4et+7EtQ8g|= z9nVyUn|>lcv|UB+{^wOvP&v>>IIp}g(^)V@lO?ZA5A?g3=gZ|+lDvyYXwIYNVcIpQ zc{cKVWKpQjA&mYalqo#;zAZXA?NWOwrg+@R9Yh4|NcLHUT_XIH6r z+$4fF0bip-Q&iQGEAGg*(iy6ffMa64|!QBEA$7Q4gim5w)%>3f?l;O zDdiCHhAmm^Qcp5?gO2&lEN_&8x?Y}_50RG}_iRAg5gIfo<2f9-J%fS5(bWIn99lJ!lK8UCIZSdSGIHTVq%XrPK_y5+SEV`r%_58W(f$l$= zABTvNF@2k>YqTkLHU>I3%8%4sD-e{(9ONj?&Quj|KnCfBd~DJ;Rl0}V|vY|maDd~9nx=(z)fqaxfx zcw(!ROX^jV44xp?X!)Cyu#7?zSyRqUz5c~Vm6k0X?(k9GE*_Ha5MGLc7b7`jVG4%? zn`fGJMgLp)O>- zF}NrZ4odu{nu5EhXh}s!ty~+5G*+1g7oVOJ@&R)SqaIC)d-?465#v(2z)S@ia|`AA z6LI0%C?Z|2=gi(l^?oZ~F?O_{wv6j53#HvaIE4Tcd^I08 z2AbZ}+P|#)VTN1Vdre;en%+=_ygpdfhFxg-#z6q)fCCCyjqGl6K?5P{HW(9=ADa6e zmHpHZFi+~px#8uR2%nCQ13$g%G6;L%D1M~l_7?PeEkxn8PdDk-htWsL%y3g7NO^9O zcAG<<)LCZzXuC7B9tb)-_5VjqT&r3f+E5*I&G<>n7uI0xX6ZuJNKu+-osJq#g4Ub! zp3RAwsR}TO3V1D%Fk?UeDCnICXKg4hmd3)rjo8$djLI9v*2Y{?03jEruZiSa@{z8^ zua!}J+91ns;>tTY5nI4bqkMKMrydF-e$W7^4p}aE`N9PoiYPH>vZ})o0c~_XL+X4E zd47F+hFj>?ceKhN%R8clPC>Mw&ifdny^LqTLi@h8kX8aWG~%)1kDe2*>r+ld*oGMD zVtwCZfyX9eVMF$Jz+4hz7N;yhJFCS_#Mpx~io-$WddvbHOk6h(?+eE&a9u?RO)lM#i$$e*r0WrpAzQw<(_;orvl!-Ihleek|sQ+RugwM-ZWG zW58Sjw`=}!3P#)Gm^$z{per;v027$DN9u1p96RrHlP7Ld^Sg$}Ghb!)#!FvT4SC8s z3|?wviB_++{+gzf5mBf81Toaugg#wXKw+Y!Gu3l&1FvcxY7O|pkS`|mJ1 zQwoTSnmT0SE(CJ(WL+Zzc~Q`2b6)hRJQ2n&>N&(I(gD+y{EnwzH=J?c5(w^* zQQHAgpEDD+5IjQR)qE4;F@2Zs8vdnkC3g>Mx5Xntj+?YrMVNqpYBbKi)Qlst&pAAW{zQwARwhdwiLKhp*sZ%$v+%nfh1Ys3otu zz^xjp`tP|rc2>Mai!!aFB(ET3b}C}t)Sx65{G?FAuQ%c*#a%LivC z?gHU!rqV?!^6Z};mi*EFD0cUJWD`Bd^t!0li%0D7u4uNa`MT$Cdn~F}f8xkn0fLiL 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 JxAW-t{|6k>abf@f delta 9215 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 diff --git a/docs/build/html/common_2unary_8h_source.html b/docs/build/html/common_2unary_8h_source.html index b933ced14..a6879dd7c 100644 --- a/docs/build/html/common_2unary_8h_source.html +++ b/docs/build/html/common_2unary_8h_source.html @@ -117,26 +117,26 @@ $(function(){ initResizable(false); });
24 }
25}
26
-
27template <typename T, typename Op>
-
28void unary_op(const T* a, T* out, Op op, size_t shape, size_t stride) {
+
27template <typename T, typename U = T, typename Op>
+
28void unary_op(const T* a, U* out, Op op, size_t shape, size_t stride) {
29 for (size_t i = 0; i < shape; i += 1) {
30 out[i] = op(*a);
31 a += stride;
32 }
33}
34
-
35template <typename T, typename Op>
+
35template <typename T, typename U = T, typename Op>
36void unary_op(const array& a, array& out, Op op) {
37 const T* a_ptr = a.data<T>();
38 if (a.flags().contiguous) {
39 set_unary_output_data(a, out);
-
40 T* dst = out.data<T>();
+
40 U* dst = out.data<U>();
41 for (size_t i = 0; i < a.data_size(); ++i) {
42 dst[i] = op(a_ptr[i]);
43 }
44 } else {
45 out.set_data(allocator::malloc_or_wait(out.nbytes()));
-
46 T* dst = out.data<T>();
+
46 U* dst = out.data<U>();
47 size_t shape = a.ndim() > 0 ? a.shape(-1) : 1;
48 size_t stride = a.ndim() > 0 ? a.strides(-1) : 1;
49 if (a.ndim() <= 1) {
diff --git a/docs/build/html/compiled_8h_source.html b/docs/build/html/compiled_8h_source.html index 0c7126b09..020b90fd1 100644 --- a/docs/build/html/compiled_8h_source.html +++ b/docs/build/html/compiled_8h_source.html @@ -176,7 +176,7 @@ $(function(){ initResizable(false); });
Definition primitives.h:528
Definition primitives.h:683
Definition primitives.h:48
-
Definition primitives.h:1987
+
Definition primitives.h:2015
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
diff --git a/docs/build/html/cpp/ops.html b/docs/build/html/cpp/ops.html index 4c304b324..009ac5586 100644 --- a/docs/build/html/cpp/ops.html +++ b/docs/build/html/cpp/ops.html @@ -8,7 +8,7 @@ - Operations — MLX 0.18.1 documentation + Operations — MLX 0.19.0 documentation @@ -36,7 +36,7 @@ - + @@ -136,8 +136,8 @@ - MLX 0.18.1 documentation - Home - + MLX 0.19.0 documentation - Home +
@@ -325,6 +325,7 @@
  • mlx.core.greater_equal
  • mlx.core.hadamard_transform
  • mlx.core.identity
  • +
  • mlx.core.imag
  • mlx.core.inner
  • mlx.core.isfinite
  • mlx.core.isclose
  • @@ -370,6 +371,7 @@
  • mlx.core.quantize
  • mlx.core.quantized_matmul
  • mlx.core.radians
  • +
  • mlx.core.real
  • mlx.core.reciprocal
  • mlx.core.remainder
  • mlx.core.repeat
  • @@ -1168,6 +1170,8 @@ document.write(`
  • roll()
  • roll()
  • roll()
  • +
  • real()
  • +
  • imag()
  • @@ -2967,6 +2971,16 @@ document.write(` array roll(const array &a, const std::vector<int> &shift, const std::vector<int> &axes, StreamOrDevice s = {})#
    +
    +
    +array real(const array &a, StreamOrDevice s = {})#
    +
    + +
    +
    +array imag(const array &a, StreamOrDevice s = {})#
    +
    + @@ -3320,6 +3334,8 @@ document.write(`
  • roll()
  • roll()
  • roll()
  • +
  • real()
  • +
  • imag()
  • diff --git a/docs/build/html/dev/custom_metal_kernels.html b/docs/build/html/dev/custom_metal_kernels.html index 19610ee45..37eaf2625 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.18.1 documentation + Custom Metal Kernels — MLX 0.19.0 documentation @@ -36,7 +36,7 @@ - + @@ -135,8 +135,8 @@ - MLX 0.18.1 documentation - Home - + MLX 0.19.0 documentation - Home +
    @@ -324,6 +324,7 @@
  • mlx.core.greater_equal
  • mlx.core.hadamard_transform
  • mlx.core.identity
  • +
  • mlx.core.imag
  • mlx.core.inner
  • mlx.core.isfinite
  • mlx.core.isclose
  • @@ -369,6 +370,7 @@
  • mlx.core.quantize
  • mlx.core.quantized_matmul
  • mlx.core.radians
  • +
  • mlx.core.real
  • mlx.core.reciprocal
  • mlx.core.remainder
  • mlx.core.repeat
  • diff --git a/docs/build/html/dev/extensions.html b/docs/build/html/dev/extensions.html index 5763e3ecb..8c580ef55 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.18.1 documentation + Custom Extensions in MLX — MLX 0.19.0 documentation @@ -36,7 +36,7 @@ - + @@ -136,8 +136,8 @@ - MLX 0.18.1 documentation - Home - + MLX 0.19.0 documentation - Home +
    @@ -325,6 +325,7 @@
  • mlx.core.greater_equal
  • mlx.core.hadamard_transform
  • mlx.core.identity
  • +
  • mlx.core.imag
  • mlx.core.inner
  • mlx.core.isfinite
  • mlx.core.isclose
  • @@ -370,6 +371,7 @@
  • mlx.core.quantize
  • mlx.core.quantized_matmul
  • mlx.core.radians
  • +
  • mlx.core.real
  • mlx.core.reciprocal
  • mlx.core.remainder
  • mlx.core.repeat
  • diff --git a/docs/build/html/dev/metal_debugger.html b/docs/build/html/dev/metal_debugger.html index c68e205e3..ee6ca0493 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.18.1 documentation + Metal Debugger — MLX 0.19.0 documentation @@ -36,7 +36,7 @@ - + @@ -136,8 +136,8 @@ - MLX 0.18.1 documentation - Home - + MLX 0.19.0 documentation - Home +
    @@ -325,6 +325,7 @@
  • mlx.core.greater_equal
  • mlx.core.hadamard_transform
  • mlx.core.identity
  • +
  • mlx.core.imag
  • mlx.core.inner
  • mlx.core.isfinite
  • mlx.core.isclose
  • @@ -370,6 +371,7 @@
  • mlx.core.quantize
  • mlx.core.quantized_matmul
  • mlx.core.radians
  • +
  • mlx.core.real
  • mlx.core.reciprocal
  • mlx.core.remainder
  • mlx.core.repeat
  • diff --git a/docs/build/html/dir_70a37effa88bcbd6b791977fa1e64356.html b/docs/build/html/dir_70a37effa88bcbd6b791977fa1e64356.html index 78bb05f74..bcafd29fb 100644 --- a/docs/build/html/dir_70a37effa88bcbd6b791977fa1e64356.html +++ b/docs/build/html/dir_70a37effa88bcbd6b791977fa1e64356.html @@ -149,6 +149,8 @@ Files    scatter.h   + sdpa_vector.h softmax.h    sort.h diff --git a/docs/build/html/doxygen_crawl.html b/docs/build/html/doxygen_crawl.html index 3e85e314b..a17657db0 100644 --- a/docs/build/html/doxygen_crawl.html +++ b/docs/build/html/doxygen_crawl.html @@ -57,6 +57,7 @@ + @@ -185,6 +186,7 @@ + @@ -345,6 +347,8 @@ + + @@ -444,6 +448,8 @@ + + @@ -606,6 +612,8 @@ + + @@ -658,6 +666,8 @@ + + @@ -778,6 +788,8 @@ + + @@ -818,6 +830,8 @@ + + @@ -1791,10 +1805,10 @@ + - @@ -2428,6 +2442,16 @@ + + + + + + + + + + @@ -2655,6 +2679,16 @@ + + + + + + + + + + @@ -3970,6 +4004,7 @@ + @@ -4099,6 +4134,7 @@ + @@ -4202,7 +4238,6 @@ - @@ -4223,6 +4258,7 @@ + @@ -4312,9 +4348,9 @@ - - - + + + @@ -4624,6 +4660,7 @@ + @@ -4640,7 +4677,6 @@ - @@ -4859,7 +4895,6 @@ - @@ -5156,6 +5191,7 @@ + @@ -5560,6 +5596,7 @@ + @@ -5689,6 +5726,7 @@ + @@ -5880,6 +5918,8 @@ + + @@ -6090,6 +6130,8 @@ + + @@ -6332,6 +6374,8 @@ + + @@ -6637,6 +6681,8 @@ + + @@ -6680,6 +6726,8 @@ + + diff --git a/docs/build/html/examples/linear_regression.html b/docs/build/html/examples/linear_regression.html index f607b15ea..a53b1c7c9 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.18.1 documentation + Linear Regression — MLX 0.19.0 documentation @@ -36,7 +36,7 @@ - + @@ -136,8 +136,8 @@ - MLX 0.18.1 documentation - Home - + MLX 0.19.0 documentation - Home + @@ -325,6 +325,7 @@
  • mlx.core.greater_equal
  • mlx.core.hadamard_transform
  • mlx.core.identity
  • +
  • mlx.core.imag
  • mlx.core.inner
  • mlx.core.isfinite
  • mlx.core.isclose
  • @@ -370,6 +371,7 @@
  • mlx.core.quantize
  • mlx.core.quantized_matmul
  • mlx.core.radians
  • +
  • mlx.core.real
  • mlx.core.reciprocal
  • mlx.core.remainder
  • mlx.core.repeat
  • diff --git a/docs/build/html/examples/llama-inference.html b/docs/build/html/examples/llama-inference.html index ee9554aa3..b7c837fb5 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.18.1 documentation + LLM inference — MLX 0.19.0 documentation @@ -36,7 +36,7 @@ - + @@ -136,8 +136,8 @@ - MLX 0.18.1 documentation - Home - + MLX 0.19.0 documentation - Home + @@ -325,6 +325,7 @@
  • mlx.core.greater_equal
  • mlx.core.hadamard_transform
  • mlx.core.identity
  • +
  • mlx.core.imag
  • mlx.core.inner
  • mlx.core.isfinite
  • mlx.core.isclose
  • @@ -370,6 +371,7 @@
  • mlx.core.quantize
  • mlx.core.quantized_matmul
  • mlx.core.radians
  • +
  • mlx.core.real
  • mlx.core.reciprocal
  • mlx.core.remainder
  • mlx.core.repeat
  • diff --git a/docs/build/html/examples/mlp.html b/docs/build/html/examples/mlp.html index 07cc5d702..8d9a1d75d 100644 --- a/docs/build/html/examples/mlp.html +++ b/docs/build/html/examples/mlp.html @@ -8,7 +8,7 @@ - Multi-Layer Perceptron — MLX 0.18.1 documentation + Multi-Layer Perceptron — MLX 0.19.0 documentation @@ -36,7 +36,7 @@ - + @@ -136,8 +136,8 @@ - MLX 0.18.1 documentation - Home - + MLX 0.19.0 documentation - Home + @@ -325,6 +325,7 @@
  • mlx.core.greater_equal
  • mlx.core.hadamard_transform
  • mlx.core.identity
  • +
  • mlx.core.imag
  • mlx.core.inner
  • mlx.core.isfinite
  • mlx.core.isclose
  • @@ -370,6 +371,7 @@
  • mlx.core.quantize
  • mlx.core.quantized_matmul
  • mlx.core.radians
  • +
  • mlx.core.real
  • mlx.core.reciprocal
  • mlx.core.remainder
  • mlx.core.repeat
  • diff --git a/docs/build/html/files.html b/docs/build/html/files.html index 073a60747..3cefbb516 100644 --- a/docs/build/html/files.html +++ b/docs/build/html/files.html @@ -179,13 +179,14 @@ $(function(){ initResizable(false); });  scaled_dot_product_attention_params.h  scan.h  scatter.h - softmax.h - sort.h - ternary.h - ternary_ops.h - unary.h - unary_ops.h - utils.h + sdpa_vector.h + softmax.h + sort.h + ternary.h + ternary_ops.h + unary.h + unary_ops.h + utils.h  allocator.h  binary.h  copy.h diff --git a/docs/build/html/functions_e.html b/docs/build/html/functions_e.html index ff40389c0..813a4da96 100644 --- a/docs/build/html/functions_e.html +++ b/docs/build/html/functions_e.html @@ -99,8 +99,8 @@ $(function(){ initResizable(false); });
  • Erf() : mlx::core::Erf
  • ErfInv() : mlx::core::ErfInv
  • eval() : mlx::core::array
  • -
  • eval_cpu() : 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::Cholesky, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Conjugate, mlx::core::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::Depends, mlx::core::distributed::AllGather, mlx::core::distributed::AllReduce, mlx::core::distributed::Recv, mlx::core::distributed::Send, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, mlx::core::fast::AffineQuantize, mlx::core::fast::CustomKernel, mlx::core::fast::LayerNorm, mlx::core::fast::LayerNormVJP, mlx::core::fast::RMSNorm, mlx::core::fast::RMSNormVJP, mlx::core::fast::RoPE, 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::Inverse, mlx::core::Less, mlx::core::LessEqual, mlx::core::Load, 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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::Primitive, mlx::core::QRF, mlx::core::QuantizedMatmul, mlx::core::RandomBits, 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::SVD, mlx::core::Tan, mlx::core::Tanh, mlx::core::Transpose, mlx::core::UnaryPrimitive, mlx::core::Uniform, mlx::core::View
  • -
  • eval_gpu() : 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::Cholesky, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Conjugate, mlx::core::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::Depends, mlx::core::distributed::AllGather, mlx::core::distributed::AllReduce, mlx::core::distributed::Recv, mlx::core::distributed::Send, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, mlx::core::fast::AffineQuantize, mlx::core::fast::CustomKernel, mlx::core::fast::LayerNorm, mlx::core::fast::LayerNormVJP, mlx::core::fast::RMSNorm, mlx::core::fast::RMSNormVJP, mlx::core::fast::RoPE, 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::Inverse, mlx::core::Less, mlx::core::LessEqual, mlx::core::Load, 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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::Primitive, mlx::core::QRF, mlx::core::QuantizedMatmul, mlx::core::RandomBits, 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::SVD, mlx::core::Tan, mlx::core::Tanh, mlx::core::Transpose, mlx::core::UnaryPrimitive, mlx::core::Uniform, mlx::core::View
  • +
  • eval_cpu() : 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::Cholesky, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Conjugate, mlx::core::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::Depends, mlx::core::distributed::AllGather, mlx::core::distributed::AllReduce, mlx::core::distributed::Recv, mlx::core::distributed::Send, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, mlx::core::fast::AffineQuantize, mlx::core::fast::CustomKernel, mlx::core::fast::LayerNorm, mlx::core::fast::LayerNormVJP, mlx::core::fast::RMSNorm, mlx::core::fast::RMSNormVJP, mlx::core::fast::RoPE, 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::Inverse, mlx::core::Less, mlx::core::LessEqual, mlx::core::Load, 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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::Primitive, mlx::core::QRF, 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::SVD, mlx::core::Tan, mlx::core::Tanh, mlx::core::Transpose, mlx::core::UnaryPrimitive, mlx::core::Uniform, mlx::core::View
  • +
  • eval_gpu() : 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::Cholesky, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Conjugate, mlx::core::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::Depends, mlx::core::distributed::AllGather, mlx::core::distributed::AllReduce, mlx::core::distributed::Recv, mlx::core::distributed::Send, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, mlx::core::fast::AffineQuantize, mlx::core::fast::CustomKernel, mlx::core::fast::LayerNorm, mlx::core::fast::LayerNormVJP, mlx::core::fast::RMSNorm, mlx::core::fast::RMSNormVJP, mlx::core::fast::RoPE, 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::Inverse, mlx::core::Less, mlx::core::LessEqual, mlx::core::Load, 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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::Primitive, mlx::core::QRF, 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::SVD, mlx::core::Tan, mlx::core::Tanh, mlx::core::Transpose, mlx::core::UnaryPrimitive, mlx::core::Uniform, mlx::core::View
  • evaluated : mlx::core::array
  • Event() : mlx::core::Event
  • event() : mlx::core::array
  • diff --git a/docs/build/html/functions_func_e.html b/docs/build/html/functions_func_e.html index c594fdf3c..96cd83acc 100644 --- a/docs/build/html/functions_func_e.html +++ b/docs/build/html/functions_func_e.html @@ -96,8 +96,8 @@ $(function(){ initResizable(false); });
  • Erf() : mlx::core::Erf
  • ErfInv() : mlx::core::ErfInv
  • eval() : mlx::core::array
  • -
  • eval_cpu() : 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::Cholesky, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Conjugate, mlx::core::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::Depends, mlx::core::distributed::AllGather, mlx::core::distributed::AllReduce, mlx::core::distributed::Recv, mlx::core::distributed::Send, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, mlx::core::fast::AffineQuantize, mlx::core::fast::CustomKernel, mlx::core::fast::LayerNorm, mlx::core::fast::LayerNormVJP, mlx::core::fast::RMSNorm, mlx::core::fast::RMSNormVJP, mlx::core::fast::RoPE, 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::Inverse, mlx::core::Less, mlx::core::LessEqual, mlx::core::Load, 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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::Primitive, mlx::core::QRF, mlx::core::QuantizedMatmul, mlx::core::RandomBits, 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::SVD, mlx::core::Tan, mlx::core::Tanh, mlx::core::Transpose, mlx::core::UnaryPrimitive, mlx::core::Uniform, mlx::core::View
  • -
  • eval_gpu() : 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::Cholesky, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Conjugate, mlx::core::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::Depends, mlx::core::distributed::AllGather, mlx::core::distributed::AllReduce, mlx::core::distributed::Recv, mlx::core::distributed::Send, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, mlx::core::fast::AffineQuantize, mlx::core::fast::CustomKernel, mlx::core::fast::LayerNorm, mlx::core::fast::LayerNormVJP, mlx::core::fast::RMSNorm, mlx::core::fast::RMSNormVJP, mlx::core::fast::RoPE, 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::Inverse, mlx::core::Less, mlx::core::LessEqual, mlx::core::Load, 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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::Primitive, mlx::core::QRF, mlx::core::QuantizedMatmul, mlx::core::RandomBits, 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::SVD, mlx::core::Tan, mlx::core::Tanh, mlx::core::Transpose, mlx::core::UnaryPrimitive, mlx::core::Uniform, mlx::core::View
  • +
  • eval_cpu() : 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::Cholesky, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Conjugate, mlx::core::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::Depends, mlx::core::distributed::AllGather, mlx::core::distributed::AllReduce, mlx::core::distributed::Recv, mlx::core::distributed::Send, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, mlx::core::fast::AffineQuantize, mlx::core::fast::CustomKernel, mlx::core::fast::LayerNorm, mlx::core::fast::LayerNormVJP, mlx::core::fast::RMSNorm, mlx::core::fast::RMSNormVJP, mlx::core::fast::RoPE, 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::Inverse, mlx::core::Less, mlx::core::LessEqual, mlx::core::Load, 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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::Primitive, mlx::core::QRF, 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::SVD, mlx::core::Tan, mlx::core::Tanh, mlx::core::Transpose, mlx::core::UnaryPrimitive, mlx::core::Uniform, mlx::core::View
  • +
  • eval_gpu() : 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::Cholesky, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Conjugate, mlx::core::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::Depends, mlx::core::distributed::AllGather, mlx::core::distributed::AllReduce, mlx::core::distributed::Recv, mlx::core::distributed::Send, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, mlx::core::fast::AffineQuantize, mlx::core::fast::CustomKernel, mlx::core::fast::LayerNorm, mlx::core::fast::LayerNormVJP, mlx::core::fast::RMSNorm, mlx::core::fast::RMSNormVJP, mlx::core::fast::RoPE, 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::Inverse, mlx::core::Less, mlx::core::LessEqual, mlx::core::Load, 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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::Primitive, mlx::core::QRF, 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::SVD, mlx::core::Tan, mlx::core::Tanh, mlx::core::Transpose, mlx::core::UnaryPrimitive, mlx::core::Uniform, mlx::core::View
  • Event() : mlx::core::Event
  • event() : mlx::core::array
  • exec() : pocketfft::detail::cfftp< T0 >, pocketfft::detail::fftblue< T0 >, pocketfft::detail::pocketfft_c< T0 >, pocketfft::detail::pocketfft_r< T0 >, pocketfft::detail::rfftp< T0 >, pocketfft::detail::T_dcst23< T0 >, pocketfft::detail::T_dcst4< T0 >, pocketfft::detail::T_dct1< T0 >, pocketfft::detail::T_dst1< T0 >
  • diff --git a/docs/build/html/functions_func_i.html b/docs/build/html/functions_func_i.html index ee09ed40e..143886a5e 100644 --- a/docs/build/html/functions_func_i.html +++ b/docs/build/html/functions_func_i.html @@ -88,6 +88,7 @@ $(function(){ initResizable(false); });

    - i -

    diff --git a/docs/build/html/functions_func_p.html b/docs/build/html/functions_func_p.html index 80c5fe664..8ec35b141 100644 --- a/docs/build/html/functions_func_p.html +++ b/docs/build/html/functions_func_p.html @@ -99,7 +99,7 @@ $(function(){ initResizable(false); });
  • primitive() : mlx::core::array
  • primitive_id() : mlx::core::array
  • primitive_ptr() : mlx::core::array
  • -
  • print() : 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::Cholesky, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Conjugate, mlx::core::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::Depends, mlx::core::distributed::AllReduce, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, 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::Inverse, mlx::core::Less, mlx::core::LessEqual, mlx::core::Load, 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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::Primitive, mlx::core::PrintFormatter, mlx::core::QRF, mlx::core::QuantizedMatmul, mlx::core::RandomBits, 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::SVD, mlx::core::Tan, mlx::core::Tanh, mlx::core::Transpose, mlx::core::Uniform, mlx::core::View
  • +
  • print() : 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::Cholesky, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Conjugate, mlx::core::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::Depends, mlx::core::distributed::AllReduce, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, 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::Inverse, mlx::core::Less, mlx::core::LessEqual, mlx::core::Load, 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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::Primitive, mlx::core::PrintFormatter, mlx::core::QRF, 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::SVD, mlx::core::Tan, mlx::core::Tanh, mlx::core::Transpose, mlx::core::Uniform, mlx::core::View
  • prod() : pocketfft::detail::util
  • ptr() : mlx::core::allocator::Buffer
  • push() : pocketfft::detail::threading::concurrent_queue< T >
  • diff --git a/docs/build/html/functions_func_r.html b/docs/build/html/functions_func_r.html index 8b38a8b13..9284c3b09 100644 --- a/docs/build/html/functions_func_r.html +++ b/docs/build/html/functions_func_r.html @@ -94,6 +94,7 @@ $(function(){ initResizable(false); });
  • raw_ptr() : mlx::core::allocator::Buffer
  • read() : mlx::core::io::ParallelFileReader, mlx::core::io::Reader
  • ReadWriter() : ReadWriter< in_T, out_T, step, four_step_real >
  • +
  • Real() : mlx::core::Real
  • Recv() : mlx::core::distributed::Recv
  • Reduce() : mlx::core::Reduce
  • ReductionPlan() : mlx::core::ReductionPlan
  • diff --git a/docs/build/html/functions_func_v.html b/docs/build/html/functions_func_v.html index 039c7f84c..ee1802f11 100644 --- a/docs/build/html/functions_func_v.html +++ b/docs/build/html/functions_func_v.html @@ -91,8 +91,8 @@ $(function(){ initResizable(false); });
  • valid() : mlx::core::Event
  • value() : mlx::core::Event
  • View() : mlx::core::View
  • -
  • vjp() : mlx::core::Abs, mlx::core::Add, mlx::core::AddMM, 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::AsStrided, mlx::core::AsType, mlx::core::BitwiseBinary, mlx::core::BlockMaskedMM, mlx::core::Broadcast, mlx::core::Ceil, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::Depends, mlx::core::distributed::AllGather, mlx::core::distributed::AllReduce, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, mlx::core::fast::Custom, mlx::core::fast::LayerNorm, mlx::core::fast::RMSNorm, mlx::core::fast::RoPE, 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::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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::Primitive, mlx::core::QuantizedMatmul, 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::Subtract, mlx::core::Tan, mlx::core::Tanh, mlx::core::Transpose
  • -
  • vmap() : mlx::core::Abs, mlx::core::Add, mlx::core::AddMM, 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::Broadcast, mlx::core::Ceil, mlx::core::Cholesky, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Conjugate, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::distributed::AllGather, mlx::core::distributed::AllReduce, mlx::core::distributed::Send, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, mlx::core::fast::Custom, mlx::core::FFT, mlx::core::Floor, mlx::core::Full, mlx::core::Gather, mlx::core::GatherQMM, mlx::core::Greater, mlx::core::GreaterEqual, mlx::core::Hadamard, mlx::core::Inverse, 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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::Primitive, mlx::core::QuantizedMatmul, mlx::core::RandomBits, 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::SVD, mlx::core::Tan, mlx::core::Tanh, mlx::core::Transpose, mlx::core::Uniform, mlx::core::View
  • +
  • vjp() : mlx::core::Abs, mlx::core::Add, mlx::core::AddMM, 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::AsStrided, mlx::core::AsType, mlx::core::BitwiseBinary, mlx::core::BlockMaskedMM, mlx::core::Broadcast, mlx::core::Ceil, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::Depends, mlx::core::distributed::AllGather, mlx::core::distributed::AllReduce, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, mlx::core::fast::Custom, mlx::core::fast::LayerNorm, mlx::core::fast::RMSNorm, mlx::core::fast::RoPE, 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::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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::Primitive, mlx::core::QuantizedMatmul, 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::Subtract, mlx::core::Tan, mlx::core::Tanh, mlx::core::Transpose
  • +
  • vmap() : mlx::core::Abs, mlx::core::Add, mlx::core::AddMM, 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::Broadcast, mlx::core::Ceil, mlx::core::Cholesky, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Conjugate, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::distributed::AllGather, mlx::core::distributed::AllReduce, mlx::core::distributed::Send, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, mlx::core::fast::Custom, mlx::core::FFT, mlx::core::Floor, mlx::core::Full, mlx::core::Gather, mlx::core::GatherQMM, mlx::core::Greater, mlx::core::GreaterEqual, mlx::core::Hadamard, mlx::core::Imag, mlx::core::Inverse, 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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::Primitive, 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::SVD, mlx::core::Tan, mlx::core::Tanh, mlx::core::Transpose, mlx::core::Uniform, mlx::core::View
  • diff --git a/docs/build/html/functions_i.html b/docs/build/html/functions_i.html index dba895117..9d6403451 100644 --- a/docs/build/html/functions_i.html +++ b/docs/build/html/functions_i.html @@ -91,6 +91,7 @@ $(function(){ initResizable(false); });
  • id() : mlx::core::array
  • idil : MLXConvParams< NDIM >
  • idx_t : KernelMergeSort< T, U, ARG_SORT, BLOCK_THREADS, N_PER_THREAD, CompareOp >
  • +
  • Imag() : mlx::core::Imag
  • imag : complex64_t
  • in : ReadWriter< in_T, out_T, step, four_step_real >
  • in_strides : MLXConvParams< NDIM >
  • @@ -112,7 +113,7 @@ $(function(){ initResizable(false); });
  • iS : MLXConvParams< NDIM >
  • is_available() : mlx::core::array
  • is_donatable() : mlx::core::array
  • -
  • is_equivalent() : 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::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::Divide, mlx::core::DivMod, 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::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::Primitive, mlx::core::QuantizedMatmul, mlx::core::RandomBits, 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, mlx::core::View
  • +
  • is_equivalent() : 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::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::Divide, mlx::core::DivMod, 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::Primitive, 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, mlx::core::View
  • is_open() : mlx::core::io::FileWriter, mlx::core::io::ParallelFileReader, mlx::core::io::Reader, mlx::core::io::Writer
  • is_ready() : pocketfft::detail::threading::latch
  • is_signaled() : mlx::core::Event
  • diff --git a/docs/build/html/functions_j.html b/docs/build/html/functions_j.html index 8ff8b0067..95cb4f61c 100644 --- a/docs/build/html/functions_j.html +++ b/docs/build/html/functions_j.html @@ -90,7 +90,7 @@ $(function(){ initResizable(false); });
  • jump_a : mlx::steel::BlockMMA< T, U, BM, BN, BK, WM, WN, transpose_a, transpose_b, lda_tgp, ldb_tgp, AccumType, Epilogue >
  • jump_b : mlx::steel::BlockMMA< T, U, BM, BN, BK, WM, WN, transpose_a, transpose_b, lda_tgp, ldb_tgp, AccumType, Epilogue >
  • jump_params : mlx::steel::Conv2DInputBlockLoaderGeneral< T, BM, BN, BK, tgp_size, tgp_padding >, mlx::steel::Conv2DWeightBlockLoaderGeneral< T, BM, BN, BK, tgp_size, tgp_padding >
  • -
  • jvp() : 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::AsStrided, mlx::core::AsType, mlx::core::BitwiseBinary, mlx::core::Broadcast, mlx::core::Ceil, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::distributed::AllGather, mlx::core::distributed::AllReduce, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, mlx::core::fast::Custom, mlx::core::FFT, mlx::core::Floor, mlx::core::Full, mlx::core::Gather, mlx::core::GatherQMM, mlx::core::Greater, mlx::core::GreaterEqual, mlx::core::Hadamard, 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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::Primitive, mlx::core::QuantizedMatmul, 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::Subtract, mlx::core::Tan, mlx::core::Tanh, mlx::core::Transpose
  • +
  • jvp() : 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::AsStrided, mlx::core::AsType, mlx::core::BitwiseBinary, mlx::core::Broadcast, mlx::core::Ceil, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::distributed::AllGather, mlx::core::distributed::AllReduce, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, mlx::core::fast::Custom, mlx::core::FFT, mlx::core::Floor, mlx::core::Full, mlx::core::Gather, mlx::core::GatherQMM, 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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::Primitive, mlx::core::QuantizedMatmul, mlx::core::Real, 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::Subtract, mlx::core::Tan, mlx::core::Tanh, mlx::core::Transpose
  • diff --git a/docs/build/html/functions_o.html b/docs/build/html/functions_o.html index b6a0693a2..7d0b4afac 100644 --- a/docs/build/html/functions_o.html +++ b/docs/build/html/functions_o.html @@ -99,7 +99,7 @@ $(function(){ initResizable(false); });
  • operator T() : _MLX_BFloat16, complex64_t
  • operator Val() : mlx::core::Dtype
  • operator!= : mlx::core::array::ArrayIterator
  • -
  • operator()() : Abs, Add, ArcCos, ArcCosh, ArcSin, ArcSinh, ArcTan2, ArcTan, ArcTanh, BitwiseAnd, BitwiseOr, BitwiseXor, Ceil, Conjugate, Cos, Cosh, CumMax< U >, CumMin< U >, CumProd< U >, CumProd< bool >, CumSum< U >, Divide, DivMod, Equal, Erf, ErfInv, Exp, Expm1, Floor, FloorDivide, Greater, GreaterEqual, LeftShift, Less, LessEqual, LessThan< T >, Log10, Log1p, Log2, Log, LogAddExp, LogicalAnd, LogicalNot, LogicalOr, Maximum, Minimum, mlx::core::DefaultContiguousReduce< T, U, Op >, mlx::core::DefaultStridedReduce< T, U, Op >, mlx::core::detail::Abs, mlx::core::detail::Add, mlx::core::detail::ArcCos, mlx::core::detail::ArcCosh, mlx::core::detail::ArcSin, mlx::core::detail::ArcSinh, mlx::core::detail::ArcTan2, mlx::core::detail::ArcTan, mlx::core::detail::ArcTanh, mlx::core::detail::BitwiseAnd, mlx::core::detail::BitwiseOr, mlx::core::detail::BitwiseXor, mlx::core::detail::Ceil, mlx::core::detail::Conjugate, mlx::core::detail::Cos, mlx::core::detail::Cosh, mlx::core::detail::Divide, mlx::core::detail::Equal, mlx::core::detail::Erf, mlx::core::detail::ErfInv, mlx::core::detail::Exp, mlx::core::detail::Expm1, mlx::core::detail::Floor, mlx::core::detail::Greater, mlx::core::detail::GreaterEqual, mlx::core::detail::LeftShift, mlx::core::detail::Less, mlx::core::detail::LessEqual, mlx::core::detail::Log10, mlx::core::detail::Log1p, mlx::core::detail::Log2, mlx::core::detail::Log, mlx::core::detail::LogAddExp, mlx::core::detail::LogicalAnd, mlx::core::detail::LogicalNot, mlx::core::detail::LogicalOr, mlx::core::detail::Maximum, mlx::core::detail::Minimum, mlx::core::detail::Multiply, mlx::core::detail::NaNEqual, mlx::core::detail::Negative, mlx::core::detail::NotEqual, mlx::core::detail::Power, mlx::core::detail::Remainder, mlx::core::detail::RightShift, mlx::core::detail::Round, mlx::core::detail::Rsqrt, mlx::core::detail::Select, mlx::core::detail::Sigmoid, mlx::core::detail::Sign, mlx::core::detail::Sin, mlx::core::detail::Sinh, mlx::core::detail::Sqrt, mlx::core::detail::Square, mlx::core::detail::Subtract, mlx::core::detail::Tan, mlx::core::detail::Tanh, Multiply, NaNEqual, Negative, NotEqual, pocketfft::detail::ExecC2C, pocketfft::detail::ExecDcst, pocketfft::detail::ExecHartley, pocketfft::detail::ExecR2R, Power, Remainder, RightShift, Round, Rsqrt, Select, Sigmoid, Sign, Sin, Sinh, Sqrt, Square, Subtract, Tan, Tanh
  • +
  • operator()() : Abs, Add, ArcCos, ArcCosh, ArcSin, ArcSinh, ArcTan2, ArcTan, ArcTanh, BitwiseAnd, BitwiseOr, BitwiseXor, Ceil, Conjugate, Cos, Cosh, CumMax< U >, CumMin< U >, CumProd< U >, CumProd< bool >, CumSum< U >, Divide, DivMod, Equal, Erf, ErfInv, Exp, Expm1, Floor, FloorDivide, Greater, GreaterEqual, Imag, LeftShift, Less, LessEqual, LessThan< T >, Log10, Log1p, Log2, Log, LogAddExp, LogicalAnd, LogicalNot, LogicalOr, Maximum, Minimum, mlx::core::DefaultContiguousReduce< T, U, Op >, mlx::core::DefaultStridedReduce< T, U, Op >, mlx::core::detail::Abs, mlx::core::detail::Add, mlx::core::detail::ArcCos, mlx::core::detail::ArcCosh, mlx::core::detail::ArcSin, mlx::core::detail::ArcSinh, mlx::core::detail::ArcTan2, mlx::core::detail::ArcTan, mlx::core::detail::ArcTanh, mlx::core::detail::BitwiseAnd, mlx::core::detail::BitwiseOr, mlx::core::detail::BitwiseXor, mlx::core::detail::Ceil, mlx::core::detail::Conjugate, mlx::core::detail::Cos, mlx::core::detail::Cosh, mlx::core::detail::Divide, mlx::core::detail::Equal, mlx::core::detail::Erf, mlx::core::detail::ErfInv, mlx::core::detail::Exp, mlx::core::detail::Expm1, mlx::core::detail::Floor, mlx::core::detail::Greater, mlx::core::detail::GreaterEqual, mlx::core::detail::Imag, mlx::core::detail::LeftShift, mlx::core::detail::Less, mlx::core::detail::LessEqual, mlx::core::detail::Log10, mlx::core::detail::Log1p, mlx::core::detail::Log2, mlx::core::detail::Log, mlx::core::detail::LogAddExp, mlx::core::detail::LogicalAnd, mlx::core::detail::LogicalNot, mlx::core::detail::LogicalOr, mlx::core::detail::Maximum, mlx::core::detail::Minimum, mlx::core::detail::Multiply, mlx::core::detail::NaNEqual, mlx::core::detail::Negative, mlx::core::detail::NotEqual, mlx::core::detail::Power, mlx::core::detail::Real, mlx::core::detail::Remainder, mlx::core::detail::RightShift, mlx::core::detail::Round, mlx::core::detail::Rsqrt, mlx::core::detail::Select, mlx::core::detail::Sigmoid, mlx::core::detail::Sign, mlx::core::detail::Sin, mlx::core::detail::Sinh, mlx::core::detail::Sqrt, mlx::core::detail::Square, mlx::core::detail::Subtract, mlx::core::detail::Tan, mlx::core::detail::Tanh, Multiply, NaNEqual, Negative, NotEqual, pocketfft::detail::ExecC2C, pocketfft::detail::ExecDcst, pocketfft::detail::ExecHartley, pocketfft::detail::ExecR2R, Power, Real, Remainder, RightShift, Round, Rsqrt, Select, Sigmoid, Sign, Sin, Sinh, Sqrt, Square, Subtract, Tan, Tanh
  • operator*() : mlx::core::array::ArrayIterator, pocketfft::detail::cmplx< T >
  • operator*=() : pocketfft::detail::cmplx< T >
  • operator+() : mlx::core::array::ArrayIterator, pocketfft::detail::cmplx< T >
  • @@ -117,7 +117,7 @@ $(function(){ initResizable(false); });
  • out : ReadWriter< in_T, out_T, step, four_step_real >
  • out_of_bounds() : ReadWriter< in_T, out_T, step, four_step_real >
  • out_strides : MLXConvParams< NDIM >
  • -
  • output_shapes() : 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::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::Divide, mlx::core::DivMod, 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::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::Primitive, 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
  • +
  • output_shapes() : 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::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::Divide, mlx::core::DivMod, 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::Primitive, 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
  • outputs() : mlx::core::array
  • overwrite_descriptor() : mlx::core::array
  • diff --git a/docs/build/html/functions_p.html b/docs/build/html/functions_p.html index 569429d1b..bbacdcffd 100644 --- a/docs/build/html/functions_p.html +++ b/docs/build/html/functions_p.html @@ -102,7 +102,7 @@ $(function(){ initResizable(false); });
  • primitive() : mlx::core::array
  • primitive_id() : mlx::core::array
  • primitive_ptr() : mlx::core::array
  • -
  • print() : 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::Cholesky, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Conjugate, mlx::core::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::Depends, mlx::core::distributed::AllReduce, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, 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::Inverse, mlx::core::Less, mlx::core::LessEqual, mlx::core::Load, 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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::Primitive, mlx::core::PrintFormatter, mlx::core::QRF, mlx::core::QuantizedMatmul, mlx::core::RandomBits, 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::SVD, mlx::core::Tan, mlx::core::Tanh, mlx::core::Transpose, mlx::core::Uniform, mlx::core::View
  • +
  • print() : 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::Cholesky, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Conjugate, mlx::core::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::Depends, mlx::core::distributed::AllReduce, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, 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::Inverse, mlx::core::Less, mlx::core::LessEqual, mlx::core::Load, 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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::Primitive, mlx::core::PrintFormatter, mlx::core::QRF, 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::SVD, mlx::core::Tan, mlx::core::Tanh, mlx::core::Transpose, mlx::core::Uniform, mlx::core::View
  • Prod : mlx::core::distributed::AllReduce, mlx::core::Reduce, mlx::core::Scan, mlx::core::Scatter
  • prod() : pocketfft::detail::util
  • ptr() : mlx::core::allocator::Buffer
  • diff --git a/docs/build/html/functions_r.html b/docs/build/html/functions_r.html index 99e600d5d..b8d1b8eaa 100644 --- a/docs/build/html/functions_r.html +++ b/docs/build/html/functions_r.html @@ -100,6 +100,7 @@ $(function(){ initResizable(false); });
  • read_iw : 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 >
  • read_n : 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::Conv2DWeightBlockLoader< T, BM, BN, BK, tgp_size, tgp_padding >, mlx::steel::Conv2DWeightBlockLoaderSmallChannels< T, BM, BN, BK, tgp_size, n_channels, tgp_padding >
  • ReadWriter() : ReadWriter< in_T, out_T, step, four_step_real >
  • +
  • Real() : mlx::core::Real
  • real : complex64_t
  • Recv() : mlx::core::distributed::Recv
  • Reduce() : mlx::core::Reduce
  • diff --git a/docs/build/html/functions_v.html b/docs/build/html/functions_v.html index dcbae8e9d..8bd2de211 100644 --- a/docs/build/html/functions_v.html +++ b/docs/build/html/functions_v.html @@ -96,8 +96,8 @@ $(function(){ initResizable(false); });
  • value_type : mlx::core::array::ArrayIterator, pocketfft::detail::threading::aligned_allocator< T >
  • vec_size : mlx::steel::BlockLoader< T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, alignment, n_reads, TCOLS, TROWS >, mlx::steel::ChannelHelper< n_channels_ >, mlx::steel::ChannelHelper< 1 >, mlx::steel::ChannelHelper< 2 >, mlx::steel::ChannelHelper< 3 >, mlx::steel::ChannelHelper< 4 >, 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 >
  • View() : mlx::core::View
  • -
  • vjp() : mlx::core::Abs, mlx::core::Add, mlx::core::AddMM, 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::AsStrided, mlx::core::AsType, mlx::core::BitwiseBinary, mlx::core::BlockMaskedMM, mlx::core::Broadcast, mlx::core::Ceil, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::Depends, mlx::core::distributed::AllGather, mlx::core::distributed::AllReduce, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, mlx::core::fast::Custom, mlx::core::fast::LayerNorm, mlx::core::fast::RMSNorm, mlx::core::fast::RoPE, 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::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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::Primitive, mlx::core::QuantizedMatmul, 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::Subtract, mlx::core::Tan, mlx::core::Tanh, mlx::core::Transpose
  • -
  • vmap() : mlx::core::Abs, mlx::core::Add, mlx::core::AddMM, 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::Broadcast, mlx::core::Ceil, mlx::core::Cholesky, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Conjugate, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::distributed::AllGather, mlx::core::distributed::AllReduce, mlx::core::distributed::Send, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, mlx::core::fast::Custom, mlx::core::FFT, mlx::core::Floor, mlx::core::Full, mlx::core::Gather, mlx::core::GatherQMM, mlx::core::Greater, mlx::core::GreaterEqual, mlx::core::Hadamard, mlx::core::Inverse, 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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::Primitive, mlx::core::QuantizedMatmul, mlx::core::RandomBits, 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::SVD, mlx::core::Tan, mlx::core::Tanh, mlx::core::Transpose, mlx::core::Uniform, mlx::core::View
  • +
  • vjp() : mlx::core::Abs, mlx::core::Add, mlx::core::AddMM, 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::AsStrided, mlx::core::AsType, mlx::core::BitwiseBinary, mlx::core::BlockMaskedMM, mlx::core::Broadcast, mlx::core::Ceil, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Convolution, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::Depends, mlx::core::distributed::AllGather, mlx::core::distributed::AllReduce, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, mlx::core::fast::Custom, mlx::core::fast::LayerNorm, mlx::core::fast::RMSNorm, mlx::core::fast::RoPE, 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::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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::Primitive, mlx::core::QuantizedMatmul, 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::Subtract, mlx::core::Tan, mlx::core::Tanh, mlx::core::Transpose
  • +
  • vmap() : mlx::core::Abs, mlx::core::Add, mlx::core::AddMM, 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::Broadcast, mlx::core::Ceil, mlx::core::Cholesky, mlx::core::Compiled, mlx::core::Concatenate, mlx::core::Conjugate, mlx::core::Copy, mlx::core::Cos, mlx::core::Cosh, mlx::core::CustomTransforms, mlx::core::distributed::AllGather, mlx::core::distributed::AllReduce, mlx::core::distributed::Send, mlx::core::Divide, mlx::core::DivMod, mlx::core::Equal, mlx::core::Erf, mlx::core::ErfInv, mlx::core::Exp, mlx::core::Expm1, mlx::core::fast::Custom, mlx::core::FFT, mlx::core::Floor, mlx::core::Full, mlx::core::Gather, mlx::core::GatherQMM, mlx::core::Greater, mlx::core::GreaterEqual, mlx::core::Hadamard, mlx::core::Imag, mlx::core::Inverse, 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::Pad, mlx::core::Partition, mlx::core::Power, mlx::core::Primitive, 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::SVD, mlx::core::Tan, mlx::core::Tanh, mlx::core::Transpose, mlx::core::Uniform, mlx::core::View
  • diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html index 952f3e74d..0555f3adf 100644 --- a/docs/build/html/genindex.html +++ b/docs/build/html/genindex.html @@ -7,7 +7,7 @@ - Index — MLX 0.18.1 documentation + Index — MLX 0.19.0 documentation @@ -35,7 +35,7 @@ - + @@ -135,8 +135,8 @@ - MLX 0.18.1 documentation - Home - + MLX 0.19.0 documentation - Home + @@ -324,6 +324,7 @@
  • mlx.core.greater_equal
  • mlx.core.hadamard_transform
  • mlx.core.identity
  • +
  • mlx.core.imag
  • mlx.core.inner
  • mlx.core.isfinite
  • mlx.core.isclose
  • @@ -369,6 +370,7 @@
  • mlx.core.quantize
  • mlx.core.quantized_matmul
  • mlx.core.radians
  • +
  • mlx.core.real
  • mlx.core.reciprocal
  • mlx.core.remainder
  • mlx.core.repeat
  • @@ -1480,6 +1482,10 @@ document.write(`
  • ifft2() (in module mlx.core.fft)
  • ifftn() (in module mlx.core.fft) +
  • +
  • imag (C++ function) +
  • +
  • imag() (in module mlx.core)
  • init() (in module mlx.core.distributed) @@ -1501,14 +1507,14 @@ document.write(`
  • irfftn() (in module mlx.core.fft)
  • + + - + -