JDK-8242594 : Test Plan for JEP 338: Vector API (incubator)
  • Type: JEP Task
  • Component: hotspot
  • Sub-Component: compiler
  • Priority: P4
  • Status: New
  • Resolution: Unresolved
  • Submitted: 2020-04-13
  • Updated: 2020-08-20
Related Reports
Cloners :  
Relates :  
Sub Tasks
JDK-8242598 :  
JDK-8242599 :  
JDK-8242600 :  
Description
1 **High Level Description**

Vector API is new Java API to express wide range of vector computations that can reliably be compiled at runtime into SIMD instructions, such as AVX instructions on x64. Initial iteration of Vector API is done as Incubator feature and will be available as part of `jdk.incubator.vector` module.


2  **Test Methodology**

Vector API is new API to express vector computations and new sets of tests to cover all aspect of testing are required. These new sets of tests to be covered are:

 - Unit tests
  Combinatorial unit tests will be developed to ensure coverage for all operations, for all supported types and shapes, over various data sets.

 - Stress/reliability tests
   Some kind of BigApp or module extension to some existing BigApp to provide more stress testing on Vector API to be developed.

 - Performance tests
   Performance tests will be developed to ensure performance goals are met and vector computations map efficiently to vector hardware instructions.

3 **Test Configurations** 

Vector API is platform and architecture agnostic while providing runtime optimization on CPU architectures that support vector hardware instructions. That leads to the requirement to test Vector API on all JDK supported platforms. To test particular Java runtime (specifically the HotSpot C2 compiler) optimizations we might consider additional testing on dedicated platforms/hosts.

All testing needs to be automated and be part of mach5 JDK/HS tasks.