Changed staggered dslash to use a coordinate array instead of four individual integers
Added some macro checks to eliminate warnings in the staggered dslash compilation
Removed some pointless cast qualifiers that were generating compile-time warnings
Added a function to compute coordinates from face indices in the
staggered dslash kernel. Previously, this calculation was done in
the kernel body itself.
Added a new template argument for the coordinate calculation in the
staggered dslash kernel. Can now choose between boundary region calculations
involving either the front boundary or back boundary.
Cleaned up staggered dslash kernel. Removed constant memory variables (I think).
Each Dirac operator now has two FaceBuffer members (face1 and face2).
This is facilitates double buffering in the dslash functions defined
in dslash_quda.cu, which will enable MPI receives to be issue up front.
Moved initDslashCommsPattern up to beginning of the dslash function call.
Replace calls to FaceBuffer::commsStart with in the dslash kernels with
calls to FaceBuffer::recvStart and FaceBuffer::sendStart to allow MPI
receives to be issued at the beginning of the dslash function.
Added upfront receive posts to dslashCuda2