David,
I have been working on a generic stato-dynamic multi-dimensional array that can enable something like what you propose. It uses C++11 functionality (variadic templates and functions mainly). Please take a look at: https://github.com/nasosi/mdsdarray and https://github.com/nasosi/mdsdarray/wiki/Interface-examples.  The developement is slow-paced because I am working on it at the rare free time I have on weekends.
I am currently thinking of how to implement an appropriate iterator that would be SIMD friendly. In that context I am considering something across the lines of the interface of OpenCL and CUDA. This would work nicely with the C+11 new for loops as well.

If you think your proposal can build on top or even contribute to mdsdarray,  I can provide a version under a Boost or  MIT license.

Best,
-Nasos


On 03/23/2013 08:47 AM, David Bellot wrote:
Hi guys,

I proposed a Google Summer of Code project for uBLAS.
It's based on the wish list that has been done
some time ago a long time ago.

The main idea is to refactor vector into matrix to have only one internal and external representation, one set of algorithm. As a convenience, the class vector<> will still exist and will, for example, be by default a row-vector (like a simple C-array would be). Or a column-vector if we prefer but I think matlab is row-oriented by default (and I hate R which is column oriented, even if I use it every single day at work !!! :-D :-D ah ah ah ah ! Let the flame war begin)
.

OK, the idea behind this is to have a clean framework to enable optimization based on SSE, Neon, multi-core, ... you name it.
I'm sure the student who will work on that will take inspiration from boost::bindings, Eigen, Armadillo, etc...
The project is very open, so suggestions are most welcome.

Best,
David



_______________________________________________
ublas mailing list
ublas@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/ublas
Sent to: athanasios.iliopoulos.ctr.gr@nrl.navy.mil