It is, however, very vague when discussing the criteria as to which the calculations are offloaded (with added emphasis):
When doing so, a number of Eigen's algorithms are silently substituted with calls to BLAS or LAPACK routines. These substitutions apply only for Dynamic or large enough objects with one of the following four standard scalar types: float, double, complex, and complex. Operations on other scalar types or mixing reals and complexes will continue to use the built-in algorithms.
So my questions are:
- What is the criteria to be considered "large enough"
- Does it vary by platform?
- Is this dynamically determined?
- Can it be controlled by the user?
Background: I have small (25-50 square) matrices, but are large-ish on the embedded platform (Intel Atom Silvermont) we are using. Since this consumes a significant amount of CPU, I am looking to experiment with BLAS back-ends without having to substantially re-write code.