mirror of
https://github.com/ml-explore/mlx.git
synced 2025-09-18 18:28:12 +08:00
docs
This commit is contained in:

committed by
CircleCI Docs

parent
f75712551d
commit
0250e203f6
141
docs/build/html/install.html
vendored
141
docs/build/html/install.html
vendored
@@ -226,6 +226,7 @@
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.argsort.html">mlx.core.argsort</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.array_equal.html">mlx.core.array_equal</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.broadcast_to.html">mlx.core.broadcast_to</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.ceil.html">mlx.core.ceil</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.concatenate.html">mlx.core.concatenate</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.convolve.html">mlx.core.convolve</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.conv1d.html">mlx.core.conv1d</a></li>
|
||||
@@ -239,6 +240,8 @@
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.exp.html">mlx.core.exp</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.expand_dims.html">mlx.core.expand_dims</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.eye.html">mlx.core.eye</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.floor.html">mlx.core.floor</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.flatten.html">mlx.core.flatten</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.full.html">mlx.core.full</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.greater.html">mlx.core.greater</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
|
||||
@@ -259,6 +262,7 @@
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.mean.html">mlx.core.mean</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.min.html">mlx.core.min</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.minimum.html">mlx.core.minimum</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.moveaxis.html">mlx.core.moveaxis</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.multiply.html">mlx.core.multiply</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.negative.html">mlx.core.negative</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.ones.html">mlx.core.ones</a></li>
|
||||
@@ -282,14 +286,19 @@
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.sqrt.html">mlx.core.sqrt</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.square.html">mlx.core.square</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.squeeze.html">mlx.core.squeeze</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.stack.html">mlx.core.stack</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.stop_gradient.html">mlx.core.stop_gradient</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.subtract.html">mlx.core.subtract</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.sum.html">mlx.core.sum</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.swapaxes.html">mlx.core.swapaxes</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.take.html">mlx.core.take</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.take_along_axis.html">mlx.core.take_along_axis</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.tan.html">mlx.core.tan</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.tanh.html">mlx.core.tanh</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.transpose.html">mlx.core.transpose</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.tri.html">mlx.core.tri</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.tril.html">mlx.core.tril</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.triu.html">mlx.core.triu</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.var.html">mlx.core.var</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.where.html">mlx.core.where</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.zeros.html">mlx.core.zeros</a></li>
|
||||
@@ -316,6 +325,7 @@
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.jvp.html">mlx.core.jvp</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.vjp.html">mlx.core.vjp</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.vmap.html">mlx.core.vmap</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.simplify.html">mlx.core.simplify</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1 has-children"><a class="reference internal" href="python/fft.html">FFT</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-6"><i class="fa-solid fa-chevron-down"></i></label><ul>
|
||||
@@ -335,48 +345,63 @@
|
||||
</li>
|
||||
<li class="toctree-l1 has-children"><a class="reference internal" href="python/nn.html">Neural Networks</a><input class="toctree-checkbox" id="toctree-checkbox-7" name="toctree-checkbox-7" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-7"><i class="fa-solid fa-chevron-down"></i></label><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.nn.value_and_grad.html">mlx.nn.value_and_grad</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.nn.Embedding.html">mlx.nn.Embedding</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.nn.ReLU.html">mlx.nn.ReLU</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.nn.PReLU.html">mlx.nn.PReLU</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.nn.GELU.html">mlx.nn.GELU</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.nn.SiLU.html">mlx.nn.SiLU</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.nn.Step.html">mlx.nn.Step</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.nn.SELU.html">mlx.nn.SELU</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.nn.Mish.html">mlx.nn.Mish</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.nn.Linear.html">mlx.nn.Linear</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.nn.Conv1d.html">mlx.nn.Conv1d</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.nn.Conv2d.html">mlx.nn.Conv2d</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.nn.LayerNorm.html">mlx.nn.LayerNorm</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.nn.RMSNorm.html">mlx.nn.RMSNorm</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.nn.GroupNorm.html">mlx.nn.GroupNorm</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.nn.RoPE.html">mlx.nn.RoPE</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.nn.MultiHeadAttention.html">mlx.nn.MultiHeadAttention</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.nn.Sequential.html">mlx.nn.Sequential</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary_functions/mlx.nn.gelu.html">mlx.nn.gelu</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary_functions/mlx.nn.gelu_approx.html">mlx.nn.gelu_approx</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary_functions/mlx.nn.gelu_fast_approx.html">mlx.nn.gelu_fast_approx</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary_functions/mlx.nn.relu.html">mlx.nn.relu</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary_functions/mlx.nn.prelu.html">mlx.nn.prelu</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary_functions/mlx.nn.silu.html">mlx.nn.silu</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary_functions/mlx.nn.step.html">mlx.nn.step</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary_functions/mlx.nn.selu.html">mlx.nn.selu</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary_functions/mlx.nn.mish.html">mlx.nn.mish</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary_functions/mlx.nn.losses.cross_entropy.html">mlx.nn.losses.cross_entropy</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary_functions/mlx.nn.losses.binary_cross_entropy.html">mlx.nn.losses.binary_cross_entropy</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary_functions/mlx.nn.losses.l1_loss.html">mlx.nn.losses.l1_loss</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary_functions/mlx.nn.losses.mse_loss.html">mlx.nn.losses.mse_loss</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary_functions/mlx.nn.losses.nll_loss.html">mlx.nn.losses.nll_loss</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary_functions/mlx.nn.losses.kl_div_loss.html">mlx.nn.losses.kl_div_loss</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.nn.Module.html">mlx.nn.Module</a></li>
|
||||
<li class="toctree-l2 has-children"><a class="reference internal" href="python/nn/layers.html">Layers</a><input class="toctree-checkbox" id="toctree-checkbox-8" name="toctree-checkbox-8" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-8"><i class="fa-solid fa-chevron-down"></i></label><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary/mlx.nn.Embedding.html">mlx.nn.Embedding</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary/mlx.nn.ReLU.html">mlx.nn.ReLU</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary/mlx.nn.PReLU.html">mlx.nn.PReLU</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary/mlx.nn.GELU.html">mlx.nn.GELU</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary/mlx.nn.SiLU.html">mlx.nn.SiLU</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary/mlx.nn.Step.html">mlx.nn.Step</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary/mlx.nn.SELU.html">mlx.nn.SELU</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary/mlx.nn.Mish.html">mlx.nn.Mish</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary/mlx.nn.Linear.html">mlx.nn.Linear</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary/mlx.nn.Conv1d.html">mlx.nn.Conv1d</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary/mlx.nn.Conv2d.html">mlx.nn.Conv2d</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary/mlx.nn.LayerNorm.html">mlx.nn.LayerNorm</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary/mlx.nn.RMSNorm.html">mlx.nn.RMSNorm</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary/mlx.nn.GroupNorm.html">mlx.nn.GroupNorm</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary/mlx.nn.RoPE.html">mlx.nn.RoPE</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary/mlx.nn.MultiHeadAttention.html">mlx.nn.MultiHeadAttention</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary/mlx.nn.Sequential.html">mlx.nn.Sequential</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1 has-children"><a class="reference internal" href="python/optimizers.html">Optimizers</a><input class="toctree-checkbox" id="toctree-checkbox-8" name="toctree-checkbox-8" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-8"><i class="fa-solid fa-chevron-down"></i></label><ul>
|
||||
<li class="toctree-l2 has-children"><a class="reference internal" href="python/nn/functions.html">Functions</a><input class="toctree-checkbox" id="toctree-checkbox-9" name="toctree-checkbox-9" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-9"><i class="fa-solid fa-chevron-down"></i></label><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary_functions/mlx.nn.gelu.html">mlx.nn.gelu</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary_functions/mlx.nn.gelu_approx.html">mlx.nn.gelu_approx</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary_functions/mlx.nn.gelu_fast_approx.html">mlx.nn.gelu_fast_approx</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary_functions/mlx.nn.relu.html">mlx.nn.relu</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary_functions/mlx.nn.prelu.html">mlx.nn.prelu</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary_functions/mlx.nn.silu.html">mlx.nn.silu</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary_functions/mlx.nn.step.html">mlx.nn.step</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary_functions/mlx.nn.selu.html">mlx.nn.selu</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary_functions/mlx.nn.mish.html">mlx.nn.mish</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2 has-children"><a class="reference internal" href="python/nn/losses.html">Loss Functions</a><input class="toctree-checkbox" id="toctree-checkbox-10" name="toctree-checkbox-10" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-10"><i class="fa-solid fa-chevron-down"></i></label><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary_functions/mlx.nn.losses.cross_entropy.html">mlx.nn.losses.cross_entropy</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary_functions/mlx.nn.losses.binary_cross_entropy.html">mlx.nn.losses.binary_cross_entropy</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary_functions/mlx.nn.losses.l1_loss.html">mlx.nn.losses.l1_loss</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary_functions/mlx.nn.losses.mse_loss.html">mlx.nn.losses.mse_loss</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary_functions/mlx.nn.losses.nll_loss.html">mlx.nn.losses.nll_loss</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="python/nn/_autosummary_functions/mlx.nn.losses.kl_div_loss.html">mlx.nn.losses.kl_div_loss</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1 has-children"><a class="reference internal" href="python/optimizers.html">Optimizers</a><input class="toctree-checkbox" id="toctree-checkbox-11" name="toctree-checkbox-11" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-11"><i class="fa-solid fa-chevron-down"></i></label><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.optimizers.OptimizerState.html">mlx.optimizers.OptimizerState</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.optimizers.Optimizer.html">mlx.optimizers.Optimizer</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.optimizers.SGD.html">mlx.optimizers.SGD</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.optimizers.RMSprop.html">mlx.optimizers.RMSprop</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.optimizers.Adagrad.html">mlx.optimizers.Adagrad</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.optimizers.AdaDelta.html">mlx.optimizers.AdaDelta</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.optimizers.Adam.html">mlx.optimizers.Adam</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.optimizers.AdamW.html">mlx.optimizers.AdamW</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.optimizers.Adamax.html">mlx.optimizers.Adamax</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1 has-children"><a class="reference internal" href="python/tree_utils.html">Tree Utils</a><input class="toctree-checkbox" id="toctree-checkbox-9" name="toctree-checkbox-9" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-9"><i class="fa-solid fa-chevron-down"></i></label><ul>
|
||||
<li class="toctree-l1 has-children"><a class="reference internal" href="python/tree_utils.html">Tree Utils</a><input class="toctree-checkbox" id="toctree-checkbox-12" name="toctree-checkbox-12" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-12"><i class="fa-solid fa-chevron-down"></i></label><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.utils.tree_flatten.html">mlx.utils.tree_flatten</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.utils.tree_unflatten.html">mlx.utils.tree_unflatten</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.utils.tree_map.html">mlx.utils.tree_map</a></li>
|
||||
@@ -561,6 +586,10 @@ document.write(`
|
||||
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#build-requirements">Build Requirements</a></li>
|
||||
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#python-api">Python API</a></li>
|
||||
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#c-api">C++ API</a></li>
|
||||
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#id2">Troubleshooting</a><ul class="nav section-nav flex-column">
|
||||
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#metal-not-found">Metal not found</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -587,12 +616,12 @@ silicon computer is</p>
|
||||
<ul class="simple">
|
||||
<li><p>Using an M series chip (Apple silicon)</p></li>
|
||||
<li><p>Using a native Python >= 3.8</p></li>
|
||||
<li><p>MacOS >= 13.3</p></li>
|
||||
<li><p>macOS >= 13.3</p></li>
|
||||
</ul>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>MLX is only available on devices running MacOS >= 13.3
|
||||
It is highly recommended to use MacOS 14 (Sonoma)</p>
|
||||
<p>MLX is only available on devices running macOS >= 13.3
|
||||
It is highly recommended to use macOS 14 (Sonoma)</p>
|
||||
</div>
|
||||
<section id="troubleshooting">
|
||||
<h3>Troubleshooting<a class="headerlink" href="#troubleshooting" title="Permalink to this heading">#</a></h3>
|
||||
@@ -604,8 +633,7 @@ a matching distribution.</em></p>
|
||||
</div>
|
||||
<p>should be <code class="docutils literal notranslate"><span class="pre">arm</span></code>. If it is <code class="docutils literal notranslate"><span class="pre">i386</span></code> (and you have M series machine) then you
|
||||
are using a non-native Python. Switch your Python to a native Python. A good
|
||||
way to do this is with
|
||||
<a class="reference external" href="https://stackoverflow.com/questions/65415996/how-to-specify-the-architecture-or-platform-for-a-new-conda-environment-apple">Conda</a>.</p>
|
||||
way to do this is with <a class="reference external" href="https://stackoverflow.com/q/65415996">Conda</a>.</p>
|
||||
</section>
|
||||
</section>
|
||||
<section id="build-from-source">
|
||||
@@ -615,7 +643,7 @@ way to do this is with
|
||||
<ul class="simple">
|
||||
<li><p>A C++ compiler with C++17 support (e.g. Clang >= 5.0)</p></li>
|
||||
<li><p><a class="reference external" href="https://cmake.org/">cmake</a> – version 3.24 or later, and <code class="docutils literal notranslate"><span class="pre">make</span></code></p></li>
|
||||
<li><p>Xcode >= 14.3 (Xcode >= 15.0 for MacOS 14 and above)</p></li>
|
||||
<li><p>Xcode >= 14.3 (Xcode >= 15.0 for macOS 14 and above)</p></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section id="python-api">
|
||||
@@ -645,6 +673,11 @@ brew<span class="w"> </span>install<span class="w"> </span>pybind11
|
||||
python<span class="w"> </span>-m<span class="w"> </span>unittest<span class="w"> </span>discover<span class="w"> </span>python/tests
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Optional: Install stubs to enable auto completions and type checking from your IDE:</p>
|
||||
<div class="highlight-shell notranslate"><div class="highlight"><pre><span></span>pip<span class="w"> </span>install<span class="w"> </span><span class="s2">".[dev]"</span>
|
||||
python<span class="w"> </span>setup.py<span class="w"> </span>generate_stubs
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="c-api">
|
||||
<h3>C++ API<a class="headerlink" href="#c-api" title="Permalink to this heading">#</a></h3>
|
||||
@@ -671,8 +704,8 @@ cmake<span class="w"> </span>..<span class="w"> </span><span class="o">&&
|
||||
directory as the executable statically linked to <code class="docutils literal notranslate"><span class="pre">libmlx.a</span></code> or the
|
||||
preprocessor constant <code class="docutils literal notranslate"><span class="pre">METAL_PATH</span></code> should be defined at build time and it
|
||||
should point to the path to the built metal library.</p>
|
||||
<table class="table" id="id2">
|
||||
<caption><span class="caption-text">Build Options</span><a class="headerlink" href="#id2" title="Permalink to this table">#</a></caption>
|
||||
<table class="table" id="id3">
|
||||
<caption><span class="caption-text">Build Options</span><a class="headerlink" href="#id3" title="Permalink to this table">#</a></caption>
|
||||
<colgroup>
|
||||
<col style="width: 76%" />
|
||||
<col style="width: 24%" />
|
||||
@@ -709,12 +742,30 @@ following environment variable before building</p>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Further, you can use the following command to find out which
|
||||
MacOS SDK will be used</p>
|
||||
macOS SDK will be used</p>
|
||||
<div class="highlight-shell notranslate"><div class="highlight"><pre><span></span>xcrun<span class="w"> </span>-sdk<span class="w"> </span>macosx<span class="w"> </span>--show-sdk-version
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="id2">
|
||||
<h3>Troubleshooting<a class="headerlink" href="#id2" title="Permalink to this heading">#</a></h3>
|
||||
<section id="metal-not-found">
|
||||
<h4>Metal not found<a class="headerlink" href="#metal-not-found" title="Permalink to this heading">#</a></h4>
|
||||
<p>You see the following error when you try to build:</p>
|
||||
<div class="highlight-shell notranslate"><div class="highlight"><pre><span></span>error:<span class="w"> </span>unable<span class="w"> </span>to<span class="w"> </span>find<span class="w"> </span>utility<span class="w"> </span><span class="s2">"metal"</span>,<span class="w"> </span>not<span class="w"> </span>a<span class="w"> </span>developer<span class="w"> </span>tool<span class="w"> </span>or<span class="w"> </span><span class="k">in</span><span class="w"> </span>PATH
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>To fix this, first make sure you have Xcode installed:</p>
|
||||
<div class="highlight-shell notranslate"><div class="highlight"><pre><span></span>xcode-select<span class="w"> </span>--install
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Then set the active developer directory:</p>
|
||||
<div class="highlight-shell notranslate"><div class="highlight"><pre><span></span>sudo<span class="w"> </span>xcode-select<span class="w"> </span>--switch<span class="w"> </span>/Applications/Xcode.app/Contents/Developer
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
@@ -770,6 +821,10 @@ MacOS SDK will be used</p>
|
||||
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#build-requirements">Build Requirements</a></li>
|
||||
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#python-api">Python API</a></li>
|
||||
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#c-api">C++ API</a></li>
|
||||
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#id2">Troubleshooting</a><ul class="nav section-nav flex-column">
|
||||
<li class="toc-h4 nav-item toc-entry"><a class="reference internal nav-link" href="#metal-not-found">Metal not found</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
Reference in New Issue
Block a user