Adding ubuf union to Kokkos atom_vec styles

This commit is contained in:
Stan Moore
2017-04-26 08:15:42 -06:00
parent 2f32fb7f8b
commit d73d70fa1f
7 changed files with 288 additions and 323 deletions

View File

@ -619,16 +619,16 @@ struct AtomVecAtomicKokkos_PackBorder {
_buf(i,0) = _x(j,0);
_buf(i,1) = _x(j,1);
_buf(i,2) = _x(j,2);
_buf(i,3) = _tag(j);
_buf(i,4) = _type(j);
_buf(i,5) = _mask(j);
_buf(i,3) = d_ubuf(_tag(j)).d;
_buf(i,4) = d_ubuf(_type(j)).d;
_buf(i,5) = d_ubuf(_mask(j)).d;
} else {
_buf(i,0) = _x(j,0) + _dx;
_buf(i,1) = _x(j,1) + _dy;
_buf(i,2) = _x(j,2) + _dz;
_buf(i,3) = _tag(j);
_buf(i,4) = _type(j);
_buf(i,5) = _mask(j);
_buf(i,3) = d_ubuf(_tag(j)).d;
_buf(i,4) = d_ubuf(_type(j)).d;
_buf(i,5) = d_ubuf(_mask(j)).d;
}
}
};
@ -836,9 +836,9 @@ struct AtomVecAtomicKokkos_UnpackBorder {
_x(i+_first,0) = _buf(i,0);
_x(i+_first,1) = _buf(i,1);
_x(i+_first,2) = _buf(i,2);
_tag(i+_first) = static_cast<tagint> (_buf(i,3));
_type(i+_first) = static_cast<int> (_buf(i,4));
_mask(i+_first) = static_cast<int> (_buf(i,5));
_tag(i+_first) = (tagint) d_ubuf(_buf(i,3)).i;
_type(i+_first) = (int) d_ubuf(_buf(i,4)).i;
_mask(i+_first) = (int) d_ubuf(_buf(i,5)).i;
// printf("%i %i %lf %lf %lf %i BORDER\n",_tag(i+_first),i+_first,_x(i+_first,0),_x(i+_first,1),_x(i+_first,2),_type(i+_first));
}
};
@ -977,10 +977,10 @@ struct AtomVecAtomicKokkos_PackExchangeFunctor {
_buf(mysend,4) = _v(i,0);
_buf(mysend,5) = _v(i,1);
_buf(mysend,6) = _v(i,2);
_buf(mysend,7) = _tag[i];
_buf(mysend,8) = _type[i];
_buf(mysend,9) = _mask[i];
_buf(mysend,10) = _image[i];
_buf(mysend,7) = d_ubuf(_tag[i]).d;
_buf(mysend,8) = d_ubuf(_type[i]).d;
_buf(mysend,9) = d_ubuf(_mask[i]).d;
_buf(mysend,10) = d_ubuf(_image[i]).d;
const int j = _copylist(mysend);
if(j>-1) {
@ -1091,10 +1091,10 @@ struct AtomVecAtomicKokkos_UnpackExchangeFunctor {
_v(i,0) = _buf(myrecv,4);
_v(i,1) = _buf(myrecv,5);
_v(i,2) = _buf(myrecv,6);
_tag[i] = _buf(myrecv,7);
_type[i] = _buf(myrecv,8);
_mask[i] = _buf(myrecv,9);
_image[i] = _buf(myrecv,10);
_tag[i] = (tagint) d_ubuf(_buf(myrecv,7)).i;
_type[i] = (int) d_ubuf(_buf(myrecv,8)).i;
_mask[i] = (int) d_ubuf(_buf(myrecv,9)).i;
_image[i] = (imageint) d_ubuf(_buf(myrecv,10)).i;
}
}
};