[qvm] Doesn qvm contain any sse/avx etc optimizations?
On Wed, Oct 12, 2016 at 4:45 AM, Viktor Sehr
If not, is it planned for utilizing it?
/Viktor
QVM makes no assumptions about the way the data is organized in matrix and vector objects, indeed it can work with any user-defined quat, vec or mat type, and with things called view proxies. For example, rotx_mat ( http://boostorg.github.io/qvm/rotx_mat_scalar_.html) makes a scalar appear as a rotation matrix. The optimizations you're asking about can't be implemented in this general case. It is, of course, possible to introduce a matrix type that defines more efficient operations across the board. But then that type would require a matching vector type as well. And if we define all types and all operations, we've made a vector math library that shouldn't to be coupled with (or part of) QVM. In fact, QVM has been designed to work seamlessly with such libraries. That said, QVM enables a different approach to optimizations. An application can define its own matrix/vector types, use QVM to supply all operations, and then (possibly at a later time, informed by profiling) define and optimize only a select critical subset of operations that work with those types. Emil
participants (2)
-
Emil Dotchevski
-
Viktor Sehr