Skip to content

Commit

Permalink
Update AoSoA API in Cabana's use case (#481)
Browse files Browse the repository at this point in the history
* Update Cabana::AoSoA API

* Cabana:AoSoA do not expose implementation details

* Improve description of VectorLength parameter

Co-authored-by: Sam Reeve <[email protected]>

* Improve further description based on feedback

Co-authored-by: Sam Reeve <[email protected]>

---------

Co-authored-by: Sam Reeve <[email protected]>
  • Loading branch information
dalg24 and streeve authored Jan 9, 2024
1 parent 5fc68c6 commit b5cd6a0
Showing 1 changed file with 5 additions and 6 deletions.
11 changes: 5 additions & 6 deletions docs/source/usecases/SoA-and-AoSoA-with-Cabana.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,8 @@ MemberTypes<Types...>;
Defined in header [`<Cabana_AoSoA.hpp>`](https://github.com/ECP-copa/Cabana/blob/master/core/src/Cabana_AoSoA.hpp)

```C++
template <class DataTypes, class DeviceType,
int VectorLength = Impl::PerformanceTraits<
typename DeviceType::execution_space>::vector_length,
template <class DataTypes, class MemorySpace,
int VectorLength = DEDUCED-FROM-MEMORY-SPACE,
class MemoryTraits = Kokkos::MemoryManaged>
class AoSoA;
```
Expand All @@ -52,11 +51,11 @@ class AoSoA;
`DataTypes`
: The types of the elements stored in the underlying `Cabana::SoA`s.
`DeviceType`
: The Kokkos device type that carries the information about where to execute code and where to allocate storage.
`MemorySpace`
: The Kokkos memory space that carries information about where to allocate storage.
`VectorLength`
: The vector length for the structure of arrays (optional).
: The vector length for the structure of arrays (optional). If not specified, a default (defined per memory space) is used; this value may need to be modified for optimal performance.
`MemoryTraits`
: The Kokkos memory traits that tells who controls memory allocation and deallocation (optional).
Expand Down

0 comments on commit b5cd6a0

Please sign in to comment.