On 30/10/14 12:52, Gerald Lodron wrote:
> Hello
>
> I am searching for a fast sorting algorithm and found floki:
>
https://github.com/khegeman/floki
> which uses the boost simd library of nt2.
I wasn't aware of this.
We, the NT2 developers, actually have our own version of a bitonic sort
algorithm using Boost.SIMD, but it's not available online.
> I successfully compiled nt2 3.1.2 with boost 1.56.0, tbb 4.2.3 and CUDA
> 6.5.14 with VS2013x64 and tested the floki::sort of related link in my
> own software test (so do not compield floki directly, only copied the
> aa-sort algorithm of it which uses your boost simd).
>
> I compared it with std::sort (there should be a significant improvement
> due to the autor) and it was much slower:
Bear in mind that VS2013 is known to perform much worse than clang with
regards to Boost.SIMD, particularly for the constructs that floki
appears to use.
VS2013's AVX support is also a bit buggy.
>
> My processor has AVX support with 256 bit registers (Intel Xeon E5-1620
> v2) and I also have a GTX 760 if required (but don’t think so).
>
>
> Do I have to tell the boost library that it should use AVX? How can i
> find out which internals (AVX, SSE etc.) the boost library use?
Since you're building for 64-bit, you have SSE enabled by default.
To enable AVX, you need to build with the /arch:AVX compilation flag.