1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
/*
!
! Copyright (C) 2021, MaX CoE
! Distributed under the MIT License
! (license terms are at http://opensource.org/licenses/MIT).
!
*/
#ifdef __STDC__
# define CAT(a,b) a##b
#else
# define PASTE(a) a
# define CAT(a,b) PASTE(a)b
#endif
#ifdef __DXL_CUDAF
# define DEV_SUBNAME(x) CAT(x,_gpu)
# define DEV_SUBNAME_ALT(x) CAT(x,_gpu)
# define DEV_VARNAME(x) CAT(x,_d)
# define DEV_ATTRIBUTE , device
# define DEV_PINNED , pinned
#elif defined __DXL_OPENACC || defined __DXL_OPENMP_GPU
# define DEV_SUBNAME(x) CAT(x,_gpu)
# define DEV_SUBNAME_ALT(x) CAT(x,_gpu)
# define DEV_VARNAME(x) x
# define DEV_ATTRIBUTE
# define DEV_PINNED
#else
# define DEV_SUBNAME(x) x
# define DEV_SUBNAME_ALT(x) CAT(x,_cpu)
# define DEV_VARNAME(x) x
# define DEV_ATTRIBUTE
# define DEV_PINNED
#endif
#define DEV_SUB(x) DEV_SUBNAME(x)
#define DEV_SUB_ALT(x) DEV_SUBNAME_ALT(x)
#define DEV_VAR(x) DEV_VARNAME(x)
#define DEV_ATTR DEV_ATTRIBUTE
#define DEV_PINN DEV_PINNED
|