You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
pgstrom_test=# explain select id from bytea_test where bin between '\xff00'::byt ea and '\xffff'::bytea order by id;
LOG: (gpusort.c:633) colmeta[0] attname=id {attnotnull=0, attalign=8, attlen=8, cs_ofs=48}
QUERY PLAN
Custom (GpuSort) (cost=129657.73..129701.35 rows=17449 width=8)
Sort keys: id
Sort keys width: 8
Rows per chunk: 21408
-> Custom (GpuScan) on bytea_test (cost=10000.00..129645.44 rows=17449 width=8)
Filter: ((bin >= '\xff00'::bytea) AND (bin <= '\xffff'::bytea))
Host References: id, bin
Device References:
Filter: ((bin >= '\xff00'::bytea) AND (bin <= '\xffff'::bytea)) Planning time: 1.464 ms
(10 rows)
PostgreSQL標準のソートと一部結果が異なる場合がある。
pgstrom_test=# explain select id from bytea_test where bin between '\xff00'::byt ea and '\xffff'::bytea order by id;
LOG: (gpusort.c:633) colmeta[0] attname=id {attnotnull=0, attalign=8, attlen=8, cs_ofs=48}
QUERY PLAN
Custom (GpuSort) (cost=129657.73..129701.35 rows=17449 width=8)
Sort keys: id
Sort keys width: 8
Rows per chunk: 21408
-> Custom (GpuScan) on bytea_test (cost=10000.00..129645.44 rows=17449 width=8)
Filter: ((bin >= '\xff00'::bytea) AND (bin <= '\xffff'::bytea))
Host References: id, bin
Device References:
Filter: ((bin >= '\xff00'::bytea) AND (bin <= '\xffff'::bytea)) Planning time: 1.464 ms
(10 rows)
pg_strom.enabled = on | off を切り替えて実行したところ、
--- /home/kaigai/hoge1.out 2014-06-06 15:46:38.120934370 +0900
+++ /home/kaigai/hoge2.out 2014-06-06 15:46:48.200885168 +0900
:
(略)
:
@@ -18735,5 +18724,16 @@ SET
4999537 | \xff5b9eb9c3c6193e6dbc4a4c636ff5a9f17917f89d957e584cd9c2ac8f744f8ecfed48
4999632 | \xffe5754d7a75737cb2773a0a896cebddbf0670629c610c132d9408287dd94d7cbec2c93838
4999963 | \xffe2ec08910173855918
(18734 rows)
最後の方に少しソートされていない要素が発生している。
実行計画からわかるように、GpuScanの処理結果をGpuSortに回すような構造に
なっており、データの件数は 18734 件。これを GTX のブロックサイズ 32 で
割った余りは 14 なので、kernelを起動する際のworkgroup-sizeが少し臭い。
The text was updated successfully, but these errors were encountered: