-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Description
Proposing to add several hardware compatibility matrices to new documentation combined with more guidance around system dependencies -- what do I need when? What are common hiccups? Kind of expand https://ml-explore.github.io/mlx/build/html/install.html or rework it a bit (already tons of really great guidance in there!).
I could envision:
- a new / separate and more detailed "Hardware + System Requirements" section.
- moving all the build instructions to a dedicated "Build from source" guide which points to the requirements guide.
- moving all pure install instructions to a dedicated "Install mlx" guide which points to the requirements guide.
- ... and perhaps have a few new tables (such as proposed below).
(1)
Add GitHub badges for supported CPU arch and platform support. Perhaps this could be suitable for the main README.md in the GitHub repo?
(2)
New doc on https://ml-explore.github.io/mlx/ -> link to it from main README.
macOS GPU Support (Apple Silicon)
GPU acceleration on Apple Silicon leverages the Metal framework.
Supported GPU Architectures
| Chip Family | Metal GPU Family | Status | Key Differentiating Features & Capabilities |
|---|---|---|---|
| M1 | apple7 |
✅ | TBA |
| M2 | apple8 |
✅ | TBA |
| M3 | apple9 |
✅ | TBA |
| M4 | apple10 |
✅ | TBA |
| M5 | apple11 |
✅ | TBA |
(3)
New doc on https://ml-explore.github.io/mlx/ -> link to it from main README.
Linux GPU Support (CUDA)
Supported GPU Architectures
The table below outlines recommended NVIDIA GPU architectures and their specific feature support. A green checkmark (✅) indicates a fully supported and recommended architecture.
| Example GPU | Architecture (Compute Capability) | Status | Key Accelerated Data Types |
|---|---|---|---|
| H100 | Hopper (sm_90) |
✅ | FP8, TF32, BFLOAT16, FP16, INT8 |
| RTX 4090 | Ada Lovelace (sm_89) |
✅ | FP8, TF32, BFLOAT16, FP16, INT8 |
| A100 | Ampere (sm_80) |
✅ | TF32, BFLOAT16, FP16, INT8 |
| T4, RTX 2080 | Turing (sm_75) |
✅ | FP16, INT8 |
| V100 | Volta (sm_70) |
✅ | FP16, INT8 |
More Questions:
- Maybe the minimum supported CUDA Toolkit version or the recommended one may even be tied to the GPU or other system aspects? Could the generic guidance of
CUDA toolkit >= 12.0be more nuanced? - Some "stuff" we install as part of the mlx CI such as MPI or NCCL seems not listed or mentioned in the current system requirements section?
- Build from source (system requirements sub-section) seems to lack a section for building mlx natively on Linux.
- ...