<?xml version="1.0" encoding="UTF-8"?>
<OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">
  <responseDate>2026-10-14T04:03:47Z</responseDate>
  <request identifier="1436" metadataPrefix="oai_dc" verb="GetRecord">https://drops.dagstuhl.de/oai</request>
  <GetRecord>
    <record>
      <header>
        <identifier>oai:drops-oai.dagstuhl.de:1436</identifier>
        <datestamp>2024-03-06T10:07:52Z</datestamp>
        <setSpec>ddc:004</setSpec>
        <setSpec>open_access</setSpec>
      </header>
      <metadata>
        <oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
          <dc:title>Fast (Parallel) Dense Linear Interval Systems Solvers in C-XSC Using Error Free Transformations and BLAS</dc:title>
          <dc:creator>Zimmer, Michael</dc:creator>
          <dc:creator>Krämer, Walter</dc:creator>
          <dc:subject>Error-free transformations</dc:subject>
          <dc:subject>K-fold accuracy</dc:subject>
          <dc:subject>accurate dot product</dc:subject>
          <dc:subject>C-XSC</dc:subject>
          <dc:subject>high accuracy</dc:subject>
          <dc:subject>dense linear systems</dc:subject>
          <dc:subject>verified computation.</dc:subject>
          <dc:description>The traditional solver for linear interval systems available in C-XSC [6,1]&#13;
is mathematically based on the Krawczyk[12] operator and modifications&#13;
introduced by Rump[17]. The Krawczyk operator is composed of&#13;
matrix/vector operations. These operations are realized in C-XSC&#13;
with higest accuracy (only one final rounding) using a so called long &#13;
accumulator (dotprecision variable). C-XSC dotprecision variables allow the &#13;
error free computation of sums of floating point numbers as well as the &#13;
error free computation of scalar products of floating point vectors. Thus, &#13;
from a mathematical point of view these operations are perfect. Because &#13;
actual hardware does not support these perfect scalar products all &#13;
operations have to be realized by software. This fact leads to a tremendous &#13;
time penalty (note: it has been shown that with modest additional hardware &#13;
costs perfect scalar products can be made as fast as simple floating-point &#13;
loops). &#13;
&#13;
To speed up the C-XSC scalar product software-operations we adapt the so &#13;
called DotK algorithm as published in [14]. Error free transformations[14,3,4,10]&#13;
are used as basic building blocks to develop summation and scalar product &#13;
algorithms simulating a K-fold precision. Compared to the perfect C-XSC operations &#13;
these operations are fast. They are more accurate than simple floating-point&#13;
loops (but of course no longer perfect in the mathematical sense). The fast &#13;
operations are available in C-XSC via the new data types DotK, IDotK, CDotk&#13;
and CIDotK. These new data types are composed in such a way that traditional &#13;
C-XSC code using dotprecision variables can be adapted with minimal effort. It is &#13;
possible to switch (at runtime!) from perfect computations to fast operations using &#13;
K-fold precision (K equal 0 means traditional dotprecision computations) and it is &#13;
possible to hold intermediate results with corresponding error bounds for further&#13;
summations or scalar product updates. The details are described in [19].&#13;
&#13;
Additionaly, based on similar algorithms used in Intlab[16], BLAS and LAPACK &#13;
libraries [2] are used in the O(nÃ‚Â³) parts of the linear system solver. For&#13;
matrix-matrix products, manipulation of the rounding mode of the processor is used &#13;
to compute enclosures of the correct result.&#13;
&#13;
Comparing the traditional solver with the new version shows that the class of &#13;
problems which are solvable with the new version is smaller than the class of &#13;
problems which can be solved using the solver based on perfect operations. But it &#13;
seems that for real world problems also the new solver is appropriate. Using the &#13;
new solver based on BLAS and simulating a quadrupel precision (i.e. k==2) the &#13;
speedup comes close to 200(!). The new solver is nearly as fast as the corresponding &#13;
IntLab[16] solver verifylss. Solving a real linaer system of dimension 1000 on a &#13;
Pentium 4 with 3.2GHz takes about 2.8 seconds. In all cases tested the accuracy of &#13;
our new solver was better and in some cases significantly better than the accuracy &#13;
of the corresponding IntLab results. The new solver also allows solving larger &#13;
(dense) problems than its IntLab counterpart. We also show some examples where IntLab &#13;
falls down whereas our new solver still works.&#13;
&#13;
A parallel version of this solver, based on ScaLAPACK, is also available. Unlike&#13;
the previous parallel solver in C-XSC[5], this new solver does not depend on a &#13;
root-node, which makes it possible to compute a verified solution even of very large &#13;
linear systems.&#13;
&#13;
In the talk we will discuss the new data types in more detail, we will emphasize our&#13;
 modifications to the DotK algorithm taken from the literature [14,15], we will show &#13;
time measurements and we will present results concerning the accuracy of the computed&#13;
enclosures. Our results will also be compared to corresponding results computed with &#13;
the IntLab package. We also will comment on hardware features  and compiler options&#13;
which can/should be used to get reliable results on different platforms efficiently.&#13;
&#13;
&#13;
References:&#13;
&#13;
[1] Downloads: &#13;
C-XSC library: http://www.math.uni-wuppertal.de/~xsc/xsc/cxsc.html&#13;
Solvers: http://www.math.uni-wuppertal.de/~xsc/xsc/cxsc_software.html&#13;
&#13;
[2] L.S. Blackford, J. Demmel, J. Dongarra, I. Duff, S. Hammarling, G. Henry, M. Heroux, &#13;
L. Kaufman, A. Lumsdaine, A. Petitet, R. Pozo, K. Remington, R. C. Whaley, An Updated Set &#13;
of Basic Linear Algebra Subprograms (BLAS), ACM Trans. Math. Soft., 28-2 (2002), pp. 135--151.&#13;
&#13;
[3] Bohlender, G.; Walter, W.; Kornerup, P.; Matula,&#13;
D.W.; Kornerup, P.; Matula, D.W.:&#13;
Semantics for Exact Floating Point Operations.&#13;
Proceedings, 10th IEEE Symposium on Computer Arithmetic,&#13;
 26-28 June 1991, IEEE, 1991.&#13;
&#13;
[4] Dekker, T.J.: A floating-point technique for extending&#13;
the available precision. Numer. Math., 18:224, 1971.&#13;
&#13;
[5] Grimmer, M.: Selbstverifizierende Mathematische Softwarewerkzeuge im&#13;
High-Performance Computing. Konzeption, Entwicklung und Analyse am Beispiel&#13;
der parallelen verifizierten Loesung linearer Fredholmscher Integralgleichungen&#13;
zweiter Art. Logos Verlag, 2007.&#13;
&#13;
[6] Hofschuster, W.; Kraemer, W.:&#13;
C-XSC 2.0: A C++ Library for Extended Scientific Computing.&#13;
Numerical Software with Result Verification,&#13;
Lecture Notes in Computer Science, Volume 2991/2004,&#13;
Springer-Verlag, Heidelberg, pp. 15 - 35, 2004.&#13;
&#13;
[7] Kersten, Tim: Verifizierende rechnerinvariante Numerikmodule, Dissertation,&#13;
University of Karlsruhe, 1998&#13;
&#13;
[8] Klatte, Kulisch, Wiethoff, Lawo, Rauch:&#13;
"C-XSC - A C++ Class Library for Extended Scientific Computing",&#13;
Springer-Verlag, Heidelberg, 1993.&#13;
Due to the C++ standardization (1998) and dramatic changes&#13;
in C++ compilers over the last years this documentation describes&#13;
no longer the actual C-XSC environment. Please refer to more accurate&#13;
documentation (e.g.[1]) available from the web site of our&#13;
research group: http...&#13;
  &#13;
[9] Kirchner, R., Kulisch, U.:&#13;
Hardware Support for Interval Arithmetic.&#13;
Reliable Computing, Volume 12, Number 3,&#13;
June 2006 , pp. 225-237(13).&#13;
&#13;
[10] Knuth, D.E.: The Art of Computer Programming: Seminumerical Algorithms.&#13;
Addison Wesley, 1969, vol. 2.&#13;
&#13;
[11] Kulisch, U.: Computer Arithmetic and Validity - Theory,&#13;
Implementation. To appear.&#13;
&#13;
[12] Krawczyk, R.: Newton-Algorithmen zur Bestimmung von Nullstellen mit Fehlerschranken, &#13;
Computing, 4:187-201, 1969.&#13;
&#13;
[13] Lerch, M.; Tischler, G.; Wolff von Gudenberg, J.; Hofschuster, W;&#13;
Kraemer, W.:&#13;
filib++, a Fast Interval Library Supporting Containment Computations.&#13;
ACM TOMS, volume 32, number 2, pp. 299-324, 2006.&#13;
&#13;
[14] Ogita, T., Rump, S.M., Oishi, S.: Accurate sum and&#13;
dot product. SIAM Journal on Scientific Computing,&#13;
26:6, 2005.&#13;
&#13;
[15] Oishi, S., Tanabe, K., Ogita, T., Rump, S.M., Yamanaka, N.:&#13;
A Parallel Algorithm of Accurate Dot Product.&#13;
Submitted for publication, 2007.&#13;
&#13;
[16] Rump, S.M.: Intlab - Interval Laboratory. Developments in Reliable&#13;
Computing, pp. 77-104, 1999.&#13;
&#13;
[17] Rump, S.M.: Kleine Fehlerschranken bei Matrixproblemen, Dissertation, &#13;
University of Karlsruhe, 1980&#13;
&#13;
[18] Stroustrup, Bjarne: The C++-Programming Language, 3rd Edition, Addison-Wesley, 2000.&#13;
&#13;
[19] Zimmer, Michael: Laufzeiteffiziente, parallele Loeser fuer&#13;
lineare Intervallgleichungssysteme in C-XSC, Master thesis,&#13;
University of Wuppertal, 2007.&#13;
&#13;
&#13;
AMS subject classification: 65H10, 15-04, 65G99, 65G10, 65-04</dc:description>
          <dc:publisher>Schloss Dagstuhl – Leibniz-Zentrum für Informatik</dc:publisher>
          <dc:contributor>Michael Zimmer and Walter Krämer</dc:contributor>
          <dc:date>2008</dc:date>
          <dc:relation>Is Part Of Dagstuhl Seminar Proceedings, Volume 8021, Numerical Validation in Current Hardware Architectures (2008)</dc:relation>
          <dc:type>InProceedings</dc:type>
          <dc:type>Text</dc:type>
          <dc:type>doc-type:ResearchArticle</dc:type>
          <dc:type>publishedVersion</dc:type>
          <dc:format>application/pdf</dc:format>
          <dc:identifier>doi:10.4230/DagSemProc.08021.11</dc:identifier>
          <dc:identifier>urn:nbn:de:0030-drops-14365</dc:identifier>
          <dc:identifier>https://drops.dagstuhl.de/entities/document/10.4230/DagSemProc.08021.11</dc:identifier>
          <dc:language>eng</dc:language>
          <dc:rights>https://creativecommons.org/licenses/by/4.0/legalcode</dc:rights>
        </oai_dc:dc>
      </metadata>
    </record>
  </GetRecord>
</OAI-PMH>
