hi all,
for some time, i have been working on nova-simd, a cross-platform SIMD library
library written in c++. it abstracts the platform-specific APIs and provides a
`vec' class, which maps to a SIMD floating-point vector on the target machines
and which can be used to formulate more complex algorithms. for some commonly
used vector functionality, helper functions are provided, which are built using
the vec class.
features:
- same interface for different SIMD architectures
- supported backends: sse-family, avx, altivec, arm/neon
- some backends include vectorized implementations of libm functions
- extensively used in supercollider
- header-only c++ (no runtime dependencies, composable), no dependencies
canveats:
- little documentations/examples
- no release, no tarball, just a git repository [1] and a web interface [2]
- header-only c++ (no c support)
maybe it is useful for other people as well...
cheers, tim
[1]
git://tim.klingt.org/nova-simd.git
[2]
http://tim.klingt.org/git?p=nova-simd.git;a=summary
--
tim(a)klingt.org
http://tim.klingt.org
Art is either a complaint or do something else
John Cage quoting Jasper Johns