Re: CI setup

Cem Bassoy via ublas <[email protected]> Mon, 30 Apr 2018 11:26:57 +0200
Newsgroups gmane.comp.lib.boost.ublas
Message-ID <CADrR+FvtOCyQ-sO6kn608ZU6cLPNrnjgA0XP2uJXbZwYDSx-Rg@mail.gmail.com>
--===============7069567835524129903==
Content-Type: multipart/alternative; boundary="0000000000008e25dc056b0d749f"

--0000000000008e25dc056b0d749f
Content-Type: text/plain; charset="UTF-8"

On Mon, Apr 30, 2018 at 10:03 AM, David Bellot <[email protected]>
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 <
> [email protected]> 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 <[email protected]> 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
>>> [email protected]
>>> https://lists.boost.org/mailman/listinfo.cgi/ublas
>>> Sent to: [email protected]
>>>
>>
>> _______________________________________________
>> ublas mailing list
>> [email protected]
>> https://lists.boost.org/mailman/listinfo.cgi/ublas
>> Sent to: [email protected]
>>
>>
>

--0000000000008e25dc056b0d749f
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Mon, Apr 30, 2018 at 10:03 AM, David Bellot <span dir=3D"ltr">&lt;<a=
 href=3D"mailto:[email protected]" target=3D"_blank">david.bellot@gmai=
l.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"m=
argin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left=
:1ex"><div dir=3D"ltr"><div style=3D"font-family:arial,helvetica,sans-serif=
;font-size:small">Yes try to fork from=C2=A0<a href=3D"https://github.com/u=
BLAS/ublas" target=3D"_blank">https://github.com/uBLAS/<wbr>ublas</a></div>=
<div style=3D"font-family:arial,helvetica,sans-serif;font-size:small">We ha=
ve our own repository for ublas development.</div><div style=3D"font-family=
:arial,helvetica,sans-serif;font-size:small"><br></div></div></blockquote><=
div>But what about <a href=3D"https://github.com/BoostGSoC18">https://githu=
b.com/BoostGSoC18</a><br>=C2=A0</div><blockquote class=3D"gmail_quote" styl=
e=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);paddin=
g-left:1ex"><div dir=3D"ltr"><div style=3D"font-family:arial,helvetica,sans=
-serif;font-size:small">Silly questions: can we have right from the beginni=
ng a fixed dimensions tensors on top of the regular tensor ?</div></div></b=
lockquote><br>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 suppo=
rting tensors with static rank/order (number of dimensions) and static dime=
nisons <span style=3D"font-size:10pt;font-family:Ubuntu;color:rgb(0,0,128);=
background-color:transparent;font-weight:300;font-style:normal;font-variant=
:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-w=
rap" id=3D"gmail-docs-internal-guid-815675ec-15c4-1934-a038-2e3a248bd925"><=
a href=3D"https://github.com/romeric/Fastor">https://github.com/romeric/Fas=
tor</a></span> with optimizations.<br></div><div class=3D"gmail_quote"><div=
>If I recall correctly, Eigen, Blitz and other libraries set the order/rank=
 as a compile time parameter.<br></div><div>However, some applications with=
 graphical interfaces creating / invoking tensors at runtime might need the=
 order to be a dynamic parameter. <br>Boost could be one of the few librari=
es to support these type of applications.<br><br></div><div><br></div><bloc=
kquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:=
1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div style=3D=
"font-family:arial,helvetica,sans-serif;font-size:small">I&#39;m not sure m=
y 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 bene=
fit from extra optimization from the compiler ?</div></div><div class=3D"gm=
ail_extra"><br></div></blockquote><div>=C2=A0</div><div>Yes for small tenso=
r sizes there is a benefit. The compiler is able to optimize much better. H=
owever, for larger tensor sizes designing tensor algorithms with high spati=
al and temporal data locality is the key design criteria to my mind. <br></=
div><div>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 flexib=
le version. Once that is finished ( GSOC) we could continue on turning runt=
ime variable parameters into static ones. <br><br></div><div>Regards<br></d=
iv><div>Cem<br></div><div><br></div><div>=C2=A0</div><blockquote class=3D"g=
mail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204=
,204,204);padding-left:1ex"><div class=3D"gmail_extra"><div class=3D"gmail_=
quote"><div><div class=3D"gmail-m_2999176144031354884h5">On Sun, Apr 29, 20=
18 at 8:36 PM, Cem Bassoy via ublas <span dir=3D"ltr">&lt;<a href=3D"mailto=
:[email protected]" target=3D"_blank">[email protected]</a>&gt;</sp=
an> wrote:<br></div></div><blockquote class=3D"gmail_quote" style=3D"margin=
:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"=
><div><div class=3D"gmail-m_2999176144031354884h5"><div dir=3D"ltr"><div di=
r=3D"auto"><div>Hi,</div><div dir=3D"auto"><br></div><div dir=3D"auto">than=
ks Stefan. I somehow cannot push local commits to the remote. Are we suppos=
ed to fork from GSOC/UBLAS ?<br><br></div><div>Stefan, do we agree on my pr=
oject proposal? <br>If yes, I would like to start designing the tensor and =
helper template classes.<br></div><div>I would choose the rank/order (numbe=
r of dimensions), the dimensions and the layout to be runtime variables. <b=
r>So the only two template parameters would be data type and the storage ar=
ray type (unbounded/bounded array). <br></div><div><br></div><div>Regards,<=
br></div><div>Cem<br></div><div><br><br></div><div dir=3D"auto"><br></div><=
div><br></div><div><br><br></div><div dir=3D"auto"><br><div class=3D"gmail_=
quote" dir=3D"auto"><div><div class=3D"gmail-m_2999176144031354884m_5671829=
382908555135h5"><div dir=3D"ltr">Stefan Seefeld via ublas &lt;<a href=3D"ma=
ilto:[email protected]" rel=3D"noreferrer" target=3D"_blank">ublas@list=
s.boost.org</a>&gt; schrieb am Fr., 27. Apr. 2018, 16:25:<br></div></div></=
div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bor=
der-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div class=3D"gm=
ail-m_2999176144031354884m_5671829382908555135h5">
 =20

   =20
 =20
  <div bgcolor=3D"#FFFFFF">
    <p>Hi all,</p>
    <p>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.</p>
    <p>I&#39;m thus going to set up some basic CI coverage (Travis-CI and
      AppVeyor) over the next couple of days. Once that&#39;s done, all the
      GSoC repos can rebase onto that and do whatever else is needed to
      use these services. I&#39;ll send a note once it&#39;s ready.</p>
    <p>Regards,<br>
    </p>
    <div class=3D"gmail-m_2999176144031354884m_5671829382908555135m_1328103=
617183461534m_-8585305991958965649m_-5261198844935838050m_-8458152222380803=
622m_3392425853622703047moz-signature"><br>
      <div class=3D"gmail-m_2999176144031354884m_5671829382908555135m_13281=
03617183461534m_-8585305991958965649m_-5261198844935838050m_-84581522223808=
03622m_3392425853622703047moz-signature"><img alt=3D"Stefan" width=3D"73" h=
eight=3D"45"><br>
        <pre>--

      ...ich hab&#39; noch einen Koffer in Berlin...
    </pre>
      </div>
    </div>
  </div></div></div>

______________________________<wbr>_________________<br>
ublas mailing list<br>
<a href=3D"mailto:[email protected]" rel=3D"noreferrer noreferrer" targ=
et=3D"_blank">[email protected]</a><br>
<a href=3D"https://lists.boost.org/mailman/listinfo.cgi/ublas" rel=3D"noref=
errer noreferrer noreferrer" target=3D"_blank">https://lists.boost.org/mail=
ma<wbr>n/listinfo.cgi/ublas</a><br>
Sent to: <a href=3D"mailto:[email protected]" rel=3D"noreferrer noreferr=
er" target=3D"_blank">[email protected]</a><br>
</blockquote></div></div></div></div>
<br>______________________________<wbr>_________________<br>
ublas mailing list<br>
<a href=3D"mailto:[email protected]" target=3D"_blank">[email protected]=
t.org</a><br>
<a href=3D"https://lists.boost.org/mailman/listinfo.cgi/ublas" rel=3D"noref=
errer" target=3D"_blank">https://lists.boost.org/mailma<wbr>n/listinfo.cgi/=
ublas</a><br></div></div>
Sent to: <a href=3D"mailto:[email protected]" target=3D"_blank">david.=
[email protected]</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div></div>

--0000000000008e25dc056b0d749f--

--===============7069567835524129903==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline