1#ifndef COLVARCOMP_COORDNUMS_KERNEL_H
2#define COLVARCOMP_COORDNUMS_KERNEL_H
5#include "colvar_gpu_support.h"
7#if defined(COLVARS_CUDA) || defined(COLVARS_HIP)
11template <
int tileSize>
13 using PairMaskT = std::conditional_t<(tileSize <= 32), uint32_t, uint64_t>;
14 PairMaskT pairMask[tileSize];
17int calc_value_coordnum_two_groups(
19 unsigned int numAtoms1,
unsigned int numAtoms2,
29 unsigned int* d_tbcount,
36int calc_value_coordnum_group_to_com(
39 unsigned int numAtoms,
48 unsigned int* d_tbcount,
57int calc_value_coordnum_com_to_com(
74int calc_value_coordnum_self_group(
76 unsigned int numAtoms,
82 const unsigned int* d_tilesList,
83 const unsigned int* d_tilesListStart,
84 const unsigned int* d_tilesListSizes,
92 unsigned int* d_tbcount,
vector of real numbers with three components
Definition: colvartypes.h:728
Class to store the system's boundary conditions.
Definition: colvars_system.h:16
Collective variables module (main class)
Definition: colvarmodule.h:71
double real
Defining an abstract real number allows to switch precision.
Definition: colvarmodule.h:98
Collective variables main module.
Definition: colvarcomp_coordnums_kernel.h:12