QUDA v0.4.0
A library for QCD on GPUs
|
#include <stdlib.h>
#include <stdio.h>
#include <quda_internal.h>
#include <blas_quda.h>
#include <color_spinor_field.h>
#include <face_quda.h>
#include <double_single.h>
#include <float_vector.h>
#include <texture.h>
#include <tune_quda.h>
#include <typeinfo>
#include <blas_core.h>
#include <reduce_core.h>
Go to the source code of this file.
#define checkSpinor | ( | a, | |
b | |||
) |
{ \ if (a.Precision() != b.Precision()) \ errorQuda("precisions do not match: %d %d", a.Precision(), b.Precision()); \ if (a.Length() != b.Length()) \ errorQuda("lengths do not match: %d %d", a.Length(), b.Length()); \ if (a.Stride() != b.Stride()) \ errorQuda("strides do not match: %d %d", a.Stride(), b.Stride()); \ }
Definition at line 41 of file blas_quda.cu.
#define checkSpinorLength | ( | a, | |
b | |||
) |
{ \ if (a.Length() != b.Length()) \ errorQuda("lengths do not match: %d %d", a.Length(), b.Length()); \ if (a.Stride() != b.Stride()) \ errorQuda("strides do not match: %d %d", a.Stride(), b.Stride()); \ }
Definition at line 52 of file blas_quda.cu.
#define MAX_BLOCK 512 |
Definition at line 142 of file blas_quda.cu.
#define QudaSumFloat doublesingle |
Definition at line 16 of file blas_quda.cu.
#define QudaSumFloat2 doublesingle2 |
Definition at line 17 of file blas_quda.cu.
#define QudaSumFloat3 doublesingle3 |
Definition at line 18 of file blas_quda.cu.
#define REDUCE_MAX_BLOCKS 65536 |
Definition at line 9 of file blas_quda.cu.
void axCuda | ( | const double & | a, |
cudaColorSpinorField & | x | ||
) |
Definition at line 444 of file blas_quda.cu.
void axpbyCuda | ( | const double & | a, |
cudaColorSpinorField & | x, | ||
const double & | b, | ||
cudaColorSpinorField & | y | ||
) |
Definition at line 356 of file blas_quda.cu.
void axpyBzpcxCuda | ( | const double & | a, |
cudaColorSpinorField & | x, | ||
cudaColorSpinorField & | y, | ||
const double & | b, | ||
cudaColorSpinorField & | z, | ||
const double & | c | ||
) |
Definition at line 586 of file blas_quda.cu.
void axpyCuda | ( | const double & | a, |
cudaColorSpinorField & | x, | ||
cudaColorSpinorField & | y | ||
) |
Definition at line 391 of file blas_quda.cu.
double axpyNormCuda | ( | const double & | a, |
cudaColorSpinorField & | x, | ||
cudaColorSpinorField & | y | ||
) |
Definition at line 788 of file blas_quda.cu.
void axpyZpbxCuda | ( | const double & | a, |
cudaColorSpinorField & | x, | ||
cudaColorSpinorField & | y, | ||
cudaColorSpinorField & | z, | ||
const double & | b | ||
) |
Definition at line 607 of file blas_quda.cu.
void cabxpyAxCuda | ( | const double & | a, |
const quda::Complex & | b, | ||
cudaColorSpinorField & | x, | ||
cudaColorSpinorField & | y | ||
) |
Definition at line 651 of file blas_quda.cu.
double cabxpyAxNormCuda | ( | const double & | a, |
const quda::Complex & | b, | ||
cudaColorSpinorField & | x, | ||
cudaColorSpinorField & | y | ||
) |
Definition at line 873 of file blas_quda.cu.
__device__ void caxpby_ | ( | const float2 & | a, |
const float4 & | x, | ||
const float2 & | b, | ||
float4 & | y | ||
) |
Functor to perform the operation y = a*x + b*y (complex-valued)
Definition at line 490 of file blas_quda.cu.
__device__ void caxpby_ | ( | const float2 & | a, |
const float2 & | x, | ||
const float2 & | b, | ||
float2 & | y | ||
) |
Definition at line 498 of file blas_quda.cu.
__device__ void caxpby_ | ( | const double2 & | a, |
const double2 & | x, | ||
const double2 & | b, | ||
double2 & | y | ||
) |
Definition at line 504 of file blas_quda.cu.
void caxpbyCuda | ( | const quda::Complex & | a, |
cudaColorSpinorField & | x, | ||
const quda::Complex & | b, | ||
cudaColorSpinorField & | y | ||
) |
Definition at line 520 of file blas_quda.cu.
void caxpbypczpwCuda | ( | const quda::Complex & | a, |
cudaColorSpinorField & | x, | ||
const quda::Complex & | b, | ||
cudaColorSpinorField & | y, | ||
const quda::Complex & | c, | ||
cudaColorSpinorField & | z, | ||
cudaColorSpinorField & | w | ||
) |
Definition at line 696 of file blas_quda.cu.
void caxpbypzCuda | ( | const quda::Complex & | a, |
cudaColorSpinorField & | x, | ||
const quda::Complex & | b, | ||
cudaColorSpinorField & | y, | ||
cudaColorSpinorField & | z | ||
) |
Definition at line 673 of file blas_quda.cu.
double3 caxpbypzYmbwcDotProductUYNormYCuda | ( | const quda::Complex & | a, |
cudaColorSpinorField & | x, | ||
const quda::Complex & | b, | ||
cudaColorSpinorField & | y, | ||
cudaColorSpinorField & | z, | ||
cudaColorSpinorField & | w, | ||
cudaColorSpinorField & | u | ||
) |
Definition at line 1017 of file blas_quda.cu.
void caxpbypzYmbwCuda | ( | const quda::Complex & | a, |
cudaColorSpinorField & | x, | ||
const quda::Complex & | b, | ||
cudaColorSpinorField & | y, | ||
cudaColorSpinorField & | z, | ||
cudaColorSpinorField & | w | ||
) |
Definition at line 630 of file blas_quda.cu.
__device__ void caxpy_ | ( | const float2 & | a, |
const float4 & | x, | ||
float4 & | y | ||
) |
Functor to perform the operation y += a * x (complex-valued)
Definition at line 454 of file blas_quda.cu.
__device__ void caxpy_ | ( | const float2 & | a, |
const float2 & | x, | ||
float2 & | y | ||
) |
Definition at line 461 of file blas_quda.cu.
__device__ void caxpy_ | ( | const double2 & | a, |
const double2 & | x, | ||
double2 & | y | ||
) |
Definition at line 466 of file blas_quda.cu.
void caxpyCuda | ( | const quda::Complex & | a, |
cudaColorSpinorField & | x, | ||
cudaColorSpinorField & | y | ||
) |
Definition at line 480 of file blas_quda.cu.
quda::Complex caxpyDotzyCuda | ( | const quda::Complex & | a, |
cudaColorSpinorField & | x, | ||
cudaColorSpinorField & | y, | ||
cudaColorSpinorField & | z | ||
) |
Definition at line 942 of file blas_quda.cu.
double caxpyNormCuda | ( | const quda::Complex & | a, |
cudaColorSpinorField & | x, | ||
cudaColorSpinorField & | y | ||
) |
Definition at line 827 of file blas_quda.cu.
void caxpyXmazCuda | ( | const quda::Complex & | a, |
cudaColorSpinorField & | x, | ||
cudaColorSpinorField & | y, | ||
cudaColorSpinorField & | z | ||
) |
Definition at line 720 of file blas_quda.cu.
double caxpyXmazNormXCuda | ( | const quda::Complex & | a, |
cudaColorSpinorField & | x, | ||
cudaColorSpinorField & | y, | ||
cudaColorSpinorField & | z | ||
) |
Definition at line 849 of file blas_quda.cu.
__device__ double2 cdot_ | ( | const double2 & | a, |
const double2 & | b | ||
) |
Returns complex-valued dot product of x and y
Definition at line 883 of file blas_quda.cu.
__device__ double2 cdot_ | ( | const float2 & | a, |
const float2 & | b | ||
) |
Definition at line 885 of file blas_quda.cu.
__device__ double2 cdot_ | ( | const float4 & | a, |
const float4 & | b | ||
) |
Definition at line 887 of file blas_quda.cu.
__device__ double3 cdotNormA_ | ( | const double2 & | a, |
const double2 & | b | ||
) |
First returns the dot product (x,y) Returns the norm of x
Definition at line 954 of file blas_quda.cu.
__device__ double3 cdotNormA_ | ( | const float4 & | a, |
const float4 & | b | ||
) |
Definition at line 958 of file blas_quda.cu.
__device__ double3 cdotNormA_ | ( | const float2 & | a, |
const float2 & | b | ||
) |
Definition at line 956 of file blas_quda.cu.
__device__ double3 cdotNormB_ | ( | const float4 & | a, |
const float4 & | b | ||
) |
Definition at line 985 of file blas_quda.cu.
__device__ double3 cdotNormB_ | ( | const double2 & | a, |
const double2 & | b | ||
) |
First returns the dot product (x,y) Returns the norm of y
Definition at line 981 of file blas_quda.cu.
__device__ double3 cdotNormB_ | ( | const float2 & | a, |
const float2 & | b | ||
) |
Definition at line 983 of file blas_quda.cu.
quda::Complex cDotProductCuda | ( | cudaColorSpinorField & | x, |
cudaColorSpinorField & | y | ||
) |
Definition at line 898 of file blas_quda.cu.
double3 cDotProductNormACuda | ( | cudaColorSpinorField & | x, |
cudaColorSpinorField & | y | ||
) |
Definition at line 971 of file blas_quda.cu.
double3 cDotProductNormBCuda | ( | cudaColorSpinorField & | x, |
cudaColorSpinorField & | y | ||
) |
Definition at line 997 of file blas_quda.cu.
void copyCuda | ( | cudaColorSpinorField & | dst, |
const cudaColorSpinorField & | src | ||
) |
Definition at line 214 of file blas_quda.cu.
__global__ void copyKernel | ( | Output | Y, |
Input | X, | ||
int | length | ||
) |
Definition at line 148 of file blas_quda.cu.
__device__ void cxpaypbz_ | ( | const float4 & | x, |
const float2 & | a, | ||
const float4 & | y, | ||
const float2 & | b, | ||
float4 & | z | ||
) |
Functor to performs the operation z[i] = x[i] + a*y[i] + b*z[i]
Definition at line 530 of file blas_quda.cu.
__device__ void cxpaypbz_ | ( | const double2 & | x, |
const double2 & | a, | ||
const double2 & | y, | ||
const double2 & | b, | ||
double2 & | z | ||
) |
Definition at line 546 of file blas_quda.cu.
__device__ void cxpaypbz_ | ( | const float2 & | x, |
const float2 & | a, | ||
const float2 & | y, | ||
const float2 & | b, | ||
float2 & | z | ||
) |
Definition at line 539 of file blas_quda.cu.
void cxpaypbzCuda | ( | cudaColorSpinorField & | x, |
const quda::Complex & | a, | ||
cudaColorSpinorField & | y, | ||
const quda::Complex & | b, | ||
cudaColorSpinorField & | z | ||
) |
Definition at line 564 of file blas_quda.cu.
__device__ double dot_ | ( | const double2 & | a, |
const double2 & | b | ||
) |
Return the real dot product of x and y
Definition at line 755 of file blas_quda.cu.
__device__ float dot_ | ( | const float2 & | a, |
const float2 & | b | ||
) |
Definition at line 756 of file blas_quda.cu.
__device__ float dot_ | ( | const float4 & | a, |
const float4 & | b | ||
) |
Definition at line 757 of file blas_quda.cu.
void mxpyCuda | ( | cudaColorSpinorField & | x, |
cudaColorSpinorField & | y | ||
) |
Definition at line 426 of file blas_quda.cu.
__device__ float norm2_ | ( | const float4 & | a | ) |
Definition at line 733 of file blas_quda.cu.
__device__ double norm2_ | ( | const double2 & | a | ) |
Return the L2 norm of x
Definition at line 731 of file blas_quda.cu.
__device__ float norm2_ | ( | const float2 & | a | ) |
Definition at line 732 of file blas_quda.cu.
double normCuda | ( | const cudaColorSpinorField & | x | ) |
Definition at line 745 of file blas_quda.cu.
double reDotProductCuda | ( | cudaColorSpinorField & | x, |
cudaColorSpinorField & | y | ||
) |
Definition at line 768 of file blas_quda.cu.
double xmyNormCuda | ( | cudaColorSpinorField & | x, |
cudaColorSpinorField & | y | ||
) |
Definition at line 807 of file blas_quda.cu.
quda::Complex xpaycDotzyCuda | ( | cudaColorSpinorField & | x, |
const double & | a, | ||
cudaColorSpinorField & | y, | ||
cudaColorSpinorField & | z | ||
) |
Definition at line 920 of file blas_quda.cu.
void xpayCuda | ( | cudaColorSpinorField & | x, |
const double & | a, | ||
cudaColorSpinorField & | y | ||
) |
Definition at line 409 of file blas_quda.cu.
void xpyCuda | ( | cudaColorSpinorField & | x, |
cudaColorSpinorField & | y | ||
) |
Definition at line 373 of file blas_quda.cu.
void zeroCuda | ( | cudaColorSpinorField & | a | ) |
Definition at line 39 of file blas_quda.cu.
int stride |
Definition at line 68 of file blas_quda.cu.
int x[QUDA_MAX_DIM] |
Definition at line 67 of file blas_quda.cu.