On Mon, Apr 30, 2018 at 10:03 AM, David Bellot <david.bellot@gmail.com> wrote:
Yes try to fork from https://github.com/uBLAS/ublas
We have our own repository for ublas development.

But what about https://github.com/BoostGSoC18
 
Silly questions: can we have right from the beginning a fixed dimensions tensors on top of the regular tensor ?

Yes we can have. I would like to start with runtime variable parameters though. On top of that we might add a tensor template class with static dimensions for static memory allocation. There is one library supporting tensors with static rank/order (number of dimensions) and static dimenisons https://github.com/romeric/Fastor with optimizations.
If I recall correctly, Eigen, Blitz and other libraries set the order/rank as a compile time parameter.
However, some applications with graphical interfaces creating / invoking tensors at runtime might need the order to be a dynamic parameter.
Boost could be one of the few libraries to support these type of applications.


I'm not sure my questions is relevant in the tensor world, but what I mean is, if we can either have the rank/order,etc... as a template parameter we can maybe benefit from extra optimization from the compiler ?

 
Yes for small tensor sizes there is a benefit. The compiler is able to optimize much better. However, for larger tensor sizes designing tensor algorithms with high spatial and temporal data locality is the key design criteria to my mind.
Supporting two or even three versions would be the best option. If we do not focus on small tensors, I would first start with the most flexible version. Once that is finished ( GSOC) we could continue on turning runtime variable parameters into static ones.

Regards
Cem

 
On Sun, Apr 29, 2018 at 8:36 PM, Cem Bassoy via ublas <ublas@lists.boost.org> wrote:
Hi,

thanks Stefan. I somehow cannot push local commits to the remote. Are we supposed to fork from GSOC/UBLAS ?

Stefan, do we agree on my project proposal?
If yes, I would like to start designing the tensor and helper template classes.
I would choose the rank/order (number of dimensions), the dimensions and the layout to be runtime variables.
So the only two template parameters would be data type and the storage array type (unbounded/bounded array).

Regards,
Cem







Stefan Seefeld via ublas <ublas@lists.boost.org> schrieb am Fr., 27. Apr. 2018, 16:25:

Hi all,

as we have three students working on Boost.uBLAS projects this summer, I think it would be useful to have some CI coverage to allow new code to be tested across platforms.

I'm thus going to set up some basic CI coverage (Travis-CI and AppVeyor) over the next couple of days. Once that's done, all the GSoC repos can rebase onto that and do whatever else is needed to use these services. I'll send a note once it's ready.

Regards,


Stefan
--

      ...ich hab' noch einen Koffer in Berlin...
    
_______________________________________________
ublas mailing list
ublas@lists.boost.org
https://lists.boost.org/mailman/listinfo.cgi/ublas
Sent to: cem.bassoy@gmail.com

_______________________________________________
ublas mailing list
ublas@lists.boost.org
https://lists.boost.org/mailman/listinfo.cgi/ublas
Sent to: david.bellot@gmail.com