QUDA  v1.1.0
A library for QCD on GPUs
Classes | Functions
trove::detail Namespace Reference

Classes

struct  size_in_range
 
struct  use_shfl
 
struct  use_shfl< T, true, true >
 
struct  use_direct
 
struct  address_constants
 
struct  indexed_load
 
struct  indexed_load< 1, T >
 
struct  indexed_store
 
struct  indexed_store< 1, T >
 
struct  get_impl
 
struct  get_impl< T, m, 0 >
 
struct  make_array_impl
 
struct  make_array_impl< T, 1 >
 
struct  make_carray_impl
 
struct  make_carray_impl< T, 1 >
 
struct  dismember_type
 
struct  dismember_type< T, true, false, false >
 
struct  dismember_type< T, true, true, false >
 
struct  dismember_type< T, true, true, true >
 
struct  aliased_size
 
struct  dismember
 
struct  dismember< T, U, 1 >
 
struct  remember
 
struct  remember< T, U, 1 >
 
struct  divergent_loader
 
struct  divergent_loader< 1, T >
 
struct  use_divergent
 
struct  divergent_storer
 
struct  divergent_storer< 1, T >
 
struct  warp_store_array
 
struct  warp_store_array< array< T, s > >
 
struct  warp_store_array< array< T, 1 > >
 
struct  uncoalesced_store_array
 
struct  uncoalesced_store_array< array< T, s > >
 
struct  uncoalesced_store_array< array< T, 1 > >
 
struct  warp_load_array
 
struct  warp_load_array< array< T, s > >
 
struct  warp_load_array< array< T, 1 > >
 
struct  coalesced_ref
 
struct  rotate_elements
 
struct  rotate_elements_helper
 
struct  rotate_elements_helper< Array, i, j, false >
 
struct  rotate_impl
 
struct  rotate_impl_helper
 
struct  rotate_impl_helper< Array, i, false >
 
struct  static_gcd_helper
 
struct  static_gcd_helper< false, true, u, v >
 
struct  static_gcd_helper< true, false, u, v >
 
struct  static_gcd_helper< true, true, u, v >
 
struct  odd
 
struct  power_of_two
 
struct  composite
 
struct  tx_algorithm
 
struct  tx_algorithm< m, true, false >
 
struct  tx_algorithm< m, false, true >
 
struct  c2r_offset_constants
 
struct  c2r_offset_constants< m, odd >
 
struct  c2r_offset_constants< m, power_of_two >
 
struct  c2r_offset_constants< m, composite >
 
struct  r2c_offset_constants
 
struct  r2c_offset_constants< m, odd >
 
struct  r2c_offset_constants< m, power_of_two >
 
struct  tx_permute_impl
 
struct  tx_permute_impl< array< T, s >, Permute, position >
 
struct  tx_permute_impl< array< T, 1 >, Permute, position >
 
struct  affine_modular_fn
 
struct  composite_c2r_permute_fn
 
struct  composite_r2c_permute_fn
 
struct  c2r_compute_offsets_impl
 
struct  c2r_compute_offsets_impl< array< int, s >, b, o >
 
struct  c2r_compute_offsets_impl< array< int, 1 >, b, o >
 
struct  c2r_compute_initial_offset
 
struct  c2r_compute_initial_offset< m, odd >
 
struct  c2r_compute_initial_offset< m, power_of_two >
 
struct  r2c_compute_initial_offset
 
struct  r2c_compute_initial_offset< m, odd >
 
struct  c2r_compute_composite_offsets
 
struct  c2r_compute_composite_offsets< array< int, s >, m, p >
 
struct  c2r_compute_composite_offsets< array< int, 1 >, m, p >
 
struct  r2c_offsets
 
struct  r2c_compute_offsets_impl
 
struct  r2c_compute_offsets_impl< array< int, s >, index, m, odd >
 
struct  r2c_compute_offsets_impl< array< int, 1 >, index, m, odd >
 
struct  r2c_compute_offsets_impl< array< int, s >, index, m, power_of_two >
 
struct  r2c_compute_offsets_impl< array< int, 1 >, index, m, power_of_two >
 
struct  r2c_compute_composite_offsets
 
struct  r2c_compute_composite_offsets< array< int, s >, m >
 
struct  r2c_compute_composite_offsets< array< int, 1 >, m >
 
struct  warp_shuffle
 
struct  warp_shuffle< array< T, m >, array< int, m > >
 
struct  warp_shuffle< array< T, 1 >, array< int, 1 > >
 
struct  c2r_compute_indices_impl
 
struct  c2r_compute_indices_impl< Array, odd >
 
struct  c2r_compute_indices_impl< Array, power_of_two >
 
struct  c2r_compute_indices_impl< Array, composite >
 
struct  c2r_warp_transpose_impl
 
struct  c2r_warp_transpose_impl< Array, Indices, odd >
 
struct  c2r_warp_transpose_impl< Array, Indices, power_of_two >
 
struct  c2r_warp_transpose_impl< Array, Indices, composite >
 
struct  r2c_compute_indices_impl
 
struct  r2c_compute_indices_impl< Array, odd >
 
struct  r2c_compute_indices_impl< Array, power_of_two >
 
struct  r2c_compute_indices_impl< Array, composite >
 
struct  r2c_warp_transpose_impl
 
struct  r2c_warp_transpose_impl< Array, Indices, odd >
 
struct  r2c_warp_transpose_impl< Array, Indices, power_of_two >
 
struct  r2c_warp_transpose_impl< Array, Indices, composite >
 

Functions

template<typename T >
__device__ detail::dismember_type< T >::type * compute_address (T *src, int div, int mod)
 
template<typename T >
__device__ void update_indices (int &div, int &mod)
 
template<typename T >
__device__ bool is_contiguous (int warp_id, const T *ptr)
 
template<typename T >
__device__ enable_if< use_shfl< T >::value, T >::type load_dispatch (const T *src)
 
template<typename T >
__device__ enable_if< use_direct< T >::value, T >::type load_dispatch (const T *src)
 
template<typename T >
__device__ enable_if< use_shfl< T >::value >::type store_dispatch (const T &data, T *dest)
 
template<typename T >
__device__ enable_if< use_direct< T >::value >::type store_dispatch (const T &data, T *dest)
 
template<typename U , typename T >
__host__ __device__ array< U, detail::aliased_size< T, U >::value > lyse (const T &in)
 
template<typename T , typename U >
__host__ __device__ T fuse (const array< U, detail::aliased_size< T, U >::value > &in)
 
template<typename T >
__device__ enable_if< use_divergent< T >::value, T >::type divergent_load (const T *src)
 
template<typename T >
__device__ enable_if<!use_divergent< T >::value, T >::type divergent_load (const T *src)
 
template<typename T >
__device__ enable_if< use_divergent< T >::value >::type divergent_store (const T &data, T *dest)
 
template<typename T >
__device__ enable_if<!use_divergent< T >::value >::type divergent_store (const T &data, T *dest)
 
template<typename Array >
__host__ __device__ Array c2r_tx_permute (const Array &t)
 
template<typename Array >
__host__ __device__ Array composite_c2r_tx_permute (const Array &t)
 
template<typename Array >
__host__ __device__ Array composite_r2c_tx_permute (const Array &t)
 
template<typename Array >
__host__ __device__ Array r2c_tx_permute (const Array &t)
 
template<int m, typename Schema >
__device__ array< int, m > c2r_compute_offsets ()
 
template<int m, typename Schema >
__device__ array< int, m > r2c_compute_offsets ()
 

Function Documentation

◆ c2r_compute_offsets()

template<int m, typename Schema >
__device__ array<int, m> trove::detail::c2r_compute_offsets ( )

Definition at line 254 of file transpose.h.

◆ c2r_tx_permute()

template<typename Array >
__host__ __device__ Array trove::detail::c2r_tx_permute ( const Array &  t)

Definition at line 154 of file transpose.h.

◆ composite_c2r_tx_permute()

template<typename Array >
__host__ __device__ Array trove::detail::composite_c2r_tx_permute ( const Array &  t)

Definition at line 164 of file transpose.h.

◆ composite_r2c_tx_permute()

template<typename Array >
__host__ __device__ Array trove::detail::composite_r2c_tx_permute ( const Array &  t)

Definition at line 171 of file transpose.h.

◆ compute_address()

template<typename T >
__device__ detail::dismember_type<T>::type* trove::detail::compute_address ( T *  src,
int  div,
int  mod 
)

Definition at line 111 of file aos.h.

◆ divergent_load() [1/2]

template<typename T >
__device__ enable_if<use_divergent<T>::value, T>::type trove::detail::divergent_load ( const T *  src)

Definition at line 70 of file fallback.h.

◆ divergent_load() [2/2]

template<typename T >
__device__ enable_if<!use_divergent<T>::value, T>::type trove::detail::divergent_load ( const T *  src)

Definition at line 82 of file fallback.h.

◆ divergent_store() [1/2]

template<typename T >
__device__ enable_if<use_divergent<T>::value>::type trove::detail::divergent_store ( const T &  data,
T *  dest 
)

Definition at line 116 of file fallback.h.

◆ divergent_store() [2/2]

template<typename T >
__device__ enable_if<!use_divergent<T>::value>::type trove::detail::divergent_store ( const T &  data,
T *  dest 
)

Definition at line 127 of file fallback.h.

◆ fuse()

template<typename T , typename U >
__host__ __device__ T trove::detail::fuse ( const array< U, detail::aliased_size< T, U >::value > &  in)

Definition at line 122 of file dismember.h.

◆ is_contiguous()

template<typename T >
__device__ bool trove::detail::is_contiguous ( int  warp_id,
const T *  ptr 
)

Definition at line 197 of file aos.h.

◆ load_dispatch() [1/2]

template<typename T >
__device__ enable_if<use_shfl<T>::value, T>::type trove::detail::load_dispatch ( const T *  src)

Definition at line 207 of file aos.h.

◆ load_dispatch() [2/2]

template<typename T >
__device__ enable_if<use_direct<T>::value, T>::type trove::detail::load_dispatch ( const T *  src)

Definition at line 225 of file aos.h.

◆ lyse()

template<typename U , typename T >
__host__ __device__ array<U, detail::aliased_size<T, U>::value> trove::detail::lyse ( const T &  in)

Definition at line 116 of file dismember.h.

◆ r2c_compute_offsets()

template<int m, typename Schema >
__device__ array<int, m> trove::detail::r2c_compute_offsets ( )

Definition at line 403 of file transpose.h.

◆ r2c_tx_permute()

template<typename Array >
__host__ __device__ Array trove::detail::r2c_tx_permute ( const Array &  t)

Definition at line 180 of file transpose.h.

◆ store_dispatch() [1/2]

template<typename T >
__device__ enable_if<use_shfl<T>::value>::type trove::detail::store_dispatch ( const T &  data,
T *  dest 
)

Definition at line 232 of file aos.h.

◆ store_dispatch() [2/2]

template<typename T >
__device__ enable_if<use_direct<T>::value>::type trove::detail::store_dispatch ( const T &  data,
T *  dest 
)

Definition at line 248 of file aos.h.

◆ update_indices()

template<typename T >
__device__ void trove::detail::update_indices ( int &  div,
int &  mod 
)

Definition at line 132 of file aos.h.