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

Re: Provide one MPI-1.2 standard document



Dear Bill and Jesper and all,

thanks for the input so far.

On Thursday 5 July 2007 13:27, William Gropp wrote:
> Thanks, Rainer.  This is a good start.
> There are a few things that I'd like to see in the update. Because this is a
> standard document, we must be exceptionally careful with changes.
Certainly.

> For each change, I'd like a reference back to the *adopted* errata -
Please find enclosed an updated version, which amends backreferences.

> if there are additional changes needed (such as fixes to the examples), they
> should go through the official adoption process first. For items from the
> MPI 1.2 part of the MPI-2 document, the text should identify the original 
Yes, certainly -- these would be marked in the backreferences as well

Currently, there's only two trivial proposals for fixes to examples.
These would have to be voted for -- I include them here just now.

The diff between the old and "new" file is always kept as small as possible.


On Wednesday 18 July 2007 10:31, Jesper Larsson Traeff wrote:
> it seems that this year's EuroPVM/MPI (www.pvmmpi07.org) will also
> host an "Open Forum" (and perhaps a panel on "where to go").
Thank You for taking care.


> This would be a good opportunity to discuss your suggestion of a
> single MPI-1.2 document,
Yes, definitely.
Possibly, we could have a finalized MPI-1.2 (without further fixes) ready for 
voting?

With best regards,
Rainer
-- 
----------------------------------------------------------------
Dipl.-Inf. Rainer Keller       http://www.hlrs.de/people/keller
 High Performance Computing       Tel: ++49 (0)711-685 6 5858
   Center Stuttgart (HLRS)           Fax: ++49 (0)711-685 6 5832
 POSTAL:Nobelstrasse 19                 email: keller@xxxxxxx     
 ACTUAL:Allmandring 30, R.O.030            AIM:rusraink
 70550 Stuttgart
 - 3.1: Integrated MPI_Get_version into Environmental Section, Inquiries -- from MPI-2, p. 21
   (changes to appLang.tex and inquiry.tex)

 - 3.2.1: MPI_INITIALIZED: -- from MPI-2, p. 21
   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
   Replaced first sentence, added examples

 - 3.2.3 Clarification of status after MPI_WAIT and MPI_TEST -- from MPI-2, p. 25
   Position in standard not completely obvious.
   Fits best after the definition of empty statuses in MPI-1, 3.7.3

 - 3.2.4 Clarification of MPI_INTERCOMM_CREATE -- from MPI-2, p. 25.
   Added to the section on Inter-Communication

 - 3.2.5 Clarification of MPI_INTERCOMM_MERGE -- from MPI-2, p. 26.
   Added paragraph on errorhandlers to MPI_INTERCOMM_MERGE
 
 - 3.2.6 Clarification of MPI_TYPE_SIZE -- from MPI-2, p. 26
   Added advice to users

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

   Is the following text correct?
   "Note that it is possible for users to supply different user-defined operations
    to \mpifunc{MPI\_REDUCE} in each process"
   In MPI-1, p115, line one, it is stated that all processes must provide the smae
   op-argument. Possibly in this above text, the user-defined *function* is ment?




 - 3.2.8 Clarification of Error Behaviour of Attribute Callback Function -- from MPI-2, p. 26
   Added to section 5.7.1, right after definition of delete_fn

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

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
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;

Attachment: mpi-report.pdf
Description: Adobe PDF document