Re: mtl4?
Peter Gottschling <[email protected]> Wed, 19 Sep 2007 11:24:07 +0200
| Newsgroups | gmane.comp.lib.mtl.devel |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format. --===============0661014488== Content-Type: multipart/alternative; boundary="------------010205050505090304070700" This is a multi-part message in MIME format. --------------010205050505090304070700 Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by milliways.osl.iu.edu id l8J9NZ0I025484 Hi Yaron, That is a very interesting question. Very generally spoken it addresses=20 the same goals but in a very different style. The numerical principles=20 behind the libraries are certainly quite close. I have to admit that=20 PETSc has by far more numerical functionality than MTL4 now. And that=20 won't change soon as PETSc contains about 50-60 man years of development=20 (according to my rough integration of their employment/activity history). Nevertheless, there are several advantages over PETSc as you assumed. =20 PETSc and all other C and Fortran libraries are written for a certain=20 set of numerical scalar types, usually float, double, complex<float>,=20 and complex<double> or a subset of those. MTL is implemented=20 generically and is applicable to all types that hold all syntactic and=20 semantic requirements for a specific generic function or operator, i.e.=20 the numeric type provides the relevant operators and functions and those=20 behave accordingly.=20 For instance you can define matrices of types that satisfy the algebraic=20 requirements of a ring (for some applications of matrices -- e.g., a CG=20 solver -- you need of course a more restrictive behavior, i.e. a field=20 (and if you take rounding errors and overflows into account no intrinsic=20 and very few user-defined types really hold the algebraic definitions=20 (but this is a discussion on its own))). That means you can have=20 matrices and vectors of int, unsigned, quaternions, intervals,=20 rationals, and matrices and vectors themselves. I say this with some=20 remorse because I haven't tried to use these types although I know that=20 it should work. To enable arbitrary nestings of matrices and vectors I=20 developed a non-trivial meta-programming categorization scheme and=20 operator dispatching. Most of this applies to several generic math libraries. Some new=20 techniques to improve the performance I developed for MTL4. Loops can=20 be unrolled at compile-time and the programmer can say in the function=20 call how much unrolling or tiling is desired. Other C++ templates did=20 this before but I managed to handle one little detail that is paramount=20 to benefit from super-scalar processors: using separate temporaries for=20 independent operations.=20 If you are familiar with PETSc you will realize how different MTL4=20 programs look when you have a glance at the tutorial: http://www.osl.iu.edu/research/mtl/mtl4/doc/index.html Maybe (hopefully) Matt from the PETSc team likes to comment on this. Regards, Peter Yaron Kretchmer schrieb: > Hi Peter > Could you comment on what advantages does MTL4 offer when compared to P= etsc data structures and solvers? > > Yaron Kretchmer > =20 > Methodology Office, Altera Corp. > Office: 408-544-7326 > Cell: 510-673-2826=20 > > -----Original Message----- > From: [email protected] [mailto:[email protected]= ] On Behalf Of Vitaly Shishakov > Sent: Tuesday, September 18, 2007 8:28 AM > To: General Matrix Template Library (MTL) list > Subject: Re: MTL: mtl4? > > OK, sign me in!=20 > > > On 18 =D3=C5=CE=D4=D1=C2=D2=D1 2007, Peter Gottschling wrote: > =20 >> Dear mailing list subscribers, >> >> After implementing MTL4 for more than a year I reached a point where=20 >> the library provides enough functionality to be useful (e.g. to=20 >> implement linear solvers). It is still not complete nor has it=20 >> production code quality. >> >> Currently the library is in process of internal revision. However,=20 >> all reviewers are extremely busy and the feed-back to this point is=20 >> rather limited. Therefore, I wish to open the review process slightly= =20 >> and look for alpha testers here on the mailing list (who I also=20 >> consider close persons). >> >> If somebody amongst the readers of this mail is interested in trying=20 >> the new version then he or she can send a mail to me or the mailing=20 >> list. It is understood that the code is treated confidentially before=20 >> it is published on the web. >> >> Best wishes, >> >> Peter >> >> Bill Greene schrieb: >> =20 >>> I almost hesitate to ask this, but is there any new estimate of when=20 >>> MTL 4 might be available? >>> >>> Thanks. >>> =20 > > > > _______________________________________________ > This list is archived at http://www.osl.iu.edu/MailArchives/mtl-devel/ > > > Confidentiality Notice. This message may contain information that is c= onfidential or otherwise protected from disclosure. > If you are not the intended recipient, you are hereby notified that any= use, disclosure, dissemination, distribution,=20 > or copying of this message, or any attachments, is strictly prohibited.= If you have received this message in error,=20 > please advise the sender by reply e-mail, and delete the message and an= y attachments. Thank you. > > > > > _______________________________________________ > This list is archived at http://www.osl.iu.edu/MailArchives/mtl-devel/ --=20 Dr. rer. nat. Peter Gottschling Dresdner Grundwasserforschungszentrum e.V. (DGFZ) Meraner Str. 10 01217 Dresden Germany ..................................................................... phone: +49 (0) 351 / 4050651 fax: +49 (0) 351 / 4050679 web: http://www.dgfz.de ..................................................................... VR 210 Ust.-Id DE140134319 GF: Dr. F. Bo"rner ..................................................................... Veranstaltungshinweise: Weiterbildung im DGFZ e.V. Seminare im Rahmen der Sachkunde der Sachverst. Altlasten/Bodenschutz B.6: Sanierungsuntersuchung/Sanierung, 14./15.09.2007 Fortbildung der Sachversta"ndigen am 27./28.09.2007 14.-16.11.2007 Modellierung mit PCGEOFIM Programm und Termine: http://www.dgfz.de/aktuell 06./07.11.2007 XVIII. Sa"chsisches Altlastenkolloquium und regionaler Workshop des BMBF-Fo"rderschwerpunktes KORA "Natu"rliche Schadstoffminderungsprozesse bei der Altlastenbearbeitung" Programm und Anmeldung: http://www.dgfz.de/index_altlastenkolloquium=20 --------------010205050505090304070700 Content-Type: text/html; charset=KOI8-R Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by milliways.osl.iu.edu id l8J9NZ0I025484 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content=3D"text/html;charset=3DKOI8-R" http-equiv=3D"Content-Type= "> </head> <body bgcolor=3D"#ffffff" text=3D"#000000"> Hi Yaron,<br> <br> That is a very interesting question.=9A Very generally spoken it addresses the same goals but in a very different style.=9A The numerical principles behind the libraries are certainly quite close.=9A I have to admit that PETSc has by far more numerical functionality than MTL4 now.=9A And that won't change soon as PETSc contains about 50-60 man years of development (according to my rough integration of their employment/activity history).<br> <br> Nevertheless, there are several advantages over PETSc as you assumed.=9A PETSc and all other C and Fortran libraries are written for a certain set of numerical scalar types, usually float, double, complex<float>, and complex<double> or a subset of those.=9A MTL is implemented generically and is applicable to all types that hold all syntactic and semantic requirements for a specific generic function or operator, i.e. the numeric type provides the relevant operators and functions and those behave accordingly.=9A <br> <br> For instance you can define matrices of types that satisfy the algebraic requirements of a ring (for some applications of matrices -- e.g., a CG solver -- you need of course a more restrictive behavior, i.e. a field (and if you take rounding errors and overflows into account no intrinsic and very few user-defined types really hold the algebraic definitions (but this is a discussion on its own))).=9A That means you can have matrices and vectors of int, unsigned, quaternions, intervals, rationals, and matrices and vectors themselves.=9A I say this with some remorse because I haven't tried to use these types although I know that it should work.=9A To enable arbitrary nestings of matrices and vectors I developed a non-trivial meta-programming categorization scheme and operator dispatching.<br> <br> Most of this applies to several generic math libraries.=9A Some new techniques to improve the performance I developed for MTL4.=9A Loops can be unrolled at compile-time and the programmer can say in the function call how much unrolling or tiling is desired.=9A Other C++ templates did this before but I managed to handle one little detail that is paramount to benefit from super-scalar processors: using separate temporaries for independent operations.=9A <br> <br> If you are familiar with PETSc you will realize how different MTL4 programs look when you have a glance at the tutorial:<br> <a class=3D"moz-txt-link-freetext" href=3D"http://www.osl.iu.edu/research/mtl/mtl4/doc/index.html">http://w= ww.osl.iu.edu/research/mtl/mtl4/doc/index.html</a> <br> <br> Maybe (hopefully) Matt from the PETSc team likes to comment on this.<br> <br> Regards,<br> =9A Peter<br> <br> Yaron Kretchmer schrieb: <blockquote cite=3D"mid:[email protected]= riv.altera.com" type=3D"cite"> <pre wrap=3D"">Hi Peter Could you comment on what advantages does MTL4 offer when compared to Pet= sc data structures and solvers? Yaron Kretchmer =20 Methodology Office, Altera Corp. Office: 408-544-7326 Cell: 510-673-2826=20 -----Original Message----- From: <a class=3D"moz-txt-link-abbreviated" href=3D"mailto:mtl-devel-boun= [email protected]">[email protected]</a> [<a class=3D"moz-txt-lin= k-freetext" href=3D"mailto:[email protected]">mailto:mtl-devel= [email protected]</a>] On Behalf Of Vitaly Shishakov Sent: Tuesday, September 18, 2007 8:28 AM To: General Matrix Template Library (MTL) list Subject: Re: MTL: mtl4? OK, sign me in!=20 On 18 =D3=C5=CE=D4=D1=C2=D2=D1 2007, Peter Gottschling wrote: </pre> <blockquote type=3D"cite"> <pre wrap=3D"">Dear mailing list subscribers, After implementing MTL4 for more than a year I reached a point where=20 the library provides enough functionality to be useful (e.g. to=20 implement linear solvers). It is still not complete nor has it=20 production code quality. Currently the library is in process of internal revision. However,=20 all reviewers are extremely busy and the feed-back to this point is=20 rather limited. Therefore, I wish to open the review process slightly=20 and look for alpha testers here on the mailing list (who I also=20 consider close persons). If somebody amongst the readers of this mail is interested in trying=20 the new version then he or she can send a mail to me or the mailing=20 list. It is understood that the code is treated confidentially before=20 it is published on the web. Best wishes, Peter Bill Greene schrieb: </pre> <blockquote type=3D"cite"> <pre wrap=3D"">I almost hesitate to ask this, but is there any new = estimate of when=20 MTL 4 might be available? Thanks. </pre> </blockquote> </blockquote> <pre wrap=3D""><!----> _______________________________________________ This list is archived at <a class=3D"moz-txt-link-freetext" href=3D"http:= //www.osl.iu.edu/MailArchives/mtl-devel/">http://www.osl.iu.edu/MailArchi= ves/mtl-devel/</a> Confidentiality Notice. This message may contain information that is con= fidential or otherwise protected from disclosure. If you are not the intended recipient, you are hereby notified that any u= se, disclosure, dissemination, distribution,=20 or copying of this message, or any attachments, is strictly prohibited. = If you have received this message in error,=20 please advise the sender by reply e-mail, and delete the message and any = attachments. Thank you. _______________________________________________ This list is archived at <a class=3D"moz-txt-link-freetext" href=3D"http:= //www.osl.iu.edu/MailArchives/mtl-devel/">http://www.osl.iu.edu/MailArchi= ves/mtl-devel/</a></pre> </blockquote> <br> <br> <pre class=3D"moz-signature" cols=3D"72">--=20 Dr. rer. nat. Peter Gottschling Dresdner Grundwasserforschungszentrum e.V. (DGFZ) Meraner Str. 10 01217 Dresden Germany ..................................................................... phone: +49 (0) 351 / 4050651 fax: +49 (0) 351 / 4050679 web: <a class=3D"moz-txt-link-freetext" href=3D"http://www.dgfz.de">ht= tp://www.dgfz.de</a> ..................................................................... VR 210 Ust.-Id DE140134319 GF: Dr. F. Börner ..................................................................... Veranstaltungshinweise: Weiterbildung im DGFZ e.V. Seminare im Rahmen der Sachkunde der Sachverst. Altlasten/Bodenschutz B.6: Sanierungsuntersuchung/Sanierung, 14./15.09.2007 Fortbildung der Sachverständigen am 27./28.09.2007 14.-16.11.2007 Modellierung mit PCGEOFIM Programm und Termine: <a class=3D"moz-txt-link-freetext" href=3D"http://www.dgfz.de/aktuell">ht= tp://www.dgfz.de/aktuell</a> 06./07.11.2007 XVIII. Sächsisches Altlastenkolloquium und regionaler Workshop des BMBF-Förderschwerpunktes KORA "Natürliche Schadstoffminderungsprozesse bei der Altlastenbearbeitun= g" Programm und Anmeldung: <a class=3D"moz-txt-link-freetext" href=3D"http://www.dgfz.de/index_altla= stenkolloquium">http://www.dgfz.de/index_altlastenkolloquium</a>=20 </pre> </body> </html> --------------010205050505090304070700-- --===============0661014488== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Disposition: inline Content-Transfer-Encoding: 7bit _______________________________________________ This list is archived at http://www.osl.iu.edu/MailArchives/mtl-devel/ --===============0661014488==--