Build and Install#

Install from PyPI#

MLX is available on PyPI. All you have to do to use MLX with your own Apple silicon computer is

pip install mlx

Build from source#

Build Requirements#

  • A C++ compiler with C++17 support (e.g. Clang >= 5.0)

  • cmake – version 3.24 or later, and make

Python API#

To build and install the MLX python library from source, first, clone MLX from its GitHub repo:

git clone git@github.com:ml-explore/mlx.git mlx && cd mlx

Make sure that you have pybind11 installed. You can install pybind11 with pip, brew or conda as follows:

pip install "pybind11[global]"
conda install pybind11
brew install pybind11

Then simply build and install it using pip:

env CMAKE_BUILD_PARALLEL_LEVEL="" pip install .

For developing use an editable install:

env CMAKE_BUILD_PARALLEL_LEVEL="" pip install -e .

To make sure the install is working run the tests with:

python -m unittest discover python/tests

C++ API#

Currently, MLX must be built and installed from source.

Similarly to the python library, to build and install the MLX C++ library start by cloning MLX from its GitHub repo:

git clone git@github.com:ml-explore/mlx.git mlx && cd mlx

Create a build directory and run CMake and make:

mkdir -p build && cd build
cmake .. && make -j

Run tests with:

make test

Install with:

make install

Note that the built mlx.metallib file should be either at the same directory as the executable statically linked to libmlx.a or the preprocessor constant METAL_PATH should be defined at build time and it should point to the path to the built metal library.

Build Options#

Option

Default

MLX_BUILD_TESTS

ON

MLX_BUILD_EXAMPLES

OFF

MLX_BUILD_BENCHMARKS

OFF

MLX_BUILD_METAL

ON

MLX_BUILD_PYTHON_BINDINGS

OFF