Commit Graph

230 Commits

Author SHA1 Message Date
jpekkila 1251f61570 Removed a stray acBoundcondStep() in acStore where it definitely shouln't be. Removed code duplication: acBoundcondStep now uses the new acLocalBoundcondStep and acGlobalBoundcondStep functions. 2019-07-09 17:08:18 +03:00
jpekkila 6c7b2dbd8d Merge branch 'master' into multigpu_optimization_2019-07-05 2019-07-09 16:44:55 +03:00
jpekkila 6ec5e5a2c6 bitbucket-pipelines.yml edited online with Bitbucket 2019-07-09 13:21:16 +00:00
jpekkila bc6f91f610 bitbucket-pipelines.yml edited online with Bitbucket 2019-07-09 12:53:50 +00:00
jpekkila fba09d2427 bitbucket-pipelines.yml edited online with Bitbucket 2019-07-09 12:51:36 +00:00
jpekkila afb17c78d4 bitbucket-pipelines.yml edited online with Bitbucket 2019-07-09 12:48:14 +00:00
jpekkila 314f3c1fcc bitbucket-pipelines.yml edited online with Bitbucket 2019-07-09 12:31:16 +00:00
jpekkila 5ceb8ddb7e bitbucket-pipelines.yml edited online with Bitbucket 2019-07-09 12:26:08 +00:00
jpekkila d56e6f1492 Initial Bitbucket Pipelines configuration 2019-07-09 12:23:15 +00:00
jpekkila 10a98b01a9 Experimental change: now the integration function is automatically optimized during acInit 2019-07-09 14:46:24 +03:00
jpekkila a086821e7c Added a function acAutoOptimize to the interface and removed rk3_step_async in kernels.cuh (moved into rkStep) 2019-07-09 14:21:22 +03:00
jpekkila 84d96de42b Merge branch 'master' into multigpu_optimization_2019-07-05 2019-07-09 13:40:33 +03:00
jpekkila 508d15b578 Switched from math.h to cmath in math_utils.h. The old-school C math functions are bugged/not overloaded properly in GCC < 6.0 when compiling C++. 2019-07-09 13:37:08 +03:00
jpekkila deebe570da Merge branch 'master' into multigpu_optimization_2019-07-05 2019-07-08 16:11:24 +03:00
jpekkila eda2f6543b Created a new ForcingParams structure and some functions for generating and transferring the forcing parameters to the host/device 2019-07-08 15:43:37 +03:00
Miikka Vaisala f9be905703 Corrected an unit coversion issue from forcing.
Now noticing these because of switching to gcc 8.
2019-07-08 16:43:37 +08:00
Miikka Vaisala df1ba6264a Update to readme. 2019-07-08 11:08:45 +08:00
Miikka Vaisala 6ba15c3a7c props.totalConstMem and props.sharedMemPerBlock cause assembler error
while compiling on TIARA gp cluster. Therefore commeted out.
2019-07-08 11:00:12 +08:00
jpekkila 5fdfdeca9e Multi-GPU optimizations: removed some unnecessary synchronization and divided the calculation of boundary conditions to local and global steps. 2019-07-05 18:21:44 +03:00
jpekkila f1066a2c11 Added preliminary pragmas for dispatching commands simultaneously to multiple GPUs (commented out) 2019-07-05 17:16:12 +03:00
jpekkila 2092adc0f6 Preparations for multi-GPU optimizations 2019-07-05 15:44:30 +03:00
jpekkila ce8fe53f91 Moved explanations and comments to the beginning of astaroth.cu. No code changes. 2019-07-05 15:39:52 +03:00
jpekkila d87eb36f5a Formatting: brackets around a for loop for consistency 2019-07-05 15:26:19 +03:00
jpekkila 224b91b83a Added more control for synchronizing streams and halos among the GPUs 2019-07-05 15:17:20 +03:00
jpekkila 332f1a4f40 Reordered some of the functions in astaroth.cu and introduced acExchangeHalos() for synchronizing the part of the grid that is independent from the chosen boundary conditions between subgrids. 2019-07-05 15:01:51 +03:00
jpekkila c71711ec36 Disabled real-time visualization by default. SDL2 is no longer a dependency when building with the default flags. 2019-07-04 22:30:26 +03:00
jpekkila ad7a497eef Added a comment about timestepping and autoformat 2019-07-04 17:25:54 +03:00
jpekkila d1a93b7d4e acIntegrateStepWithOffset corrected and confirmed to work on 1-4 GPUs 2019-07-04 16:58:24 +03:00
jpekkila 01437411b6 Comment 2019-07-04 16:39:20 +03:00
jpekkila 91f119e8dd Deprecated the old implementation of acIntegrateStep. acIntegrateStep now calls acIntegrateStepWithOffset instead of device.cuh functions. 2019-07-04 16:37:55 +03:00
jpekkila 5049dadc1c Implemented acIntegrateStepWithOffset 2019-07-04 16:31:16 +03:00
jpekkila a53e0a170d Overloaded max/min for int3 and removed old comments 2019-07-04 16:24:08 +03:00
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 24f49ce461 Host code now compiled according to the C++11 standard. The device code has used C++11 for a while now and it's good to use a single standard consistently throughout the project. Old Intel compilers (~14.0) do not seem to support C++11 but the code should still compile since the flag is ignored in that case. 2019-07-04 16:01:02 +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 698d04c57d Removed a deprecated code block 2019-07-04 15:08:42 +03:00
jpekkila 317df4c025 Re-enabled the check for implicit float-double-float conversions with gcc 2019-07-04 13:45:09 +03:00
jpekkila edafe5a563 Made the gcc version check more lenient 2019-07-04 13:43:49 +03:00
Miikka Vaisala b65a0750cc Updated CUDA version on README 2019-07-04 14:14:24 +08:00
Miikka Vaisala ce54499351 Removed an accidental '\' 2019-07-04 14:11:26 +08:00
Miikka Vaisala 2c4d129216 -Werror-all disabled from Intel compiler flags
Because produces cryptical messages preventing compilation. The messages do not
tell anything about the problem and are also at odds with some gcc specific
pragma commands. If we can resolve these issues, we can turn it back.
2019-07-04 11:25:04 +08:00
jpekkila 0a030742f9 Added support for calling compile_acc.sh with custom headers 2019-07-03 19:06:39 +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 556cb77dbb Removed weird unused functions from model_rk3.cc. I have no idea where these came from. Probably remnants from the time I was pulling all-nighters to finish my thesis. 2019-07-03 18:06:40 +03:00
jpekkila b4eea4b6b6 Changed #if 0 to #if LFORCING instead to get the code to compile if forcing is used (even though autotesting does not support it yet). Also more autoformatting. Maybe I should disable it or then everyone should start using it to avoid cluttering commits with these superficial changes 2019-07-03 17:49:34 +03:00
jpekkila 609cfaea14 Commenting the unused variables in simulation.cc a few commits back was the wrong move since the variables are needed if LFORCING it set. 2019-07-03 17:46:50 +03:00