Patent Document ID: 9189519
Application ID: 14288237

Base Claim:
1. A method for executing database queries, comprising: receiving a database query for execution by a database system, the database system configured to process database queries using a first processing unit including one or more central processing units (CPUs) and a second processing unit including one or more single instruction multiple thread (SIMT) based processing units; generating, by the database system, an intermediate executable representation including code for processing the database query, the processing performed by executing operators representing portions of computations for processing the database query; selecting, by the database system, a target processing unit for executing an operator of the database query based on factors comprising a data type of values stored in a column processed by the query; responsive to selection of the second processing unit for executing the operator of the database query: generating native code from the intermediate executable representation, wherein the native code is optimized for execution on the second processing unit; compiling the native code to executable code; and executing the executable code by the database system using the second processing unit; and sending the result of execution of the query.

---

Claim 6:
6. The method of claim 1 , wherein selecting the target processing unit for executing the operator of the database query comprises, selecting the first processing unit including one or more CPUs if the values stored in the column processed by the database query are determined to be one of: bits, bytes, or shorts.