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

8277155: Compress and expand vector operations #6545

Closed

Conversation

PaulSandoz
Copy link
Member

@PaulSandoz PaulSandoz commented Nov 24, 2021

Add two new cross-lane vector operations, compress and expand.

An example of such usage might be code that selects elements from array a and stores those selected elements in array z:

int[] a = ...;

int[] z = ...;
int ai = 0, zi = 0;
while (ai < a.length) {
    IntVector av = IntVector.fromArray(SPECIES, a, ai);
    // query over elements of vector av
    // returning a mask marking elements of interest
    VectorMask<Integer> m = interestingBits(av, ...);
    IntVector zv = av.compress(m);
    zv.intoArray(z, zi, m.compress());
    ai += SPECIES.length();
    zi += m.trueCount();
}

(There's also a more sophisticated version using unslice to coalesce matching elements with non-masked stores.)

Given RDP 1 for 18 is getting close, 2021/12/09, we may not get this reviewed in time and included in JEP 417. Still I think I think it worth starting the review now (the CSR is marked provisional).


Progress

  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue
  • Change must be properly reviewed

Integration blocker

 ⚠️ The change requires a CSR request to be approved.

Issue

Contributors

  • Joshua Zhu <jzhu@openjdk.org>
  • Sandhya Viswanathan <sviswanathan@openjdk.org>
  • Jatin Bhateja <jbhateja@openjdk.org>
  • Ningsheng Jian <njian@openjdk.org>
  • Eric Liu <eliu@openjdk.org>

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk pull/6545/head:pull/6545
$ git checkout pull/6545

Update a local copy of the PR:
$ git checkout pull/6545
$ git pull https://git.openjdk.java.net/jdk pull/6545/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 6545

View PR using the GUI difftool:
$ git pr show -t 6545

Using diff file

Download this PR as a diff file:
https://git.openjdk.java.net/jdk/pull/6545.diff

@bridgekeeper
Copy link

@bridgekeeper bridgekeeper bot commented Nov 24, 2021

👋 Welcome back psandoz! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

@openjdk openjdk bot added the rfr label Nov 24, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Nov 24, 2021

@PaulSandoz The following labels will be automatically applied to this pull request:

  • core-libs
  • hotspot

When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing lists. If you would like to change these labels, use the /label pull request command.

@openjdk openjdk bot added hotspot core-libs labels Nov 24, 2021
@PaulSandoz
Copy link
Member Author

@PaulSandoz PaulSandoz commented Nov 24, 2021

/contributor add jzhu
/contributor add sviswanathan
/contributor add jbhateja
/contributor add njian
/contributor add eliu

@openjdk
Copy link

@openjdk openjdk bot commented Nov 24, 2021

@PaulSandoz
Contributor Joshua Zhu <jzhu@openjdk.org> successfully added.

@openjdk
Copy link

@openjdk openjdk bot commented Nov 24, 2021

@PaulSandoz
Contributor Sandhya Viswanathan <sviswanathan@openjdk.org> successfully added.

@openjdk
Copy link

@openjdk openjdk bot commented Nov 24, 2021

@PaulSandoz
Contributor Jatin Bhateja <jbhateja@openjdk.org> successfully added.

@openjdk
Copy link

@openjdk openjdk bot commented Nov 24, 2021

@PaulSandoz
Contributor Ningsheng Jian <njian@openjdk.org> successfully added.

@openjdk
Copy link

@openjdk openjdk bot commented Nov 24, 2021

@PaulSandoz
Contributor Eric Liu <eliu@openjdk.org> successfully added.

@PaulSandoz
Copy link
Member Author

@PaulSandoz PaulSandoz commented Nov 24, 2021

/csr

@openjdk openjdk bot added the csr label Nov 24, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Nov 24, 2021

@PaulSandoz this pull request will not be integrated until the CSR request JDK-8277156 for issue JDK-8277155 has been approved.

@mlbridge
Copy link

@mlbridge mlbridge bot commented Nov 24, 2021

Webrevs

@bridgekeeper
Copy link

@bridgekeeper bridgekeeper bot commented Dec 23, 2021

@PaulSandoz This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration!

@PaulSandoz
Copy link
Member Author

@PaulSandoz PaulSandoz commented Dec 23, 2021

keep-alive

@bridgekeeper
Copy link

@bridgekeeper bridgekeeper bot commented Jan 20, 2022

@PaulSandoz This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply add a new comment to the pull request. Feel free to ask for assistance if you need help with progressing this pull request towards integration!

@PaulSandoz PaulSandoz closed this Jan 20, 2022
@PaulSandoz
Copy link
Member Author

@PaulSandoz PaulSandoz commented Jan 20, 2022

Withdrawing and will create a new PR corresponding to a new incubating JEP.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core-libs csr hotspot rfr
1 participant