CHROMA
dslash_array_w.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Include possibly optimized Wilson dslash
4  */
5 
6 #ifndef __dslash_array_w_h
7 #define __dslash_array_w_h
8 
9 #include "chroma_config.h"
10 
11 // The QDP naive dslash class: QDPWilsonDslashArray
12 #include "lwldslash_array_w.h"
13 
14 // An optimised version of the dslash class in QDP++
15 // Using fused operations and temporaries
16 // Still too much comms tho.
18 
19 
20 // The following is an ifdef lis that switches in optimised
21 // Dslash-es. Currently only optimised dslash is the SSE One;
22 
23 #ifdef BUILD_SSE_WILSON_DSLASH
24 // The lwldslash_w_sse.h defines the SSE Dslash class
25 // The following typedef switches it in.
26 # include "lwldslash_array_sse_w.h"
27 namespace Chroma {
28 typedef SSEWilsonDslashArray WilsonDslashArray;
29 } // end namespace Chroma
30 
31 // Many #elif clauses could come in here for other opotimised Dslash-es
32 #elif defined BUILD_PAB_WILSON_DSLASH
33 # include "lwldslash_array_pab_w.h"
34 namespace Chroma {
35 typedef PABWilsonDslashArray WilsonDslashArray;
36 } // end namespace Chroma
37 
38 #else
39 
40 // Bottom line, if no optimised Dslash-s exist then the naive QDP Dslash
41 // becomes the WilsonDslash
42 namespace Chroma {
44 } // end namespace Chroma
45 #endif
46 
47 
48 #endif
General Wilson-Dirac dslash of arrays.
Wilson Dslash linear operator over arrays.
Wilson Dslash linear operator over arrays.
Wilson Dslash linear operator array.
Wilson Dslash linear operator over arrays.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
QDPWilsonDslashArrayOpt WilsonDslashArray