https://github.com/willkill07/apple-juicer
Squeeze the performance out of your Apple device
https://github.com/willkill07/apple-juicer
Last synced: 2 months ago
JSON representation
Squeeze the performance out of your Apple device
- Host: GitHub
- URL: https://github.com/willkill07/apple-juicer
- Owner: willkill07
- License: apache-2.0
- Created: 2024-11-14T00:25:46.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-11-16T04:27:01.000Z (6 months ago)
- Last Synced: 2025-03-14T21:04:13.078Z (2 months ago)
- Language: C++
- Homepage:
- Size: 25.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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:
```bash
git clone https://www.github.com/willkill07/apple-juicer.git
```2. Switch to the repository directory:
```bash
cd apple-juicer
```3. Build the executable files:
```bash
make
```4. Invoke your executable of choice (either `./gemm` or `./stream`)
```bash
./stream
./gemm
```## Questions / Issues / Comments
Feel free to open any issues or PRs. Contributions are welcome.