QUDA  v1.1.0
A library for QCD on GPUs
Classes | Namespaces | Functions
register_traits.h File Reference

Provides precision abstractions and defines the register precision given the storage precision using C++ traits. More...

#include <quda_internal.h>
#include <generics/ldg.h>
#include <complex_quda.h>
#include <inline_ptx.h>

Go to the source code of this file.

Classes

struct  quda::PromoteTypeId< T, U >
 
struct  quda::PromoteTypeId< complex< float >, float >
 
struct  quda::PromoteTypeId< float, complex< float > >
 
struct  quda::PromoteTypeId< complex< double >, double >
 
struct  quda::PromoteTypeId< double, complex< double > >
 
struct  quda::PromoteTypeId< double, int >
 
struct  quda::PromoteTypeId< int, double >
 
struct  quda::PromoteTypeId< float, int >
 
struct  quda::PromoteTypeId< int, float >
 
struct  quda::PromoteTypeId< double, float >
 
struct  quda::PromoteTypeId< float, double >
 
struct  quda::PromoteTypeId< double, short >
 
struct  quda::PromoteTypeId< short, double >
 
struct  quda::PromoteTypeId< double, int8_t >
 
struct  quda::PromoteTypeId< int8_t, double >
 
struct  quda::PromoteTypeId< float, short >
 
struct  quda::PromoteTypeId< short, float >
 
struct  quda::PromoteTypeId< float, int8_t >
 
struct  quda::PromoteTypeId< int8_t, float >
 
struct  quda::PromoteTypeId< short, int8_t >
 
struct  quda::PromoteTypeId< int8_t, short >
 
struct  quda::mapper< typename >
 
struct  quda::mapper< double >
 
struct  quda::mapper< float >
 
struct  quda::mapper< short >
 
struct  quda::mapper< int8_t >
 
struct  quda::mapper< double2 >
 
struct  quda::mapper< float2 >
 
struct  quda::mapper< short2 >
 
struct  quda::mapper< char2 >
 
struct  quda::mapper< double4 >
 
struct  quda::mapper< float4 >
 
struct  quda::mapper< short4 >
 
struct  quda::mapper< char4 >
 
struct  quda::mapper< double8 >
 
struct  quda::mapper< float8 >
 
struct  quda::mapper< short8 >
 
struct  quda::mapper< char8 >
 
struct  quda::bridge_mapper< typename, typename >
 
struct  quda::bridge_mapper< double2, double2 >
 
struct  quda::bridge_mapper< double2, float2 >
 
struct  quda::bridge_mapper< double2, short2 >
 
struct  quda::bridge_mapper< double2, char2 >
 
struct  quda::bridge_mapper< double2, float4 >
 
struct  quda::bridge_mapper< double2, short4 >
 
struct  quda::bridge_mapper< double2, char4 >
 
struct  quda::bridge_mapper< float4, double2 >
 
struct  quda::bridge_mapper< float4, float4 >
 
struct  quda::bridge_mapper< float4, short4 >
 
struct  quda::bridge_mapper< float4, char4 >
 
struct  quda::bridge_mapper< float2, double2 >
 
struct  quda::bridge_mapper< float2, float2 >
 
struct  quda::bridge_mapper< float2, short2 >
 
struct  quda::bridge_mapper< float2, char2 >
 
struct  quda::bridge_mapper< double2, short8 >
 
struct  quda::bridge_mapper< double2, char8 >
 
struct  quda::bridge_mapper< float8, short8 >
 
struct  quda::bridge_mapper< float8, char8 >
 
struct  quda::bridge_mapper< float4, short8 >
 
struct  quda::bridge_mapper< float4, char8 >
 
struct  quda::vec_length< typename >
 
struct  quda::vec_length< double8 >
 
struct  quda::vec_length< double4 >
 
struct  quda::vec_length< double3 >
 
struct  quda::vec_length< double2 >
 
struct  quda::vec_length< double >
 
struct  quda::vec_length< float8 >
 
struct  quda::vec_length< float4 >
 
struct  quda::vec_length< float3 >
 
struct  quda::vec_length< float2 >
 
struct  quda::vec_length< float >
 
struct  quda::vec_length< short8 >
 
struct  quda::vec_length< short4 >
 
struct  quda::vec_length< short3 >
 
struct  quda::vec_length< short2 >
 
struct  quda::vec_length< short >
 
struct  quda::vec_length< char8 >
 
struct  quda::vec_length< char4 >
 
struct  quda::vec_length< char3 >
 
struct  quda::vec_length< char2 >
 
struct  quda::vec_length< int8_t >
 
struct  quda::vec_length< Complex >
 
struct  quda::vec_length< complex< double > >
 
struct  quda::vec_length< complex< float > >
 
struct  quda::vec_length< complex< short > >
 
struct  quda::vec_length< complex< int8_t > >
 
struct  quda::vector< typename, N >
 
struct  quda::vector< double, 2 >
 
struct  quda::vector< float, 2 >
 
struct  quda::vector< int, 2 >
 
struct  quda::scalar< typename >
 
struct  quda::scalar< double8 >
 
struct  quda::scalar< double4 >
 
struct  quda::scalar< double3 >
 
struct  quda::scalar< double2 >
 
struct  quda::scalar< double >
 
struct  quda::scalar< float8 >
 
struct  quda::scalar< float4 >
 
struct  quda::scalar< float3 >
 
struct  quda::scalar< float2 >
 
struct  quda::scalar< float >
 
struct  quda::scalar< short8 >
 
struct  quda::scalar< short4 >
 
struct  quda::scalar< short3 >
 
struct  quda::scalar< short2 >
 
struct  quda::scalar< short >
 
struct  quda::scalar< char8 >
 
struct  quda::scalar< char4 >
 
struct  quda::scalar< char3 >
 
struct  quda::scalar< char2 >
 
struct  quda::scalar< int8_t >
 
struct  quda::scalar< complex< double > >
 
struct  quda::scalar< complex< float > >
 
struct  quda::isHalf< T >
 
struct  quda::isHalf< short >
 
struct  quda::isHalf< short2 >
 
struct  quda::isHalf< short4 >
 
struct  quda::isHalf< short8 >
 
struct  quda::isQuarter< T >
 
struct  quda::isQuarter< int8_t >
 
struct  quda::isQuarter< char2 >
 
struct  quda::isQuarter< char4 >
 
struct  quda::isQuarter< char8 >
 
struct  quda::isFixed< T >
 
struct  quda::isFixed< short >
 
struct  quda::isFixed< short2 >
 
struct  quda::isFixed< short4 >
 
struct  quda::isFixed< short8 >
 
struct  quda::isFixed< int8_t >
 
struct  quda::isFixed< char2 >
 
struct  quda::isFixed< char4 >
 
struct  quda::isFixed< char8 >
 
struct  quda::Trig< isFixed, T >
 
struct  quda::Trig< false, float >
 
struct  quda::Trig< true, float >
 
struct  quda::VectorType< double, 1 >
 
struct  quda::VectorType< double, 2 >
 
struct  quda::VectorType< double, 3 >
 
struct  quda::VectorType< double, 4 >
 
struct  quda::VectorType< double, 8 >
 
struct  quda::VectorType< float, 1 >
 
struct  quda::VectorType< float, 2 >
 
struct  quda::VectorType< float, 3 >
 
struct  quda::VectorType< float, 4 >
 
struct  quda::VectorType< float, 8 >
 
struct  quda::VectorType< short, 1 >
 
struct  quda::VectorType< short, 2 >
 
struct  quda::VectorType< short, 3 >
 
struct  quda::VectorType< short, 4 >
 
struct  quda::VectorType< short, 8 >
 
struct  quda::VectorType< int8_t, 1 >
 
struct  quda::VectorType< int8_t, 2 >
 
struct  quda::VectorType< int8_t, 3 >
 
struct  quda::VectorType< int8_t, 4 >
 
struct  quda::VectorType< int8_t, 8 >
 
struct  quda::AllocType< large_alloc >
 
struct  quda::AllocType< true >
 
struct  quda::AllocType< false >
 

Namespaces

 quda
 

Functions

template<typename VectorType >
__device__ __host__ VectorType quda::vector_load (const void *ptr, int idx)
 
template<>
__device__ __host__ short8 quda::vector_load (const 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)
 
template<>
__device__ __host__ void quda::vector_store (void *ptr, int idx, const short8 &value)
 
template<>
__device__ __host__ void quda::vector_store (void *ptr, int idx, const char8 &value)
 

Detailed Description

Provides precision abstractions and defines the register precision given the storage precision using C++ traits.

Definition in file register_traits.h.