Errata

Items 1-8 were approved by straw vote on June 6, 2000.

  1. At 98/34: the number of subbuffers to create should be specified as a "positive integer" rather than just "integer" since negative is obviously not right, and zero is not useful.

  2. At 98/25 the Standard says that after calling MPI_CREATE_SUBBUFFERS, the new buffers are named with the name of the vector appended with the index of the buffer in the vector. The next sentence says:
    "For example, the first created buffer in the V-container named bufcont has the name bufcont1."
    I believe this is a typo. The new name should be "bufcont0" since the indices start with 0.
    I propose an errata entry to change the word "bufcont1" to "bufcont0" at 98/27.

  3. It is necessary to be able to compare variables of type MPIRT_Dataspec. At 51/39 the 1.0 Standard says that MPIRT_DATASPEC_IS_EQUAL is not defined. This was an oversight/typo/mistake.
    At 51/39, change "...set name, equality testing, and object decoration..." to "...set name, and object decoration...".
    Add to the table "Dataspec Operations" on page 63:
    MPIRT_DATASPEC_IS_EQUAL MPIRT_Dataspec_is_equal MPIRT::Dataspec::Is_Equal

  4. It was intended that the initial_buffer_list argument to MPIRT_BUFITER_CREATE could be given as MPIRT_CVECTOR_NULL if the user did not want to provide any initial buffers. However, this is not stated in the text of the Standard. The following errata entry clarifies this.
    At 103/32, append the following new sentence to the paragraph:
    The initial_buffer_list parameter may be given as MPIRT_CVECTOR_NULL if no initial buffers are desired.

  5. In the table "Event Delivery Abstraction Operations" at the bottom of page 87, MPIRT_EVDEL_GET_NAME and MPIRT_EVDEL_SET_NAME should be added.

  6. The following corrects and clarifies several issues in the specification for QoS for time-driven channels. Some of this could be considered part of the Error Proposal, but the issues seem too closely intertwined to separate cleanly.
    1. The last sentence of the paragraph at 182/7 doesn't compute. Replace the sentence with:
      "The value of MPIRT_TIME_SPEC_IGNORE for the deadline indicates that a deadline is not requested."
    2. Delete the last sentence of the second bullet at 182/13. The correct restrictions will be described with other restrictions at the bottom of the page (see item #6 below).
    3. Since the release time argument is required, delete the words "if one exists" at 182/16.
    4. Change MPIRT_PERIOD_IGNORE to MPIRT_TIME_IGNORE at 182/22 and 183/5. Remove MPIRT_PERIOD_IGNORE from the tables on pages 205 and 206. This is left over from earlier drafts.
    5. Add a new paragraph at 182/38:
      If period is not MPIRT_TIME_IGNORE, it must be positive; otherwise the function will return MPIRT_ERR_INV_TIME.
    6. 6. Add a new sentence to the paragraph at 182/39:
      In this case, the release_time must be non-negative and less than or equal to period; otherwise the function will return MPIRT_ERR_INV_TIMESPEC.
    7. Add a new paragraph at 182/45:
      If both release_time and deadline are of type MPIRT_ABSOLUTE, deadline must not fall before release_time. If release_time is of type MPIRT_RELATIVE, it must not be negative. If deadline is of type MPIRT_RELATIVE, it must not be negative. If any of the time specifications are incorrect or inconsistent, the function will return MPIRT_ERR_INV_TIMESPEC.
    8. Add MPIRT_ERR_INV_TIME and MPIRT_ERR_INV_TIMESPEC to Annex A.

  7. At 72/31, change "(MPIRT_TRIGGER)" to "(ref. to MPIRT_TRIGGER)".

  8. The following error codes are missing from the MPI/RT 1.0 Return Code Index on page 252 and the Return Codes Annex on page 244:
    MPIRT_ERR_INV_QOS_CHANNEL
    MPIRT_ERR_INV_QOS_CHANNEL_TIME
    MPIRT_ERR_INV_QOS_CHANNEL_PREV
    MPIRT_ERR_INV_QOS_CHANNEL_PRTIEV
    MPIRT_ERR_INV_QOS_TRIGGER
    MPIRT_ERR_INV_QOS_RECEPTOR
    MPIRT_ERR_INV_QOS_HANDLER

  9. Page 15 23/25: Modify statement to make it not as strong as it is because even a development library may not be able to detect all errors. Replace the sentence "All of the errors defined by the standard are required to be detected and reported, in order for a library to be called development" with "A development library should make best effort to detect and report all of the errors defined by the standard."

  10. Change the QoS parameter in all the collective channel operation specifications from "qos" to "channel_qos".

  11. Page 67: Add the following new paragraph and table at line 23:
    For explicit triggers and receptors, the object name must be unique over the group and GROUP_WORLD. The scope for implicit triggers and receptors is GROUP_WORLD and the scope for all receptors and triggers must match.

    Therefore:
    Scope
    implicit triggerGROUP_WORLD
    implicit receptorGROUP_WORLD
    implicit receptor for explicit triggerGROUP_WORLD
    explicit receptor for explicit triggerSame as trigger
    implicit trigger for explicit receptorGROUP_WORLD
    explicit trigger for explicit receptorSame as receptor

  12. Page 67 line 33: change "no" to "do".

  13. It was intended that the handlers argument to MPIRT_RECEPTOR_CREATE could be given as MPIRT_CONTAINER_NULL if the user did not want to provide any initial handlers. However, this is not stated in the text of the Standard. The following errata entry clarifies this. At 74/45, append the following new sentence to the paragraph: The handlers parameter may be given as either MPIRT_CONTAINER_NULL or an empty container if no handlers are desired.

  14. In order to clarify which events are receoverable/retryable, delete the sentence at 75/12. Insert the following sentence as the second sentence of the paragraph at 75/7:

    Recoverable conditions are those implicit conditions defined as recoverable in the standard.

  15. The enumeration type MPIRT_SYNC_FLAG is missing from the entity table at the end of Chapter 4, page 90.
    MPIRT_SYNC_FLAG | MPIRT_Sync_flag | MPIRT::Sync_Flag

  16. Page 13, line 6 change "simila" to "similar"

  17. Page 42 line 13 change "ne" to "new"

  18. In figure 5.8 (pg 105), all three instances of the word "buffer" should be "bufiter".

  19. Page 148, there is a slight formatting problem in the table -- the row for MPIRT_OP is incorrect.

  20. Errata: General Comments 11/19/00
    1. If we use the terms V-containers, vector containers, or VB-containers it is unclear exactly what we are referencing. The standard uses the term V-container, vector containers and VB-containers as follows:
      1. Page 34/48 -"Vcontainers are derived from MPIRT_CVECTOR_BASE and are denoted VB_containers".
      2. Page 38/28-30 - VB_Container classes
      3. Page 40/35 - "a group is a VB-container of process identifiers".
      4. Page 35/28-30 - vector containers are denoted MPIRT_CVECTOR_BASE.
      5. Also see buffer iterator retrieve proposal.
    2. 34/46 Change the last word of the sentence from "V-container" to "VB-container". Delete the confusing next sentence "V-containers are derived…"
    3. 35/25 Change "whereas vector containers " to "whereas VB-containers".

    MPIRT1.1 proposal authors should also check their proposals for consistent use of V-containers, VB-containers and vector containers terminology.

  21. Each 1.1 proposal may need a few words in the Introduction . Here are some proposed new paragraphs and additions to existing paragraphs for the Introduction.
    1. Page 9/3 The user may specify strided buffers, allowing access to non-contiguous blocks of memory.
    2. Page 9/19 - At any time during the non real time or real time phase, the user may retrieve the number of buffers in the buffer iterator.
    3. Page 10/11 - such as bipartite all to all, broadcast ....
    4. Page 10/12 - A collective channel utilizing strided buffers has a natural mapping for matrix transpose and 2D transformations.
    5. Page 10/25 A program can use a receptor to wait for an event to occur.
    6. Page 10/38 A receptor can be created with or without handlers.

    The Introduction should be cross-checked after all MPIRT 1.1 proposals are finalized to be sure that the introduction is accurate with respect to the final versions of the 1.1 proposals (the introduction is high priority since it may be the only section that a majority of interested parties read).

  22. Add the following definition to Glossary xx/25 Strided Buffers - A contiguous buffer partitioned into fixed length sub-buffers or blocks. The stride represents the number of elements between the blocks and supports non-contiguous buffer access.

  23. Page 3/5 During MPIRT 1.0, it was proposed and approved in a previous errata that the following words be deleted since restrictions are implied that are not necessarily accurate: " MPIRT has complete control of resources and whose", .

  24. Page 4/33-34 Correct the sentence to read " The tear down of these objects also occurs during a non-real-time phase"

  25. In Chapter 1, we have lists of objects and/or classes in the text. Suggest that we avoid listing specific MPIRT functionality in this chapter wherever possible. The following changes are proposed to reduce the number of places that we have to keep updating as we add new proposals over time:
    1. 7/35 Change the sentence "some examples of committable classes are…" to "Committable classes are defined for buffers, buffer iterators, channels, handlers, and event delivery. Committable objects and their classes are described in Figure 2.1."
    2. 8/40 Add to the sentence "The standard dataspecs supported by MPI/RT are integer, floating point, double precision, logical, character, byte and time. These dataspecs and corresponding language bindings are described in Table 3.1.

  26. The Bufiter policies are not consistent in various parts of the standard. The correct list of policies is on page 111. The following changes are recommended:
    1. 9/12-13 Delete the sentences "Currently the standard …" and "Several more policies ..". Insert the sentence "The standard specifies LIFO, FIFO, sorted and unordered user-selectable policies; in addition to several other policies if the container is a vector container."
    2. 9/13 Delete the sentence "these mapped and ordered policies …" and replace with the sentence "The standard specifies a number of user-selectable policies as listed in the table Buffer Iterator Policies in section 5.6."
    3. 102/30 add the words MPIRT_BUFITER_UNORDERED
    4. Search for all occurrences of MPIRT_BUFITER_ORDERED in the standard and remove from the document.

  27. Need to clearly associate data transfers and channels with respect to zero, one and two-sided communication. The current sentences are too disjoint and need a lead in sentence. Suggest rewording with no impact to functionality as follows:

    9/35 Insert before "Figure 9.1…", the following sentence "MPI/RT supports zero-sided, one-sided, and two-sided communication for point-to-point and collective channels."

  28. 13/11 Remove the words "In keeping with minimizing hidden dangers"

  29. 13/16-17 Replace "because libraries can be portably written by developers" with "because portable libraries can be written by developers""

  30. 13/35 Replace " submitted by user" with " subjected".

  31. 13/37 Remove the sentence " and thereby the target hardware".

  32. 13/38-43 and 14/1-4: With no change to functionality, remove these 10 lines, starting with the sentence "Since the admission test depends.." and replace the paragraph as follows:

    A successful admission test indicates that the target platform can provide the required resources within the desired performance parameters, based on the information supplied by the user. It is the responsibility of the user to provide the correct information. The user can obtain accurate information by experimentation. Using instrumentation, the user can start with a set of plausible criteria and iterate until the desired results are achieved. The criteria used to instrument may be a variety of heuristics or a single known quantity such as minimum frame rate. Whenever the platform cannot meet the user's requirements, the admission tests will fail. When the admission test passes, the platform/ MPIRT performance tradeoff balance has been achieved.

  33. 63/11 Add a footnote for the function MPIRT_INT64_ASSIGN64 as follows: "This function is optional".

  34. 23/41 Change "subsequent set" to "subsequent set operation"

  35. 24/39 Insert the phrase "by the user", after the word "FREEd".

  36. 94/40 Change "programmer" to "user".


Last modified: Tue Dec 12 10:07:05 CST 2000