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 |
|
Miikka Vaisala
|
656e50316a
|
Merge branch 'master' into forcing
|
2019-06-26 13:19:20 +08:00 |
|
Miikka Vaisala
|
5cacda2850
|
Helical forcing funtion works.
But we will need a wavenumber generator to add stochasticity.
|
2019-06-26 13:15:28 +08:00 |
|
Miikka Vaisala
|
8191c47fa0
|
Scetching the helical forcing.
Not the idead form. Not yet tested.
|
2019-06-25 19:04:53 +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 |
|
Miikka Vaisala
|
a574d6e4c3
|
To be friendly with the autotest.
|
2019-06-25 14:50:43 +08:00 |
|
Miikka Vaisala
|
b1a2d9603c
|
Cleaning the forcing part.
|
2019-06-25 14:48:47 +08:00 |
|
Miikka Vaisala
|
44f26cde42
|
Corrected a stencil bug from der6
|
2019-06-25 11:25:14 +08:00 |
|
Miikka Vaisala
|
59043e586b
|
Added a missing switch to stencil_assembly.sas.
|
2019-06-24 18:03:24 +08:00 |
|
Miikka Vaisala
|
55ecdd0ac8
|
Working upwinding!
It works and it looks so much better than without.
|
2019-06-24 16:58:06 +08:00 |
|
Miikka Vaisala
|
d0b27a0347
|
Upwinding terms now compile.
Not tested yet.
|
2019-06-24 16:32:21 +08:00 |
|
Miikka Vaisala
|
57881e5961
|
Implementetion for hyperdiffusion to be tested later.
|
2019-06-21 17:29:06 +08:00 |
|
Miikka Vaisala
|
f2a33bf4f8
|
Starting with derivatives for upwinding.
|
2019-06-21 16:53:04 +08: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
|
4ee772cf5d
|
Set the minimum gcc version required in CMakeLists.txt
|
2019-06-19 16:57:47 +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
|
f3cbc4984c
|
Enabled toy forcing by default for testing purposes. Note that there are two LFORCING switches at the moment: one in astaroth.h and one in acc/mhd_solver/stencil_process.sps. The switches are not linked and the tests fail or simulations generate unexpected results if both switches are not set to the same value. This will be fixed in the near future.
|
2019-06-19 16:14:46 +03:00 |
|
jpekkila
|
6da061b854
|
Fixed a bug in the Astaroth compiler: the boilerplate code for kernels was generated for all nested compound statements instead of just the top-level one
|
2019-06-19 16:10:29 +03:00 |
|
jpekkila
|
e580f6f5d7
|
Improvements to GPU forcing (now applied only at substep 2)
|
2019-06-19 16:08:44 +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
|
b5753f0bec
|
Played around with forcing and cleaned the example implementation a bit
|
2019-06-18 17:40:27 +03: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
|
6fdc4cddb2
|
Updated the autoformatting configuration
|
2019-06-18 16:39:30 +03:00 |
|
jpekkila
|
123fc78705
|
Disable forcing by default s.t. the autotests pass
|
2019-06-18 16:39:07 +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
|
0f62651374
|
Easier time series plotting.
|
2019-06-18 14:50:35 +08: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
|
70c047ec8c
|
Merge branch 'master' of https://bitbucket.org/jpekkila/astaroth
|
2019-06-17 14:46:34 +03:00 |
|
jpekkila
|
1d3d331570
|
.gitignore not includes the standard build directory and the headers generated with Astaroth DSL
|
2019-06-17 14:46:30 +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 |
|