Skip to content

Add regression test for GPU pred=3 multi-sample TIFFs (#1479)#1481

Merged
brendancol merged 1 commit intomainfrom
issue-1479
May 5, 2026
Merged

Add regression test for GPU pred=3 multi-sample TIFFs (#1479)#1481
brendancol merged 1 commit intomainfrom
issue-1479

Conversation

@brendancol
Copy link
Copy Markdown
Contributor

Closes #1479.

Summary

  • The GPU _fp_predictor_decode_kernel decodes multi-sample float TIFFs (predictor=3, samples=3 or 4, float32 or float64) correctly. Manual round-trip testing confirms it.
  • test_predictor_multisample.py covered GPU predictor=2 multi-sample but not predictor=3. CI was not exercising the path.
  • Adds 4 parametrized round-trip tests over samples in (3, 4) and dtype in (float32, float64) that write via to_geotiff(..., predictor=3, tiled=True, tile_size=32) and assert GPU decode is bit-exactly equal to CPU decode and to the source.

This is a coverage gap, not a bug fix. No source changes.

Test plan

  • pytest xrspatial/geotiff/tests/test_predictor_multisample.py passes (14 tests, 4 new)
  • New tests are gated by the existing gpu_only skipif so CPU-only CI is unaffected

The GPU _fp_predictor_decode_kernel handles multi-sample float TIFFs
correctly, but predictor=3 multi-sample was not exercised by CI.  Only
predictor=2 multi-sample had GPU coverage.  Add parametrized
round-trip tests over samples in (3, 4) and dtype in (float32,
float64) to lock in current behaviour.
@github-actions github-actions Bot added the performance PR touches performance-sensitive code label May 5, 2026
@brendancol brendancol merged commit d9a3157 into main May 5, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

performance PR touches performance-sensitive code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add regression test for GPU pred=3 multi-sample TIFFs

1 participant