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&lt;float&gt;, and complex&lt;double&gt; 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&ouml;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&auml;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&auml;chsisches Altlastenkolloquium
und regionaler Workshop des BMBF-F&ouml;rderschwerpunktes KORA

"Nat&uuml;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==--