primitive-simd: SIMD data types and functions

[ bsd3, data, library ] [ Propose Tags ]

This package provides a lifted version of the SIMD data types and instructions from ghc-prim.

The implementation is based on type families to provide a uniform interface to all different vector types. Instances for numeric operations, Prim, Storable and unboxed vector instances are provided.

Although not all processors support 256 or 512-bit vectors this package provides a uniform interface. Vectors which are bigger than supported are modeled by combining smaller vectors. If the same code is compiled on a computer supporting larger vectors the smaller vectors are replaced by larger vectors.

Note: This package needs to be compiled with LLVM as the NCG does not know how to deal with SIMD-instructions. If LLVM is not available, use -f no-vec to disable the use of SIMD instructions. While this will give you no speedup, it will work with plain Haskell (and should even work with GHCJS).

Modules

[Index]

Flags

Manual Flags

NameDescriptionDefault
no-vec

Disable all vector hardware instructions. Your code will run on all hardware but also be a lot slower.

Disabled
vec256

Enable 256-bit vector hardware instructions. Your code will only run if your CPU supports 256-bit vector instructions.

Disabled
vec512

Enable 512-bit vector hardware instructions. Your code will only run if your CPU supports 512-bit vector instructions.

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0
Dependencies base (>=4.7 && <5), ghc-prim (>=0.3.1), primitive (>=0.5), vector (>=0.10) [details]
License BSD-3-Clause
Copyright (c) 2015 Anselm Jonas Scholl
Author Anselm Jonas Scholl
Maintainer anselm.scholl@tu-harburg.de
Category Data
Source repo head: git clone git://github.com/ajscholl/primitive-simd.git
Uploaded by JonasScholl at 2016-02-01T22:37:38Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 930 total (4 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]