1. A method for executing database queries, comprising: receiving a database query for execution by a database system configured to process the 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 comprising operators for processing the database query; selecting, by the database system, a target processing unit for executing an operator of the operators; determining whether to add padding bytes to input data processed by the database query based on the selected target processing unit; responsive to selecting the second processing unit including the one or more SIMT based processing units as the target processing unit for executing the operator: adding the padding bytes to the input data of a data type, wherein adding of the padding bytes causing data elements of the data type to have identical size; generating native code from the intermediate executable representation; compiling the native code to executable code; and executing the executable code using the second processing unit; and sending a result of the execution of the database query.
1. A method for executing database queries, comprising: receiving a database query for execution by a database system configured to process the 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 comprising operators for processing the database query; selecting, by the database system, a target processing unit for executing an operator of the operators; determining whether to add padding bytes to input data processed by the database query based on the selected target processing unit; responsive to selecting the second processing unit including the one or more SIMT based processing units as the target processing unit for executing the operator: adding the padding bytes to the input data of a data type, wherein adding of the padding bytes causing data elements of the data type to have identical size; generating native code from the intermediate executable representation; compiling the native code to executable code; and executing the executable code using the second processing unit; and sending a result of the execution of the database query. 8. The method of claim 1 , further comprising: sending the operator to both the first processing unit and the second processing unit; and receiving a result of execution of the operator from a processing unit that finishes first.