Re: RFR: 8265128: [REDO] Optimize Vector API slice and unslice operations [v3]
On Fri, 30 Apr 2021 23:34:15 GMT, Paul Sandoz wrote: >>> @PaulSandoz would it be possible for you to run this through your testing? >> >> Started, will report back when done. > >> > @PaulSandoz would it be possible for you to run this through your testing? >> >> Started, will report back when done. > > Tier 1 to 3 tests all pass on build profiles linux-x64 linux-aarch64 > macosx-x64 windows-x64 @PaulSandoz After we fixed the Objects.checkIndex arguments per your review comment, the changes in library_call.cpp are no more needed so I have backed them out. That leaves only changes in vector api code which you have reviewed. Please let me know if it is ok to push. - PR: https://git.openjdk.java.net/jdk/pull/3804
Re: RFR: 8265128: [REDO] Optimize Vector API slice and unslice operations [v3]
On Fri, 30 Apr 2021 01:58:27 GMT, Sandhya Viswanathan wrote: >> All the slice and unslice variants that take more than one argument can >> benefit from already intrinsic methods on similar lines as slice(origin) and >> unslice(origin). >> >> Changes include: >> * Rewrite Vector API slice/unslice using already intrinsic methods >> * Fix in library_call.cpp:inline_preconditions_checkIndex() to not modify >> control if intrinsification fails >> * Vector API conversion tests thresholds adjustment >> >> Base Performance: >> Benchmark (size) Mode Cnt Score Error Units >> TestSlice.vectorSliceOrigin 1024 thrpt 5 11763.372 ± 254.580 ops/ms >> TestSlice.vectorSliceOriginVector 1024 thrpt 5 599.286 ± 326.770 ops/ms >> TestSlice.vectorSliceUnsliceOrigin 1024 thrpt 5 6627.601 ± 22.060 ops/ms >> TestSlice.vectorSliceUnsliceOriginVector 1024 thrpt 5 401.858 ± 220.340 >> ops/ms >> TestSlice.vectorSliceUnsliceOriginVectorPart 1024 thrpt 5 421.993 ± 231.703 >> ops/ms >> >> Performance with patch: >> Benchmark (size) Mode Cnt Score Error Units >> TestSlice.vectorSliceOrigin 1024 thrpt 5 11792.091 ± 37.296 ops/ms >> TestSlice.vectorSliceOriginVector 1024 thrpt 5 8388.174 ± 115.886 ops/ms >> TestSlice.vectorSliceUnsliceOrigin 1024 thrpt 5 6662.159 ± 8.203 ops/ms >> TestSlice.vectorSliceUnsliceOriginVector 1024 thrpt 5 5206.300 ± 43.637 >> ops/ms >> TestSlice.vectorSliceUnsliceOriginVectorPart 1024 thrpt 5 5194.278 ± 13.376 >> ops/ms > > Sandhya Viswanathan has updated the pull request incrementally with one > additional commit since the last revision: > > Review comments: blendmask etc @iwanowww Could you please review if the change in library_call.cpp looks ok to you? - PR: https://git.openjdk.java.net/jdk/pull/3804
Re: RFR: 8265128: [REDO] Optimize Vector API slice and unslice operations [v3]
On Fri, 30 Apr 2021 23:34:15 GMT, Paul Sandoz wrote: > > > @PaulSandoz would it be possible for you to run this through your testing? > > > > > > Started, will report back when done. > > Tier 1 to 3 tests all pass on build profiles linux-x64 linux-aarch64 > macosx-x64 windows-x64 @PaulSandoz Thanks a lot! - PR: https://git.openjdk.java.net/jdk/pull/3804
Re: RFR: 8265128: [REDO] Optimize Vector API slice and unslice operations [v3]
On Fri, 30 Apr 2021 17:44:38 GMT, Paul Sandoz wrote: > > @PaulSandoz would it be possible for you to run this through your testing? > > Started, will report back when done. Tier 1 to 3 tests all pass on build profiles linux-x64 linux-aarch64 macosx-x64 windows-x64 - PR: https://git.openjdk.java.net/jdk/pull/3804
Re: RFR: 8265128: [REDO] Optimize Vector API slice and unslice operations [v3]
On Fri, 30 Apr 2021 02:31:07 GMT, Paul Sandoz wrote: >> Sandhya Viswanathan has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Review comments: blendmask etc > > Marked as reviewed by psandoz (Reviewer). > @PaulSandoz would it be possible for you to run this through your testing? Started, will report back when done. - PR: https://git.openjdk.java.net/jdk/pull/3804
Re: RFR: 8265128: [REDO] Optimize Vector API slice and unslice operations [v3]
On Fri, 30 Apr 2021 02:31:07 GMT, Paul Sandoz wrote: >> Sandhya Viswanathan has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Review comments: blendmask etc > > Marked as reviewed by psandoz (Reviewer). @PaulSandoz would it be possible for you to run this through your testing? - PR: https://git.openjdk.java.net/jdk/pull/3804
Re: RFR: 8265128: [REDO] Optimize Vector API slice and unslice operations [v3]
On Fri, 30 Apr 2021 01:58:27 GMT, Sandhya Viswanathan wrote: >> All the slice and unslice variants that take more than one argument can >> benefit from already intrinsic methods on similar lines as slice(origin) and >> unslice(origin). >> >> Changes include: >> * Rewrite Vector API slice/unslice using already intrinsic methods >> * Fix in library_call.cpp:inline_preconditions_checkIndex() to not modify >> control if intrinsification fails >> * Vector API conversion tests thresholds adjustment >> >> Base Performance: >> Benchmark (size) Mode Cnt Score Error Units >> TestSlice.vectorSliceOrigin 1024 thrpt 5 11763.372 ± 254.580 ops/ms >> TestSlice.vectorSliceOriginVector 1024 thrpt 5 599.286 ± 326.770 ops/ms >> TestSlice.vectorSliceUnsliceOrigin 1024 thrpt 5 6627.601 ± 22.060 ops/ms >> TestSlice.vectorSliceUnsliceOriginVector 1024 thrpt 5 401.858 ± 220.340 >> ops/ms >> TestSlice.vectorSliceUnsliceOriginVectorPart 1024 thrpt 5 421.993 ± 231.703 >> ops/ms >> >> Performance with patch: >> Benchmark (size) Mode Cnt Score Error Units >> TestSlice.vectorSliceOrigin 1024 thrpt 5 11792.091 ± 37.296 ops/ms >> TestSlice.vectorSliceOriginVector 1024 thrpt 5 8388.174 ± 115.886 ops/ms >> TestSlice.vectorSliceUnsliceOrigin 1024 thrpt 5 6662.159 ± 8.203 ops/ms >> TestSlice.vectorSliceUnsliceOriginVector 1024 thrpt 5 5206.300 ± 43.637 >> ops/ms >> TestSlice.vectorSliceUnsliceOriginVectorPart 1024 thrpt 5 5194.278 ± 13.376 >> ops/ms > > Sandhya Viswanathan has updated the pull request incrementally with one > additional commit since the last revision: > > Review comments: blendmask etc Marked as reviewed by psandoz (Reviewer). - PR: https://git.openjdk.java.net/jdk/pull/3804
Re: RFR: 8265128: [REDO] Optimize Vector API slice and unslice operations [v3]
> All the slice and unslice variants that take more than one argument can > benefit from already intrinsic methods on similar lines as slice(origin) and > unslice(origin). > > Changes include: > * Rewrite Vector API slice/unslice using already intrinsic methods > * Fix in library_call.cpp:inline_preconditions_checkIndex() to not modify > control if intrinsification fails > * Vector API conversion tests thresholds adjustment > > Base Performance: > Benchmark (size) Mode Cnt Score Error Units > TestSlice.vectorSliceOrigin 1024 thrpt 5 11763.372 ± 254.580 ops/ms > TestSlice.vectorSliceOriginVector 1024 thrpt 5 599.286 ± 326.770 ops/ms > TestSlice.vectorSliceUnsliceOrigin 1024 thrpt 5 6627.601 ± 22.060 ops/ms > TestSlice.vectorSliceUnsliceOriginVector 1024 thrpt 5 401.858 ± 220.340 ops/ms > TestSlice.vectorSliceUnsliceOriginVectorPart 1024 thrpt 5 421.993 ± 231.703 > ops/ms > > Performance with patch: > Benchmark (size) Mode Cnt Score Error Units > TestSlice.vectorSliceOrigin 1024 thrpt 5 11792.091 ± 37.296 ops/ms > TestSlice.vectorSliceOriginVector 1024 thrpt 5 8388.174 ± 115.886 ops/ms > TestSlice.vectorSliceUnsliceOrigin 1024 thrpt 5 6662.159 ± 8.203 ops/ms > TestSlice.vectorSliceUnsliceOriginVector 1024 thrpt 5 5206.300 ± 43.637 ops/ms > TestSlice.vectorSliceUnsliceOriginVectorPart 1024 thrpt 5 5194.278 ± 13.376 > ops/ms Sandhya Viswanathan has updated the pull request incrementally with one additional commit since the last revision: Review comments: blendmask etc - Changes: - all: https://git.openjdk.java.net/jdk/pull/3804/files - new: https://git.openjdk.java.net/jdk/pull/3804/files/59275ff6..94f184ef Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk=3804=02 - incr: https://webrevs.openjdk.java.net/?repo=jdk=3804=01-02 Stats: 56 lines in 7 files changed: 0 ins; 0 del; 56 mod Patch: https://git.openjdk.java.net/jdk/pull/3804.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/3804/head:pull/3804 PR: https://git.openjdk.java.net/jdk/pull/3804