Skip to content

Commit d095720

Browse files
everythingfunctionalktrasbonachearouson
committed
Update PRIF design doc to Revision 0.4
* Changes to Coarray Access (puts and gets): - Refactor to provide separate procedure interfaces for the various combinations of: direct vs indirect target location, puts with or without a *notify-variable*, direct vs indirect *notify-variable* location, and strided vs contiguous data access. - Add discussion of direct and indirect location accesses to the Design Decisions and Impact section - Rename `_raw_` procedures to `_indirect_` - Replace `cosubscripts`, `team`, and `team_number` arguments with `image_num` - Replace `first_element_addr` arguments with `offset` - Replace `type(*)` `value` arguments with `size` and `current_image_buffer` - Rename `remote_ptr_stride` arguments to `remote_stride` - Rename `current_image_buffer_stride` arguments to `current_image_stride` - Rename `size` arguments to `size_in_bytes` * Other changes to PRIF procedure interfaces: - Establish a new uniform argument ordering across all non-collective communication procedures - Remove `prif_base_pointer`. Direct access procedures should be used instead. - Add direct versions of `prif_event_post`, `prif_lock`, and `prif_unlock` and rename previous versions to `..._indirect` - Convert `prif_num_images` into three different procedures with no optional arguments, in order to more closely align with the Fortran standard. Do the same with `prif_image_index`. - Correct the kind for atomic procedures from `atomic_int_kind` to `PRIF_ATOMIC_INT_KIND` and from `atomic_logical_kind` to `PRIF_ATOMIC_LOGICAL_KIND` - Remove target attribute from `coarray_handles` argument in `prif_deallocate_coarray` - Rename `element_length` argument in `prif_allocate_coarray` to `element_size` - Rename `image_index` argument in `prif_this_image_no_coarray` to `this_image` - Remove generic interfaces throughout * Miscellaneous new features: - Allow multiple calls to `prif_init` from each process, and add `PRIF_STAT_ALREADY_INIT` constant - Add new PRIF-specific constants `PRIF_VERSION_MAJOR` and `PRIF_VERSION_MINOR` * Narrative and editorial improvements: - Add/improve Common Arguments subsections and add links to them below procedure interfaces - Elide argument lists for all procedures and add prose explaining how the PRIF specification presents the procedure interfaces - Add client notes to subsections introducing PRIF Types, and permute subsection order - Add guidance to clients regarding coarray dummy arguments - Remove grammar non-terminals, including `coindexed-named-object` - Add several terms to the glossary - Numerous minor wording changes throughout Co-authored-by: Katherine Rasmussen <[email protected]> Co-authored-by: Dan Bonachea <[email protected]> Co-authored-by: Damian Rouson <[email protected]>
1 parent 59b7314 commit d095720

File tree

1 file changed

+1164
-592
lines changed

1 file changed

+1164
-592
lines changed

0 commit comments

Comments
 (0)