8 template<
typename Float,
typename Gauge>
21 create_jitify_program(
"kernels/gauge_plaq.cuh");
30 for (
int i=0; i<2; i++) ((
double*)arg.
result_h)[i] = 0.0;
33 using namespace jitify::reflection;
35 .instantiate((
int)tp.
block.x,Type<Float>(),Type<Gauge>())
50 template<
typename Float,
typename Gauge>
60 template<
typename Float>
70 double3 plaq = make_double3(0.5*(plq.x + plq.y), plq.x, plq.y);
#define LAUNCH_KERNEL_LOCAL_PARITY(kernel, tp, stream, arg,...)
QudaVerbosity getVerbosity()
Helper file when using jitify run-time compilation. This file should be included in source code...
void apply(const cudaStream_t &stream)
void comm_allreduce_array(double *data, size_t size)
const char * VolString() const
const char * compile_type_str(const LatticeField &meta, QudaFieldLocation location_=QUDA_INVALID_FIELD_LOCATION)
Helper function for setting auxilary string.
GaugePlaq(GaugePlaqArg< Gauge > &arg, const GaugeField &meta)
#define qudaDeviceSynchronize()
#define INSTANTIATE_PRECISION(func, lat,...)
__global__ void computePlaq(GaugePlaqArg< Gauge > arg)
TuneParam & tuneLaunch(Tunable &tunable, QudaTune enabled, QudaVerbosity verbosity)
QudaFieldLocation Location() const
GaugePlaqArg< Gauge > arg
enum QudaFieldLocation_s QudaFieldLocation
#define INSTANTIATE_RECONSTRUCT(func, g,...)
QudaTune getTuning()
Query whether autotuning is enabled or not. Default is enabled but can be overridden by setting QUDA_...
double3 plaquette(const GaugeField &U)
Compute the plaquette of the gauge field.