Skip to content

SIMD intrinsics supported by the OxCaml compiler.

License

Notifications You must be signed in to change notification settings

janestreet/ocaml_simd

Repository files navigation

SIMD Libraries

This set of libraries define native SIMD vector types and typed SIMD intrinsics. They currently support 128/256-bit numeric types and amd64 intrinsics up to AVX2.

To use SIMD in your program, add the library ocaml_simd_avx and the PPX ppx_simd to your jbuild.

  • ocaml_simd_avx provides AVX vector types and operations. See the interface files under /avx for details.

  • ppx_simd provides convenient type-checked syntax for specifying constants that modify the behavior of SIMD instructions. See /ppx for details.

  • Note that the ocaml_simd library only provides cross-instruction-set abstract types and constant definitions. You do not need to depend on this library directly. Instead, these constants are generated by ppx_simd. See /src for details.

  • A sexp parser may be found in ocaml_simd_sexp. It uses SIMD instructions to achieve a performance improvement over sexplib's parser. See /sexp for details.

The current set of libraries are intended for low-level use cases, and will form the basis for a higher-level cross-platform library in the future.

About

SIMD intrinsics supported by the OxCaml compiler.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •