QUDA  1.0.0
Classes | Namespaces | Functions
gauge_random.cu File Reference
#include <quda_internal.h>
#include <quda_matrix.h>
#include <tune_quda.h>
#include <gauge_field.h>
#include <gauge_field_order.h>
#include <launch_kernel.cuh>
#include <atomic.cuh>
#include <cub_helper.cuh>
#include <index_helper.cuh>
#include <random_quda.h>
Include dependency graph for gauge_random.cu:

Go to the source code of this file.

Classes

struct  quda::GaugeGaussArg< Float, recon, group_ >
 
class  quda::GaugeGauss< Float, Arg >
 

Namespaces

 quda
 

Functions

template<typename real , typename Link >
__device__ __host__ Link quda::gauss_su3 (cuRNGState &localState)
 
template<typename Float , typename Arg >
__global__ void quda::computeGenGauss (Arg arg)
 
template<typename Float , QudaReconstructType recon, bool group>
void quda::genGauss (GaugeField &U, RNG &rngstate, double sigma)
 
void quda::gaugeGauss (GaugeField &U, RNG &rngstate, double epsilon)
 Generate Gaussian distributed su(N) or SU(N) fields. If U is a momentum field, then we generate random Gaussian distributed field in the Lie algebra using the anti-Hermitation convention. If U is in the group then we create a Gaussian distributed su(n) field and exponentiate it, e.g., U = exp(sigma * H), where H is the distributed su(n) field and sigma is the width of the distribution (sigma = 0 results in a free field, and sigma = 1 has maximum disorder). More...
 
void quda::gaugeGauss (GaugeField &U, unsigned long long seed, double epsilon)
 Generate Gaussian distributed su(N) or SU(N) fields. If U is a momentum field, then we generate random Gaussian distributed field in the Lie algebra using the anti-Hermitation convention. If U is in the group then we create a Gaussian distributed su(n) field and exponentiate it, e.g., U = exp(sigma * H), where H is the distributed su(n) field and sigma is the width of the distribution (sigma = 0 results in a free field, and sigma = 1 has maximum disorder). More...