Commit Graph

124 Commits

Author SHA1 Message Date
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
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
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
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
jpekkila
0e48766a68 Added Astaroth 2.0 2019-06-14 14:19:07 +03:00