|
__device__ __inline__ double | rocm_backend::fac (const int i) |
| Factorial function, e.g. fac(5) = 5! = 120. More...
|
|
__host__ __device__ __inline__ int | rocm_backend::ncoset (const int l) |
| Number of Cartesian orbitals up to given angular momentum quantum. More...
|
|
__host__ __device__ __inline__ int | rocm_backend::coset (int lx, int ly, int lz) |
| Maps three angular momentum components to a single zero based index. More...
|
|
__device__ __inline__ orbital | rocm_backend::up (const int i, const orbital &a) |
| Increase i'th component of given orbital angular momentum. More...
|
|
__inline__ __device__ orbital | rocm_backend::down (const int i, const orbital &a) |
| Decrease i'th component of given orbital angular momentum. More...
|
|
__inline__ __device__ int | rocm_backend::idx (const orbital a) |
| Return coset index of given orbital angular momentum. More...
|
|
__device__ __inline__ double | rocm_backend::power (const double x, const int expo) |
|
template<typename T = double> |
__device__ __inline__ void | rocm_backend::prep_term (const orbital a, const orbital b, const T value, const int n, T *cab) |
| Adds given value to matrix element cab[idx(b)][idx(a)]. More...
|
|
static void | rocm_backend::init_constant_memory () |
| Initializes the device's constant memory. More...
|
|
__inline__ __device__ double3 | rocm_backend::compute_coordinates (const double *__restrict__ dh_, const double x, const double y, const double z) |
|
__inline__ __device__ float3 | rocm_backend::compute_coordinates (const float *__restrict__ dh_, const float x, const float y, const float z) |
|
template<typename T > |
__inline__ __device__ void | rocm_backend::compute_alpha (const smem_task< T > &task, T *__restrict__ alpha) |
| Computes the polynomial expansion coefficients: (x-a)**lxa (x-b)**lxb -> sum_{ls} alpha(ls,lxa,lxb,1)*(x-p)**ls. More...
|
|
__host__ __inline__ __device__ void | rocm_backend::convert_to_lattice_coordinates (const double *dh_inv_, const double3 *__restrict__ const rp, double3 *__restrict__ rp_c) |
|
__host__ __inline__ __device__ void | rocm_backend::convert_from_lattice_coordinates_to_cartesian (const double *__restrict__ dh_, const double3 *__restrict__ const rp, double3 *__restrict__ rp_c) |
|
__host__ __inline__ __device__ void | rocm_backend::convert_to_lattice_coordinates (const float *dh_inv_, const float3 *__restrict__ const rp, float3 *__restrict__ rp_c) |
|
__host__ __inline__ __device__ void | rocm_backend::convert_from_lattice_coordinates_to_cartesian (const float *__restrict__ dh_, const float3 *__restrict__ const rp, float3 *__restrict__ rp_c) |
|
template<typename T , typename T3 , bool orthorhombic_> |
__inline__ T | rocm_backend::compute_cube_properties (const T radius, const T *const __restrict__ dh_, const T *const __restrict__ dh_inv_, const T3 *__restrict__ rp, T3 *__restrict__ roffset, int3 *__restrict__ cubecenter, int3 *__restrict__ lb_cube, int3 *__restrict__ cube_size) |
|
__inline__ __device__ void | rocm_backend::compute_window_size (const int *const grid_size, const int border_mask, const int *border_width, int3 *const window_size, int3 *const window_shift) |
|
template<typename T > |
__device__ static __inline__ void | rocm_backend::cab_to_cxyz (const smem_task< T > &task, const T *__restrict__ alpha, const T *__restrict__ cab, T *__restrict__ cxyz) |
| Transforms coefficients C_ab into C_xyz. More...
|
|
template<typename T > |
__device__ static __inline__ void | rocm_backend::cxyz_to_cab (const smem_task< T > &task, const T *__restrict__ alpha, const T *__restrict__ cxyz, T *__restrict__ cab) |
| Transforms coefficients C_xyz into C_ab. More...
|
|
template<typename T , typename T3 > |
__device__ __inline__ void | rocm_backend::fill_smem_task_reduced (const kernel_params &dev, const int task_id, smem_task_reduced< T, T3 > &task) |
| Copies a task from global to shared memory. More...
|
|
template<typename T > |
__device__ __inline__ void | rocm_backend::fill_smem_task_coef (const kernel_params &dev, const int task_id, smem_task< T > &task) |
| Copies a task from global to shared memory and does precomputations. More...
|
|