You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Relaxed SIMD proposal builds on top of the existing fixed-width SIMD proposal by providing new instructions that work on vector values. These new arithmetic instructions are non-deterministic - given the same inputs, two calls to the same instruction can return different results. The non-determinism of these instructions makes them more portable, as different machine architectures might have corresponding primitives that return different results. In such cases, if a deterministic instruction was used, only some architectures would be able to use the host primitive directly, while others would have to calculate the result in a suboptimal manner. This non-specificity thus makes it easier for WebAssembly runtimes to deliver consistent performance across various architectures.
TL;DR
We plan to implement the WebAssembly Relaxed SIMD proposal in GraalWasm.
Details
The Relaxed SIMD proposal builds on top of the existing fixed-width SIMD proposal by providing new instructions that work on vector values. These new arithmetic instructions are non-deterministic - given the same inputs, two calls to the same instruction can return different results. The non-determinism of these instructions makes them more portable, as different machine architectures might have corresponding primitives that return different results. In such cases, if a deterministic instruction was used, only some architectures would be able to use the host primitive directly, while others would have to calculate the result in a suboptimal manner. This non-specificity thus makes it easier for WebAssembly runtimes to deliver consistent performance across various architectures.
More details at https://github.com/WebAssembly/relaxed-simd/blob/main/proposals/relaxed-simd/Overview.md
The text was updated successfully, but these errors were encountered: