
Boost : 
Subject: Re: [boost] [qvm] Doesn qvm contain any sse/avx etc optimizations?
From: Emil Dotchevski (emildotchevski_at_[hidden])
Date: 20161012 15:33:19
On Wed, Oct 12, 2016 at 4:45 AM, Viktor Sehr <viktor.sehr_at_[hidden]> wrote:
> 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 userdefined 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
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk