Re: Review Request 32918: HIVE-10180 Loop optimization for SIMD in ColumnArithmeticColumn.txt
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/32918/ --- (Updated 四月 7, 2015, 7:24 a.m.) Review request for hive. Changes --- mark variables as final. Bugs: Hive-10180 https://issues.apache.org/jira/browse/Hive-10180 Repository: hive Description --- JVM is quite strict on the code schema which may executed with SIMD instructions, take a loop in DoubleColAddDoubleColumn.java for example, for (int i = 0; i != n; i++) { outputVector[i] = vector1[0] + vector2[i]; } 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. Diffs (updated) - trunk/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticColumn.txt 1671736 Diff: https://reviews.apache.org/r/32918/diff/ Testing --- Thanks, chengxiang li
Review Request 32918: HIVE-10180 Loop optimization for SIMD in ColumnArithmeticColumn.txt
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/32918/ --- Review request for hive. Bugs: Hive-10180 https://issues.apache.org/jira/browse/Hive-10180 Repository: hive Description --- JVM is quite strict on the code schema which may executed with SIMD instructions, take a loop in DoubleColAddDoubleColumn.java for example, for (int i = 0; i != n; i++) { outputVector[i] = vector1[0] + vector2[i]; } 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. Diffs - trunk/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticColumn.txt 1671736 Diff: https://reviews.apache.org/r/32918/diff/ Testing --- Thanks, chengxiang li
Re: Review Request 32918: HIVE-10180 Loop optimization for SIMD in ColumnArithmeticColumn.txt
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/32918/#review79126 --- Ship it! Minor comments about final vars, to make it clearer to read. trunk/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticColumn.txt https://reviews.apache.org/r/32918/#comment128251 For the sake clarity, can you mark these as final variables? trunk/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticColumn.txt https://reviews.apache.org/r/32918/#comment128252 Final vars for the other case - Gopal V On April 7, 2015, 5:46 a.m., chengxiang li wrote: --- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/32918/ --- (Updated April 7, 2015, 5:46 a.m.) Review request for hive. Bugs: Hive-10180 https://issues.apache.org/jira/browse/Hive-10180 Repository: hive Description --- JVM is quite strict on the code schema which may executed with SIMD instructions, take a loop in DoubleColAddDoubleColumn.java for example, for (int i = 0; i != n; i++) { outputVector[i] = vector1[0] + vector2[i]; } 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. Diffs - trunk/ql/src/gen/vectorization/ExpressionTemplates/ColumnArithmeticColumn.txt 1671736 Diff: https://reviews.apache.org/r/32918/diff/ Testing --- Thanks, chengxiang li