Thanks, tier3 it is!

I am curious about how those tests can be co-opted for HS tiers. Can you share 
details on the panama-dev thread?

Paul.

diff -r a606409980d6 test/jdk/TEST.groups
--- a/test/jdk/TEST.groups      Fri May 15 17:23:27 2020 -0700
+++ b/test/jdk/TEST.groups      Wed May 20 10:28:34 2020 -0700
@@ -72,6 +72,7 @@
 
 tier3 = \
     :build \
+    :jdk_vector
     :jdk_rmi \
     :jdk_beans \
     :jdk_imageio \
@@ -338,6 +339,9 @@
 jdk_foreign = \
     java/foreign
 
+jdk_vector = \
+    jdk/incubator/vector
+
 #############################
 
 #


> On May 19, 2020, at 5:06 PM, Ekaterina Pavlova <ekaterina.pavl...@oracle.com> 
> wrote:
> 
> As I wrote to openjdk alias tier3 seems to be more reasonable tier for 
> incubating feature tests.
> 
> Once the tests will be integrated we will also need to add these tests into 
> hs-comp tiers to be tested with
> additional compiler flags (like -Xcomp).
> 
> -katya
> 
> 
> On 5/19/20 3:25 PM, Paul Sandoz wrote:
>> I just realized that the vector tests have not been included in any JDK test 
>> category e.g. tier1.
>> Ordinarily I would expect the tests to be added to tier1 since the tests 
>> exercise intrinsics. However, those intrinsics are only enabled with the 
>> Vector API module so we could place in another tier to potentially reduce 
>> the cost of testing.
>> Advice very much appreciate on which tier the tests should belong to.
>> Paul.
>>> On May 18, 2020, at 12:13 PM, Paul Sandoz <paul.san...@oracle.com> wrote:
>>> 
>>> HI,
>>> 
>>> Here’s an update of the API and implementation webrevs based on (mostly) 
>>> API feedback. We have removed the performance tests to make the review 
>>> easier (those will be dealt with separately to integration as a follow on 
>>> task).
>>> 
>>> I think over the past year and recently via the CSR the API has had 
>>> significant review. Reviews focusing on the Java implementation and tests 
>>> would be greatly appreciated.
>>> 
>>> It’s worth reiterating that the implementation and tests are quite 
>>> formulaic, there is a lot of code that is generated from templates, so it's 
>>> possible to focus on the template + subset (e.g. byte, long, float, and 
>>> sizes of say 256, max).
>>> 
>>> Notable changes from the prior webrev are:
>>> 
>>> - Removal of the fromValues methods to construct a vector from a varargs 
>>> array. Feedback indicated this was a misleading way to obtain a vector.
>>> 
>>> - Unification of byte array and ByteBuffer load/store method signatures and 
>>> unification of the implementations with more tests (including out-of-bounds 
>>> tests for all the kinds of loads/stores).
>>> 
>>> Paul.
>>> 
>>> --
>>> 
>>> Latest javadoc
>>> http://cr.openjdk.java.net/~psandoz/panama/vector-api-review/docs-2020-05-15-88a83f7238d8/api/jdk.incubator.vector/jdk/incubator/vector/package-summary.html
>>>  
>>> <http://cr.openjdk.java.net/~psandoz/panama/vector-api-review/docs-2020-05-15-88a83f7238d8/api/jdk.incubator.vector/jdk/incubator/vector/package-summary.html>
>>> 
>>> Latest specdiff
>>> http://cr.openjdk.java.net/~psandoz/panama/vector-api-review/specdiff-jdk-2020-05-15-88a83f7238d8/overview-summary.html
>>>  
>>> <http://cr.openjdk.java.net/~psandoz/panama/vector-api-review/specdiff-jdk-2020-05-15-88a83f7238d8/overview-summary.html>
>>> 
>>> Incremental specdiff
>>> http://cr.openjdk.java.net/~psandoz/panama/vector-api-review/specdiff-2020-05-11-38dd763d023e-2020-05-15-88a83f7238d8/overview-summary.html
>>>  
>>> <http://cr.openjdk.java.net/~psandoz/panama/vector-api-review/specdiff-2020-05-11-38dd763d023e-2020-05-15-88a83f7238d8/overview-summary.html>
>>> 
>>> 
>>> Latest implementation webrev
>>> http://cr.openjdk.java.net/~psandoz/panama/JDK-8223347-vector-api-integration-java/jdk_src_webrev-2020-05-16-default-2020-05-15-88a83f7238d8/webrev/
>>>  
>>> <http://cr.openjdk.java.net/~psandoz/panama/JDK-8223347-vector-api-integration-java/jdk_src_webrev-2020-05-16-default-2020-05-15-88a83f7238d8/webrev/>
>>> 
>>> Incremental Implementation webrev
>>> http://cr.openjdk.java.net/~psandoz/panama/JDK-8223347-vector-api-integration-java/jdk_src_webrev-2020-05-11-38dd763d023e-2020-05-15-88a83f7238d8/webrev/
>>>  
>>> <http://cr.openjdk.java.net/~psandoz/panama/JDK-8223347-vector-api-integration-java/jdk_src_webrev-2020-05-11-38dd763d023e-2020-05-15-88a83f7238d8/webrev/>
>>> 
>>> Latest test webrev
>>> http://cr.openjdk.java.net/~psandoz/panama/JDK-8223347-vector-api-integration-java/jdk_test_webrev-2020-05-16-default-2020-05-15-88a83f7238d8/webrev/
>>>  
>>> <http://cr.openjdk.java.net/~psandoz/panama/JDK-8223347-vector-api-integration-java/jdk_test_webrev-2020-05-16-default-2020-05-15-88a83f7238d8/webrev/>
>>> 
>>> Incremental test webrev
>>> http://cr.openjdk.java.net/~psandoz/panama/JDK-8223347-vector-api-integration-java/jdk_test_webrev-2020-05-11-38dd763d023e-2020-05-15-88a83f7238d8/webrev/
>>>  
>>> <http://cr.openjdk.java.net/~psandoz/panama/JDK-8223347-vector-api-integration-java/jdk_test_webrev-2020-05-11-38dd763d023e-2020-05-15-88a83f7238d8/webrev/>
>>> 
>>> 
>>>> On Apr 1, 2020, at 3:46 PM, Paul Sandoz <paul.san...@oracle.com> wrote:
>>>> 
>>>> Hi,
>>>> 
>>>> A prior email sent out a request for review of the Vector API in 
>>>> preparation for JEP 338: Vector API (Incubator) [1] to be proposed for 
>>>> target:
>>>> 
>>>> https://mail.openjdk.java.net/pipermail/core-libs-dev/2020-March/065345.html
>>>>  
>>>> <https://mail.openjdk.java.net/pipermail/core-libs-dev/2020-March/065345.html>
>>>> 
>>>> This email expands the review of the API to the Java implementation and 
>>>> Java tests:
>>>> 
>>>> http://cr.openjdk.java.net/~psandoz/panama/JDK-8223347-vector-api-integration-java/jdk_src_webrev/webrev/
>>>>  
>>>> <http://cr.openjdk.java.net/~psandoz/panama/JDK-8223347-vector-api-integration-java/jdk_src_webrev/webrev/>
>>>> 
>>>> http://cr.openjdk.java.net/~psandoz/panama/JDK-8223347-vector-api-integration-java/jdk_test_webrev/webrev/
>>>>  
>>>> <http://cr.openjdk.java.net/~psandoz/panama/JDK-8223347-vector-api-integration-java/jdk_test_webrev/webrev/>
>>>> 
>>>> (Further emails will sent for review of general HotSpot changes CPU 
>>>> architecture specific HotSpot changes, x64 and aarch64, and performance 
>>>> tests.  For an early peek see the links in the description of JDK-8223347.)
>>>> 
>>>> —
>>>> 
>>>> The Vector API provides
>>>> 
>>>> - the public Vector class with vector operations common to all supported 
>>>> primitive types
>>>> 
>>>> - public primitive specializations, such as IntVector, with common 
>>>> operations associated with the primitive type
>>>> 
>>>> - internal concrete specializations for the vector size, such as 
>>>> Int256Vector, for a vector holding 8 ints.
>>>> 
>>>> Operations generally defer to one of approximately 20 vector intrinsics.  
>>>> Some operations may be composed of other operations.
>>>> 
>>>> Explicit casts are performed by vector operations to ensure vectors 
>>>> arguments are of the required shape (bit size) and element type.
>>>> 
>>>> A vector intrinsic is an internal low-level vector operation. The last 
>>>> argument to the intrinsic is fall back behavior in Java, implementing the 
>>>> scalar operation over the number of elements held by the vector.  Thus, If 
>>>> the intrinsic is not supported in C2 for the other arguments then the Java 
>>>> implementation is executed (the Java implementation is always executed 
>>>> when running in the interpreter or for C1).
>>>> 
>>>> The public primitive specializations and the internal concrete 
>>>> implementations are generated from SSP template files, 
>>>> X-Vector.java.template and X-VectorBits.java.template respectively.
>>>> 
>>>> Overall the implementation approach is quite formulaic and rather 
>>>> repetitive.  Once you grok the pattern It should be easier to review if a 
>>>> little laborious.
>>>> 
>>>> Unit tests are auto-generated by composing templates for each operation 
>>>> into an SSP template file which is then used to generate unit test files 
>>>> for each concrete vector class.  The tests are quite extensive and have 
>>>> found many a HotSpot issue in development across a wide range of platforms.
>>>> 
>>>> Paul.
>>>> 
>>>> [1] https://bugs.openjdk.java.net/browse/JDK-8201271 
>>>> <https://bugs.openjdk.java.net/browse/JDK-8201271>
>>>> 
>>> 
> 

Reply via email to