@hackage yarr0.9.1
Yet another array library
Categories
License
MIT
Maintainer
Roman Leventov <leventov@ya.ru>
Links
Versions
Installation
Dependencies (7)
- base >=4.6 && <4.7
- deepseq >=1.3 && <1.4
- fixed-vector ==0.1.2.1
- ghc-prim >=0.3 && <0.4
- missing-foreign ==0.1.1
- primitive >=0.2 Show all…
Dependents (2)
@hackage/acme-everything, @hackage/yarr-image-io
Yarr is a new blazing fast dataflow framework (array library),
mainly intented to process Storables (including all "primitive" numeric types)
and fixed-vectors of them, for example coordinates,
color components, complex numbers.
Yarr framework is inspired by repa library and inherits its features,
including shape-polymorphism and auto-parallelism.
Additionaly, the framework is polymorphic over type and arity
of fixed-size vectors and supports neat flow operations over them.
For example, you can convert colored image to greyscale like this:
let greyImage = zipElems (\r g b -> 0.21 * r + 0.71 * g + 0.07 * b) image
The library is considerably faster than repa.
Canny edge detector on Yarr is 40% (on 5 threads)
and 55% (in sequential mode) faster then on repa.
Shortcoming by design: lack of pure indexing interface.
Work ahead:
Safe fold wrappers
Unresolved issues with parameterized unrolling in slice-wise loading
To start with, read documentation in the root module: Data.Yarr.
Yarr!