Re: RFR: 8265128: [REDO] Optimize Vector API slice and unslice operations [v3]

2021-05-10 Thread Sandhya Viswanathan
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]

2021-05-03 Thread Sandhya Viswanathan
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]

2021-04-30 Thread Sandhya Viswanathan
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]

2021-04-30 Thread Paul Sandoz
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]

2021-04-30 Thread Paul Sandoz
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]

2021-04-30 Thread Sandhya Viswanathan
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]

2021-04-29 Thread Paul Sandoz
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]

2021-04-29 Thread Sandhya Viswanathan
> 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