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"><<a href=3D"mailto:[email protected]" target=3D"_blank">ublas@lis= ts.boost.org</a>></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'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 "high-performance" ?=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's been a lot of them written= over the years. They're old now and having a simple way for the user t= o choose a "backend" 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