Skip to content

SIMD intrinsics supported by the OxCaml compiler.

License

Notifications You must be signed in to change notification settings

janestreet/ocaml_simd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

  •  
  •  
  •