Hello dear all, the MPI-1 and MPI-2 sources have been checked in to the SVN-Repository. Into the MPI-1 document on the SVN, I have integrated the changes of chapter 3 of "MPI-2: Extensions to the Message-Passing Interface", from July 18, 1997 and checked the changes of the "Errata for MPI-1.1", from October 12, 1998. Indeed of the 55 listed changes to MPI-1.1 of the latter document, *eight* were not yet in chapter 3 of MPI-2.0: 1. pI, l7: Change date of Version 1.0 -- from p1, l21 2. pI, l16: Change date as well of when draft was processed -- from p1, l27 16. p77, l41-42: Get rid of superfluous argument (1) to MPI_TYPE_HVECTOR -- from p4, l8-19 28. p153, l39: Replace comm_a by comm_b in check -- from p6, l30 29. p172, l26: Fix name when calling MPI_Keyval_create -- from p6, l40 31. p182, l18: Change output description of status in MPI_TOPO_TEST from (choice) to (state) -- from p6, l6-19 32. p184, l31-32: Change output description of coords in MPI_CART_COORDS from (integer) to (array of integers) -- from p6, l20-36 37. p200, l27-29: Makes an attempt to better the explanation for MPI_Abort -- from p8, l26-35 Additionally, I have changed the build process so that one may choose between latex/pdflatex for Postscript / PDF. The PDF now features hyperlinks to the actual functions on the *correct* page, as well as the function index, references and PDF-Metainformation. The results may be seen below. It does contain the ballot 3 items (in the latex marked with %MPI-1.2-Ballot3). May I ask the MPI-2.1 reviewers to please send comments / suggestions / further clarifications? Until February 15th, all the errata regarding the MPI-1.1/MPI-1.2 standard should be send and provisionally included to be read & voted upon, until March 15th, all of the MPI-1.1 errata parts should be integrated. I then will send the final MPI-1.3 draft document with and without \CHANGE, \INTO/,\ADD,\DELETE macros. With best regards, Rainer PS: The current changes-file is attached below as well. -- ---------------------------------------------------------------- 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:
mpi-1.3-draft-2008.02.08.pdf
Description: Adobe PDF document
Merge of MPI-1.1 (June 1995), MPI-1.2 (July 1997), Errata for MPI-1.1 (October 1998) into MPI-1.3 (January 2008)
-----------------------------------------------------------------------------------------------------------------
* Versions-History page:
* New:
Version 1.3: ?????, 2008.
This document combines the previous documents MPI 1.1 (June 12, 1995)
and the MPI 1.2 errata (chapter 3) of MPI-2 (July 18, 1997)
as well as the "Errata for MPI-1.1" (October 12, 1998)
Additional errata from the MPI-2.1 errata list and referencing the MPI 1.1
are also included in this document.
Version 1.2: July, 18 1997.
The MPI-2 Forum introduces Version 1.2 of MPI as Chapter 3 in the standard
"MPI-2: Extensions to the Message-Passing Interface" on July 18, 1997.
This section contains clarifications and minor corrections to Version 1.1
of the MPI Standard. The only new function in MPI-1.2 is one to identify the version.
** 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.
Merge of Chapter 3 of "MPI-2: Extensions to the Message-Passing Interface" (July 18, 1997):
-------------------------------------------------------------------------------------------
- 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 was the only change already applied to LATEX Sources
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
Merge of "Errata for MPI-1.1" (October 12, 1998):
-------------------------------------------------
1. pI, l7: Change date of Version 1.0 -- from p1, l21
2. pI, l16: Change date as well of when draft was processed -- from p1, l27
3. p11, l36: THIS CHANGE IS ALREADY IN MPI-2, p27, l38
4. p19, l1-2: THIS CHANGE IS ALREADY IN MPI-2, p27, l44
5. p40, l38: THIS CHANGE IS ALREADY IN MPI-2, p28, l1
6. p41, l16-18: THIS CHANGE IS ALREADY IN MPI-2, p28, l9
7. p52, l46-48: THIS CHANGE IS ALREADY IN MPI-2, p28, l20
8. p53, l18-23: THIS CHANGE IS ALREADY IN MPI-2, p28, l33
9. p59, l3: THIS CHANGE IS ALREADY IN MPI-2, p29, l1
10. p59, l42-45: THIS CHANGE IS ALREADY IN MPI-2, p29, l9
11. p60, l3: THIS CHANGE IS ALREADY IN MPI-2, p29, l20 <<<< This was the change that was already in, therefore it is not marked with %MPI-1.2...
12. p70, l16: THIS CHANGE IS ALREADY IN MPI-2, p29, l36
13. p71, l10: THIS CHANGE IS ALREADY IN MPI-2, p29, l36
14. p74, l39-45: THIS CHANGE IS ALREADY IN MPI-2, p29, l41
15. p75, l24: THIS CHANGE IS ALREADY IN MPI-2, p30, l6
16. p77, l41-42: Get rid of superfluous argument (1) to MPI_TYPE_HVECTOR -- from p4, l8-19
17. p85, l36: THIS CHANGE IS ALREADY IN MPI-2, p30, l10
18. p90, l3: THIS CHANGE IS ALREADY IN MPI-2, p30, l16
19. p90, l10: THIS CHANGE IS ALREADY IN MPI-2, p30, l21
20. p97, l41: THIS CHANGE IS ALREADY IN MPI-2, p30, l26
21. p109, l26-27 & p110, l28-29: THIS CHANGE IS ALREADY IN MPI-2, p30, l36
22. p117, l22-23: THIS CHANGE IS ALREADY IN MPI-2, p30, l43
23. p121, l1: THIS CHANGE IS ALREADY IN MPI-2, p31, l1
24. p122, l35-36: THIS CHANGE IS ALREADY IN MPI-2, p31, l10
25. p125, l1: THIS CHANGE IS ALREADY IN MPI-2, p31, l24
26. p141, l27-27: THIS CHANGE IS ALREADY IN MPI-2, p31, l30
27. p142, l10: THIS CHANGE IS ALREADY IN MPI-2, p32, l1
28. p153, l39: Replace comm_a by comm_b in check -- from p6, l30
29. p172, l26: Fix name when calling MPI_Keyval_create -- from p6, l40
30. p194, l30-31: THIS CHANGE IS ALREADY IN MPI-2, p32, l15
31. p182, l18: Change output description of status in MPI_TOPO_TEST from (choice) to (state) -- from p6, l6-19
32. p184, l31-32: Change output description of coords in MPI_CART_COORDS from (integer) to (array of integers) -- from p6, l20-36
33. p194, l48: THIS CHANGE IS ALREADY IN MPI-2, p32, l21
34. p195, l15: THIS CHANGE IS ALREADY IN MPI-2, p32, l26
35. p196, l1-2: THIS CHANGE IS ALREADY IN MPI-2, p32, l38
36. p197, l25: THIS CHANGE IS ALREADY IN MPI-2, p33, l4
37. p200, l27-29: Makes an attempt to better the explanation for MPI_Abort -- from p8, l26-35
38. p201, l28: THIS CHANGE IS ALREADY IN MPI-2, p33, l9
39. p203, l1: THIS CHANGE IS ALREADY IN MPI-2, p33, l14
40. p210, l44: THIS CHANGE IS ALREADY IN MPI-2, p33, l19
41. p211, l44: THIS CHANGE IS ALREADY IN MPI-2, p33, l25
42. p212, l22/25: THIS CHANGE IS ALREADY IN MPI-2, p33, l29
43. p213, l28: THIS CHANGE IS ALREADY IN MPI-2, p33, l47
44. p213, l41: THIS CHANGE IS ALREADY IN MPI-2, p34, l6
45. p214, l9: THIS CHANGE IS ALREADY IN MPI-2, p34, l10
46. p214, l14/15: THIS CHANGE IS ALREADY IN MPI-2, p34, l20
47. p214, l21: THIS CHANGE IS ALREADY IN MPI-2, p34, l32
48. p214, l23: THIS CHANGE IS ALREADY IN MPI-2, p34, l42
49. p216, l4-7: THIS CHANGE IS ALREADY IN MPI-2, p35, l1
50. p220, l19-20: THIS CHANGE IS ALREADY IN MPI-2, p35, l13
51. p222, l34: THIS CHANGE IS ALREADY IN MPI-2, p35, l21
52. p222, l38: THIS CHANGE IS ALREADY IN MPI-2, p35, l26
53. p227, l19-20: THIS CHANGE IS ALREADY IN MPI-2, p35, l32
54. p228, l46: THIS CHANGE IS ALREADY IN MPI-2, p35, l39
55. p229, l33: THIS CHANGE IS ALREADY IN MPI-2, p35, l46
ADDITIONAL ITEMS, NOT YET IN ANY OF THE ABOVE DOCUMENTS:
--------------------------------------------------------
Items for MPI-1.1/MPI-1.2 in Ballot3:
1. p128, l11: MPI_Scan has an extraneous root argument -- from Ballot3, item:7
http://www.cs.uiuc.edu/homes/wgropp/projects/parallel/MPI/mpi-errata/discuss/scanexample/index.htm
2. p43, l47 & p44, l1, l5, l8, l10, and l13: Fix example 3.12 by adding missing MPI_COMM_WORLD -- from Ballot3, item:10.1
http://www.cs.uiuc.edu/homes/wgropp/projects/parallel/MPI/mpi-errata/discuss/ex312/ex312-1-clean.txt
3. p43, l43 & p44, l6, l14: Fix example 3.12 by adding missing ierr -- from Ballot3, item:10.2
http://www.cs.uiuc.edu/homes/wgropp/projects/parallel/MPI/mpi-errata/discuss/ex312a/index.htm
4. p44, l35-36: Calls to MPI_Wait are missing the ierr -- from Ballot3, item:10.3
http://www.cs.uiuc.edu/homes/wgropp/projects/parallel/MPI/mpi-errata/discuss/ex313/ex313-1-clean.txt
5. p52, l45 & p53, l17: Do Fortran -style equality test -- from Ballot3, item:10.4
http://www.cs.uiuc.edu/homes/wgropp/projects/parallel/MPI/mpi-errata/discuss/ex318/ex318-1-clean.txt
6. p80, l2: The variable base should be declared as MPI_Aint, not int -- from Ballot3, item:11
http://www.cs.uiuc.edu/homes/wgropp/projects/parallel/MPI/mpi-errata/discuss/ex334/index.htm
7. p16, l23: Use strlen(message) + 1 instead of strlen(message) in the MPI_Send call -- from Ballot3, item:13
http://www.cs.uiuc.edu/homes/wgropp/projects/parallel/MPI/mpi-errata/discuss/strlen/index.htm
8. p58, l44: Add newline -- from Ballot3, item:14
No link...
-------------------------------------------------------------------
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).