-- Initial simd.cabal generated by cabal init. For further documentation, -- see http://haskell.org/cabal/users-guide/ name: simd version: 0.1.0.0 synopsis: simple interface to GHC's SIMD instructions description: SIMD (Single Instruction Multiple Data) CPU instructions provide a simple and fast way to parallelize numeric computations. GHC 7.8 provides primops that let us access these instructions. This package wraps thos primops in a more user friendly form. . The API is in two parts. First, it provides a thin wrapper around the primops in the same style as the "Data.Primitive" API. Second, it provides an interface for working with vectors in parallel. This interface consists of Unbox and Storable instances for the SIMD types, and efficient methods for converting between a SIMD Vector and a standard vector. . At the github repository, there is that uses criterion to measure the performance of calculating the l2 distance between vectors. There are many different versions of this function in the example. Each is written in different styles that demonstrate correct (and incorrect!) use of the library. homepage: http://github.com/mikeizbicki/simd license: BSD3 license-file: LICENSE author: Mike Izbicki maintainer: mike@izbicki.me -- copyright: category: Math build-type: Simple extra-source-files: README.md cabal-version: >=1.10 library exposed-modules: Data.SIMD Data.SIMD.SIMD4 Data.SIMD.SIMD8 Data.SIMD.SIMD16 -- other-modules: -- other-extensions: build-depends: base >=4.7 && <4.8, ghc-prim >=0.3 && <0.4, primitive >=0.5 && <0.6, vector >=0.10.9 ghc-options: -fllvm -O2 -mavx -mavx2 -mavx512f -funbox-strict-fields hs-source-dirs: src default-language: Haskell2010