1#ifndef _BACKEND_LATTICE_H_
2#define _BACKEND_LATTICE_H_
10#ifdef SPECIAL_BOUNDARY_CONDITIONS
12 unsigned *d_neighb_special[
NDIRS];
22#ifdef EVEN_SITES_FIRST
27#if defined(CUDA) || defined(HIP)
30 __host__ __device__
const CoordinateVector &coordinates(
unsigned idx)
const {
31 return d_coordinates[idx];
33 __host__ __device__
int coordinate(
unsigned idx,
Direction dir)
const {
34 return d_coordinates[idx][dir];
44 __device__
int coordinate(
unsigned idx,
Direction dir)
const;
54#if defined(CUDA) || defined(HIP)
58__host__ __device__
int loop_lattice_size(
Direction d);
60__host__ __device__ int64_t loop_lattice_volume(
void);
constexpr unsigned NDIRS
Number of directions.
Direction
Enumerator for direction that assigns integer to direction to be interpreted as unit vector.
Helper class for loading the vectorized lattice.
void setup(lattice_struct *lattice)
unsigned * d_neighb[NDIRS]
Storage for the neighbour indexes. Stored on device.
unsigned field_alloc_size