A parallel C++ Library for Simulations in the Heisenberg Model
Classes | Namespaces | Macros
model.h File Reference
#include <vector>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <random>
#include "grid/grid.h"
#include <cuda_runtime.h>
#include <curand.h>
#include <curand_kernel.h>
Include dependency graph for model.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  HB::Model
 An abstract class representing the model describing the spins. A model class has to derive from it an override the pure virtual functions. More...
 

Namespaces

 HB
 

Macros

#define CUDA_CALL(x)
 A macro that executes x and returns if it was not a cuda success. An error message is printed in case. More...
 
#define CURAND_CALL(x)
 

Macro Definition Documentation

◆ CUDA_CALL

#define CUDA_CALL (   x)
Value:
do { if((x)!=cudaSuccess) { \
printf("Error at %s:%d\n",__FILE__,__LINE__);\
return;}} while(0)

A macro that executes x and returns if it was not a cuda success. An error message is printed in case.

A macro that executes x and returns if it was not a curand success. An error message is printed in case.

◆ CURAND_CALL

#define CURAND_CALL (   x)
Value:
do { if((x)!=CURAND_STATUS_SUCCESS) { \
printf("Error at %s:%d\n",__FILE__,__LINE__);\
return;}} while(0)

Definition at line 32 of file model.h.