0lai0 opened a new pull request, #1422:
URL: https://github.com/apache/mahout/pull/1422

   ### Related Issues
   
   <!-- Closes #123 -->
   Closes #1342 
   
   ### Changes
   
   - [ ] Bug fix
   - [ ] New feature
   - [ ] Refactoring
   - [ ] Documentation
   - [x] Test
   - [x] CI/CD pipeline
   - [ ] Other
   
   ### Why
   
   <!-- Why is this change needed? -->
   The f32 Parquet pipeline (A1–A3) lacked dedicated end-to-end fidelity 
coverage and throughput validation. Without tests, regressions in the f32 
reader or dispatch path could go undetected, and without a benchmark, the 
expected 25–35% throughput improvement over the f64 path for native f32 columns 
remained unmeasured.
   
   ### How
   
   <!-- What was done? -->
   
   - `qdp-core/tests/parquet_f32_fidelity.rs`: End-to-end f32-vs-f64 fidelity 
test for the Parquet pipeline.
     - CPU smoke(asserts in CI): f32 and f64 readers return the same logical 
values up to f64→f32 rounding.
     - GPU fidelity (Linux + CUDA, self-skip on no-CUDA stub via kernel probe): 
same deterministic data written as native `List<Float32>` / `List<Float64>`, 
read through matching readers, encoded with f32/f64 kernels, compared via 
`fidelity_cross_precision`. Thresholds match `gpu_fidelity.rs` (1e-3 at 8–16 
qubits; amplitude f32 norm precision — the issue's "≥0.99999 where applicable" 
does not apply here).
   - `qdp-core/tests/common/mod.rs`: Shared `List<Float32>` / `List<Float64>` 
Parquet writers for fidelity fixtures.
   - `qdp-python/benchmark/benchmark_parquet_f32.py` + `README.md`: Optional 
local/GPU throughput benchmark (vec/s + f32/f64 speedup). Default run generates 
separate native f32 and f64 files so the f32 path exercises zero-copy native 
read; `--parquet PATH` benchmarks a single user file at both dtypes. Not wired 
into CI.
   - `.github/workflows/python-testing.yml`: Run `parquet_f32` (existing #1340 
reader acceptance) and `parquet_f32_fidelity` in the `rust-check` job under 
`QDP_NO_CUDA=1`. CPU smoke asserts; GPU cases skip without a GPU. Scoped to 
these two binaries — other `gpu_*.rs` tests lack probe-skip and would fail on 
the stub.
   
   ## Checklist
   
   - [x] Added or updated unit tests for all changes
   - [x] Added or updated documentation for all changes


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to