[jira] [Commented] (HIVE-10235) Loop optimization for SIMD in ColumnDivideColumn.txt
[ https://issues.apache.org/jira/browse/HIVE-10235?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=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)
[jira] [Commented] (HIVE-10235) Loop optimization for SIMD in ColumnDivideColumn.txt
[ https://issues.apache.org/jira/browse/HIVE-10235?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14502543#comment-14502543 ] Hive QA commented on HIVE-10235: {color:red}Overall{color}: -1 at least one tests failed Here are the results of testing the latest attachment: https://issues.apache.org/jira/secure/attachment/12726525/HIVE-10235.1.patch {color:red}ERROR:{color} -1 due to 15 failed/errored test(s), 8727 tests executed *Failed tests:* {noformat} TestMinimrCliDriver-bucketmapjoin6.q-constprog_partitioner.q-infer_bucket_sort_dyn_part.q-and-1-more - did not produce a TEST-*.xml file TestMinimrCliDriver-external_table_with_space_in_location_path.q-infer_bucket_sort_merge.q-auto_sortmerge_join_16.q-and-1-more - did not produce a TEST-*.xml file TestMinimrCliDriver-groupby2.q-import_exported_table.q-bucketizedhiveinputformat.q-and-1-more - did not produce a TEST-*.xml file TestMinimrCliDriver-index_bitmap3.q-stats_counter_partitioned.q-temp_table_external.q-and-1-more - did not produce a TEST-*.xml file TestMinimrCliDriver-infer_bucket_sort_map_operators.q-join1.q-bucketmapjoin7.q-and-1-more - did not produce a TEST-*.xml file TestMinimrCliDriver-infer_bucket_sort_num_buckets.q-disable_merge_for_bucketing.q-uber_reduce.q-and-1-more - did not produce a TEST-*.xml file TestMinimrCliDriver-infer_bucket_sort_reducers_power_two.q-scriptfile1.q-scriptfile1_win.q-and-1-more - did not produce a TEST-*.xml file TestMinimrCliDriver-leftsemijoin_mr.q-load_hdfs_file_with_space_in_the_name.q-root_dir_external_table.q-and-1-more - did not produce a TEST-*.xml file TestMinimrCliDriver-list_bucket_dml_10.q-bucket_num_reducers.q-bucket6.q-and-1-more - did not produce a TEST-*.xml file TestMinimrCliDriver-load_fs2.q-file_with_header_footer.q-ql_rewrite_gbtoidx_cbo_1.q-and-1-more - did not produce a TEST-*.xml file TestMinimrCliDriver-parallel_orderby.q-reduce_deduplicate.q-ql_rewrite_gbtoidx_cbo_2.q-and-1-more - did not produce a TEST-*.xml file TestMinimrCliDriver-ql_rewrite_gbtoidx.q-smb_mapjoin_8.q - did not produce a TEST-*.xml file TestMinimrCliDriver-schemeAuthority2.q-bucket4.q-input16_cc.q-and-1-more - did not produce a TEST-*.xml file org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_decimal_precision2 org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_union_view {noformat} Test results: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/3498/testReport Console output: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/3498/console Test logs: http://ec2-174-129-184-35.compute-1.amazonaws.com/logs/PreCommit-HIVE-TRUNK-Build-3498/ Messages: {noformat} Executing org.apache.hive.ptest.execution.PrepPhase Executing org.apache.hive.ptest.execution.ExecutionPhase Executing org.apache.hive.ptest.execution.ReportingPhase Tests exited with: TestsFailedException: 15 tests failed {noformat} This message is automatically generated. ATTACHMENT ID: 12726525 - PreCommit-HIVE-TRUNK-Build 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)
[jira] [Commented] (HIVE-10235) Loop optimization for SIMD in ColumnDivideColumn.txt
[ https://issues.apache.org/jira/browse/HIVE-10235?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14503106#comment-14503106 ] Gopal V commented on HIVE-10235: [~chengxiang li]: Adding to tomorrow's build, will let you know. 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)
[jira] [Commented] (HIVE-10235) Loop optimization for SIMD in ColumnDivideColumn.txt
[ https://issues.apache.org/jira/browse/HIVE-10235?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14495522#comment-14495522 ] Chengxiang Li commented on HIVE-10235: -- Environment: java version 1.8.0_40 Java(TM) SE Runtime Environment (build 1.8.0_40-b26) Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode) Intel(R) Core(TM) i3-2130 CPU @ 3.40GHz Linux version 2.6.32-279.el6.x86_64 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 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)
[jira] [Commented] (HIVE-10235) Loop optimization for SIMD in ColumnDivideColumn.txt
[ https://issues.apache.org/jira/browse/HIVE-10235?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14495524#comment-14495524 ] Chengxiang Li commented on HIVE-10235: -- The failed test is irrelevant, [~gopalv], could you help to review this patch? 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 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)
[jira] [Commented] (HIVE-10235) Loop optimization for SIMD in ColumnDivideColumn.txt
[ https://issues.apache.org/jira/browse/HIVE-10235?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14491944#comment-14491944 ] Hive QA commented on HIVE-10235: {color:red}Overall{color}: -1 at least one tests failed Here are the results of testing the latest attachment: https://issues.apache.org/jira/secure/attachment/12724862/HIVE-10235.1.patch {color:red}ERROR:{color} -1 due to 14 failed/errored test(s), 8673 tests executed *Failed tests:* {noformat} TestMinimrCliDriver-bucketmapjoin6.q-constprog_partitioner.q-infer_bucket_sort_dyn_part.q-and-1-more - did not produce a TEST-*.xml file TestMinimrCliDriver-external_table_with_space_in_location_path.q-infer_bucket_sort_merge.q-auto_sortmerge_join_16.q-and-1-more - did not produce a TEST-*.xml file TestMinimrCliDriver-groupby2.q-import_exported_table.q-bucketizedhiveinputformat.q-and-1-more - did not produce a TEST-*.xml file TestMinimrCliDriver-index_bitmap3.q-stats_counter_partitioned.q-temp_table_external.q-and-1-more - did not produce a TEST-*.xml file TestMinimrCliDriver-infer_bucket_sort_map_operators.q-join1.q-bucketmapjoin7.q-and-1-more - did not produce a TEST-*.xml file TestMinimrCliDriver-infer_bucket_sort_num_buckets.q-disable_merge_for_bucketing.q-uber_reduce.q-and-1-more - did not produce a TEST-*.xml file TestMinimrCliDriver-infer_bucket_sort_reducers_power_two.q-scriptfile1.q-scriptfile1_win.q-and-1-more - did not produce a TEST-*.xml file TestMinimrCliDriver-leftsemijoin_mr.q-load_hdfs_file_with_space_in_the_name.q-root_dir_external_table.q-and-1-more - did not produce a TEST-*.xml file TestMinimrCliDriver-list_bucket_dml_10.q-bucket_num_reducers.q-bucket6.q-and-1-more - did not produce a TEST-*.xml file TestMinimrCliDriver-load_fs2.q-file_with_header_footer.q-ql_rewrite_gbtoidx_cbo_1.q-and-1-more - did not produce a TEST-*.xml file TestMinimrCliDriver-parallel_orderby.q-reduce_deduplicate.q-ql_rewrite_gbtoidx_cbo_2.q-and-1-more - did not produce a TEST-*.xml file TestMinimrCliDriver-ql_rewrite_gbtoidx.q-smb_mapjoin_8.q - did not produce a TEST-*.xml file TestMinimrCliDriver-schemeAuthority2.q-bucket4.q-input16_cc.q-and-1-more - did not produce a TEST-*.xml file org.apache.hive.jdbc.TestJdbcWithMiniHS2.testNewConnectionConfiguration {noformat} Test results: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/3402/testReport Console output: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/3402/console Test logs: http://ec2-174-129-184-35.compute-1.amazonaws.com/logs/PreCommit-HIVE-TRUNK-Build-3402/ Messages: {noformat} Executing org.apache.hive.ptest.execution.PrepPhase Executing org.apache.hive.ptest.execution.ExecutionPhase Executing org.apache.hive.ptest.execution.ReportingPhase Tests exited with: TestsFailedException: 14 tests failed {noformat} This message is automatically generated. ATTACHMENT ID: 12724862 - PreCommit-HIVE-TRUNK-Build 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 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)