su2hmc
Loading...
Searching...
No Matches
matrices.h File Reference

Matrix multiplication and related declarations. More...

#include <par_mpi.h>
Include dependency graph for matrices.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

int Dslash (Complex *phi, Complex *r, Complex *ut[nc], unsigned int *iu, unsigned int *id, Complex gamval[20], const unsigned short gamin[16], double *dk[nc], Complex_f jqq, float akappa)
 Evaluates \(\Phi=M r\) in double precision.
int Dslashd (Complex *phi, Complex *r, Complex *ut[nc], unsigned int *iu, unsigned int *id, Complex gamval[20], const unsigned short gamin[16], double *dk[nc], Complex_f jqq, float akappa)
 Evaluates \(\Phi=M^\dagger r\) in double precision.
int Hdslash (Complex *phi, Complex *r, Complex *ut[nc], unsigned int *iu, unsigned int *id, Complex gamval[20], const unsigned short gamin[16], double *dk[nc], float akappa)
 Evaluates \(\Phi=M r\) in double precision.
int Hdslashd (Complex *phi, Complex *r, Complex *ut[nc], unsigned int *iu, unsigned int *id, Complex gamval[20], const unsigned short gamin[16], double *dk[nc], float akappa)
 Evaluates \(\Phi=M^\dagger r\) in double precision.
int Dslash_f (Complex_f *phi, Complex_f *r, Complex_f *ut[nc], unsigned int *iu, unsigned int *id, Complex_f gamval[20], const unsigned short gamin[16], float *dk[nc], Complex_f jqq, float akappa)
 Evaluates \(\Phi=M r\) in single precision.
int Dslashd_f (Complex_f *phi, Complex_f *r, Complex_f *ut[nc], unsigned int *iu, unsigned int *id, Complex_f gamval[20], const unsigned short gamin[16], float *dk[nc], Complex_f jqq, float akappa)
 Evaluates \(\Phi=M^\dagger r\) in single precision.
int Hdslash_f (Complex_f *phi, Complex_f *r, Complex_f *ut[nc], unsigned int *iu, unsigned int *id, Complex_f gamval[20], const unsigned short gamin[16], float *dk[nc], float akappa)
 Evaluates \(\Phi=M r\) in single precision.
int Hdslashd_f (Complex_f *phi, Complex_f *r, Complex_f *ut[nc], unsigned int *iu, unsigned int *id, Complex_f gamval[20], const unsigned short gamin[16], float *dk[nc], float akappa)
 Evaluates \(\Phi=M^\dagger r\) in single precision.
void Transpose_z (Complex *out, const int, const int)
 In place transpose used to convert from AoS to SoA memory layout.
void Transpose_c (Complex_f *out, const int, const int)
 In place transpose used to convert from AoS to SoA memory layout.
void Transpose_d (double *out, const int, const int)
 In place transpose used to convert from AoS to SoA memory layout.
void Transpose_f (float *out, const int, const int)
 In place transpose used to convert from AoS to SoA memory layout.
void Transpose_I (int *out, const int, const int)
 In place transpose used to convert from AoS to SoA memory layout.
void Transpose_U (unsigned int *out, const int, const int)
 In place transpose used to convert from AoS to SoA memory layout.
void cuDslash (Complex *phi, Complex *r, Complex *ut[nc], unsigned int *iu, unsigned int *id, Complex gamval[20], const unsigned short gamin[16], double *dk[nc], Complex_f jqq, float akappa, dim3 dimGrid, dim3 dimBlock)
 GPU calling wrapper for \(\Phi=M r\) in double precision.
void cuDslashd (Complex *phi, Complex *r, Complex *ut[nc], unsigned int *iu, unsigned int *id, Complex gamval[20], const unsigned short gamin[16], double *dk[nc], Complex_f jqq, float akappa, dim3 dimGrid, dim3 dimBlock)
 GPU calling wrapper for \(\Phi=M^\dagger r\) in double precision.
void cuHdslash (Complex *phi, Complex *r, Complex *ut[nc], unsigned int *iu, unsigned int *id, Complex gamval[20], const unsigned short gamin[16], double *dk[nc], float akappa, dim3 dimGrid, dim3 dimBlock)
 GPU calling wrapper for \(\Phi=M^\dagger r\) in double precision.
void cuHdslashd (Complex *phi, Complex *r, Complex *ut[nc], unsigned int *iu, unsigned int *id, Complex gamval[20], const unsigned short gamin[16], double *dk[nc], float akappa, dim3 dimGrid, dim3 dimBlock)
 GPU calling wrapper for \(\Phi=M^\dagger r\) in double precision.
void cuDslash_f (Complex_f *phi, Complex_f *r, Complex_f *ut[nc], unsigned int *iu, unsigned int *id, Complex_f gamval[20], const unsigned short gamin[16], float *dk[nc], Complex_f jqq, float akappa, dim3 dimGrid, dim3 dimBlock)
 GPU calling wrapper for \(\Phi=M^\dagger r\) in double precision.
void cuDslashd_f (Complex_f *phi, Complex_f *r, Complex_f *ut[nc], unsigned int *iu, unsigned int *id, Complex_f gamval[20], const unsigned short gamin[16], float *dk[nc], Complex_f jqq, float akappa, dim3 dimGrid, dim3 dimBlock)
 GPU calling wrapper for \(\Phi=M^\dagger r\) in double precision.
void cuHdslash_f (Complex_f *phi, Complex_f *r, Complex_f *ut[nc], unsigned int *iu, unsigned int *id, Complex_f gamval[20], const unsigned short gamin[16], float *dk[nc], float akappa, dim3 dimGrid, dim3 dimBlock)
 GPU calling wrapper for \(\Phi=M r\) in single precision.
void cuHdslashd_f (Complex_f *phi, Complex_f *r, Complex_f *ut[nc], unsigned int *iu, unsigned int *id, Complex_f gamval[20], const unsigned short gamin[16], float *dk[nc], float akappa, dim3 dimGrid, dim3 dimBlock)
 GPU calling wrapper for \(\Phi=M^\dagger r\) in single precision.
double cureduce_sum_d (double *input, const unsigned int n, const unsigned short stream)
 Sum all terms in an array of doubles.
float cureduce_sum_f (float *input, const unsigned int n, const unsigned short stream)
 Sum all terms in an array of floats.
void cuTranspose_z (Complex *out, const int fast_in, const int fast_out, const dim3 dimGrid, const dim3 dimBlock)
 In place transpose used to convert from AoS to SoA memory layout.
void cuTranspose_c (Complex_f *out, const int fast_in, const int fast_out, const dim3 dimGrid, const dim3 dimBlock)
 In place transpose used to convert from AoS to SoA memory layout.
void cuTranspose_d (double *out, const int fast_in, const int fast_out, const dim3 dimGrid, const dim3 dimBlock)
 In place transpose used to convert from AoS to SoA memory layout.
void cuTranspose_f (float *out, const int fast_in, const int fast_out, const dim3 dimGrid, const dim3 dimBlock)
 In place transpose used to convert from AoS to SoA memory layout.
void cuTranspose_I (int *out, const int fast_in, const int fast_out, const dim3 dimGrid, const dim3 dimBlock)
 In place transpose used to convert from AoS to SoA memory layout.
void cuTranspose_U (unsigned int *out, const int fast_in, const int fast_out, const dim3 dimGrid, const dim3 dimBlock)
 In place transpose used to convert from AoS to SoA memory layout.
void cuMixed_Sumto (double *d, float *f, const unsigned int n, const dim3 dimGrid, const dim3 dimBlock)
 Add a single to a double value, and save the output in the double array For complex valued arrays, one may cast the complex<double> and complex<float> arrays to double and float arrays, and use 2N for the array length instead.

Detailed Description

Matrix multiplication and related declarations.

Definition in file matrices.h.