MLX#
MLX 是一个类似于 NumPy 的数组框架,旨在为 Apple 芯片提供高效灵活的机器学习能力,由 Apple 机器学习研究团队开发。
Python API 在少数例外情况下与 NumPy 紧密对齐。MLX 还提供了功能齐全的 C++ API,其设计也与 Python API 类似。
MLX 与 NumPy 的主要区别在于
可组合的函数变换:MLX 具有用于自动微分、自动向量化和计算图优化的可组合函数变换。
惰性计算:MLX 中的计算是惰性的。数组只在需要时具体化。
多设备:操作可以在任何支持的设备上运行(CPU、GPU 等)
MLX 的设计灵感来自 PyTorch、Jax 和 ArrayFire 等框架。与这些框架相比,MLX 的一个显著区别是其统一内存模型。MLX 中的数组驻留在共享内存中。对 MLX 数组的操作可以在任何支持的设备类型上执行,无需进行数据复制。目前支持的设备类型包括 CPU 和 GPU。
安装
C++ API 参考