Items 1-8 were approved by straw vote on June 6, 2000.
- 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.
- 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.
- 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
-
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.
- 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.
- 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.
- 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."
- 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).
- Since the release time argument is required, delete the words "if one
exists" at 182/16.
- 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.
- 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. 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.
- 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.
- Add MPIRT_ERR_INV_TIME and MPIRT_ERR_INV_TIMESPEC to Annex A.
- At 72/31, change "(MPIRT_TRIGGER)" to "(ref. to MPIRT_TRIGGER)".
- 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
- 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."
- Change the QoS parameter in all the collective channel operation specifications from "qos" to "channel_qos".
- 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 trigger | GROUP_WORLD |
| implicit receptor | GROUP_WORLD |
| implicit receptor for explicit trigger | GROUP_WORLD |
| explicit receptor for explicit trigger | Same as trigger |
| implicit trigger for explicit receptor | GROUP_WORLD |
| explicit trigger for explicit receptor | Same as receptor |
- Page 67 line 33: change "no" to "do".
- 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.
- 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.
- 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
- Page 13, line 6 change "simila" to "similar"
- Page 42 line 13 change "ne" to "new"
- In figure 5.8 (pg 105), all three instances of the word "buffer" should be "bufiter".
- Page 148, there is a slight formatting problem in the table -- the row for MPIRT_OP is incorrect.
- Errata: General Comments 11/19/00
- 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:
- Page 34/48 -"Vcontainers are derived from MPIRT_CVECTOR_BASE and are
denoted VB_containers".
- Page 38/28-30 - VB_Container classes
- Page 40/35 - "a group is a VB-container of process identifiers".
- Page 35/28-30 - vector containers are denoted MPIRT_CVECTOR_BASE.
- Also see buffer iterator retrieve proposal.
- 34/46 Change the last word of the sentence from "V-container" to
"VB-container". Delete the confusing next sentence "V-containers are
derived…"
- 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.
- 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.
- Page 9/3 The user may specify strided buffers, allowing access to
non-contiguous blocks of memory.
- 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.
- Page 10/11 - such as bipartite all to all, broadcast ....
- Page 10/12 - A collective channel utilizing strided buffers has a natural
mapping for matrix transpose and 2D transformations.
- Page 10/25 A program can use a receptor to wait for an event to occur.
- 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).
- 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.
- 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", .
- Page 4/33-34 Correct the sentence to read " The tear down of these
objects also occurs during a non-real-time phase"
- 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:
- 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."
- 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.
- 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:
- 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."
- 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."
- 102/30 add the words MPIRT_BUFITER_UNORDERED
- Search for all occurrences of MPIRT_BUFITER_ORDERED in the standard and
remove from the document.
- 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."
- 13/11 Remove the words "In keeping with minimizing hidden dangers"
- 13/16-17 Replace "because libraries can be portably written by
developers" with "because portable libraries can be written by developers""
- 13/35 Replace " submitted by user" with " subjected".
- 13/37 Remove the sentence " and thereby the target hardware".
- 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.
- 63/11 Add a footnote for the function MPIRT_INT64_ASSIGN64 as follows:
"This function is optional".
- 23/41 Change "subsequent set" to "subsequent set operation"
- 24/39 Insert the phrase "by the user", after the word "FREEd".
- 94/40 Change "programmer" to "user".