jpekkila
|
e1d545b0eb
|
Code readability and cleanup (remembered that int3 has + and - operators defined in math_utils.h)
|
2019-07-04 16:16:49 +03:00 |
|
jpekkila
|
30254d9abb
|
Removed a redundant and old gridIdxx function which I though I already removed a long time ago.
|
2019-07-04 16:10:29 +03:00 |
|
jpekkila
|
b3a0b10a86
|
Removed old comments
|
2019-07-04 16:02:13 +03:00 |
|
jpekkila
|
0884c4bf38
|
Moved the definition of acForcingVec to host_forcing.cc since it depends on user parameters that may not be defined in all projects
|
2019-07-04 15:28:18 +03:00 |
|
jpekkila
|
7abb959828
|
Overhaul to the user-defined parameters done: All logical switches, parameters and vertex buffer handles are now defined in a single header file (the default location is acc/mhd_solver/stencil_defines.h). This header is used when preprocessing the DSL sources and is linked to the include/ directory when calling scripts/compile_acc.sh. astaroth.h is now used for configuring internal stuff only and should not be modified by users
|
2019-07-03 19:01:16 +03:00 |
|
jpekkila
|
6907d74ea3
|
Suppressed an unused variable warning for globalVertexIdx
|
2019-07-03 18:46:17 +03:00 |
|
jpekkila
|
7d6255ba14
|
Suppressed unused variable warnings in kernels.cuh
|
2019-07-03 18:12:48 +03:00 |
|
jpekkila
|
81a09501b8
|
Removed deprecated LNT0 and LNRHO0 defines, now the actual configuration parameters are used (AC_lnrho0 and AC_lnT0). Also accidental autoformatting again, there seems to be stray spaces before linebreaks in some files which get automatically removed by my text editor
|
2019-07-03 17:23:37 +03:00 |
|
jpekkila
|
8ed947ce98
|
Removed deprecated sinusoidal forcing from kernels.cuh
|
2019-07-03 17:13:45 +03:00 |
|
jpekkila
|
d54ccc1da8
|
Deprecated a block of old code that was used a long time ago for testing forcing
|
2019-07-03 17:10:01 +03:00 |
|
jpekkila
|
08e9a32cb1
|
Added a comment about acForcingVec
|
2019-07-03 16:37:16 +03:00 |
|
jpekkila
|
d4d2680f40
|
Added a new generic function to the interface (astaroth.h) for loading arbitrary device constants. Also (unintended) autoformatting.
|
2019-07-03 16:19:25 +03:00 |
|
Miikka Vaisala
|
03689709df
|
Merge branch 'master' into forcing
|
2019-07-02 16:43:10 +08:00 |
|
jpekkila
|
a3ca6cf132
|
Added skeletons for packing parts of the ghost zones into buffers to speed up data transfers
|
2019-07-01 13:56:05 +03:00 |
|
Miikka Vaisala
|
9f0be0d9ff
|
Solved the forcing function boundary problem.
|
2019-07-01 11:06:42 +08:00 |
|
jpekkila
|
0c63d55fd7
|
Worked around a compiler bug in CUDA 9.1, which caused an "Internal Compiler Error (codegen): "there was an error in verifying the lgenfe output!". Apparently the compiler got confused by overloaded is_valid() if the input parameter was not passed as a reference in both cases.
|
2019-06-29 10:49:15 +03:00 |
|
jpekkila
|
7e40889245
|
Grid and subgrid dimensions are now only printed if VERBOSE_PRINTING == 1
|
2019-06-27 12:54:36 +03:00 |
|
Miikka Vaisala
|
d30b866a21
|
Merge branch 'master' into forcing
Now I need to test what works...
Conflicts:
acc/mhd_solver/stencil_process.sps
|
2019-06-27 11:22:31 +08:00 |
|
jpekkila
|
401172bb74
|
Formatting
|
2019-06-26 19:43:37 +03:00 |
|
jpekkila
|
ee075e6741
|
Set the default number of devices to 0 (this is updated at acInit()
|
2019-06-26 19:42:49 +03:00 |
|
jpekkila
|
cda17c9b08
|
VERBOSE_PRINTING flag is now globally used in the whole program and should be used to suppress development/debugging-related printing. Also added comments to the new interface function acCheckDeviceAvailability and made it free from side effects.
|
2019-06-26 18:50:15 +03:00 |
|
Matthias Rheinhardt
|
0bc8b7e827
|
MR: VTXBUF_DENSITY -> VTXBUF_LNRHO, minor
|
2019-06-26 17:14:24 +03:00 |
|
Matthias Rheinhardt
|
522da0041f
|
MR: new name for GetDevice
|
2019-06-26 16:53:56 +03: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
|
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 |
|