Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: discussion period begins, until Jan. 26: "natural interval extension": friendly amendment to M001.02 - EDP



    Re: "it would not fit neatly into conventional programming languages."


An easy way to add exact dot product to almost any programming language is as a library function, preferably a generic function with a version for each supported floating-point precision.

Fortran already has a DOT_PRODUCT function. It's easy to imagine an EXACT_DOT_PRODUCT, and maybe also a FAST_DOT_PRODUCT that uses a parallel reduction to get up to an order of magnitude performance boost over the default version.

For C and C++, dotproduct(vector,vector,length), exactdotproduct(vector,vector,length) and fastdotproduct(vector,vector,length) would be a simple approach.

I can even imagine dotproduct(intervalvector,intervalvector,length) and exactdotproduct(intervalvector,intervalvector,length) in a future version of our standard, with exactdotproduct using any exact algorithm.

Implementations with a fast exact dot product would have an advantage over those without.

- Ian McIntosh IBM Canada Lab Compiler Back End Support and Development


Inactive hide details for Ulrich Kulisch ---2016-01-21 03:34:53 PM---Am 19.01.2016 um 00:11 schrieb Richard Fateman:           Ulrich Kulisch ---2016-01-21 03:34:53 PM---Am 19.01.2016 um 00:11 schrieb Richard Fateman: ...................................

From: Ulrich Kulisch <ulrich.kulisch@xxxxxxx>
To: Ian McIntosh/Toronto/IBM@IBMCA
Date: 2016-01-21 03:34 PM
Subject: Re: discussion period begins, until Jan. 26: "natural interval extension": friendly amendment to M001.02




Am 19.01.2016 um 00:11 schrieb Richard Fateman:

             ...................................

      I think that niche standards such as 1788 have a limited opportunity to alter
        the computing environment.  I expect 1788 to be visible in the development
      and distribution of standards-conforming software libraries.  If EDP is
      such a valuable tool for such libraries, implementers should include it as
      an internal component for those routines that benefit from it.
       Perhaps it should be made visible as an API to library users.  As far
      as I can see, it  would not fit neatly into conventional programming languages.

      Richard


Richard:

the problem how to include the  EDP into conventional programming languages has been solved more than 25 years ago. See the literature listed below. ACRITH-XSC is a Fortran-77 exrension for the S/370 architecture. [4] describes among others how the EDP is implemented on the S/370 architecture.
You may find some of the literature in your library.

Best wishes
Ulrich

[1]  R. Klatte, U. Kulisch, M. Neaga, D. Ratz and Ch. Ullrich,
PASCAL-XSC – Sprachbeschreibung mit Beispielen, Springer, Berlin Heidelberg New York, 1991.
See also
http://www2.math.uni-wuppertal.de/ xsc/ or http://www.xsc.de/.

[2]  R. Klatte, U. Kulisch, M. Neaga, D. Ratz and Ch. Ullrich,
PASCAL-XSC – Language Reference with Examples, Springer, Berlin Heidelberg New York, 1992.
See also
http://www2.math.uni-wuppertal.de/ xsc/ or http://www.xsc.de/.
Russian translation MIR, Moscow, 1995, third edition 2006.
See also
http://www2.math.uni-wuppertal.de/ xsc/ or http://www.xsc.de/.

[3]  R. Klatte, U. Kulisch, C. Lawo, M. Rauch and A. Wiethoff,
C-XSC – A C++ Class Library for Extended Scientific Computing, Springer, Berlin Heidelberg New York, 1993.
See also
http://www2.math.uni-wuppertal.de/xsc/ or http://www.xsc.de/.

[4]  IBM, I
BM System/370 RPQ. High Accuracy Arithmetic, SA 22-7093-0, IBM Deutschland GmbH (Department 3282, Sch¨onaicher Strasse 220, D-71032 B¨oblingen), 1984.

[5]  IBM,
IBM High-Accuracy Arithmetic Subroutine Library (ACRITH), IBM Deutschland GmbH (Department 3282, Sch¨onaicher Strasse 220, D-71032 B¨oblingen), 1983, third edition, 1986.
1. General Information Manual, GC 33-6163-02.
2. Program Description and User’s Guide, SC 33-6164-02.
3. Reference Summary, GX 33-9009-02.

[6]  IBM,
ACRITH–XSC: IBM High Accuracy Arithmetic – Extended Scientific Computation. Version 1, Release 1, IBM Deutschland GmbH (Department 3282, Sch¨onaicher Strasse 220, D-71032 B¨oblingen), 1990.
1. General Information, GC33-6461-01.
2. Reference, SC33-6462-00.
3. Sample Programs, SC33-6463-00.
4. How To Use, SC33-6464-00.
5. Syntax Diagrams, SC33-6466-00.



--
Karlsruher Institut für Technologie (KIT)
Institut für Angewandte und Numerische Mathematik
D-76128 Karlsruhe, Germany
Prof. Ulrich Kulisch
KIT Distinguished Senior Fellow

Telefon: +49 721 608-42680
Fax: +49 721 608-46679
E-Mail:
ulrich.kulisch@xxxxxxx
www.kit.edu
www.math.kit.edu/ianm2/~kulisch/

KIT - Universität des Landes Baden-Württemberg
und nationales Großforschungszentrum in der
Helmholtz-Gesellschaft