-
Notifications
You must be signed in to change notification settings - Fork 50
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
Why does AOSOA not support non-arithmetic data type?? #770
Comments
First, we're fundamentally limited by https://kokkos.org/kokkos-core-wiki/ProgrammingGuide/View.html?highlight=trivial#what-types-of-data-may-a-view-contain But you're correct that we're more restrictive since #203. The discussion there is pretty good, but I'm happy to discuss further |
Thank for replying. |
It may be possible to store that in an AoSoA, but it's generally only intended to pack multiple particle fields together. We have fully separate structured grids on which we evaluate the current B-splines (and I imagine that could handle something like THB). Am I missing something you're hoping to get out of using the AoSoA for splines specifically? |
Understood that AoSoA was not designed for grids. However, I observed that the class Cabana::Grid::Experimental::SparseArray is already designed on top of AoSoA. That is why I built my own splines using the AoSoA. |
For some reasons I would like to use a class as the Datatype. However, I found it is not supported in Cabana_MemberTypes.hpp.
What is the background of forcing its member to be arithmetic types?
template <std::size_t M, typename T, typename... Types>
struct CheckMemberTypesImpl
{
using type = T;
static_assert( std::is_trivial::value,
"Member types must be trivial" );
using value_type = typename std::remove_all_extents::type;
static_assert( std::is_arithmetic<value_type>::value,
"Member value types must be arithmetic" );
};
//! \endcond
The text was updated successfully, but these errors were encountered: