drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jingguo Yao <yaojing...@gmail.com>
Subject How vectorization is implemented in Drill?
Date Wed, 03 Feb 2016 06:17:17 GMT
[1] says:

> Vectorization: Drill takes advantage of the latest SIMD instructions
> available in modern processors.

I have done a quick browse of the source code. The following list are
the clues which may relate with vectorization:

- Drill source use Arrays.fill, Arrays.copyOf and Arrays.copyOfRange.
- Project in exec/vector folder uses hppc. And hppc use Arrays.copyOf
  and Arrays.fill.

[2] shows that Arrays.fill, Arrays.copyOf and Arrays.copyOfRange are intrinsic
methods. [3] shows that such intrinsics can be optimized by the JVM to
use SIMD methods.

Is my understanding correct?

[1]: https://drill.apache.org/faq/
[2]: http://hg.openjdk.java.net/jdk8/jdk8/hotspot/file/87ee5ee27509/src/share/vm/classfile/vmSymbols.hpp
[3]: http://psy-lob-saw.blogspot.hk/2015/04/on-arraysfill-intrinsics-superword-and.html

Mime
View raw message