Skip to content

willkill07/apple-juicer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Apple Juicer

A way to squeeze the compute and/or memory performance out of your Apple product.

Benchmarks

  • GEMM: compute-bound workload evaluating the compute performance of the AMX subsystem
  • STREAM: memory-bound workload evaluating the memory performance of the M-series memory subsystem

Prerequisites

Hardware

  • Apple M-series processor

Software

I've intentionally kept the prerequisites minimal to potentially enable more folks to be able to easily run these benchmarks.

  • Operating System: macOS Sequoia. Older versions may work, just not tested.
  • AppleClang installed (default C++ compiler as part of Developer Tools on macOS)
    • Another compiler may work; however, prelimary C++23 support is required for std::print
  • Homebrew with libomp package installed to the default location (/opt/homebrew)

Running

  1. Clone the repository:
git clone https://www.github.com/willkill07/apple-juicer.git
  1. Switch to the repository directory:
cd apple-juicer
  1. Build the executable files:
make
  1. Invoke your executable of choice (either ./gemm or ./stream)
./stream
./gemm

Questions / Issues / Comments

Feel free to open any issues or PRs. Contributions are welcome.

About

Squeeze the performance out of your Apple device

Resources

License

Stars

Watchers

Forks