
Stephan Tolksdorf a écrit :
I'm sure that if you manage to write a platform and compiler independent library for vectorized basic math functions that can compete with Intel's MKL in terms of accuracy and speed, there'll be a lot of interest in your library. Being almost on-par is already OK. But those tests are usign the MKL array and not raw calls of functions. I bet that MKL array use blocking and/or pipelining.
Could you comment on what vector size you used for your timings and whether We used same settings as MKL aka 100 vector of floats and 1000 iterations per functions. you think the library will provide competitive performance for the specific vector sizes of N=1,2,3,4? Well, Boost.SIMD has a different scope. It provides pervasive acces to SIMD facility (SIMD vector of 1 element are rather useless) vector of 2 and 4 that can be mapped on proper native intrinsic type will benefit from SIMD acceleration, other will benefit from agressive inlining of boost::array. Also, do the functions properly handle denormals and overflows? We try as hard as we can. That's the main activity now, providing High Accuracy for functiosn that currently don't. We also plan to support LA and EP mode.
BTW, are you aware of the Eigen library: http://eigen.tuxfamily.org Well, considering my PHD thesis was writing such a library I am. I send you back the question, are you aware of NT2 : http://nt2.sourceforge.net ?
cause it's the project this Boost.SIMD is actually extarcted from ;) -- ___________________________________________ Joel Falcou - Assistant Professor PARALL Team - LRI - Universite Paris Sud XI Tel : (+33)1 69 15 66 35