I'm pleased to announce the release of version 0.6 of the SIMD vector classes for C++.
The major improvement of 0.6 over 0.5 is its support for the AVX instructions in current AMD and Intel CPUs. For example, the Mandelbrot benchmark shows a two-fold speedup of AVX over SSE, and there were no code changes required in the Mandelbrot code itself.
There were also many other small changes to improve compiler compatibility, simplify API usage and optimize resulting binary code.
The Vc 0.5 branch was stable for a long time, already. So I finally tagged 0.5.0.
Nevertheless, for new projects I encourage to start with the 0.6 series already.
Beginning the process of stabilizing for 0.6. The major change for this version is the introduction of an AVX implementation.
Please report any bugs or problems to the mailing list.
0.5 really seems stable enough. I'll tag 0.5 soon unless I get a bug report.
The 0.5 branch has stabilized to a point where I don't expect any bigger issues to come up anymore. It is now tested on several different vanilla distribution installations - and shows no issues there.
In preparation of stabilizing the API the 0.5 release series is paving the way for Vc 1.0.Compared to the 0.4 series 0.5 cleans up the API some more and introduces the following features:
- prefetch API
- simple malloc API for alignments
- much improved and more flexible load/store API
- ready to use cmake modules
- more robust internal aliasing implementation
- faster short_v division
- improved compatibility with compilers and assemblers
- The MacOS assembler detection is currently not working correctly - though the result of this should be correct.
- There have been reports from Fedora systems that compilation fails. This was not reproducible with vanilla GCC installations of any version.
- GCC 4.5.1 reports an internal compiler error: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46723
After 0.4 was in beta for a long time with little feedback but a few important backports from master, I today release 0.4.0.
This release should work with GCC 4.x.x and even older binutils releases. Other compilers are known to make problems, but please report any problems nevertheless.
Also available in: Atom