Re: CI setup

Cem Bassoy via ublas <[email protected]> Thu, 3 May 2018 15:16:01 +0200
Newsgroups gmane.comp.lib.boost.ublas
Message-ID <CADrR+FsYwVn7PA=g3dfoqhhDEP1uV4b_YHmQxqvbeZH0CH6oWg@mail.gmail.com>
--===============4199527475324326166==
Content-Type: multipart/alternative; boundary="000000000000474b30056b4d0128"

--000000000000474b30056b4d0128
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, May 2, 2018 at 10:11 PM, David Bellot via ublas <
[email protected]> wrote:

> - Should we integrate smart expression templates? I think there was a gso=
c
>> project but I am not sure. What was the output?
>>
>
> =E2=80=8Bit was really good
>

okay. I cannot see it in the development branch. Is it intended to be
integrated into uBLAS?


> =E2=80=8B
>
>> - Are (smart) expression templates really required?
>>
>
> =E2=80=8Bbut after second thought, I wonder like you.
>

I think smart expression templates could be beneficial in terms of
selecting and executing high-performance kernels!
Expression templates seem to be outdated. See
https://epubs.siam.org/doi/abs/10.1137/110830125

=E2=80=8B
>
>> - How often do expressions like A =3D B*C + D*D - ... occur in numerical
>> applications?
>> - Should we provide a fast gemm implementation of the Goto-Algorithm lik=
e
>> in Eigen?
>>
>
> =E2=80=8Bwhy not.
>

Because, tuning algorithms and getting them to nearly peak performance for
standard processors is a nontrivial task to my mind. I am not sure but we
could try to integrate and link to existing highly optimized kernels.


> =E2=80=8B
>
>> And regarding the code infrastructure:
>>
>> - Do we need iterators within matrix and vector template classes? Or can
>> we generalize the concepts?
>>
>
> =E2=80=8Bonce there's been a discussion about that. Can we factorize all =
this code
> into one place, one generic concept ?
> This would make things so simple and efficient in the end.
>

Yes, I will try to built iterators for tensors so we can discuss this by
investigating my code.


> =E2=80=8B
>
>> - Can we maybe simplify/replace the projection function with overloaded
>> brackets?
>>
>
> =E2=80=8BCan we do that ? That would be awesome !=E2=80=8B
>
>

Will try to show that it is possible.



> General questions:
>> - Shall we build uBLAS a high-performance library?
>>
>
> =E2=80=8BYes, I suppose.
> What do you mean exactly by "high-performance" ?=E2=80=8B
>

I wanted to say that uBLAS could serve as an optimizer and dispatcher
between different types of existing high-performance libraries instead of
providing high-performance functions.


>
> - Could it also be a convenient wrapper library with good interfaces to
>> high-performance libraries such as OpenBLAS?
>>
>
> =E2=80=8BThere's been a lot of them written over the years. They're old n=
ow and
> having a simple way for the user to choose a "backend" would be great.
>
>
Yes I think so too.



> David
>
> _______________________________________________
> ublas mailing list
> [email protected]
> https://lists.boost.org/mailman/listinfo.cgi/ublas
> Sent to: [email protected]
>
>
Cem

--000000000000474b30056b4d0128
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 Wed, May 2, 2018 at 10:11 PM, David Bellot via ublas <span dir=3D"lt=
r">&lt;<a href=3D"mailto:[email protected]" target=3D"_blank">ublas@lis=
ts.boost.org</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" sty=
le=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);paddi=
ng-left:1ex"><div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmai=
l_quote"><span class=3D"gmail-"><blockquote class=3D"gmail_quote" style=3D"=
margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-lef=
t:1ex"><div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quot=
e"><div>- Should we integrate smart expression templates? I think there was=
 a gsoc project but I am not sure. What was the output?<br></div></div></di=
v></div></blockquote><div><br></div></span><div style=3D"font-family:arial,=
helvetica,sans-serif;font-size:small">=E2=80=8Bit was really good</div></di=
v></div></div></blockquote><div><br></div><div>okay. I cannot see it in the=
 development branch. Is it intended to be integrated into uBLAS?<br></div><=
div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0=
px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=
=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote"><span class=
=3D"gmail-"><div style=3D"font-family:arial,helvetica,sans-serif;font-size:=
small">=E2=80=8B</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"><di=
v dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote"><div></=
div><div>- Are (smart) expression templates really required?<br></div></div=
></div></div></blockquote><div><br></div></span><div style=3D"font-family:a=
rial,helvetica,sans-serif;font-size:small">=E2=80=8Bbut after second though=
t, I wonder like you.</div></div></div></div></blockquote><div><br></div><d=
iv>I think smart expression templates could be beneficial in terms of selec=
ting and executing high-performance kernels!<br></div><div>Expression templ=
ates seem to be outdated. See <a href=3D"https://epubs.siam.org/doi/abs/10.=
1137/110830125">https://epubs.siam.org/doi/abs/10.1137/110830125</a><br><br=
></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 dir=3D"ltr"><=
div class=3D"gmail_extra"><div class=3D"gmail_quote"><span class=3D"gmail-"=
><div style=3D"font-family:arial,helvetica,sans-serif;font-size:small">=E2=
=80=8B</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 dir=3D"l=
tr"><div class=3D"gmail_extra"><div class=3D"gmail_quote"><div></div><div>-=
 How often do expressions like A =3D B*C + D*D - ... occur in numerical app=
lications?<br></div><div>- Should we provide a fast gemm implementation of =
the Goto-Algorithm like in Eigen?<br></div></div></div></div></blockquote><=
div><br></div></span><div style=3D"font-family:arial,helvetica,sans-serif;f=
ont-size:small">=E2=80=8Bwhy not.</div></div></div></div></blockquote><div>=
<br></div><div>Because, tuning algorithms and getting them to nearly peak p=
erformance for standard processors is a nontrivial task to my mind. I am no=
t sure but we could try to integrate and link to existing highly optimized =
kernels.<br></div><div>=C2=A0</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 dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_=
quote"><span class=3D"gmail-"><div style=3D"font-family:arial,helvetica,san=
s-serif;font-size:small">=E2=80=8B</div><blockquote class=3D"gmail_quote" s=
tyle=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);pad=
ding-left:1ex"><div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gm=
ail_quote"><div>And regarding the code infrastructure:<br></div><div><br></=
div><div>- Do we need iterators within matrix and vector template classes? =
Or can we generalize the concepts?<br></div></div></div></div></blockquote>=
<div><br></div></span><div style=3D"font-family:arial,helvetica,sans-serif;=
font-size:small">=E2=80=8Bonce there&#39;s been a discussion about that. Ca=
n we factorize all this code into one place, one generic concept ?</div><di=
v style=3D"font-family:arial,helvetica,sans-serif;font-size:small">This wou=
ld make things so simple and efficient in the end.</div></div></div></div><=
/blockquote><div><br></div><div>Yes, I will try to built iterators for tens=
ors so we can discuss this by investigating my code.<br></div><div>=C2=A0</=
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 dir=3D"ltr"><div=
 class=3D"gmail_extra"><div class=3D"gmail_quote"><span class=3D"gmail-"><d=
iv style=3D"font-family:arial,helvetica,sans-serif;font-size:small">=E2=80=
=8B</div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8e=
x;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"=
><div class=3D"gmail_extra"><div class=3D"gmail_quote"><div></div><div>- Ca=
n we maybe simplify/replace the projection function with overloaded bracket=
s?<br></div></div></div></div></blockquote><div><br></div></span><div style=
=3D"font-family:arial,helvetica,sans-serif;font-size:small">=E2=80=8BCan we=
 do that ? That would be awesome !=E2=80=8B</div><span class=3D"gmail-"><di=
v>=C2=A0</div></span></div></div></div></blockquote><div><br></div><div>Wil=
l try to show that it is possible.<br></div><div><br>=C2=A0</div><blockquot=
e class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px s=
olid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div class=3D"gmai=
l_extra"><div class=3D"gmail_quote"><span class=3D"gmail-"><blockquote clas=
s=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid r=
gb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div class=3D"gmail_extr=
a"><div class=3D"gmail_quote"><div></div><div>General questions:</div><div>=
- Shall we build uBLAS a high-performance library?<br></div></div></div></d=
iv></blockquote><div><br></div></span><div style=3D"font-family:arial,helve=
tica,sans-serif;font-size:small">=E2=80=8BYes, I suppose.</div><div style=
=3D"font-family:arial,helvetica,sans-serif;font-size:small">What do you mea=
n exactly by &quot;high-performance&quot; ?=E2=80=8B</div></div></div></div=
></blockquote><div><br></div><div>I wanted to say that uBLAS could serve as=
 an optimizer and dispatcher between different types of existing high-perfo=
rmance libraries instead of providing high-performance functions. <br></div=
><div>=C2=A0</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 di=
r=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote"><span class=
=3D"gmail-"><div style=3D"font-family:arial,helvetica,sans-serif;font-size:=
small"><br></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 dir=
=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote"><div></div><=
div>- Could it also be a convenient wrapper library with good interfaces to=
 high-performance libraries such as OpenBLAS?<br></div></div></div></div></=
blockquote><div><br></div></span><div style=3D"font-family:arial,helvetica,=
sans-serif;font-size:small">=E2=80=8BThere&#39;s been a lot of them written=
 over the years. They&#39;re old now and having a simple way for the user t=
o choose a &quot;backend&quot; would be great.</div><div style=3D"font-fami=
ly:arial,helvetica,sans-serif;font-size:small"><br></div></div></div></div>=
</blockquote><div><br></div><div>Yes I think so too. <br></div><div><br>=C2=
=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8e=
x;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"=
><div class=3D"gmail_extra"><div class=3D"gmail_quote"><div style=3D"font-f=
amily:arial,helvetica,sans-serif;font-size:small"></div><div style=3D"font-=
family:arial,helvetica,sans-serif;font-size:small">David</div></div></div><=
/div>
<br>______________________________<wbr>_________________<br>
ublas mailing list<br>
<a href=3D"mailto:[email protected]">[email protected]</a><br>
<a href=3D"https://lists.boost.org/mailman/listinfo.cgi/ublas" rel=3D"noref=
errer" target=3D"_blank">https://lists.boost.org/<wbr>mailman/listinfo.cgi/=
ublas</a><br>
Sent to: <a href=3D"mailto:[email protected]">[email protected]</a><b=
r>
<br></blockquote></div><br></div><div class=3D"gmail_extra">Cem<br></div></=
div>

--000000000000474b30056b4d0128--

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