This is not a bug, but specification.
PG-Strom runs per-row evaluation in parallel, so GpuScan's results order is not guaranteed.
This query specifies DISTINCT ON (t2.c1), thus t2.c1 is unique but other columns are not expectational.
These values were come from the tuple which scceeded atomicCAS operation on the GPU result buffer, and this behavior is not illigal.
Describe:
SELECT DISTINCT ON \ FROM \ WHERE \ brings different results, when using CPU-only configurations and GPU-used configurations.
kaigai
commented
1 month ago
- © Githubissues.
- Githubissues is a development platform for aggregating issues.
SQL with CPU-only Config:
Result:
SQL with GPU-used Config:
Result:
Environment:
Pg-strom Version: commit 9765660eba4fab7e4e9378c667e6bd565da83ffd
PostgreSQL Version: 15.6 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-20), 64-bit
CUDA Version: 12.2
NVIDIA Driver Version: 535.171.04
This is not a bug, but specification. PG-Strom runs per-row evaluation in parallel, so GpuScan's results order is not guaranteed. This query specifies
DISTINCT ON (t2.c1)
, thust2.c1
is unique but other columns are not expectational.These values were come from the tuple which scceeded
atomicCAS
operation on the GPU result buffer, and this behavior is not illigal.