Update Kokkos library in LAMMPS to v4.3.0
This commit is contained in:
@ -93,7 +93,7 @@ class load_element_aligned {
|
||||
bool host_load(T const* mem, std::size_t n,
|
||||
Kokkos::Experimental::simd<T, Abi>& result) const {
|
||||
if (n < result.size()) return false;
|
||||
result.copy_from(mem, Kokkos::Experimental::element_aligned_tag());
|
||||
result.copy_from(mem, Kokkos::Experimental::simd_flag_default);
|
||||
return true;
|
||||
}
|
||||
template <class T, class Abi>
|
||||
@ -101,7 +101,26 @@ class load_element_aligned {
|
||||
T const* mem, std::size_t n,
|
||||
Kokkos::Experimental::simd<T, Abi>& result) const {
|
||||
if (n < result.size()) return false;
|
||||
result.copy_from(mem, Kokkos::Experimental::element_aligned_tag());
|
||||
result.copy_from(mem, Kokkos::Experimental::simd_flag_default);
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
class load_vector_aligned {
|
||||
public:
|
||||
template <class T, class Abi>
|
||||
bool host_load(T const* mem, std::size_t n,
|
||||
Kokkos::Experimental::simd<T, Abi>& result) const {
|
||||
if (n < result.size()) return false;
|
||||
result.copy_from(mem, Kokkos::Experimental::simd_flag_aligned);
|
||||
return true;
|
||||
}
|
||||
template <class T, class Abi>
|
||||
KOKKOS_INLINE_FUNCTION bool device_load(
|
||||
T const* mem, std::size_t n,
|
||||
Kokkos::Experimental::simd<T, Abi>& result) const {
|
||||
if (n < result.size()) return false;
|
||||
result.copy_from(mem, Kokkos::Experimental::simd_flag_aligned);
|
||||
return true;
|
||||
}
|
||||
};
|
||||
@ -116,8 +135,7 @@ class load_masked {
|
||||
for (std::size_t i = 0; i < n; ++i) {
|
||||
mask[i] = true;
|
||||
}
|
||||
where(mask, result)
|
||||
.copy_from(mem, Kokkos::Experimental::element_aligned_tag());
|
||||
where(mask, result).copy_from(mem, Kokkos::Experimental::simd_flag_default);
|
||||
where(!mask, result) = 0;
|
||||
return true;
|
||||
}
|
||||
@ -130,8 +148,7 @@ class load_masked {
|
||||
for (std::size_t i = 0; i < n; ++i) {
|
||||
mask[i] = true;
|
||||
}
|
||||
where(mask, result)
|
||||
.copy_from(mem, Kokkos::Experimental::element_aligned_tag());
|
||||
where(mask, result).copy_from(mem, Kokkos::Experimental::simd_flag_default);
|
||||
where(!mask, result) = T(0);
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user