What Apache Mahout Is and What It Focuses On Now
Updated
Apache Mahout is an Apache Software Foundation project that builds an environment for quickly creating scalable, performant machine learning applications. Its current work centers on quantum machine learning in Python, delivered through two components: Qumat, a backend-agnostic quantum circuit library, and QDP (Quantum Data Plane), a GPU-accelerated engine that encodes classical data into quantum states. The earlier Mahout Classic codebase (Samsara and MapReduce) is in maintenance mode, so new work should target Qumat and QDP.
The two current components
Qumat: write a circuit once, run it on three backends
Qumat is a high-level Python library for quantum computing. You build a circuit from standard and parameterized gates, then execute it on Qiskit, Cirq, or Amazon Braket through one unified API, on simulators or real quantum hardware.
| Capability | What it means for you |
|---|---|
| One API, three backends | Switch between Qiskit, Cirq, and Amazon Braket by changing a config value, not your circuit code |
| Standard and parameterized gates | Hadamard, Pauli, CNOT, Toffoli, SWAP, and rotation gates with parameter binding for variational circuits |
| Python 3.10+ | Installable from PyPI with pip install qumat |
The practical benefit is portability: a variational circuit you prototype on a simulator can be pointed at a different backend without a rewrite, which matters when you are comparing hardware or avoiding lock-in to one SDK.
QDP: remove the data-loading bottleneck
QDP targets a specific cost in quantum machine learning: preparing classical data as quantum states. Instead of simulating a state-preparation circuit, it constructs the state vector directly in GPU memory and hands it to your training or kernel pipeline.
- Six encodings — amplitude, angle, basis, phase, IQP, and IQP-Z, with the same coverage on every GPU backend.
- NVIDIA CUDA and AMD ROCm — native CUDA kernels and hand-written Triton kernels for ROCm, selectable from the same API.
- Zero-copy interop — DLPack handoff to and from PyTorch, NumPy, and TensorFlow, plus GPU-pointer paths that skip the host round trip.
- Benchmarked on real workloads — SVHN IQP training, quantum kernel SVM, and data-to-state latency benchmarks ship with the project.
For example, if you are training an IQP-style model on image data, the encoding step is where classical-to-quantum conversion usually dominates wall-clock time; QDP's approach is aimed at that step rather than at the circuit execution itself.
Which version should you use?
- Starting new quantum ML work in Python: use Qumat, and add QDP if your pipeline is bottlenecked on encoding classical data into quantum states and you have a supported GPU (CUDA or ROCm).
- Maintaining an existing Mahout Classic deployment (Samsara/MapReduce): it remains available but is in maintenance mode; the community's active development is on Qumat and QDP, so plan migrations accordingly.
Release status and where to start
Qumat 0.6 is the current release noted on the project site. It adds first-class AMD ROCm support, six QDP encodings with parity across CUDA and ROCm, and faster zero-copy GPU paths. The site links release notes and a download path for 0.6.
To evaluate the project, the most direct route is the Qumat install (pip install qumat on Python 3.10+) followed by the shipped benchmarks, which let you measure encoding latency and kernel performance on your own hardware before committing to a design.