[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [mpi-21] Documents



Dear all,
happy new year.

So I took the christmas vacation as opportunity to "verify", that the 
latex-sources I used are equivalent to the "real" standard.
Then, I regenerated the MPI-1.2 document as PDF with two suggestions from Rolf 
(see the changes-file).

Regarding the MPI-1.2 document:
The current version of the proposed MPI-1.2 including the changes of MPI-1.2 
(plus two suggestions from Rolf regarding the fix of MPI-2@p26).
Please see the previous mails regarding the added macros to visualize the 
changes.
Please note: these do not contain the changes of Bill from January 2nd-4th, as 
they are not yet consolidated. Of course, I am happy to add them.


Regardig comparison of MPI-1.1 against the standard from the web-page:
As discussed in a private conversation, testing the originality of the latex 
sources is hindered by latex changing the kerning and fonts in the resulting 
Postscript...


The steps I did:
 - Install an ancient Latex Version in a chroot-environment (a 
virtex/latex-3.14159 (C version 6.1) from Suse 11/1996)
 - Redo the MPI-1.1 document, this time as standard Postscript
 - Compare visually the Standard Post-script against the newly generated using 
gimp (see .xcf file below).

This results in slight changes in the page-size/kerning on normal text, 
leading to line-changes, which can move sections...
So this led to the next step:

 - Adjust the settings to get the same kerning with the same font.
   To get the "best" overlap, this setting was used:
    - Add letterpaper to \documentstyle:
    - \documentstyle[letterpaper,twoside,11pt,fleqn]{report}
    - Set \topmargin=0.49in
    - Set \textheight=9.029in
    - Set \setlength\headsep{.325in}
   All other values are the same (oddsidemargin, evensidemargin, etc).
 - This results in the below document (called mpi1.1-report-generated...)
 - A comparison of page 21 (page 13 in the text-body of the document) is shown 
below.

This should suffice for manual comparison if needs be.

Regarding LATEX:
Downgrade of latex is not required to build the new sources -- actually the 
MPI-1.2 latex sources I sent You, are using hyperref-features, documentclass 
instead of documentstyle (see the current PDF).
As the MPI-document Latex-Sources are available, why change?

One true, single MPI-Document, will "only" require merging the tex-directories 
(*cough*).

Regarding PDF:
PDF contains further Meta-Information, which pdflatex generates, like links, 
the producer string, so that the version of the pdflatex distribution is 
stored, and alike...

With best regards,
Rainer


PS: If anyone is interested in the TAR-Ball of the chroot-env, please let me 
know.





On Friday 04 January 2008 21:08, Jeff Squyres wrote:
> Per Rich's note about making a consolidated MPI-2.1 document
> (including all of MPI-1.2+errata and all MPI-2.1+errata), I think
> that's a fantastic idea.
>
> 1. What will be the source format for this document (and for
> successive MPI documents)?  The original MPI documents were written in
> the then-current version of LaTeX (Rainer Keller tells me that you
> have to downgrade to that version of LaTeX to build the docs).  Are
> other source formats possible?
>
> LaTeX is fine, but there are only a few people who can write in it;
> the learning curve is fairly steep.  Other open formats with free
> editors are feasible for large documents.  For example, OpenOffice
> supports templates, natively exports to multiple formats (such as PDF
> and HTML), supports digital signatures to guarantee the One True MPI
> Standard Document, etc.  Others are likely possible, too.
>
> 2. PDF is fairly prevalent these days; it would be good if MPI-2.1
> (and later) had official PDF's published.  I don't have much of an
> opinion about official postscript docs anymore; does anyone still have
> a requirement for that?  Official HTML should also be published.  In
> making PDF's, it would be quite useful if they were fully indexed,
> cross-linked (e.g., clicking in the TOC and index takes you to the
> appropriate section), and full-text searchable.  [pdf]LaTeX,
> OpenOffice, and others can produce such PDF documents.

-- 
----------------------------------------------------------------
Dipl.-Inf. Rainer Keller   http://www.hlrs.de/people/keller
 HLRS                          Tel: ++49 (0)711-685 6 5858
 Nobelstrasse 19                  Fax: ++49 (0)711-685 6 5832
 70550 Stuttgart                    email: keller@xxxxxxx     
 Germany                             AIM/Skype:rusraink

Attachment: mpi1.1-report-generated-2007.12.22.ps.gz
Description: application/gzpostscript

Attachment: mpi1.1-report-generated-2007.12.22.xcf.gz
Description: GNU Zip compressed data

Attachment: mpi1.2-report.pdf
Description: Adobe PDF document

Merge of MPI-1.1 (June 1995) and MPI-1.2 (July 1997)
----------------------------------------------------

 * Versions-History page:

   * New:
     ** "Version 1.2: ?????, 2008.
         This document combines the previous documents MPI 1.1 (June 12, 1995)
         and the MPI 1.2 Chapter in MPI-2 (July 18, 1997).
         Two additional erratas from the MPI 2.1 errata list are already 
         included in this document.
     ** New: "Version 1.2: July, 18 1997. 
              The MPI-2 Forum introduced MPI 1.2 as Chap.3 in the standard
              "MPI-2: Extenions to the Message-Passing Interface", July 18, 2007."
     ** From MPI 2.0: page 21 lines 14-19. 
  * MPI-1.1 Versions-History

  * TODO: The MPI-2.1 Forum should review this text proposal.


 - 3.1: Integrated MPI_Get_version into Environmental Section, Inquiries -- from MPI-2, p. 21
   (changes to appLang.tex and inquiry.tex)
    * the section title in MPI-2 is "Version Number", should not be changed?
    * MPI-2.0 Sect. 3.1 page 21 line 21 - page 22 line 2
      added as new Sect. 7.1.1 in MPI-1.1 
      before current MPI-1.1 Sect 7.1.1 on page 190 line 21
      remove last sentence on MPI-2.0 page 22 line 2:
       "Its C++ binding can be found in the Annex, Section B.11." 

 - 3.2: MPI-1.0 and MPI-1.1 Clarifications
    * MPI-2.0 page 22 lines 4-10 not used (removed)

 - 3.2.1: MPI_INITIALIZED: -- from MPI-2, p. 21 lines 14-15
   * added in MPI-1.1 page 200 line 11.
   * MPI-1.1 page 200 lines 10-11 must be modified because MPI_GET_VERSION
   * maybe also called before MPI_Init (And MPI_FINALIZED in MPI-2.0):
   Changed: "is the only function that may be called before" to
   "It is one of the few routines that "

 - 3.2.2: Include clarification of MPI_FINALIZE -- from MPI-2, p. 22 line 18 - p. 24 line 48:
   Replaces MPI-1.1 paragraph page 199 lines 46-48

 - 3.2.3 Clarification of status after MPI_WAIT and MPI_TEST -- from MPI-2, p. 25 lines 2-12
   Position in standard not completely obvious.
   Fits best after the definition of empty statuses in MPI-1, 3.7.3
   * i.e., after MPI-1.1 page 41 line 20

 - 3.2.4 Clarification of MPI_INTERCOMM_CREATE -- from MPI-2, p. 25.
   Added to the section on Inter-Communication
   * Delete the text in parenthesis on MPI-1.1 page 158 line 31.
   * Substitute the sentence MPI-1.1 page 155 lines 36-37 
     by MPI-2.0 page 25 lines 37-47 

 - 3.2.5 Clarification of MPI_INTERCOMM_MERGE -- from MPI-2, p. 26 lines 2-4 
   Added paragraph on errorhandlers to MPI_INTERCOMM_MERGE
   * after MPI-1.1 page 160 line 13

 - 3.2.6 Clarification of MPI_TYPE_SIZE -- from MPI-2, p. 26 lines 11-13
   Added advice to users
   * after MPI-1.1 page 70 line 43

 - 3.2.7 Clarification of MPI_REDUCE -- from MPI-2, p. 26
   Required extensive modification:

   *  MPI-2.0 page 26 lines 22-25 is substituting the text on MPI-1.1 page 114 lines 25-28:
   *  MPI-2.0 page 26 lines 26-35 must be added after MPI-1.1 page 114 line 30.
   *  No need for additional new text "This is further explained in Section 4.9.4"

   * TODO: The MPI-2.1 Forum should review this proposal.

 - 3.2.8 Clarification of Error Behaviour of Attribute Callback Function -- from MPI-2, p. 26 lines 38-39
   Added to section 5.7.1, right after definition of delete_fn
   * i.e., after MPI-1.1 page 170 line 7

 - 3.2.9 Clarification of MPI_PROBE and MPI_IPROBE -- from MPI-2, p. 26
   Replaced text, left out rationale...  

   * The rationale may be kept, but all references should be
   * referencing the MPI 1.1 document (and not the new combined document)

   * TODO: Decision on Rationale must be done by MPI-2.1 Forum.

Minor Clarifications:
 1. p11, l36, MPI_ADDRESS: done -- from MPI-2, p. 27
 2. p19, l1-2, 64-bit longlong int: done -- from MPI-2, p. 28
 3. p40, l48: Add Advice to users: done -- from MPI-2, p. 28
 4. p41, l16-18: Ammend empty status: done -- from MPI-2, p. 28
 5. p52, l46-48: communicator left out: done -- from MPI-2, p. 28
 6. p53, l18-23: communicator left out: done -- from MPI-2, p. 28
 7. p59, l3: Add Advice to users: done -- from MPI-2, p. 29
 8. p59, l42-45: MPI_Sendrecv, int tag: done -- from MPI-2, p. 29
 9. p60, l3: NOT DONE AS NOT FOUND / ALREADY DONE -- from MPI-2, p.29

    * This is a strong indication that we have not the correct 
    * MPI-1.1 source files !!!!!!!!!!!!!!!!!!!!!!!!

10. p70, l16: Add Advice to users: done -- from MPI-2, p. 29
11. p71, l10: Delete superfluous article: done -- from MPI-2, p.29
12. p74, l39-45: Delete second part, which overlaps: done -- from MPI-2, p. 29
13: p75, l24: Add the datatype description: done -- from MPI-2, p. 30
14: p85, l36: change outcount->outsize: done -- from MPI-2, p. 30
15: p90, l3: add communicator in example: done -- from MPI-2, p. 30
16: p90, l10: Get rid of address-operator: done -- from MPI-2, p. 30
17: p97, l41: Change disp->displs: done -- from MPI-2, p. 30
18: p109, l26-27 and p110, l28-29: AGAIN p110 / p111: change each->jth: done -- from MPI-2, p. 30
19: p117, l22-23: change seven -> nine: done -- from MPI-2, p. 30
20: p121, l1: fix fortan function declaration: done -- from MPI-2, p. 31
21: p122, l35-36: IN op -> INOUT op: done -- from MPI-2, p. 31
22: p125, l1: get rid of zero before comm -- from MPI-2, p. 31
23: p141, l27: add "one-dimensional": done -- from MPI-2, p. 31
24: p142, l10, ranks -> ranges: done -- from MPI-2, p. 32
25: p194, l30-31: delete COMMA....: done -- from MPI-2, p. 32
26: p194, l48: Rename HANDLER -> ERRHANDLER -- from MPI-2, p. 32
27: p195, l15: Add Fortran definition and Advice to users: Done right after C definition  -- from MPI-2, p. 32
28: p196, l1-2: Argument for MPI_ERRHANDLER_FREE: IN -> INOUT: done -- from MPI-2, p. 32
29: p197, l25: Added right before "The error codes satisfy": done -- from MPI-2, p. 33
30: p201, l28: get rid of 2nd is: done -- from MPI-2, p. 33
31: p203, l1: level -> LEVEL: done -- from MPI-2, p. 33
32: p210, l44: PENDING -> ERR_PENDING: done -- from MPI-2, p. 33
33: p211, l44: MPI_DOUBLE_COMPLEX move to opt. Fortran: done -- from MPI-2, p. 33
34: p212, l22 and l25: add etc. to optional datatype sections: done -- from MPI-2, p. 33
35: p213, l28: Predefined functions in C and Fortran: ADDED TO THE VERY END -- from MPI-2, p. 33
36: p213, l41: Adds MPI_Errhandler to handles to assorted structures (C)??????: DONE -- from MPI-2, p. 34
37: p214, l9: FUNCTION -> SUBROUTINE and arguments: done -- from MPI-2, p. 34
38: p214, l14/15: PROCEDURE -> SUBROUTINE: done -- from MPI-2, p. 34
39: p214, l21: PROCEDURE -> SUBROUTINE: done -- from MPI-2, p. 34
40: p214, l23: Add Fortran HANDLER_FUNCTION, right after {COPY_,DELETE}_FUNCTION -- from MPI-2, p. 34
41: p216, l4-7: Change recvtag-argument of MPI_Sendrecv: done -- from MPI-2, p. 35
42: p220, l19-20: get rid of int double, by redefining mpibind: done -- from MPI-2, p. 35
43: p222, l34: delete REQUEST: done -- from MPI-2, p. 35
44: p222, l38: delete REQUEST: done -- from MPI-2, p. 35
45: p227, l19-20: rename INTRACOMM -> NEWINTRACOMM: done -- from MPI-2, p. 35
46: p228, l46: rename HANDLER -> ERRHANDLER: done -- from MPI-2, p. 35
47: p229, l33: capitalize level: done -- from MPI-2, p. 35





ADDITIONAL ITEMS, NOT YET IN SECTION 3.2 of MPI-2
-------------------------------------------------

1. Page 43, lines 47 to Page 44, lines 1 read:
      CALL MPI_ISEND(outval, 1, MPI_REAL, 1, 0, req, ierr)
      CALL MPI_REQUEST_FREE(req, ierr)
      CALL MPI_IRECV(inval, 1, MPI_REAL, 1, 0, req, ierr)
      CALL MPI_WAIT(req, status, ierr)
    END DO
ELSE    ! rank.EQ.1
    CALL MPI_IRECV(inval, 1, MPI_REAL, 0, 0, req, ierr)
    CALL MPI_WAIT(req, status)
    DO I=1, n-1
       CALL MPI_ISEND(outval, 1, MPI_REAL, 0, 0, req, ierr)
       CALL MPI_REQUEST_FREE(req, ierr)
       CALL MPI_IRECV(inval, 1, MPI_REAL, 0, 0, req, ierr)
       CALL MPI_WAIT(req, status, ierr)
    END DO
    CALL MPI_ISEND(outval, 1, MPI_REAL, 0, 0, req, ierr)

but should read:

      CALL MPI_ISEND(outval, 1, MPI_REAL, 1, 0, comm, req, ierr)
      CALL MPI_REQUEST_FREE(req, ierr)
      CALL MPI_IRECV(inval, 1, MPI_REAL, 1, 0, comm, req, ierr)
      CALL MPI_WAIT(req, status, ierr)
    END DO
ELSE    ! rank.EQ.1
    CALL MPI_IRECV(inval, 1, MPI_REAL, 0, 0, comm, req, ierr)
    CALL MPI_WAIT(req, status)
    DO i=1, n-1
       CALL MPI_ISEND(outval, 1, MPI_REAL, 0, 0, comm, req, ierr)
       CALL MPI_REQUEST_FREE(req, ierr)
       CALL MPI_IRECV(inval, 1, MPI_REAL, 0, 0, comm, req, ierr)
       CALL MPI_WAIT(req, status, ierr)
    END DO
    CALL MPI_ISEND(outval, 1, MPI_REAL, 0, 0, comm, req, ierr)



2. From Bettina Krammer, p. 80, line 2: exchange type int type declaration of base
reads currently:
int base;
but should read:
MPI_Aint base;


-------------------------------------------------------------------
History of this file:
 - Rainer Keller, July 19, 2007
 * comments/review from Rolf Rabenseifner, Jan 3 and 5, 2008 

 * MPI-1.1 Document-Title
 * New document-subtitle: "Version 1.2 (combined document)"
   ** TODO: The MPI-2.1 Forum should review this title proposal.

 - Implemented one change regarding "Advice to Users", p195, l.15 in MPI-1.1
   Moved the "This is further explained in Section~\ref{subsec:coll-user-ops}."
   to the correct position in the split text (change from MPI-2, p26).