In Situ Animation of Accelerated Computations
Go to the documentation of this file. 18 #include <boost/preprocessor.hpp> 20 #ifndef ISAAC_VECTOR_ELEM 21 #define ISAAC_VECTOR_ELEM 2 24 #ifndef ISAAC_MAX_DIFFERENCE 25 #define ISAAC_MAX_DIFFERENCE 4 28 #ifndef ISAAC_MAX_FUNCTORS 29 #define ISAAC_MAX_FUNCTORS 3 33 #define ISAAC_FUNCTOR_COMPLEX_SUBDEF(Z,I,U) * ISAAC_FUNCTOR_COUNT 34 #define ISAAC_FUNCTOR_COMPLEX ( ISAAC_FUNCTOR_COUNT BOOST_PP_REPEAT( BOOST_PP_DEC( ISAAC_MAX_FUNCTORS ), ISAAC_FUNCTOR_COMPLEX_SUBDEF, ~) ) 36 #ifndef ISAAC_MAX_SOURCES 37 #define ISAAC_MAX_SOURCES 16 40 #ifndef ISAAC_GUARD_SIZE 41 #define ISAAC_GUARD_SIZE 2 44 #ifndef ISAAC_DEFAULT_STEP 45 #define ISAAC_DEFAULT_STEP 0.5 48 #ifndef ISAAC_MAX_CLIPPING 49 #define ISAAC_MAX_CLIPPING 16 52 #ifndef ISAAC_DEFAULT_WEIGHT 53 #define ISAAC_DEFAULT_WEIGHT isaac_float( 2 ) 56 #define ISAAC_MAX_RECEIVE 262144 //256kb 57 #define ISAAC_Z_NEAR 1.0f 58 #define ISAAC_Z_FAR 100.0f 62 #define ISAAC_HOST_DEVICE_INLINE ALPAKA_FN_ACC __forceinline__ 64 #define ISAAC_HOST_DEVICE_INLINE ALPAKA_FN_ACC inline 67 #define ISAAC_HOST_DEVICE_INLINE __device__ __host__ __forceinline__ 71 #define ISAAC_HOST_INLINE ALPAKA_FN_HOST inline 73 #define ISAAC_HOST_INLINE __host__ __forceinline__ 77 #define ISAAC_DEVICE_INLINE ISAAC_HOST_DEVICE_INLINE 79 #define ISAAC_DEVICE_INLINE __device__ __forceinline__ 83 #define ISAAC_DEVICE __device__ __host__ 89 #define ISAAC_NO_HOST_DEVICE_WARNING _Pragma("hd_warning_disable") 91 #define ISAAC_NO_HOST_DEVICE_WARNING 94 #define ISAAC_ELEM_ITERATE( NAME ) for (isaac_uint NAME = 0; NAME < isaac_uint(ISAAC_VECTOR_ELEM); NAME++) 96 #define ISAAC_ELEM_ALL_TRUE_RETURN( NAME ) \ 98 bool all_true = true; \ 99 for (isaac_uint e = 0; e < isaac_uint(ISAAC_VECTOR_ELEM); e++) \ 100 if (NAME[e] == false) \ 106 #if ISAAC_ALPAKA == 1 107 #define ISAAC_CONSTANT ALPAKA_STATIC_DEV_MEM_CONSTANT 109 #define ISAAC_CONSTANT __constant__ 113 #define ISAAC_MAX max 114 #define ISAAC_MIN min 116 #define ISAAC_MAX std::max 117 #define ISAAC_MIN std::min