|
| __device__ __inline__ double | rocm_backend::fac (const int i) |
| | Factorial function, e.g. fac(5) = 5! = 120.
|
| |
| __host__ __device__ __inline__ int | rocm_backend::ncoset (const int l) |
| | Number of Cartesian orbitals up to given angular momentum quantum.
|
| |
| __host__ __device__ __inline__ int | rocm_backend::coset (int lx, int ly, int lz) |
| | Maps three angular momentum components to a single zero based index.
|
| |
| __device__ __inline__ orbital | rocm_backend::up (const int i, const orbital &a) |
| | Increase i'th component of given orbital angular momentum.
|
| |
| __inline__ __device__ orbital | rocm_backend::down (const int i, const orbital &a) |
| | Decrease i'th component of given orbital angular momentum.
|
| |
| __inline__ __device__ int | rocm_backend::idx (const orbital a) |
| | Return coset index of given orbital angular momentum.
|
| |
| __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)].
|
| |
| static void | rocm_backend::init_constant_memory () |
| | Initializes the device's constant memory.
|
| |
| __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.
|
| |
| __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.
|
| |
| 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.
|
| |
| 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.
|
| |
| 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.
|
| |