Boost logo

Ublas :

Subject: Re: [ublas] CI setup
From: Cem Bassoy (cem.bassoy_at_[hidden])
Date: 2018-04-30 09:26:57


On Mon, Apr 30, 2018 at 10:03 AM, David Bellot <david.bellot_at_[hidden]>
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_at_[hidden]> 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_at_[hidden]> 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,
>>>
>>> [image: Stefan]
>>>
>>> --
>>>
>>> ...ich hab' noch einen Koffer in Berlin...
>>>
>>>
>>> _______________________________________________
>>> ublas mailing list
>>> ublas_at_[hidden]
>>> https://lists.boost.org/mailman/listinfo.cgi/ublas
>>> Sent to: cem.bassoy_at_[hidden]
>>>
>>
>> _______________________________________________
>> ublas mailing list
>> ublas_at_[hidden]
>> https://lists.boost.org/mailman/listinfo.cgi/ublas
>> Sent to: david.bellot_at_[hidden]
>>
>>
>