|
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.
1.7.4