# MLX and Apple silicon

**URL:** <https://discourse.julialang.org/t/mlx-and-apple-silicon/125136>\
**Category:** GPU\
**Tags:** apple, metaljl\
**Created:** [January 23, 2025, 5:02pm UTC](https://discourse.julialang.org/t/mlx-and-apple-silicon/125136 "2025-01-23T17:02:06Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Hareruya](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/hareruya/32/47536_2.png) [@Hareruya](https://discourse.julialang.org/u/Hareruya)\
**Post date:** [January 23, 2025, 5:02pm UTC](https://discourse.julialang.org/t/mlx-and-apple-silicon/125136/1 "2025-01-23T17:02:06Z")

</div>

Good evening.

I have recently bought an M4 MacbookPro Max and have been using it to do some programming in my free time, messing around with image processing on the side. The machine is very powerful and energy efficient, so I have been enjoying my experience with it a lot. One issue that I have been experiencing compared to my previous laptop, a Linux gaming laptop I bought used here in Japan, is that some of the tools concerning Metal GPGPU are lacking compared to CUDA. This is expected, given it is a much less mature environment and CUDA is very much the most seasoned framework for GPU programming, but recently I have found out there is the [MLX framework](https://ml-explore.github.io/mlx/build/html/index.html), which implements much of the functionality I am interested in (e.g. the rfft) and it has a C API.  
I was wondering if there are any ongoing efforts to utilize this framework in Julia in order to leverage some of this functionality with the language.

---

<div class="post-metadata">

**Author:** ![mcabbott](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mcabbott/32/6603_2.png) [@mcabbott](https://discourse.julialang.org/u/mcabbott)\
**Post date:** [January 23, 2025, 7:15pm UTC](https://discourse.julialang.org/t/mlx-and-apple-silicon/125136/2 "2025-01-23T19:15:52Z")

</div>

@stemann was working on something: [GitHub - stemann/MLX.jl: Julia API for MLX](https://github.com/stemann/MLX.jl)

---

<div class="post-metadata">

**Author:** ![yolhan\_mannes](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/yolhan_mannes/32/220485_2.png) [@yolhan\_mannes](https://discourse.julialang.org/u/yolhan_mannes)\
**Post date:** [January 23, 2025, 7:30pm UTC](https://discourse.julialang.org/t/mlx-and-apple-silicon/125136/3 "2025-01-23T19:30:31Z")

</div>

There is also [GitHub - EnzymeAD/Reactant.jl: Optimize Julia Functions With MLIR and XLA for High-Performance Execution on CPU, GPU, TPU and more.](https://github.com/EnzymeAD/Reactant.jl)

---

<div class="post-metadata">

**Author:** ![stemann](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stemann/32/4030_2.png) [@stemann](https://discourse.julialang.org/u/stemann)\
**Post date:** [January 23, 2025, 8:32pm UTC](https://discourse.julialang.org/t/mlx-and-apple-silicon/125136/4 "2025-01-23T20:32:01Z")

</div>

Still am 😊

---

<div class="post-metadata">

**Author:** ![avikpal](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/avikpal/32/6550_2.png) [@avikpal](https://discourse.julialang.org/u/avikpal)\
**Post date:** [January 24, 2025, 2:44am UTC](https://discourse.julialang.org/t/mlx-and-apple-silicon/125136/5 "2025-01-24T02:44:02Z")

</div>

We don’t yet have the metal PJRT plugin merged ([Automatically fetch and register PjRT Metal plugin by mofeing · Pull Request #99 · EnzymeAD/Reactant.jl · GitHub](https://github.com/EnzymeAD/Reactant.jl/pull/99))
