On Thu, Nov 17, 2016 at 7:09 PM, Mark Anns <aishwaryaanns@xxxxxxxxx> wrote: > Can u explain this statement "check whether the scan qualifier can > be executable on GPU device" > > What are the scan qualifiers? > > How to determine whether they are device executable or not? > > The cost estimates are entirely based on number of rows and type of scan. > Then it will be same for both CPU and GPU. How the decision can be made for > cheaper one comparing CPU and GPU estimates? There is a parameter (call it a "factor" if you will) called cpu_tuple_cost (section 19.7.2 Planner Cost Constants in the PostgreSQL documentation; link at the bottom), which "sets the planner's estimate of the cost of processing each row during a query" as the description on that page says. With that as the unit of cost of processing rows using the CPU and considering any differences in the processing capabilities between CPU and GPU, the optimizer code will cost the portion of plan that will be processed by the GPU (typically a table scan or a join) as some fraction of the cost of executing the same portion of the plan using the traditional CPU processing. (Kaigai-san will be better able to explain and correct if the above rough sketch is not exactly accurate) Thanks, Amit [1] https://www.postgresql.org/docs/9.6/static/runtime-config-query.html#RUNTIME-CONFIG-QUERY-CONSTANTS -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general