# Apple silicon full power

**URL:** https://discourse.julialang.org/t/apple-silicon-full-power/70662
**Category:** Performance
**Tags:** hardware, apple
**Created:** [October 30, 2021, 1:41pm UTC](https://discourse.julialang.org/t/apple-silicon-full-power/70662 "2021-10-30T13:41:33Z")
**Posts on this page:** 1
**Showing post:** 3

<div class="post-metadata">

### Author: ![ImreSamu](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/imresamu/32/20677_2.png) [@ImreSamu](https://discourse.julialang.org/u/ImreSamu)
#### Post date: [October 30, 2021, 9:47pm UTC](https://discourse.julialang.org/t/apple-silicon-full-power/70662/3 "2021-10-30T21:47:15Z")

</div>

> [@tomtom](#):
>
> That said, could we expect Julia being able to leverage the full power of Apple Silicon besides the CPU, i.e. _ **Neural Engines** _ and _ **GPUs** _ ? If this comes true, many linear algebra operations like matrix multiplication could see a 10x gain in performance!

IMHO:  
The first step has been started: _ **Reverse Engineering** _

#### Apple Matrix coprocessor - Reverse Engineering

- [https://chowdera.com/2021/02/20210201073032221f.html](https://chowdera.com/2021/02/20210201073032221f.html)
- [aarch64\_amx.py · GitHub](https://gist.github.com/dougallj/7a75a3be1ec69ca550e7c36dc75e0d6f)
  - [https://news.ycombinator.com/item?id=25559145](https://news.ycombinator.com/item?id=25559145) ( 10month ago )

```md
...
# AMX: Apple Matrix coprocessor
#
# This is an undocumented arm64 ISA extension present on the Apple M1. These
# instructions have been reversed from Accelerate (vImage, libBLAS, libBNNS,
# libvDSP and libLAPACK all use them), and by experimenting with their
# behaviour on the M1. Apple has not published a compiler, assembler, or
# disassembler, but by callling into the public Accelerate framework
# APIs you can get the performance benefits (fast multiplication of big
# matrices). This is separate from the Apple Neural Engine.
#
# Warning: This is a work in progress, some of this is going to be incorrect.
#
# This may actually be very similar to Intel Advanced Matrix Extension (AMX),
# making the name collision even more confusing, but it's not a bad place to
# look for some idea of what's probably going on.
...

```

#### Apple M1 Neural Engine - Reverse Engineering

- [GitHub - hollance/neural-engine: Everything we actually know about the Apple Neural Engine (ANE)](https://github.com/hollance/neural-engine)

#### Apple M1 GPU - Reverse Engineering

- [https://www.phoronix.com/scan.php?page=news\_item&px=Apple-M1-GPU-More-Bits](https://www.phoronix.com/scan.php?page=news_item&px=Apple-M1-GPU-More-Bits)

And as usual - adding “reverse engineering” for the keywords .. you can check the latest status

- example: [Google Search](https://www.google.com/search?q=apple+neural+engine+reverse+engineering)

Related thread:

- [Apple M1, M1 pro M1 Max and Julia developpers - #15 by giordano](https://discourse.julialang.org/t/apple-m1-m1-pro-m1-max-and-julia-developpers/70627/15)

---

_[View the full topic](https://discourse.julialang.org/t/apple-silicon-full-power/70662)._
