Commit Graph

384 Commits

Author SHA1 Message Date
Matthias Rheinhardt
25f1ec7959 MR: intro'd VERBOSE_PRINT switch 2019-06-26 15:13:56 +03:00
Matthias Rheinhardt
174e29add6 MR: added PENCIL_ASTAROTH 2019-06-26 15:11:32 +03:00
Miikka Vaisala
76d251cd3e Makes now special helical forcing vector. 2019-06-26 18:50:42 +08:00
jpekkila
6bfc5f04f7 Added tighter bounds for gcc and nvcc versions. There was a bit of an chicken-and-egg issue: we need gcc 6.0 in order to get bug 48891 (see gcc bugzilla) fixed, but cuda < 9 supports gcc only up to 5.3. This is not a perfect solution, f.ex. ubuntu 16.04 ships with gcc 5.4 but with the fix backported from later versions so in practice that would also work but is not accepted anymore. 2019-06-26 13:33:03 +03:00
Miikka Vaisala
be0e46c814 Can move forcing vector information now from the host to device.
next step in to generate random waves in the CPU with a chosen degree of helicity etc.
2019-06-26 17:41:39 +08:00
Miikka Vaisala
231a8aa06e Trying to figure out how to upload values to GPU. 2019-06-26 15:23:46 +08:00
jpekkila
912dffca4f Renamed old single-GPU-only headers in core/kernels to avoid confusion. Only kernels.cuh is used for reductions, integration and boundary conditions at the moment. 2019-06-25 13:58:59 +03:00
jpekkila
a5ab388af7 Fixed a compilation error when not using entropy. This is a temporary workaround. There is no model solution for hydro only, therefore autotesting will break if entropy is not used. Note: LINDUCTION, LENTROPY and other logical flags are duplicated in both astaroth.h and stencil_process.sps. These flags are not linked and there will be errors and weird behaviour if a flag is set in one file and not in another. 2019-06-19 20:18:25 +03:00
jpekkila
2310186c71 Added a skeleton function for updating an arbitrary block inside the computational domain instead of the whole mesh 2019-06-19 19:43:46 +03:00
jpekkila
383d2b696c Got a warning about potentially too small array, increased size to avoid overflows 2019-06-19 16:58:24 +03:00
jpekkila
a7515fbbd7 Made the simple forcing to scale with dt s.t. it does not explode so easily 2019-06-19 16:34:23 +03:00
jpekkila
feef97563d Added a model solution for forcing. Accidentally also autoformatted the file. Finally, removed unused cruft 2019-06-19 16:06:57 +03:00
jpekkila
2c5d8bb9ae Merge branch 'master' of https://bitbucket.org/jpekkila/astaroth 2019-06-19 14:29:59 +03:00
jpekkila
2eacb98246 Now acBoundcondStep is applied after acIntegrate to ensure that the whole grid visible to the host, including boundaries, are always up to date 2019-06-19 14:29:07 +03:00
Miikka Vaisala
68af32b7ef Small edit to docs 2019-06-19 17:11:46 +08:00
Miikka Vaisala
40b4a61a4c Added DEPRECATED marking to the old forcing function.
I do not want to remove it yet. Not until something like that exists in the DSL code.
2019-06-19 13:46:03 +08:00
jpekkila
d4907332f2 Disabled automated formatting in some parts where overfull lines are easier to read 2019-06-18 16:51:53 +03:00
jpekkila
8864266042 Autoformatted all CUDA/C/C++ code 2019-06-18 16:42:56 +03:00
jpekkila
4ca4dbefdf Added the machinery for implementing forcing with the DSL on multiple GPUs and a simple model solution 2019-06-18 16:13:32 +03:00
jpekkila
57e2e48fb0 Added functions for loading device constants. Also introduced a new int3 constant that can be used to determine the global vertex index inside kernels 2019-06-18 14:11:55 +03:00
jpekkila
efc54f1d5f Turned off separable compilation as it is not used at the moment (all kernels are defined in a single header) 2019-06-18 14:09:54 +03:00
Miikka Vaisala
71a35b2027 Defined nz
Otherwise the coude would not compile.
2019-06-18 11:58:46 +08:00
jpekkila
c9f26d6e58 Cleanup 2019-06-17 20:44:37 +03:00
jpekkila
ce6f453bc5 Rewrote reductions, now much simpler than before 2019-06-17 20:38:28 +03:00
jpekkila
270ba4d562 Rewrote reductions to work with arbitrary grid sizes, TODO more testing 2019-06-17 19:56:30 +03:00
jpekkila
f970dca68c Disabled a power-of-two error check as this may be too strict. See test_dims in autotest.cc which dimensions are guaranteed to work with reductions. Other dimensions may also work but are not yet extensively tested 2019-06-17 18:32:23 +03:00
jpekkila
5e6cc9b8cc Changed names of some parameters to better ones 2019-06-17 18:18:00 +03:00
jpekkila
d9845920e0 Simplified reductions further and added comments 2019-06-17 18:17:30 +03:00
jpekkila
18d6ad4f61 Simplified the logic used for calculating reductions 2019-06-17 18:05:36 +03:00
jpekkila
a47e59c484 Simplified/shortened the names of the functions used for reductions 2019-06-17 17:57:36 +03:00
jpekkila
361725adc6 Cleaned reductions a bit 2019-06-17 17:52:14 +03:00
jpekkila
59086b3e79 Added multi-GPU reductions. Tested to work with 1-2 GPUs with power of two grid dimensions. Requires more testing in special cases (when using exotic grid dimensions and a large number of GPUs) 2019-06-17 14:45:41 +03:00
Miikka Vaisala
528d1984fa Correcting plotting axis. 2019-06-17 16:21:05 +08:00
jpekkila
0e48766a68 Added Astaroth 2.0 2019-06-14 14:19:07 +03:00