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

Re: Provide one MPI-1.2 standard document



Dear Rainer,

thanks, IMHO the examples in the MPI standard document should also be checked and corrected.
There are users out there who write their programs exactly according to these examples and are quite puzzled when their programs crash....
For instance, in example 3.34 (Type_struct) you assign an MPI_Aint to an int, certainly a bad idea on 64bit architectures with different sizes for Aint and int.... and there's probably more errors I don't know from top of my head.


Regards, Bettina


Rainer Keller schrieb:

Hello dear all,
we would like to raise an issue that has been discussed sometime before:
would the community make use of one single MPI-1.2 standards document?

We have found this to be worthwhile for our students, but also, to give a single position (page&Line) in the MPI-Standard, in case an error related to MPI-1.2 is reported in Error-checking tools (and not "MPI1, but with clarification in the MPI2-specification on page X").

Being at it, it would be nice to move to an official PDF-document with links to the calls, sections and references (using latex2e and hyperref).

As a start, I would like to suggest the following document (changes are marked with macros for \CHANGE, \INTO, \ADD and \DELETE, the latter text being \it}

Please, as *many* eyes as possible should check the correctness of the how&where in the attached changes-file and the mpi-report.pdf and send updates.
I would volunteer to document and include updates as suggested and do the final cleanup.


With best regards,
Rainer


PS:
There are still some open issues with:
- Fig4.1, which does not have Boundary Boxes (and is not included in the PDF)
- The links (of the index) are off by 9 pages at the moment...


------------------------------------------------------------------------


- 3.1: Integrated MPI_Get_version into Environmental Section, Inquiries. (changes to appLang.tex and inquiry.tex) - 3.2.1: MPI_INITIALIZED: 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 Replaced first sentence, added examples - 3.2.3 Clarification of status after MPI_WAIT and MPI_TEST 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
  Added to the section on Inter-Communication.
- 3.2.5 Clarification of MPI_INTERCOMM_MERGE
  Added paragraph on errorhandlers to MPI_INTERCOMM_MERGE

- 3.2.6 Clarification of MPI_TYPE_SIZE
  Added advice to users

- 3.2.7 Clarification of MPI_REDUCE
  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
  Added to section 5.7.1, right after definition of delete_fn

- 3.2.9 Clarification of MPI_PROBE and MPI_IPROBE
Replaced text, left out rationale...


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





--
---------------------------------------------
* NEW PHONE AND FAX-NUMBERS *
---------------------------------------------
Dipl.-Math. Bettina Krammer
High Performance Computing Center (HLRS)
University of Stuttgart
Nobelstrasse 19
D-70569 Stuttgart

Phone: ++49 (0)711-685-65890
Fax: ++49 (0)711-685-65832
email: krammer@xxxxxxx
URL: http://www.hlrs.de
---------------------------------------------