hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gopal V (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-10235) Loop optimization for SIMD in ColumnDivideColumn.txt
Date Tue, 21 Apr 2015 13:33:59 GMT

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

Gopal V commented on HIVE-10235:
--------------------------------

[~chengxiang li]: Patch LGTM - +1.

Not able to see a significant leap in perf on my quick tests - division doesn't seem to be
a common scenario in my tests.

> Loop optimization for SIMD in ColumnDivideColumn.txt
> ----------------------------------------------------
>
>                 Key: HIVE-10235
>                 URL: https://issues.apache.org/jira/browse/HIVE-10235
>             Project: Hive
>          Issue Type: Sub-task
>          Components: Vectorization
>    Affects Versions: 1.1.0
>            Reporter: Chengxiang Li
>            Assignee: Chengxiang Li
>            Priority: Minor
>         Attachments: HIVE-10235.1.patch, HIVE-10235.1.patch
>
>
> Found two loop which could be optimized for packed instruction set during execution.
> 1. hasDivBy0 depends on the result of last loop, which prevent the loop be executed vectorized.
> {code:java}
> for(int i = 0; i != n; i++) {
>       <OperandType2> denom = vector2[i];
>       outputVector[i] = vector1[0] <OperatorSymbol> denom;
>       hasDivBy0 = hasDivBy0 || (denom == 0);
> }
> {code}
> 2. same as HIVE-10180, vector2\[0\] reference provent JVM optimizing loop into packed
instruction set.
> {code:java}
> for(int i = 0; i != n; i++) {
>       outputVector[i] = vector1[i] <OperatorSymbol> vector2[0];
> }
> {code}



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

Mime
View raw message