JDK-7042769 : Support SIMD for performance
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 7
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: linux
  • CPU: x86
  • Submitted: 2011-05-07
  • Updated: 2012-03-20
  • Resolved: 2011-05-12
Related Reports
Duplicate :  
Description
A DESCRIPTION OF THE REQUEST :
Java should provide access to SIMD execution of floating point instructions, either through intrinsic functions, automatic detection by HotSpot or extremely low overhead calls to native instructions.

JUSTIFICATION :
In order to maintain performance parity with C/C++. C/C++ can easily use SIMD instructions, allowing significant performance improvements on critical floating-point kernels.

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Java matching performance with C/C++ on SIMD-ed kernels.
ACTUAL -
Java not matching performance with C/C++ on SIMD-ed kernels.

CUSTOMER SUBMITTED WORKAROUND :
Sometimes it is possible to move the kernel to C/C++, use SIMD there and call via JNI. However, the cost of the JNI call can be significant as are the difficulties of ensuring memory is properly aligned for SIMD execution.