Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/qdp/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ Notes:
## Tips

- Default `precision` is `"float32"`; pass `precision="float64"` for higher precision: `QdpEngine(device_id=0, precision="float64")`.
- NumPy inputs must be `float64` dtype. CUDA `torch.Tensor` inputs accept `float32` or `float64` for amplitude; angle and IQP methods require `float64` for batched inputs.
- NumPy inputs must be `float64` dtype. CUDA `torch.Tensor` inputs support `float32` or `float64` for `amplitude` and `angle` single-sample or batched inputs; `basis` accepts `int64` or `float32` single-sample or batched index tensors. `iqp` and `iqp-z` CUDA tensor inputs require `float64`, and `phase` currently requires host input.
- Backend selection is explicit; valid values are `"cuda"` and `"amd"` (with `"triton_amd"` accepted as an alias for `"amd"`).

## Troubleshooting
Expand Down
12 changes: 7 additions & 5 deletions qdp/qdp-python/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,12 +89,14 @@ Backend support boundary:
### Pipeline / loader dtype (Rust internals)

`QuantumDataLoader` and `run_throughput_pipeline` build a Rust `PipelineConfig` with an
`encoding` plus a `dtype` (float32 vs float64). The prefetch thread can only keep an
`encoding` plus a `dtype` (float32 vs float64). The prefetch thread can keep an
end-to-end **float32 host batch** for encodings whose GPU stack implements the batch **f32**
path (`encode_batch_f32`). **Today that is amplitude only.** Angle and basis still fall back
to float64 for that loop until their batch f32 implementations exist. The eventual full
matrix (e.g. angle/basis under `supports_f32` once kernels are wired) is broader than what
the pipeline uses today.
path (`encode_batch_f32`): `amplitude`, `angle`, and `basis`. IQP-family and phase
encodings still normalize to float64 in this loop.

For streaming basis files, the loader reads basis indices as float64 even when float32 is
requested, because basis values are integer state indices and float32 cannot represent
large indices exactly.

## Input Sources

Expand Down
Loading