1
0
mirror of https://github.com/paboyle/Grid.git synced 2025-04-09 21:50:45 +01:00

Coalesced loops

This commit is contained in:
Peter Boyle 2019-06-15 08:03:13 +01:00
parent 6b692aa726
commit 736358b0cb

View File

@ -43,8 +43,8 @@ inline Lattice<vobj> transpose(const Lattice<vobj> &lhs){
Lattice<vobj> ret(lhs.Grid()); Lattice<vobj> ret(lhs.Grid());
auto ret_v = ret.View(); auto ret_v = ret.View();
auto lhs_v = lhs.View(); auto lhs_v = lhs.View();
accelerator_loop(ss,lhs_v,{ accelerator_for(ss,lhs_v.size(),vobj::Nsimd(),{
ret_v[ss] = transpose(lhs_v[ss]); coalescedWrite(ret_v[ss], transpose(lhs_v(ss)));
}); });
return ret; return ret;
}; };
@ -58,8 +58,8 @@ inline auto TransposeIndex(const Lattice<vobj> &lhs) -> Lattice<decltype(transpo
Lattice<decltype(transposeIndex<Index>(vobj()))> ret(lhs.Grid()); Lattice<decltype(transposeIndex<Index>(vobj()))> ret(lhs.Grid());
auto ret_v = ret.View(); auto ret_v = ret.View();
auto lhs_v = lhs.View(); auto lhs_v = lhs.View();
accelerator_loop(ss,lhs_v,{ accelerator_for(ss,lhs_v.size(),vobj::Nsimd(),{
ret_v[ss] = transposeIndex<Index>(lhs_v[ss]); coalescedWrite(ret_v[ss] , transposeIndex<Index>(lhs_v(ss)));
}); });
return ret; return ret;
}; };