QUDA
v1.1.0
A library for QCD on GPUs
|
Namespaces | |
detail | |
Classes | |
struct | array |
struct | array< T, 1 > |
struct | array< T, 0 > |
struct | coalesced_ptr |
struct | static_gcd |
struct | static_gcd< 0, v > |
struct | static_gcd< u, 0 > |
struct | static_mod_inverse |
struct | static_mod_inverse_helper |
struct | static_mod_inverse_helper< false, a, m, r > |
struct | counting_array |
struct | counting_array< array< T, s > > |
struct | counting_array< array< T, 1 > > |
struct | sum_array |
struct | sum_array< array< T, s > > |
struct | sum_array< array< T, 1 > > |
struct | static_log |
struct | static_log< 1 > |
struct | static_log< 0 > |
struct | is_power_of_two |
struct | is_odd |
struct | value_if |
struct | value_if< false, T, Then, Else > |
struct | value_identity |
struct | inverse |
struct | null_type |
struct | cons_c |
struct | static_range |
struct | static_range< f, f > |
struct | enable_if |
struct | enable_if< false, T > |
struct | size_multiple_power_of_two |
Functions | |
template<typename T > | |
__device__ enable_if< detail::use_shfl< T >::value, T >::type | load_warp_contiguous (const T *src) |
template<typename T > | |
__device__ enable_if< detail::use_direct< T >::value, T >::type | load_warp_contiguous (const T *src) |
template<typename T > | |
__device__ enable_if< detail::use_shfl< T >::value >::type | store_warp_contiguous (const T &data, T *dest) |
template<typename T > | |
__device__ enable_if< detail::use_direct< T >::value >::type | store_warp_contiguous (const T &data, T *dest) |
template<typename T > | |
__device__ T | load (const T *src) |
template<typename T > | |
__device__ void | store (const T &data, T *dest) |
template<int i, typename T , int m> | |
__host__ __device__ T & | get (array< T, m > &src) |
template<int i, typename T , int m> | |
__host__ __device__ T | get (const array< T, m > &src) |
template<typename T > | |
__host__ __device__ array< T, 0 > | make_array () |
template<typename T > | |
__host__ __device__ array< T, 1 > | make_array (T a0) |
template<typename T > | |
__host__ __device__ array< T, 2 > | make_array (T a0, T a1) |
template<typename T > | |
__host__ __device__ array< T, 3 > | make_array (T a0, T a1, T a2) |
template<typename T > | |
__host__ __device__ array< T, 4 > | make_array (T a0, T a1, T a2, T a3) |
template<typename T > | |
__host__ __device__ array< T, 5 > | make_array (T a0, T a1, T a2, T a3, T a4) |
template<typename T > | |
__host__ __device__ array< T, 6 > | make_array (T a0, T a1, T a2, T a3, T a4, T a5) |
template<typename T > | |
__host__ __device__ array< T, 7 > | make_array (T a0, T a1, T a2, T a3, T a4, T a5, T a6) |
template<typename T > | |
__host__ __device__ array< T, 8 > | make_array (T a0, T a1, T a2, T a3, T a4, T a5, T a6, T a7) |
template<typename T > | |
__host__ __device__ array< T, 9 > | make_array (T a0, T a1, T a2, T a3, T a4, T a5, T a6, T a7, T a8) |
template<typename T > | |
__host__ __device__ array< T, 10 > | make_array (T a0, T a1, T a2, T a3, T a4, T a5, T a6, T a7, T a8, T a9) |
template<typename T , int s> | |
__host__ __device__ array< T, s > | make_array (T cary[s]) |
template<typename T , int s> | |
__host__ __device__ void | make_carray (const array< T, s > &ary, T result[s]) |
template<int s, typename T , typename I > | |
__device__ trove::array< T, s > | load_array_warp_contiguous (const T *src, const I &idx) |
template<int s, typename T , typename I > | |
__device__ trove::array< T, s > | load_array (const T *src, const I &idx) |
template<int s, typename T , typename I > | |
__device__ void | store_array_warp_contiguous (T *dest, const I &idx, const trove::array< T, s > &src) |
template<int s, typename T , typename I > | |
__device__ void | store_array (T *dest, const I &idx, const trove::array< T, s > &src) |
template<typename Array > | |
__host__ __device__ void | warp_store (const Array &t, typename Array::head_type *ptr, int offset, int stride=32) |
template<typename Array > | |
__host__ __device__ Array | warp_load (const typename Array::head_type *ptr, int offset, int stride=32) |
template<typename Array > | |
__host__ __device__ Array | warp_load (const volatile typename Array::head_type *ptr, int offset, int stride=32) |
template<typename Array > | |
__host__ __device__ void | uncoalesced_store (const Array &t, typename Array::head_type *ptr, int stride=1) |
template<typename Array > | |
__host__ __device__ void | uncoalesced_store (const Array &t, volatile typename Array::head_type *ptr, int stride=1) |
template<typename T > | |
std::ostream & | operator<< (std::ostream &strm, const array< T, 1 > &ary) |
template<typename T , int s> | |
std::ostream & | operator<< (std::ostream &strm, const array< T, s > &ary) |
template<typename T , int i> | |
__host__ __device__ array< T, i > | rotate (const array< T, i > &t, int a) |
template<int i> | |
__device__ void | c2r_compute_indices (array< int, i > &indices, int &rotation) |
template<typename T , int i> | |
__device__ void | c2r_warp_transpose (array< T, i > &src, const array< int, i > &indices, int rotation) |
template<typename T , int i> | |
__device__ void | c2r_warp_transpose (array< T, i > &src) |
template<int i> | |
__device__ void | r2c_compute_indices (array< int, i > &indices, int &rotation) |
template<typename T , int i> | |
__device__ void | r2c_warp_transpose (array< T, i > &src, const array< int, i > &indices, int rotation) |
template<typename T , int i> | |
__device__ void | r2c_warp_transpose (array< T, i > &src) |
template<typename T , int s> | |
__host__ __device__ T | sum (const array< T, s > &a) |
__device__ bool | warp_converged () |
__device__ void trove::c2r_compute_indices | ( | array< int, i > & | indices, |
int & | rotation | ||
) |
Definition at line 611 of file transpose.h.
__device__ void trove::c2r_warp_transpose | ( | array< T, i > & | src | ) |
Definition at line 632 of file transpose.h.
__device__ void trove::c2r_warp_transpose | ( | array< T, i > & | src, |
const array< int, i > & | indices, | ||
int | rotation | ||
) |
Definition at line 621 of file transpose.h.
__host__ __device__ T& trove::get | ( | array< T, m > & | src | ) |
__host__ __device__ T trove::get | ( | const array< T, m > & | src | ) |
__device__ T trove::load | ( | const T * | src | ) |
__device__ trove::array<T, s> trove::load_array | ( | const T * | src, |
const I & | idx | ||
) |
__device__ trove::array<T, s> trove::load_array_warp_contiguous | ( | const T * | src, |
const I & | idx | ||
) |
__device__ enable_if<detail::use_shfl<T>::value, T>::type trove::load_warp_contiguous | ( | const T * | src | ) |
__device__ enable_if<detail::use_direct<T>::value, T>::type trove::load_warp_contiguous | ( | const T * | src | ) |
__host__ __device__ array<T, 0> trove::make_array | ( | ) |
__host__ __device__ array<T, 1> trove::make_array | ( | T | a0 | ) |
__host__ __device__ array<T, 2> trove::make_array | ( | T | a0, |
T | a1 | ||
) |
__host__ __device__ array<T, 3> trove::make_array | ( | T | a0, |
T | a1, | ||
T | a2 | ||
) |
__host__ __device__ array<T, 4> trove::make_array | ( | T | a0, |
T | a1, | ||
T | a2, | ||
T | a3 | ||
) |
__host__ __device__ array<T, 5> trove::make_array | ( | T | a0, |
T | a1, | ||
T | a2, | ||
T | a3, | ||
T | a4 | ||
) |
__host__ __device__ array<T, 6> trove::make_array | ( | T | a0, |
T | a1, | ||
T | a2, | ||
T | a3, | ||
T | a4, | ||
T | a5 | ||
) |
__host__ __device__ array<T, 7> trove::make_array | ( | T | a0, |
T | a1, | ||
T | a2, | ||
T | a3, | ||
T | a4, | ||
T | a5, | ||
T | a6 | ||
) |
__host__ __device__ array<T, 8> trove::make_array | ( | T | a0, |
T | a1, | ||
T | a2, | ||
T | a3, | ||
T | a4, | ||
T | a5, | ||
T | a6, | ||
T | a7 | ||
) |
__host__ __device__ array<T, 9> trove::make_array | ( | T | a0, |
T | a1, | ||
T | a2, | ||
T | a3, | ||
T | a4, | ||
T | a5, | ||
T | a6, | ||
T | a7, | ||
T | a8 | ||
) |
__host__ __device__ array<T, 10> trove::make_array | ( | T | a0, |
T | a1, | ||
T | a2, | ||
T | a3, | ||
T | a4, | ||
T | a5, | ||
T | a6, | ||
T | a7, | ||
T | a8, | ||
T | a9 | ||
) |
__host__ __device__ array<T, s> trove::make_array | ( | T | cary[s] | ) |
__host__ __device__ void trove::make_carray | ( | const array< T, s > & | ary, |
T | result[s] | ||
) |
std::ostream& trove::operator<< | ( | std::ostream & | strm, |
const array< T, 1 > & | ary | ||
) |
Definition at line 35 of file print_array.h.
std::ostream& trove::operator<< | ( | std::ostream & | strm, |
const array< T, s > & | ary | ||
) |
Definition at line 41 of file print_array.h.
__device__ void trove::r2c_compute_indices | ( | array< int, i > & | indices, |
int & | rotation | ||
) |
Definition at line 646 of file transpose.h.
__device__ void trove::r2c_warp_transpose | ( | array< T, i > & | src | ) |
Definition at line 666 of file transpose.h.
__device__ void trove::r2c_warp_transpose | ( | array< T, i > & | src, |
const array< int, i > & | indices, | ||
int | rotation | ||
) |
Definition at line 655 of file transpose.h.
__device__ void trove::store | ( | const T & | data, |
T * | dest | ||
) |
__device__ void trove::store_array | ( | T * | dest, |
const I & | idx, | ||
const trove::array< T, s > & | src | ||
) |
__device__ void trove::store_array_warp_contiguous | ( | T * | dest, |
const I & | idx, | ||
const trove::array< T, s > & | src | ||
) |
__device__ enable_if<detail::use_shfl<T>::value>::type trove::store_warp_contiguous | ( | const T & | data, |
T * | dest | ||
) |
__device__ enable_if<detail::use_direct<T>::value>::type trove::store_warp_contiguous | ( | const T & | data, |
T * | dest | ||
) |
__host__ __device__ T trove::sum | ( | const array< T, s > & | a | ) |
__host__ __device__ void trove::uncoalesced_store | ( | const Array & | t, |
typename Array::head_type * | ptr, | ||
int | stride = 1 |
||
) |
__host__ __device__ void trove::uncoalesced_store | ( | const Array & | t, |
volatile typename Array::head_type * | ptr, | ||
int | stride = 1 |
||
) |
__host__ __device__ Array trove::warp_load | ( | const typename Array::head_type * | ptr, |
int | offset, | ||
int | stride = 32 |
||
) |
__host__ __device__ Array trove::warp_load | ( | const volatile typename Array::head_type * | ptr, |
int | offset, | ||
int | stride = 32 |
||
) |