MAX FAQ
We tried to anticipate your questions about MAX Engine on this page. If this page doesn't answer all your questions, please ask us on our Discord channel.
Distribution
What are the system requirements?
- Mac
- Linux
- Windows
- Apple silicon (M1/M2/M3 processor)
- macOS Ventura (13) or later
- Python 3.9 - 3.12
- Xcode or Xcode Command Line Tools
- Homebrew
- Ubuntu 22.04 LTS
- x86-64 CPU (with SSE4.2 or newer) or AWS Graviton2/3 CPU
- Minimum 8 GiB RAM
- Python 3.9 - 3.12
- g++ or clang++ C++ compiler
Windows support is still in development.
In the meantime, you can use MAX on Windows with WSL, using a compatible version of Ubuntu (see our requirements for Linux).
What versions of torch are supported?
MAX supports torch from version 2.2.2 through 2.4.0.
MAX currently defaults to use CPU-only torch, but CUDA/ROCm supporting torch versions should work as intended.
Will it be open-sourced?
We want to contribute a lot to open source, but we also want to do it right. Our team has decades of experience building open-source projects, and we have learned that the important thing is to create an inclusive and vibrant community – and that takes a lot of work. We will need to figure out the details, but as we do so, we will share more. Please stay tuned.
Why bundle Mojo with MAX?
Integrating Mojo and MAX into a single package is the best way to ensure interoperability between Mojo and MAX for all users, and avoid version conflicts that happen when installing them separately.
We built Mojo as a core technology for MAX, and you can use it to extend MAX Engine, so MAX clearly depends on Mojo. On the other hand, writing Mojo code that runs on both CPUs and GPUs (and other accelerators) requires runtime components and orchestration logic that falls outside the domain of Mojo, and into the domain of MAX. That is, MAX isn't just a framework for AI development, it's also a framework for general heterogeneous compute. As such, writing Mojo programs that can execute across heterogeneous hardware depends on MAX.
Nothing has changed for Mojo developers—you can still build and develop in Mojo like you always have. The only difference is that you're now able to seamlessly step into general-purpose GPU programming (coming soon).
Does the MAX SDK collect telemetry?
Yes, the MAX SDK collects basic system information, session durations, compiler events, and crash reports that enable us to identify, analyze, and prioritize issues.
This telemetry is crucial to help us quickly identify problems and improve our products. Without this telemetry, we would have to rely on user-submitted bug reports, and in our decades of experience building developer products, we know that most people don’t do that. The telemetry provides us the insights we need to build better products for you.
You can opt-out of some telemetry, such as compiler events and crash reports. However, package install/update/uninstall events, basic system information,and session durations (the amount of time spent running MAX Engine) cannot be disabled (see the MAX SDK terms).
If you installed with magic
When using Magic, telemetry is configured separately for each project. To disable telemetry for compiler events and crash reports, run this command in your project environment:
magic telemetry --disable
magic telemetry --disable
For details, see the magic telemetry
docs.
If you installed with modular
(deprecated)
To disable crash reports, use this command:
modular config-set crash_reporting.enabled=false
modular config-set crash_reporting.enabled=false
To reduce other telemetry to only the required telemetry events, use this command:
modular config-set telemetry.level=0
modular config-set telemetry.level=0
There are 3 telemetry levels: 0
records only the required details such as
hardware information and session durations; 1
records high-level events such
as when the compiler is invoked; and 2
records more specific events such as
when the compiler uses a framework fallback op.