Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JDK 16 Vector API #47

Open
paladin8 opened this issue Jun 19, 2021 · 6 comments
Open

JDK 16 Vector API #47

paladin8 opened this issue Jun 19, 2021 · 6 comments

Comments

@paladin8
Copy link

JDK 16 introduces the Vector API for SIMD parallelism directly from Java code: https://docs.oracle.com/en/java/javase/16/docs/api/jdk.incubator.vector/jdk/incubator/vector/package-summary.html

My understanding is that since the original FastPFOR library takes advantage of SIMD, it should be possible to make this one as well. Is that correct?

@lemire
Copy link
Member

lemire commented Jun 19, 2021

That’s correct. Many schemes should benefit.

@Fang-Xie
Copy link

Fang-Xie commented Jun 21, 2022

@lemire, We have implemented bit unpacking with JDK 17/18 Vector API, below are the test results compared with Parquet-mr bit pack implementation shared with you
image
After integrating with parquet bit pack decoding, and tested from Spark VectorizedParquetRecordReader, we could see around 2x performance gain when reading the parquet file
image
image
image

@Fang-Xie
Copy link

If we could submit our code to this community?

@lemire
Copy link
Member

lemire commented Jun 21, 2022

Yes. Please prepare a pull request if you can.

@Fang-Xie
Copy link

Thanks @lemire, For this project, we are under the internal procedure of open sourcing, once it's done, we will prepare a pull request.

@lemire
Copy link
Member

lemire commented Jun 22, 2022

@Fang-Xie I am looking forward to reading your code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants