QUDA  1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Namespaces | Functions
unitarize_links_quda.cu File Reference
#include <cstdlib>
#include <cstdio>
#include <iostream>
#include <iomanip>
#include <cuda.h>
#include <gauge_field.h>
#include <gauge_field_order.h>
#include <tune_quda.h>
#include <quda_matrix.h>
#include <unitarization_links.h>
#include <su3_project.cuh>
#include <index_helper.cuh>
Include dependency graph for unitarize_links_quda.cu:

Go to the source code of this file.

Classes

struct  quda::ProjectSU3Arg< Float, G >
 
class  quda::ProjectSU3< Float, G >
 

Namespaces

 quda
 

Functions

void quda::setUnitarizeLinksConstants (double unitarize_eps, double max_error, bool allow_svd, bool svd_only, double svd_rel_error, double svd_abs_error)
 
void quda::unitarizeLinksCPU (cpuGaugeField &outfield, const cpuGaugeField &infield)
 
bool quda::isUnitary (const cpuGaugeField &field, double max_error)
 
void quda::unitarizeLinks (cudaGaugeField &outfield, const cudaGaugeField &infield, int *fails)
 
void quda::unitarizeLinks (cudaGaugeField &outfield, int *fails)
 
template<typename Float , typename G >
__global__ void quda::ProjectSU3kernel (ProjectSU3Arg< Float, G > arg)
 
void quda::projectSU3 (cudaGaugeField &U, double tol, int *fails)
 Project the input gauge field onto the SU(3) group. This is a destructive operation. The number of link failures is reported so appropriate action can be taken. More...