Jim Apple has posted comments on this change.

Change subject: Use AVX2 operations to speedup Bloom filters by 10-100%.
......................................................................


Patch Set 7:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/3338/7/be/src/util/bloom-filter.h
File be/src/util/bloom-filter.h:

Line 176:   if (CpuInfo::IsSupported(CpuInfo::AVX2)) {
> Code-gen aside.
I am interested in closing up this debate.

If I use use_avx2_, and this is not as efficient as the codegen approach since 
the replacement for CpuInfo:IsSupported(CpuInfo::AVX2) is now further away from 
the actual usage of that info in Find() and Insert(), then we can change back 
to using CpuInfo::IsSupported in Find and Insert once the codegen patch is in.

IOW, I propose to do what Mostafa is suggesting for now and change it back 
later if it helps performance after the codegen patch is in.

Dan, Tim, does that work for you?


Line 254:   const bool result = _mm256_testc_si256(bucket, mask);
> Did you check that AVX2 provides speedup even for highly selective filters?
Yes. Those are the 'absent' lines in the benchmark file.


-- 
To view, visit http://gerrit.cloudera.org:8080/3338
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I6fef4f6652876f8fd7e3f0e41431702380418c98
Gerrit-PatchSet: 7
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Jim Apple <[email protected]>
Gerrit-Reviewer: Dan Hecht <[email protected]>
Gerrit-Reviewer: Jim Apple <[email protected]>
Gerrit-Reviewer: Mostafa Mokhtar <[email protected]>
Gerrit-Reviewer: Tim Armstrong <[email protected]>
Gerrit-HasComments: Yes

Reply via email to