[ 
https://issues.apache.org/jira/browse/HIVE-11521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14682246#comment-14682246
 ] 

Teddy Choi commented on HIVE-11521:
-----------------------------------

[~Ferd]. Please check your configuration and distribution. When I use Hive on 
Tez, it shows twelve vectorizations on its execution plan on TPC-H Q2. In 
contrast, Hive on MapReduce shows only two vectorizations on its execution plan 
just for local works. Some Hadoop distribution (such as Hortonworks Data 
Platform) ships with Apache Tez, while some other distributions don't.

{code}
set hive.execution.engine=tez;
set hive.vectorized.execution.enabled=true;
{code}

> Loop optimization for SIMD in logical operators
> -----------------------------------------------
>
>                 Key: HIVE-11521
>                 URL: https://issues.apache.org/jira/browse/HIVE-11521
>             Project: Hive
>          Issue Type: Sub-task
>            Reporter: Teddy Choi
>            Assignee: Teddy Choi
>            Priority: Minor
>         Attachments: HIVE-11521.patch
>
>
> JVM is quite strict on the code schema which may executed with SIMD 
> instructions, take a loop in ColOrCol.java for example,
> {code}
> for (int i = 0; i != n; i++) {
>   outputVector[i] = vector1[0] | vector2[i];
> }
> {code}
> The "vector1\[0\]" reference would prevent JVM to execute this part of code 
> with vectorized instructions, we need to assign the "vector1\[0\]" to a 
> variable outside of loop, and use that variable in loop.
> This issues covers AND, OR, NOT logical operators.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to