# Parallel computing on M1 Max?

**URL:** <https://discourse.julialang.org/t/parallel-computing-on-m1-max/70343>\
**Category:** General Usage\
**Tags:** mac-m1\
**Created:** [October 25, 2021, 4:00pm UTC](https://discourse.julialang.org/t/parallel-computing-on-m1-max/70343 "2021-10-25T16:00:15Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![ChunXi\_Zhang](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chunxi_zhang/32/22556_2.png) [@ChunXi\_Zhang](https://discourse.julialang.org/u/ChunXi_Zhang)\
**Post date:** [October 25, 2021, 4:00pm UTC](https://discourse.julialang.org/t/parallel-computing-on-m1-max/70343/1 "2021-10-25T16:00:15Z")

</div>

With the release of 2021 macbook pro with M1 Pro/Max, I’m wondering if there is a good API/Libs for doing parallel computing on that chip?  
From the reviews, the computational power of that device is insane, sometimes on par or better than a 3090 on some tasks, on a portable device like that. And you can have 64gig of gram! No CPU to GPU memcopy!

As far as I know, pure CPU code is running fine on M1 for julia with 1.7, maybe?  
How about BLAS?  
How about GPU code?  
And that chip seems to have a GPU part and a tensor core like thing, how to utilize these?

There is no gpu support on mac because all gpus on mac are pretty weak. But right now and in the future, it may have many advantages over other device and could maybe eventually change the whole workflow for computation.

I haven’t buy it yet because I know I can’t do parallel computing with Julia on it yet. But really looking forward to it.

---

<div class="post-metadata">

**Author:** ![mindaslab](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mindaslab/32/12673_2.png) [@mindaslab](https://discourse.julialang.org/u/mindaslab)\
**Post date:** [November 9, 2021, 1:13pm UTC](https://discourse.julialang.org/t/parallel-computing-on-m1-max/70343/2 "2021-11-09T13:13:42Z")

</div>

I had the same question in mind, thanks for asking.

---

<div class="post-metadata">

**Author:** ![gbaraldi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gbaraldi/32/22101_2.png) [@gbaraldi](https://discourse.julialang.org/u/gbaraldi)\
**Post date:** [November 9, 2021, 1:30pm UTC](https://discourse.julialang.org/t/parallel-computing-on-m1-max/70343/3 "2021-11-09T13:30:37Z")

</div>

Computing on CPU works fine, even multithreaded.  
OpenBlas works fine and there is some effort, albeit small, to make use of Accelerate (apples proprietary BLAS).  
GPUs aren’t supported yet, apparently there have been some talks with apple but not sure about anything yet.  
The tensor core doesn’t have a public API that I know of, so the only way to use it is with apples proprietary ML software

---

<div class="post-metadata">

**Author:** ![mindaslab](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mindaslab/32/12673_2.png) [@mindaslab](https://discourse.julialang.org/u/mindaslab)\
**Post date:** [November 9, 2021, 1:35pm UTC](https://discourse.julialang.org/t/parallel-computing-on-m1-max/70343/4 "2021-11-09T13:35:45Z")

</div>

> [@gbaraldi](#):
>
> so the only way to use it is with apples proprietary ML software

That’s not good. I hope some one takes a open processor like RISC-V and make its better than M1. And some good heart company like [System76.com](http://System76.com) or Frame.work put a open system where software could be developed and run with openness.

---

<div class="post-metadata">

**Author:** ![LaurentPlagne](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/laurentplagne/32/10103_2.png) [@LaurentPlagne](https://discourse.julialang.org/u/LaurentPlagne)\
**Post date:** [November 9, 2021, 5:55pm UTC](https://discourse.julialang.org/t/parallel-computing-on-m1-max/70343/5 "2021-11-09T17:55:43Z")

</div>

This package may be of some interest here : [https://github.com/JuliaMath/AppleAccelerate.jl](https://github.com/JuliaMath/AppleAccelerate.jl) 😉

---

<div class="post-metadata">

**Author:** ![gbaraldi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gbaraldi/32/22101_2.png) [@gbaraldi](https://discourse.julialang.org/u/gbaraldi)\
**Post date:** [November 9, 2021, 6:06pm UTC](https://discourse.julialang.org/t/parallel-computing-on-m1-max/70343/6 "2021-11-09T18:06:18Z")

</div>

These are just the elementwise function which don’t seem to be much faster than the normal julia ones. [https://github.com/chriselrod/AppleAccelerateLinAlgWrapper.jl](https://github.com/chriselrod/AppleAccelerateLinAlgWrapper.jl) is the one for some BLAS functions but it’s not really usable right now.

---

<div class="post-metadata">

**Author:** ![LaurentPlagne](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/laurentplagne/32/10103_2.png) [@LaurentPlagne](https://discourse.julialang.org/u/LaurentPlagne)\
**Post date:** [November 9, 2021, 6:22pm UTC](https://discourse.julialang.org/t/parallel-computing-on-m1-max/70343/7 "2021-11-09T18:22:22Z")

</div>

Noted !  
Apple, guided by their ambition to build a better world, will probably implement the oneAPI API and everything will run smooth 😇
