QUDA
1.0.0
|
Provides precision abstractions and defines the register precision given the storage precision using C++ traits. More...
#include <quda_internal.h>
#include <convert.h>
#include <generics/ldg.h>
#include <complex_quda.h>
#include <inline_ptx.h>
Go to the source code of this file.
Namespaces | |
quda | |
Macros | |
#define | USE_LDG |
Functions | |
template<typename T1 , typename T2 > | |
__host__ __device__ void | quda::copy (T1 &a, const T2 &b) |
template<> | |
__host__ __device__ void | quda::copy (double &a, const int2 &b) |
template<> | |
__host__ __device__ void | quda::copy (double2 &a, const int4 &b) |
template<> | |
__host__ __device__ void | quda::copy (float &a, const short &b) |
template<> | |
__host__ __device__ void | quda::copy (short &a, const float &b) |
template<> | |
__host__ __device__ void | quda::copy (float2 &a, const short2 &b) |
template<> | |
__host__ __device__ void | quda::copy (short2 &a, const float2 &b) |
template<> | |
__host__ __device__ void | quda::copy (float4 &a, const short4 &b) |
template<> | |
__host__ __device__ void | quda::copy (short4 &a, const float4 &b) |
template<> | |
__host__ __device__ void | quda::copy (float &a, const char &b) |
template<> | |
__host__ __device__ void | quda::copy (char &a, const float &b) |
template<> | |
__host__ __device__ void | quda::copy (float2 &a, const char2 &b) |
template<> | |
__host__ __device__ void | quda::copy (char2 &a, const float2 &b) |
template<> | |
__host__ __device__ void | quda::copy (float4 &a, const char4 &b) |
template<> | |
__host__ __device__ void | quda::copy (char4 &a, const float4 &b) |
template<typename T1 , typename T2 > | |
__host__ __device__ void | quda::copy_scaled (T1 &a, const T2 &b) |
template<> | |
__host__ __device__ void | quda::copy_scaled (short4 &a, const float4 &b) |
template<> | |
__host__ __device__ void | quda::copy_scaled (char4 &a, const float4 &b) |
template<> | |
__host__ __device__ void | quda::copy_scaled (short2 &a, const float2 &b) |
template<> | |
__host__ __device__ void | quda::copy_scaled (char2 &a, const float2 &b) |
template<> | |
__host__ __device__ void | quda::copy_scaled (short &a, const float &b) |
template<> | |
__host__ __device__ void | quda::copy_scaled (char &a, const float &b) |
template<typename T1 , typename T2 , typename T3 > | |
__host__ __device__ void | quda::copy_and_scale (T1 &a, const T2 &b, const T3 &c) |
Specialized variants of the copy function that include an additional scale factor. Note the scale factor is ignored unless the input type (b) is either a short or char vector. More... | |
template<> | |
__host__ __device__ void | quda::copy_and_scale (float4 &a, const short4 &b, const float &c) |
template<> | |
__host__ __device__ void | quda::copy_and_scale (float4 &a, const char4 &b, const float &c) |
template<> | |
__host__ __device__ void | quda::copy_and_scale (float2 &a, const short2 &b, const float &c) |
template<> | |
__host__ __device__ void | quda::copy_and_scale (float2 &a, const char2 &b, const float &c) |
template<> | |
__host__ __device__ void | quda::copy_and_scale (float &a, const short &b, const float &c) |
template<> | |
__host__ __device__ void | quda::copy_and_scale (float &a, const char &b, const float &c) |
template<typename VectorType > | |
__device__ __host__ VectorType | quda::vector_load (void *ptr, int idx) |
template<typename VectorType > | |
__device__ __host__ void | quda::vector_store (void *ptr, int idx, const VectorType &value) |
template<> | |
__device__ __host__ void | quda::vector_store (void *ptr, int idx, const double2 &value) |
template<> | |
__device__ __host__ void | quda::vector_store (void *ptr, int idx, const float4 &value) |
template<> | |
__device__ __host__ void | quda::vector_store (void *ptr, int idx, const float2 &value) |
template<> | |
__device__ __host__ void | quda::vector_store (void *ptr, int idx, const short4 &value) |
template<> | |
__device__ __host__ void | quda::vector_store (void *ptr, int idx, const short2 &value) |
template<> | |
__device__ __host__ void | quda::vector_store (void *ptr, int idx, const char4 &value) |
template<> | |
__device__ __host__ void | quda::vector_store (void *ptr, int idx, const char2 &value) |
Provides precision abstractions and defines the register precision given the storage precision using C++ traits.
Definition in file register_traits.h.
#define USE_LDG |