Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update View documentation #21

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 25 additions & 3 deletions API-Reference/Kokkos::View.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,10 @@ Template parameters other than `DataType` are optional, but ordering is enforced
### Enums

* `rank`: rank of the view (i.e. the dimensionality).
* `Rank`: rank of the view (i.e. the dimensionality) (use `rank` instead).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you really want to document something we don't want people to use?

* `rank_dynamic`: number of runtime determined dimensions.
* `reference_type_is_lvalue_reference`: whether the reference type is a C++ lvalue reference.
* `is_hostspace`: whether the view is accesible from the process thread.

### Typedefs

Expand Down Expand Up @@ -73,9 +75,21 @@ Template parameters other than `DataType` are optional, but ordering is enforced


#### ViewTypes
* `non_const_type`: this view type with all template parameters explicitly defined.
* `const_type`: this view type with all template parameters explicitly defined using a `const` data type.
* `HostMirror`: compatible view type with the same `DataType` and `LayoutType` stored in host accessible memory space.
* `non_const_type`: this view type with all template parameters explicitly defined.
* `host_mirror_type`: compatible view type with the same `DataType` and `LayoutType` stored in host accessible memory space.
* `HostMirror`: compatible view type with the same `DataType` and `LayoutType` stored in host accessible memory space (use `host_mirror_type` instead).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same question about documenting deprecated things

* `uniform_type`: this view type with all template arguments explicitly defined, and brought into a canonical form.
* e.g. 0D and 1D `LayoutLeft` and `LayoutRight` are mapped to the same layout type, and always uses `device_type` as space argument.
* `uniform_const_type`: `uniform_type` with const data type
* `uniform_runtime_type`: as `uniform_type` but without compile time extents.
* `uniform_runtime_const_type`: `uniform_runtime_type` with const data type.
* `uniform_nomemspace_type`: uses unified layout and `AnonymousSpace`.
* `uniform_const_nomemspace_type`: `uniform_nomemspace_type` with const data type.
* `uniform_runtime_nomemspace_type`: uses unified layout, all runtime extents and `AnonymousSpace`.
* `uniform_runtime_const_nomemspace_type`: `uniform_runtime_nomemspace_type` with const data type.



#### Data Handles
* `reference_type`: return type of the view access operators.
Expand Down Expand Up @@ -129,11 +143,19 @@ Template parameters other than `DataType` are optional, but ordering is enforced
### Data Access Functions

* ```c++
template<class IntType>
reference_type operator[] (const IntType& i) const
```
Returns a value of `reference_type` which may or not be referenceable itself.
See notes on `reference_type` for properties of the return type.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Say it is only available for rank-1 views


* ```c++
template<class ... IntType>
reference_type operator() (const IntType& ... indices) const
```
Returns a value of `reference_type` which may or not be referenceable itself. The number of index arguments must match the `rank` of the view.
See notes on `reference_type` for properties of the return type.
* Requires: `sizeof(IntType...)==rank_dynamic()`
* Requires: `sizeof(IntType...)==rank`

* ```c++
reference_type access (const IntType& i0=0, ... , const IntType& i7=0) const
Expand Down