VM2D  1.12
Vortex methods for 2D flows simulation
Gpudefs.h
Go to the documentation of this file.
1 /*--------------------------------*- VMlib -*----------------*---------------*\
2 | ## ## ## ## ## ## ## | | Version 1.12 |
3 | ## ## ### ### ## ## | VMlib: VM2D/VM3D Library | 2024/01/14 |
4 | ## ## ## # ## ## ## #### | Open Source Code *----------------*
5 | #### ## ## ## ## ## ## | https://www.github.com/vortexmethods/VM2D |
6 | ## ## ## #### ### #### | https://www.github.com/vortexmethods/VM3D |
7 | |
8 | Copyright (C) 2017-2024 Ilia Marchevsky |
9 *-----------------------------------------------------------------------------*
10 | File name: Gpudefs.h |
11 | Info: Source code of VMlib |
12 | |
13 | This file is part of VMlib. |
14 | VMLib is free software: you can redistribute it and/or modify it |
15 | under the terms of the GNU General Public License as published by |
16 | the Free Software Foundation, either version 3 of the License, or |
17 | (at your option) any later version. |
18 | |
19 | VMlib is distributed in the hope that it will be useful, but WITHOUT |
20 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
21 | FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
22 | for more details. |
23 | |
24 | You should have received a copy of the GNU General Public License |
25 | along with VMlib. If not, see <http://www.gnu.org/licenses/>. |
26 \*---------------------------------------------------------------------------*/
27 
28 
37 #ifndef GPUDEFS_H
38 #define GPUDEFS_H
39 
41 //#define LAMBVORTEX
42 
44 #define INITIAL
45 
47 //#define BRIDGE
48 
49 
55 // #define USE_CUDA
56 // #undef USE_CUDA
57 
58 // далее -- технические "обертки" под CUDA
59 
60 #define CUDA_ENABLE(a) a
61 #define CUDA_DISABLE(a)
62 
63 #if defined(USE_CUDA)
64 #define CUDAdef CUDA_ENABLE
65 #else
66 #define CUDAdef CUDA_DISABLE
67 #endif
68 
69 #define IFCUDA_(e, a) e(a)
70 #define IFCUDA(...) IFCUDA_(CUDAdef, __VA_ARGS__)
71 
72 
73 #define CUBLOCK (128)
74 #define INC_VORT_DEV (1024)
75 
76 #define CU_I1I2
77 #define CU_RHS
78 #define CU_I0I3
79 #define CU_CONV_TOWAKE
80 #define CU_CONV_TOBOU
81 #define CU_CONVVIRT
82 #define CU_PAIRS
83 #define CU_VP
84 
85 
86 #endif