Re: Status of development /Benchmarks

Nasos Iliopoulos <[email protected]>
Newsgroups gmane.comp.lib.boost.ublas
Message-ID <[email protected]>
Rutger,
can you provide a short interface example of your most important points. 
I am interested for example in things like: how ti pick the execution 
model, for example for expression template algorithms?

-Nasos

On 12/09/2013 04:13 AM, Rutger ter Borg wrote:
>
> Hey David,
>
> the whole problem of most numerical packages, IMHO, is that everything 
> is tied together. I would encourage a very loosely coupled system. 
> I.e., a system that maybe even would be able to switch storage layout, 
> algorithms, etc., at run-time, maybe following some simple numerical 
> tests. Of course, only if this would be enabled at compile-time.
>
> Data storage and manipulation should be fully loosely coupled, from 
> low abstraction to high abstraction:
>
> * the storage of data. This is about memory-efficiency, and hence, 
> speed of computation. Storage engines might be linear, sparse, etc..
> * functional shape of the data. Dense, triangular, etc.
> * numerical properties of the data. Positive definite, etc.
> * loading and saving the data. Why not support a whole bunch of 
> data-formats
> * unified matrix/vector view on the data
> * procedural manipulation of the data, shallow views on the data, 
> views on views, etc.
>
> Algorithms should be loosely coupled, too, from low abstraction to 
> high abstraction:
>
> * execution / memory models (synchronous, asynchronous, single core, 
> multi-core, shared memory, distributed memory, GPU memory)
> * computational kernels (own C++ CPU-optimized implementations, 
> openblas, atlas, gotoblas2, lapack, mumps, opencl, cuda, fft, etc)
> * expression trees, syntax of expression trees (Boost.Proto stuff)
> * optimal assignment of computational kernels to expression trees 
> (maybe partly at runtime!)
> * being able to extend the expression tree machinery (e.g., with 
> hooks) with own algorithms
>
> Maybe a new library name would be appropriate?
>
> Cheers,
>
> Rutger
>
>
>
>
> On 2013-12-07 11:38, David Bellot wrote:
>> Hi,
>>
>> it has been a long discussion we all had for many months now. Should we
>> rewrite ublas from scratch or simply improve it.
>> Joaquim and Oswin wants a brand new ublas
>> Nasos was more in favor of improving it.
>>
>> I personally find very exciting the idea of writing something new, but
>> ublas is very well known now. On the other hand, Eigen and Armadillo
>> took the crown of the main C++ blas library in users' hearts.
>>
>> On my todo list for ublas, there are things that will require ublas to
>> be deeply changed. At this stage, we can almost talk about a new 
>> library.
>>
>> Christmas is very close now, so maybe it's a good time to start talking
>> about the features we wish for ublas and see if they can be implemented
>> with the current version or if a new uBLAS 2.0 is necessary.
>> After all, Boost::signal did the same a few years ago. We can
>> definitively do the transition.
>>
>>
>> I begin:
>>
>> - unified representation of vectors and matrices to represent the fact
>> that a vector IS a matrix. Matlab does the same
>> - automated use of different algorithm to let the compiler "chooses" the
>> best implementation (if possible) and switch on SSE, distributed or
>> whateve we need
>> - implementation of solvers and decompositions algorithms
>>
>> and this is what Nasos and I think should be integrated too:
>> 1. Matrix multiplication
>> 2. Algorithms infrastructure (so that we can have real useful features)
>> 3. Matrix/vector views for interoperability <- I think this is ultra
>> critical because now ublas is monolithic in the sense that you have to
>> use it everywhere you manipulate data. This would really help into
>> letting people for example have a list of vectors (they are plotting)
>> and ublas working on top of that to do for example transformations
>> 4. NEW DOCUMENTATION - examples and the rest
>> 5. Incorporate some critical bindings (i.e. mumps bindings which is
>> currently probably the most efficient smp and distributed open source
>> linalg solver)
>> 6. matlab binding?
>> 7. distributed ublas
>>
>>
>> Please add and ESPECIALLY, please tell me your view on the current
>> infrastructure of uBLAS. It seems many people are not happy with the
>> current "expression template" grammar.
>>
>> I'm open to everything
>>
>> Best,
>> David
>>
>>
>
>
> _______________________________________________
> ublas mailing list
> [email protected]
> http://lists.boost.org/mailman/listinfo.cgi/ublas
> Sent to: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.