top | item 38540858

(no title)

runnerup | 2 years ago

> The design of MLX is inspired by frameworks like PyTorch, Jax, and ArrayFire. A noteable difference from these frameworks and MLX is the unified memory model. Arrays in MLX live in shared memory. Operations on MLX arrays can be performed on any of the supported device types without performing data copies. Currently supported device types are the CPU and GPU.

Weird and unfortunate that a framework made by Apple for Apple Silicon doesn't support targeting the Apple Neural Engine.

discuss

order

domschl|2 years ago

Neural engine is not helpful for training, its inference hardware, whereas this targets training and research. They use Accelerate and Metal (with seemingly similar/identical performance shaders that their Pytorch adaption uses) which allows for high performance training.

This project additionally serves as documentation for other platforms to integrate Silicon, which is good.

fmajid|2 years ago

Still, being to run LLaMa2 on the NPU would be awesome due to the unified memory. Apple's restricting its use to only Apple-approved models is frankly irksome.