MLX and Apple silicon

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, 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.

3 Likes

@stemann was working on something: GitHub - stemann/MLX.jl: Julia API for MLX

3 Likes

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

Still am :blush:

4 Likes

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)