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... Items for MPI-1.1/MPI-1.2 in Ballot4: 1. Ballot 4, Item 5: p222, 48: Datatypes and MPI_Probe http://www.cs.uiuc.edu/homes/wgropp/projects/parallel/MPI/mpi-errata/discuss/probedatatype/ 2. Ballot 4, Item 10e: Add s to coord in function argument description http://www.cs.uiuc.edu/homes/wgropp/projects/parallel/MPI/mpi-errata/discuss/topo/ 3. Ballot 4, Item 13: MPI_GET_PROCESSOR_NAME and Fortran http://www.cs.uiuc.edu/homes/wgropp/projects/parallel/MPI/mpi-errata/discuss/procname/ 4. Ballot 4, Item 15.a,b: MPI_Abort http://www.cs.uiuc.edu/homes/wgropp/projects/parallel/MPI/mpi-errata/discuss/abort/ Remarks by Reviewers: ===================== Comments by the MPI-1.3 Editor (Rainer Keller) OK = Taken over ? = should be decided by the MPI Forum 22 = should be deferred to MPI-2.2 Q? = Question & Answer, only, no need for corrections - = Comment, can be ignored *NO* = Correction must or should not be done Rolf Rabenseifner, HLRS, 9 Mar 2008: ------------------------------------ 1.1 OK Titlepage after title: Subtitle "Version 1.3" must be added 1.2 OK Copyright: Add "2008" in the list of years 1.3 *NO* 193/7 Section title was MPI-1.2: "Version Number" and is in MPI-1.3: "Version Inquiries" Is this OK? From the Editor: Chapter 7.1 is called Environment Inquiries -- to make the sections use common names and to accomodate MPI_GET_VERSION, this section is renamed. 1.4 - 205/42 was done accroding to Protocol Jan. 2008 meeting, MPI-21, slide 39 1.5 OK 160/42-43 Formatting problem: The space between "communicator" and "." should be removed. 1.6 OK 41/4: Correct refererences are 10.2.2 / p. 286 / p. 289 Note: I was refering to the PDF-Version of the MPI-2 standard... 1.7 OK 60/8: Correct refererences are 10.2.2 / p. 286 / p. 289 1.8 OK 71/27: Correct refererences are 10.2.2 / p. 286 / p. 289 1.9 Q? 72/25 Formatting problem: A space is too long. Maybe, "the the" must be substituted by "the". I do not see, where this Formatting problem exists...??? But I deleted other occurences of "the the" 1.10 *NO* 76/42: The MPI-1.2 errata defined at MPI-2.0 29/6-9 is not implemented. Errr, in my version it is implemented (see the above section/page change request!) The above mentioned ERRATA *is* in. OK This should read "errata define at MPI-2.0 Seite 30/6-9 is not implemented." Err, well, this sentence *was* added right next to the introduction of the datatype. And this was done after discussion. 1.11 OK 111/26: Remove first "jth" on this line 1.12 OK 112/28: Remove first "jth" on this line 1.13 OK 119/30: Formatting problem: A space is too long. (was due to usage of \CHANGE\INTO combination) 1.14 - 197/5: Formatting problem: A space is too long (I cannot see this extra space -- there is no change, no \DELETE not whatsoever). 1.15 OK 207/29: Formatting problem: A space is too long. 1.16 OK 54/6: "= 0"must be substituted by ".EQ. 0", see Ballot 3, Item 10. This is obviously correct. 1.17 *NO* vi/29: The numbering in the Chapter title "Language Binding" must be "A Language Binding" MPI-1.1 has Language Binding. The Annex A is required, yes, but not "A Language Binding" 1.18 OK 217/3: Numbering "Annex A" is missing. This has been corrected in SVN rev17/20; however, still is a big HACK. Bill Gropp is looking into a nice latex-style way how to circumenvent the \backmatter, \appendix problem. ------------------------------------------------------------------- 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). - Bugfixes for the case, when the \ADD, CHANGE and \INTO produce the final file. In particular: - When \ADD #2-argument does *not* contain the actual change (e.g. {\begin{users}) we output an unwanted explanation The solution is to specify empty second argument: \ADD{MPI-2, p.\ 28}{}\ADD{Section...}{} followed by the added \begin{users}... - The explicit \\ after the \CHANGE{} is not sensible -- instead include as \newline into the change-text. Also, some silly \CHANGE \INTO combination left an MPI_ERR_PENDING in the document... - Reorder the sentence ("Note that it...) as specified to MPI-Forum in the coll.tex:1419. - Add the Annex name "A" to the chapter Language Binding. - \includegraphics does not use bb, but viewport instead - FINALLY Fixed as a separate commit on 2008.03.11: - Correct the link to the (automatically generated) function index (and all other \addcontentsline-users) - Get the \appendix produce the heading "Annex A" in appLang.tex (see mpi-report.tex) using an ugly HACK. - Include Ballot4, Items related to MPI-1.1 (those, that do *not* change semantics...!)