Commit Graph

16 Commits

Author SHA1 Message Date
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
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
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
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